@stackone/malachite 2.26.0 → 2.27.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.
@@ -1,129 +1,137 @@
1
- import { jsxs as a, jsx as r, Fragment as z } from "react/jsx-runtime";
2
- import { useState as $ } from "react";
3
- import { Button as b } from "../Button.js";
4
- import w from "../CustomIcons/SparkleIcon.js";
5
- import { Tag as S } from "../Tag.js";
6
- import C from "../Tooltip.js";
7
- import { Typography as n } from "../Typography/index.js";
8
- const N = {
1
+ import { jsxs as r, jsx as t, Fragment as T } from "react/jsx-runtime";
2
+ import { useState as S } from "react";
3
+ import { Button as N } from "../Button.js";
4
+ import C from "../CustomIcons/SparkleIcon.js";
5
+ import I from "../Tooltip.js";
6
+ import { Typography as l } from "../Typography/index.js";
7
+ const w = {
9
8
  changed: "Changed",
10
9
  added: "Added",
11
10
  removed: "To be removed"
12
- }, I = (e, t) => e === "removed" ? `Marked for removal by ${t}. Accept to remove it, or revert to keep it.` : `${N[e]} by ${t}. Accept to keep it, or revert to restore the previous value.`, R = (e) => e == null ? !0 : typeof e == "string" ? e.trim() === "" : Array.isArray(e) ? e.length === 0 : !1, P = ({
11
+ }, R = (e, s) => e === "removed" ? `Marked for removal by ${s}. Accept to remove it, or revert to keep it.` : `${w[e]} by ${s}. Accept to keep it, or revert to restore the previous value.`, j = (e) => e == null ? !0 : typeof e == "string" ? e.trim() === "" : Array.isArray(e) ? e.length === 0 : !1, L = ({
13
12
  label: e,
14
- fieldName: t,
13
+ fieldName: s,
15
14
  before: o,
16
- after: s,
15
+ after: a,
17
16
  kind: c = "changed",
18
17
  origin: d = "assistant",
19
18
  children: m,
20
19
  onApprove: A,
21
- onDeny: k,
20
+ onDeny: $,
21
+ headerActions: p,
22
22
  onPreviewRevert: i,
23
- disabled: p = !1,
23
+ disabled: f = !1,
24
24
  className: h = ""
25
25
  }) => {
26
- const [T, f] = $(!1), l = t ?? e, v = () => {
27
- i !== void 0 && (f(!0), i(!0));
28
- }, g = () => {
29
- i !== void 0 && (f(!1), i(!1));
30
- }, u = /* @__PURE__ */ a("div", { className: "flex flex-wrap items-center gap-2", children: [
31
- e !== void 0 && /* @__PURE__ */ r(n.Text, { size: "small", fontWeight: "semi-bold", children: e }),
32
- /* @__PURE__ */ r(C, { text: I(c, d), children: /* @__PURE__ */ r("span", { "aria-hidden": "true", children: /* @__PURE__ */ r(
33
- S,
34
- {
35
- type: "assistant",
36
- value: "AI",
37
- icon: /* @__PURE__ */ r(w, { size: 11 }),
38
- fontSize: "xsmall",
39
- paddingSize: "compact",
40
- textTransform: "none"
41
- }
42
- ) }) }),
43
- /* @__PURE__ */ r("span", { className: "sr-only", children: `${N[c]} by ${d}` })
44
- ] }), x = /* @__PURE__ */ a(z, { children: [
45
- (o !== void 0 || s !== void 0) && /* @__PURE__ */ a("div", { className: "flex flex-wrap items-baseline gap-1", children: [
46
- /* @__PURE__ */ a(n.SecondaryText, { size: "small", children: [
26
+ const [z, g] = S(!1), n = s ?? (typeof e == "string" ? e : void 0), u = () => {
27
+ i !== void 0 && (g(!0), i(!0));
28
+ }, v = () => {
29
+ i !== void 0 && (g(!1), i(!1));
30
+ }, x = /* @__PURE__ */ r("div", { className: "flex flex-wrap items-center gap-2", children: [
31
+ typeof e == "string" ? /* @__PURE__ */ t(l.Text, { size: "small", fontWeight: "semi-bold", children: e }) : e,
32
+ /* @__PURE__ */ t("span", { className: "sr-only", children: `${w[c]} by ${d}` })
33
+ ] }), y = { fontSize: 11, lineHeight: 1 }, b = /* @__PURE__ */ r(
34
+ "div",
35
+ {
36
+ className: "flex flex-shrink-0 items-center gap-1 rounded-md px-1",
37
+ style: { background: "var(--malachite-tag-assistant-background)", height: 24 },
38
+ children: [
39
+ /* @__PURE__ */ t(I, { text: R(c, d), children: /* @__PURE__ */ t(
40
+ "span",
41
+ {
42
+ "aria-hidden": "true",
43
+ className: "flex flex-shrink-0 items-center justify-center",
44
+ style: { color: "var(--malachite-tag-assistant-foreground)" },
45
+ children: /* @__PURE__ */ t(C, { size: 11 })
46
+ }
47
+ ) }),
48
+ /* @__PURE__ */ t(
49
+ N,
50
+ {
51
+ variant: "destructive",
52
+ size: "xsmall",
53
+ iconOnly: !0,
54
+ "aria-label": n === void 0 ? "Revert change" : `Revert ${n}`,
55
+ disabled: f,
56
+ onClick: $,
57
+ onMouseEnter: u,
58
+ onMouseLeave: v,
59
+ onFocus: u,
60
+ onBlur: v,
61
+ icon: (
62
+ /* Reload rather than a cross: reverting restores the previous value rather
63
+ than dismissing the field. */
64
+ /* @__PURE__ */ t("span", { "aria-hidden": "true", style: y, children: "↺" })
65
+ )
66
+ }
67
+ ),
68
+ /* @__PURE__ */ t(
69
+ N,
70
+ {
71
+ variant: "success",
72
+ size: "xsmall",
73
+ iconOnly: !0,
74
+ "aria-label": n === void 0 ? "Accept change" : `Accept ${n}`,
75
+ disabled: f,
76
+ onClick: A,
77
+ icon: /* @__PURE__ */ t("span", { "aria-hidden": "true", style: y, children: "✓" })
78
+ }
79
+ )
80
+ ]
81
+ }
82
+ ), k = /* @__PURE__ */ r(T, { children: [
83
+ (o !== void 0 || a !== void 0) && /* @__PURE__ */ r("div", { className: "flex flex-wrap items-baseline gap-1", children: [
84
+ /* @__PURE__ */ r(l.SecondaryText, { size: "small", children: [
47
85
  "Was ",
48
- R(o) ? /* @__PURE__ */ r("i", { children: "empty" }) : /* @__PURE__ */ r("s", { children: o }),
49
- s !== void 0 ? " →" : null
86
+ j(o) ? /* @__PURE__ */ t("i", { children: "empty" }) : /* @__PURE__ */ t("s", { children: o }),
87
+ a !== void 0 ? " →" : null
50
88
  ] }),
51
- s !== void 0 && /* @__PURE__ */ r(
52
- n.Text,
89
+ a !== void 0 && /* @__PURE__ */ t(
90
+ l.Text,
53
91
  {
54
92
  size: "small",
55
93
  style: { color: "var(--malachite-assistant-foreground)" },
56
- children: s
94
+ children: a
57
95
  }
58
96
  )
59
97
  ] }),
60
- T && /* @__PURE__ */ r(n.SecondaryText, { size: "small", children: "Previewing the revert — release to keep the AI value" })
61
- ] }), y = /* @__PURE__ */ a("div", { className: "flex flex-shrink-0 items-center gap-1", children: [
62
- /* @__PURE__ */ a(
63
- b,
64
- {
65
- variant: "surface",
66
- size: "xsmall",
67
- "aria-label": l === void 0 ? "Revert change" : `Revert ${l}`,
68
- disabled: p,
69
- onClick: k,
70
- onMouseEnter: v,
71
- onMouseLeave: g,
72
- onFocus: v,
73
- onBlur: g,
74
- className: "hover:border-[var(--malachite-assistant-foreground)] hover:text-[var(--malachite-assistant-foreground)]",
75
- children: [
76
- /* @__PURE__ */ r("span", { "aria-hidden": "true", className: "mr-1", children: "↺" }),
77
- "Revert"
78
- ]
79
- }
80
- ),
81
- /* @__PURE__ */ a(
82
- b,
83
- {
84
- variant: "filled",
85
- size: "xsmall",
86
- "aria-label": l === void 0 ? "Accept change" : `Accept ${l}`,
87
- disabled: p,
88
- onClick: A,
89
- children: [
90
- /* @__PURE__ */ r("span", { "aria-hidden": "true", className: "mr-1", children: "✓" }),
91
- "Accept"
92
- ]
93
- }
94
- )
98
+ z && /* @__PURE__ */ t(l.SecondaryText, { size: "small", children: "Previewing the revert — release to keep the AI value" })
95
99
  ] });
96
- return m !== void 0 ? /* @__PURE__ */ a(
100
+ return m !== void 0 ? /* @__PURE__ */ r(
97
101
  "div",
98
102
  {
99
103
  className: `flex flex-col gap-2 rounded-lg p-2 ${h}`,
100
- style: { background: "var(--malachite-tag-assistant-background)" },
104
+ style: { background: "var(--malachite-assistant-surface-background)" },
101
105
  children: [
102
- /* @__PURE__ */ a("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [
103
- u,
104
- y
106
+ /* @__PURE__ */ r("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [
107
+ x,
108
+ /* @__PURE__ */ r("div", { className: "flex flex-wrap items-center gap-2", children: [
109
+ p,
110
+ b
111
+ ] })
105
112
  ] }),
106
113
  m,
107
- /* @__PURE__ */ r("div", { className: "flex flex-col gap-1", children: x })
114
+ /* @__PURE__ */ t("div", { className: "flex flex-col gap-1", children: k })
108
115
  ]
109
116
  }
110
- ) : /* @__PURE__ */ a(
117
+ ) : /* @__PURE__ */ r(
111
118
  "div",
112
119
  {
113
120
  className: `flex items-start gap-2 rounded-lg p-2 ${h}`,
114
- style: { background: "var(--malachite-tag-assistant-background)" },
121
+ style: { background: "var(--malachite-assistant-surface-background)" },
115
122
  children: [
116
- /* @__PURE__ */ a("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
117
- u,
118
- x
123
+ /* @__PURE__ */ r("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
124
+ x,
125
+ k
119
126
  ] }),
120
- y
127
+ p,
128
+ b
121
129
  ]
122
130
  }
123
131
  );
124
132
  };
125
133
  export {
126
- P as ChangeReviewItem,
127
- P as default
134
+ L as ChangeReviewItem,
135
+ L as default
128
136
  };
129
137
  //# sourceMappingURL=ChangeReviewItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChangeReviewItem.js","sources":["../../../src/components/ChangeReview/ChangeReviewItem.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport Button from '../Button';\nimport SparkleIcon from '../CustomIcons/SparkleIcon';\nimport Tag from '../Tag';\nimport Tooltip from '../Tooltip';\nimport { Typography } from '../Typography';\n\nexport type ChangeKind = 'changed' | 'added' | 'removed';\n\nexport interface ChangeReviewItemProps {\n /**\n * What changed — a field name, or the name of a group of them. Omit it when the field this\n * item annotates already carries its own visible heading elsewhere on the page (so the name\n * doesn't render twice) — pass `fieldName` instead, so the badge and actions still know what\n * they belong to.\n */\n label?: string;\n /**\n * Names the field the badge and actions act on, for assistive tech. Defaults to `label`, so\n * passing only `label` keeps working as before. Set it explicitly when `label` is omitted —\n * otherwise \"Accept\"/\"Revert\" would have nothing telling a screen reader which field they act\n * on.\n */\n fieldName?: string;\n /** How it read before. A node, so a caller can show chips or code rather than a string. */\n before?: React.ReactNode;\n /** How it reads now. Usually omitted: the field itself is showing it. */\n after?: React.ReactNode;\n kind?: ChangeKind;\n /** What made the change. Names the assistant by default. */\n origin?: string;\n /**\n * The field the change is annotating. When given, the tag/label/actions form a header band\n * above it and the before/after line moves below it, so \"Was …\" reads next to the value it\n * describes instead of stacked with the header. Omit it for the standalone card.\n */\n children?: React.ReactNode;\n onApprove: () => void;\n onDeny: () => void;\n /**\n * Fires while the revert control is hovered or focused, and again when it stops being\n * either. A callback rather than internal state because the thing being previewed — the\n * field this change came from — lives elsewhere on the page, outside what `Item` renders;\n * only the caller can swap what that field shows.\n */\n onPreviewRevert?: (previewing: boolean) => void;\n disabled?: boolean;\n className?: string;\n}\n\nconst KIND_WORDS: Record<ChangeKind, string> = {\n changed: 'Changed',\n added: 'Added',\n removed: 'To be removed',\n};\n\n/**\n * What the \"AI\" pill means, for its tooltip. The badge is two letters, which says who wrote\n * the value but not that the reader is expected to do something about it — and the accept and\n * revert controls it refers to are hidden until the row is hovered or focused.\n */\nconst badgeTooltip = (kind: ChangeKind, origin: string): string =>\n kind === 'removed'\n ? `Marked for removal by ${origin}. Accept to remove it, or revert to keep it.`\n : `${KIND_WORDS[kind]} by ${origin}. Accept to keep it, or revert to restore the previous value.`;\n\n// A multi-select with nothing chosen reaches this as `[]`, not `undefined` — that, a blank or\n// whitespace-only string, and an absent value all read as \"nothing was there\" rather than\n// printing nothing (or, worse, the literal word \"undefined\").\nconst isEmptyDisplacedValue = (value: React.ReactNode): boolean => {\n if (value === undefined || value === null) {\n return true;\n }\n if (typeof value === 'string') {\n return value.trim() === '';\n }\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n return false;\n};\n\n/**\n * Says that something on screen was changed by a machine, shows what it displaced, and offers\n * the two ways out.\n *\n * Accept is deliberately the heavier control (filled, dark) against Revert's quiet outline —\n * the design leans toward accepting the assistant's change rather than presenting both as\n * equal options. That is the designer's call to make, not this component's.\n *\n * The actions are always visible. Revealing them on hover was tried and dropped: a change\n * waiting on a decision is the point of the row, and hiding the only two controls that\n * resolve it made them easy to miss — and unreachable on a touch screen, which has no hover\n * to reveal them with.\n */\nconst ChangeReviewItem: React.FC<ChangeReviewItemProps> = ({\n label,\n fieldName,\n before,\n after,\n kind = 'changed',\n origin = 'assistant',\n children,\n onApprove,\n onDeny,\n onPreviewRevert,\n disabled = false,\n className = '',\n}) => {\n const [isPreviewingRevert, setIsPreviewingRevert] = useState(false);\n const accessibleFieldName = fieldName ?? label;\n\n // No-ops when `onPreviewRevert` is absent, which also keeps `isPreviewingRevert` from ever\n // flipping true — so the hint below never renders unless a caller asked for the feature.\n const startRevertPreview = () => {\n if (onPreviewRevert === undefined) {\n return;\n }\n setIsPreviewingRevert(true);\n onPreviewRevert(true);\n };\n\n const endRevertPreview = () => {\n if (onPreviewRevert === undefined) {\n return;\n }\n setIsPreviewingRevert(false);\n onPreviewRevert(false);\n };\n\n const badgeAndLabel = (\n <div className=\"flex flex-wrap items-center gap-2\">\n {label !== undefined && (\n <Typography.Text size=\"small\" fontWeight=\"semi-bold\">\n {label}\n </Typography.Text>\n )}\n {/* The pill itself only says \"AI\" — the fuller \"Changed by <origin>\" phrase that\n names who made the change lives in the sr-only span beside it, so a screen\n reader still hears the origin without the visible badge repeating it. */}\n <Tooltip text={badgeTooltip(kind, origin)}>\n {/* `aria-hidden` stays on the pill: the sr-only span below already carries the\n origin, and the tooltip repeats it for a reader who only has the badge. */}\n <span aria-hidden=\"true\">\n <Tag\n type=\"assistant\"\n value=\"AI\"\n icon={<SparkleIcon size={11} />}\n fontSize=\"xsmall\"\n paddingSize=\"compact\"\n textTransform=\"none\"\n />\n </span>\n </Tooltip>\n <span className=\"sr-only\">{`${KIND_WORDS[kind]} by ${origin}`}</span>\n </div>\n );\n\n const displaysChange = before !== undefined || after !== undefined;\n\n const beforeAfter = (\n <>\n {displaysChange && (\n <div className=\"flex flex-wrap items-baseline gap-1\">\n <Typography.SecondaryText size=\"small\">\n {/* Struck through, so a glance separates what it was from what it is\n without having to read the labels. */}\n Was {isEmptyDisplacedValue(before) ? <i>empty</i> : <s>{before}</s>}\n {after !== undefined ? ' →' : null}\n </Typography.SecondaryText>\n {after !== undefined && (\n <Typography.Text\n size=\"small\"\n style={{ color: 'var(--malachite-assistant-foreground)' }}\n >\n {after}\n </Typography.Text>\n )}\n </div>\n )}\n {isPreviewingRevert && (\n <Typography.SecondaryText size=\"small\">\n Previewing the revert — release to keep the AI value\n </Typography.SecondaryText>\n )}\n </>\n );\n\n // Always visible, not revealed on hover: a change waiting on a decision is the point of\n // the row, and hiding the only two controls that resolve it behind a hover made them easy\n // to miss entirely — and unreachable on a touch screen.\n const actions = (\n <div className=\"flex flex-shrink-0 items-center gap-1\">\n <Button\n // `surface`, not `outline`: this sits on the assistant's tinted field, and a\n // transparent button on a tint stops reading as a button.\n variant=\"surface\"\n size=\"xsmall\"\n aria-label={\n accessibleFieldName === undefined\n ? 'Revert change'\n : `Revert ${accessibleFieldName}`\n }\n disabled={disabled}\n onClick={onDeny}\n onMouseEnter={startRevertPreview}\n onMouseLeave={endRevertPreview}\n onFocus={startRevertPreview}\n onBlur={endRevertPreview}\n // The variant's own hover only darkens the border to grey; the mock wants\n // Revert's border and text to pick up the assistant violet specifically.\n className=\"hover:border-[var(--malachite-assistant-foreground)] hover:text-[var(--malachite-assistant-foreground)]\"\n >\n {/* Literal glyphs, not icon components: the mock sets them inline with the\n label at 11px, and no bundled icon reads that small without looking like a\n different weight than the text beside it. Reload (not a cross) because\n reverting restores the previous value rather than dismissing the field.\n The gap is a margin rather than a space: the button lays its children out\n with flex, which strips the leading whitespace off a bare text node. */}\n <span aria-hidden=\"true\" className=\"mr-1\">\n ↺\n </span>\n Revert\n </Button>\n <Button\n variant=\"filled\"\n size=\"xsmall\"\n aria-label={\n accessibleFieldName === undefined\n ? 'Accept change'\n : `Accept ${accessibleFieldName}`\n }\n disabled={disabled}\n onClick={onApprove}\n >\n <span aria-hidden=\"true\" className=\"mr-1\">\n ✓\n </span>\n Accept\n </Button>\n </div>\n );\n\n // With a field to wrap, the header (tag/label/actions) and the before/after line split\n // to opposite sides of `children` instead of sitting together above it — see the\n // component doc comment on `children`.\n if (children !== undefined) {\n return (\n <div\n className={`flex flex-col gap-2 rounded-lg p-2 ${className}`}\n style={{ background: 'var(--malachite-tag-assistant-background)' }}\n >\n <div className=\"flex flex-wrap items-center justify-between gap-2\">\n {badgeAndLabel}\n {actions}\n </div>\n {children}\n <div className=\"flex flex-col gap-1\">{beforeAfter}</div>\n </div>\n );\n }\n\n return (\n <div\n className={`flex items-start gap-2 rounded-lg p-2 ${className}`}\n style={{ background: 'var(--malachite-tag-assistant-background)' }}\n >\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n {badgeAndLabel}\n {beforeAfter}\n </div>\n {actions}\n </div>\n );\n};\n\nexport default ChangeReviewItem;\nexport { ChangeReviewItem };\n"],"names":["KIND_WORDS","badgeTooltip","kind","origin","isEmptyDisplacedValue","value","ChangeReviewItem","label","fieldName","before","after","children","onApprove","onDeny","onPreviewRevert","disabled","className","isPreviewingRevert","setIsPreviewingRevert","useState","accessibleFieldName","startRevertPreview","endRevertPreview","badgeAndLabel","jsxs","Typography","jsx","Tooltip","Tag","SparkleIcon","beforeAfter","Fragment","actions","Button"],"mappings":"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"}
1
+ {"version":3,"file":"ChangeReviewItem.js","sources":["../../../src/components/ChangeReview/ChangeReviewItem.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport Button from '../Button';\nimport SparkleIcon from '../CustomIcons/SparkleIcon';\nimport Tooltip from '../Tooltip';\nimport { Typography } from '../Typography';\n\nexport type ChangeKind = 'changed' | 'added' | 'removed';\n\nexport interface ChangeReviewItemProps {\n /**\n * What changed — a field name, or the name of a group of them. Omit it when the field this\n * item annotates already carries its own visible heading elsewhere on the page (so the name\n * doesn't render twice) — pass `fieldName` instead, so the badge and actions still know what\n * they belong to.\n *\n * A node rather than a string, because a field's heading is not always only its name: one\n * with an explainer behind an info icon has to hand the whole heading over, or it loses the\n * icon for as long as it is marked. A node carries no accessible name, so `fieldName` is\n * required alongside anything that is not a plain string.\n */\n label?: React.ReactNode;\n /**\n * Names the field the badge and actions act on, for assistive tech. Defaults to `label`, so\n * passing only `label` keeps working as before. Set it explicitly when `label` is omitted —\n * otherwise \"Accept\"/\"Revert\" would have nothing telling a screen reader which field they act\n * on.\n */\n fieldName?: string;\n /** How it read before. A node, so a caller can show chips or code rather than a string. */\n before?: React.ReactNode;\n /** How it reads now. Usually omitted: the field itself is showing it. */\n after?: React.ReactNode;\n kind?: ChangeKind;\n /** What made the change. Names the assistant by default. */\n origin?: string;\n /**\n * The field the change is annotating. When given, the tag/label/actions form a header band\n * above it and the before/after line moves below it, so \"Was …\" reads next to the value it\n * describes instead of stacked with the header. Omit it for the standalone card.\n */\n children?: React.ReactNode;\n /**\n * The caller's own controls for this field, in the header band beside accept and revert.\n * A capability's Remove belongs to the field rather than to the review, but while the field\n * is marked the header is the only row its heading has, so without a slot here the button\n * has nowhere to sit that is not on top of something.\n */\n headerActions?: React.ReactNode;\n onApprove: () => void;\n onDeny: () => void;\n /**\n * Fires while the revert control is hovered or focused, and again when it stops being\n * either. A callback rather than internal state because the thing being previewed — the\n * field this change came from — lives elsewhere on the page, outside what `Item` renders;\n * only the caller can swap what that field shows.\n */\n onPreviewRevert?: (previewing: boolean) => void;\n disabled?: boolean;\n className?: string;\n}\n\nconst KIND_WORDS: Record<ChangeKind, string> = {\n changed: 'Changed',\n added: 'Added',\n removed: 'To be removed',\n};\n\n/**\n * What the \"AI\" pill means, for its tooltip. The badge is two letters, which says who wrote\n * the value but not that the reader is expected to do something about it — and the accept and\n * revert controls it refers to are hidden until the row is hovered or focused.\n */\nconst badgeTooltip = (kind: ChangeKind, origin: string): string =>\n kind === 'removed'\n ? `Marked for removal by ${origin}. Accept to remove it, or revert to keep it.`\n : `${KIND_WORDS[kind]} by ${origin}. Accept to keep it, or revert to restore the previous value.`;\n\n// A multi-select with nothing chosen reaches this as `[]`, not `undefined` — that, a blank or\n// whitespace-only string, and an absent value all read as \"nothing was there\" rather than\n// printing nothing (or, worse, the literal word \"undefined\").\nconst isEmptyDisplacedValue = (value: React.ReactNode): boolean => {\n if (value === undefined || value === null) {\n return true;\n }\n if (typeof value === 'string') {\n return value.trim() === '';\n }\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n return false;\n};\n\n/**\n * Says that something on screen was changed by a machine, shows what it displaced, and offers\n * the two ways out.\n *\n * Accept is deliberately the heavier control (filled, dark) against Revert's quiet outline —\n * the design leans toward accepting the assistant's change rather than presenting both as\n * equal options. That is the designer's call to make, not this component's.\n *\n * The actions are always visible. Revealing them on hover was tried and dropped: a change\n * waiting on a decision is the point of the row, and hiding the only two controls that\n * resolve it made them easy to miss — and unreachable on a touch screen, which has no hover\n * to reveal them with.\n */\nconst ChangeReviewItem: React.FC<ChangeReviewItemProps> = ({\n label,\n fieldName,\n before,\n after,\n kind = 'changed',\n origin = 'assistant',\n children,\n onApprove,\n onDeny,\n headerActions,\n onPreviewRevert,\n disabled = false,\n className = '',\n}) => {\n const [isPreviewingRevert, setIsPreviewingRevert] = useState(false);\n const accessibleFieldName = fieldName ?? (typeof label === 'string' ? label : undefined);\n\n // No-ops when `onPreviewRevert` is absent, which also keeps `isPreviewingRevert` from ever\n // flipping true — so the hint below never renders unless a caller asked for the feature.\n const startRevertPreview = () => {\n if (onPreviewRevert === undefined) {\n return;\n }\n setIsPreviewingRevert(true);\n onPreviewRevert(true);\n };\n\n const endRevertPreview = () => {\n if (onPreviewRevert === undefined) {\n return;\n }\n setIsPreviewingRevert(false);\n onPreviewRevert(false);\n };\n\n const badgeAndLabel = (\n <div className=\"flex flex-wrap items-center gap-2\">\n {typeof label === 'string' ? (\n <Typography.Text size=\"small\" fontWeight=\"semi-bold\">\n {label}\n </Typography.Text>\n ) : (\n label\n )}\n <span className=\"sr-only\">{`${KIND_WORDS[kind]} by ${origin}`}</span>\n </div>\n );\n\n /*\n * The mark and the actions, as one tray.\n *\n * One box with the tag fill rather than two boxes meeting: the sparkle keeps that fill and\n * no shape of its own, so it reads as a marker, and the two actions sit inset on the lighter\n * assistant surface. Two violets a step apart separate what this is from what you can do\n * about it, with no border needed.\n *\n * The glyphs are sized in the style rather than by a class: the button centres whatever it\n * is given, and a bare arrow inherits the control's own font size otherwise.\n *\n * Always visible, not revealed on hover: a change waiting on a decision is the point of the\n * row, and hiding the only two controls that resolve it made them easy to miss entirely,\n * and unreachable on a touch screen.\n */\n const glyphStyle: React.CSSProperties = { fontSize: 11, lineHeight: 1 };\n\n const tray = (\n <div\n className=\"flex flex-shrink-0 items-center gap-1 rounded-md px-1\"\n style={{ background: 'var(--malachite-tag-assistant-background)', height: 24 }}\n >\n <Tooltip text={badgeTooltip(kind, origin)}>\n <span\n aria-hidden=\"true\"\n className=\"flex flex-shrink-0 items-center justify-center\"\n style={{ color: 'var(--malachite-tag-assistant-foreground)' }}\n >\n <SparkleIcon size={11} />\n </span>\n </Tooltip>\n <Button\n variant=\"destructive\"\n size=\"xsmall\"\n iconOnly\n aria-label={\n accessibleFieldName === undefined\n ? 'Revert change'\n : `Revert ${accessibleFieldName}`\n }\n disabled={disabled}\n onClick={onDeny}\n onMouseEnter={startRevertPreview}\n onMouseLeave={endRevertPreview}\n onFocus={startRevertPreview}\n onBlur={endRevertPreview}\n icon={\n /* Reload rather than a cross: reverting restores the previous value rather\n than dismissing the field. */\n <span aria-hidden=\"true\" style={glyphStyle}>\n ↺\n </span>\n }\n />\n <Button\n variant=\"success\"\n size=\"xsmall\"\n iconOnly\n aria-label={\n accessibleFieldName === undefined\n ? 'Accept change'\n : `Accept ${accessibleFieldName}`\n }\n disabled={disabled}\n onClick={onApprove}\n icon={\n <span aria-hidden=\"true\" style={glyphStyle}>\n ✓\n </span>\n }\n />\n </div>\n );\n\n const displaysChange = before !== undefined || after !== undefined;\n\n const beforeAfter = (\n <>\n {displaysChange && (\n <div className=\"flex flex-wrap items-baseline gap-1\">\n <Typography.SecondaryText size=\"small\">\n {/* Struck through, so a glance separates what it was from what it is\n without having to read the labels. */}\n Was {isEmptyDisplacedValue(before) ? <i>empty</i> : <s>{before}</s>}\n {after !== undefined ? ' →' : null}\n </Typography.SecondaryText>\n {after !== undefined && (\n <Typography.Text\n size=\"small\"\n style={{ color: 'var(--malachite-assistant-foreground)' }}\n >\n {after}\n </Typography.Text>\n )}\n </div>\n )}\n {isPreviewingRevert && (\n <Typography.SecondaryText size=\"small\">\n Previewing the revert — release to keep the AI value\n </Typography.SecondaryText>\n )}\n </>\n );\n\n // With a field to wrap, the header (tag/label/actions) and the before/after line split\n // to opposite sides of `children` instead of sitting together above it — see the\n // component doc comment on `children`.\n if (children !== undefined) {\n return (\n <div\n className={`flex flex-col gap-2 rounded-lg p-2 ${className}`}\n style={{ background: 'var(--malachite-assistant-surface-background)' }}\n >\n <div className=\"flex flex-wrap items-center justify-between gap-2\">\n {badgeAndLabel}\n <div className=\"flex flex-wrap items-center gap-2\">\n {headerActions}\n {tray}\n </div>\n </div>\n {children}\n <div className=\"flex flex-col gap-1\">{beforeAfter}</div>\n </div>\n );\n }\n\n return (\n <div\n className={`flex items-start gap-2 rounded-lg p-2 ${className}`}\n style={{ background: 'var(--malachite-assistant-surface-background)' }}\n >\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n {badgeAndLabel}\n {beforeAfter}\n </div>\n {headerActions}\n {tray}\n </div>\n );\n};\n\nexport default ChangeReviewItem;\nexport { ChangeReviewItem };\n"],"names":["KIND_WORDS","badgeTooltip","kind","origin","isEmptyDisplacedValue","value","ChangeReviewItem","label","fieldName","before","after","children","onApprove","onDeny","headerActions","onPreviewRevert","disabled","className","isPreviewingRevert","setIsPreviewingRevert","useState","accessibleFieldName","startRevertPreview","endRevertPreview","badgeAndLabel","jsxs","jsx","Typography","glyphStyle","tray","Tooltip","SparkleIcon","Button","beforeAfter","Fragment"],"mappings":"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"}
@@ -11,13 +11,13 @@ const k = {
11
11
  streaming: "Streaming",
12
12
  completed: "Completed",
13
13
  error: "Failed"
14
- }, z = "rounded-tl-[12px] rounded-tr-[12px] rounded-br-[4px] rounded-bl-[12px]", A = "rounded-tl-[12px] rounded-tr-[12px] rounded-br-[12px] rounded-bl-[4px]", C = ({ model: i, inputTokens: r, outputTokens: a, totalTokens: n }) => {
15
- const o = [
14
+ }, z = "rounded-tl-[12px] rounded-tr-[12px] rounded-br-[4px] rounded-bl-[12px]", A = "rounded-tl-[12px] rounded-tr-[12px] rounded-br-[12px] rounded-bl-[4px]", C = ({ model: i, inputTokens: r, outputTokens: a, totalTokens: o }) => {
15
+ const n = [
16
16
  r === void 0 ? void 0 : `${h(r)} in`,
17
17
  a === void 0 ? void 0 : `${h(a)} out`,
18
- n === void 0 ? void 0 : `${h(n)} total`
18
+ o === void 0 ? void 0 : `${h(o)} total`
19
19
  ].filter((m) => m !== void 0);
20
- return [i, ...o].join(" · ");
20
+ return [i, ...n].join(" · ");
21
21
  }, x = ({
22
22
  label: i,
23
23
  icon: r,
@@ -37,8 +37,8 @@ const k = {
37
37
  role: i,
38
38
  variant: r = "plain",
39
39
  content: a,
40
- children: n,
41
- name: o,
40
+ children: o,
41
+ name: n,
42
42
  avatarSrc: m,
43
43
  status: b,
44
44
  loading: f = !1,
@@ -49,14 +49,14 @@ const k = {
49
49
  }) => {
50
50
  const s = /* @__PURE__ */ l("div", { className: "flex min-w-0 flex-col gap-2", children: [
51
51
  a ? /* @__PURE__ */ e(c.MarkdownBlock, { text: a, variant: "flow", omitMargin: !0 }) : null,
52
- n,
52
+ o,
53
53
  f && !a ? /* @__PURE__ */ e($, {}) : null
54
54
  ] });
55
55
  if (i === "user") {
56
56
  const v = r === "bubble" ? `${z} border-[var(--malachite-chat-user-bubble-border)] bg-[var(--malachite-chat-user-bubble-background)]` : "rounded-lg border-[var(--malachite-accent-border)] bg-[var(--malachite-accent-background-glass)]";
57
- return /* @__PURE__ */ l("div", { className: `flex min-w-0 items-start justify-end gap-2 ${t}`, children: [
57
+ return /* @__PURE__ */ l("div", { className: `flex min-w-0 items-end justify-end gap-2 ${t}`, children: [
58
58
  /* @__PURE__ */ e("div", { className: `min-w-0 max-w-[85%] border border-solid px-3 py-2 ${v}`, children: s }),
59
- /* @__PURE__ */ e("div", { className: "shrink-0 pt-[2px]", children: /* @__PURE__ */ e(N, { src: m, name: o, size: 24, shape: "square" }) })
59
+ /* @__PURE__ */ e("div", { className: "shrink-0", children: /* @__PURE__ */ e(N, { src: m, name: n, size: 24, shape: "square" }) })
60
60
  ] });
61
61
  }
62
62
  const g = u || d || p;
@@ -71,8 +71,8 @@ const k = {
71
71
  {
72
72
  className: `flex min-w-0 flex-col gap-3 rounded-[var(--malachite-radius-xxl,14px)] border border-solid border-[var(--malachite-card-border)] bg-[var(--malachite-card-background)] p-4 ${t}`,
73
73
  children: [
74
- (o || b) && /* @__PURE__ */ l("div", { className: "flex items-center gap-2", children: [
75
- o ? /* @__PURE__ */ e("span", { className: "rounded-md bg-[var(--malachite-card-dimmed-background)] px-2 py-1 leading-none", children: /* @__PURE__ */ e(c.Text, { size: "small", fontWeight: "semi-bold", children: o }) }) : null,
74
+ (n || b) && /* @__PURE__ */ l("div", { className: "flex items-center gap-2", children: [
75
+ n ? /* @__PURE__ */ e("span", { className: "rounded-md bg-[var(--malachite-card-dimmed-background)] px-2 py-1 leading-none", children: /* @__PURE__ */ e(c.Text, { size: "small", fontWeight: "semi-bold", children: n }) }) : null,
76
76
  b ? /* @__PURE__ */ e(c.SecondaryText, { size: "xsmall", textTransform: "uppercase", children: k[b] }) : null
77
77
  ] }),
78
78
  s,
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessage.js","sources":["../../../src/components/Chat/ChatMessage.tsx"],"sourcesContent":["import React from 'react';\nimport Avatar from '../Avatar';\nimport Button from '../Button';\nimport CopyIcon from '../CustomIcons/CopyIcon';\nimport ThumbsDownIcon from '../CustomIcons/ThumbsDownIcon';\nimport ThumbsUpIcon from '../CustomIcons/ThumbsUpIcon';\nimport Typography from '../Typography';\nimport ChatThinking from './ChatThinking';\nimport { compactCount } from './tokenText';\n\nexport type ChatRole = 'user' | 'assistant';\n\n/**\n * Three distinct treatments, not two plus a repaint of one: `plain` is the bare turn, `card`\n * frames a reply with its own status, copy/rating actions and a token line, and `bubble` is a\n * message-app chat style with no chrome beyond the bubble itself. All three appear in the\n * design-sync previews — keep them that way rather than folding `bubble` back into `card`.\n */\nexport type ChatMessageVariant = 'plain' | 'card' | 'bubble';\n\nexport type ChatMessageStatus = 'streaming' | 'completed' | 'error';\n\nexport type ChatFeedback = 'up' | 'down';\n\nexport interface ChatMessageUsage {\n /** The model as a reader would name it, e.g. \"Claude Haiku 4.5\". */\n model: string;\n inputTokens?: number;\n outputTokens?: number;\n totalTokens?: number;\n}\n\nexport interface ChatMessageProps {\n role: ChatRole;\n /**\n * `card` frames the turn with a header and a footer — for a surface where a reply carries\n * its own status and cost. `plain` is the bare turn. `bubble` wraps the turn in a coloured,\n * asymmetrically-rounded bubble instead — no header, no footer, just the shape.\n */\n variant?: ChatMessageVariant;\n /** Markdown. Rendered through `Typography.MarkdownBlock`, so a reply may carry formatting. */\n content?: string;\n /** Anything belonging with the message — tool calls, reasoning, a busy indicator. */\n children?: React.ReactNode;\n /** Names a user turn and its avatar; labels an assistant turn's header. */\n name?: string;\n avatarSrc?: string;\n /** Shown in a `card` header. Omitted means the turn reports no state. */\n status?: ChatMessageStatus;\n /**\n * The reply has been asked for but nothing has arrived. Renders the same placeholder\n * `Chat.Thinking` does, in the body's place, so the turn does not jump when text lands.\n */\n loading?: boolean;\n /**\n * Offers a copy control. The handler decides what to copy: a turn may hold tool calls and\n * reasoning this component never sees, so it cannot honestly claim to know the text.\n */\n onCopy?: () => void;\n /** Offers thumbs up and down. */\n onFeedback?: (feedback: ChatFeedback) => void;\n usage?: ChatMessageUsage;\n className?: string;\n}\n\nconst STATUS_LABELS: Record<ChatMessageStatus, string> = {\n streaming: 'Streaming',\n completed: 'Completed',\n error: 'Failed',\n};\n\n/**\n * The flattened corner points at its author — bottom-right on a right-aligned user bubble,\n * bottom-left on a left-aligned assistant one — so who spoke is legible before a word is read.\n * Not decoration: swapping these would point every bubble at the wrong side of the transcript.\n */\nconst USER_BUBBLE_RADIUS = 'rounded-tl-[12px] rounded-tr-[12px] rounded-br-[4px] rounded-bl-[12px]';\nconst ASSISTANT_BUBBLE_RADIUS =\n 'rounded-tl-[12px] rounded-tr-[12px] rounded-br-[12px] rounded-bl-[4px]';\n\nconst usageText = ({ model, inputTokens, outputTokens, totalTokens }: ChatMessageUsage): string => {\n const counts = [\n inputTokens === undefined ? undefined : `${compactCount(inputTokens)} in`,\n outputTokens === undefined ? undefined : `${compactCount(outputTokens)} out`,\n totalTokens === undefined ? undefined : `${compactCount(totalTokens)} total`,\n ].filter((part): part is string => part !== undefined);\n\n return [model, ...counts].join(' · ');\n};\n\n/**\n * `outline` rather than `ghost`: a bare glyph does not read as something to press, and ghost\n * only draws its border on hover, which a pointer finds and nothing else does.\n */\nconst MessageAction = ({\n label,\n icon,\n onClick,\n}: {\n label: string;\n icon: React.ReactNode;\n onClick: () => void;\n}) => (\n <Button\n variant=\"outline\"\n size=\"xsmall\"\n iconOnly\n icon={icon}\n tooltip={label}\n aria-label={label}\n onClick={onClick}\n />\n);\n\n/**\n * One turn in a transcript.\n *\n * A user turn sits to the right and hugs its own text, the way a sent message reads. An\n * assistant turn runs the full width in `plain`/`card`, so a long reply is not read through a\n * narrow column; in `bubble` both roles hug their own text instead, the way a messaging app reads.\n */\nconst ChatMessage: React.FC<ChatMessageProps> = ({\n role,\n variant = 'plain',\n content,\n children,\n name,\n avatarSrc,\n status,\n loading = false,\n onCopy,\n onFeedback,\n usage,\n className = '',\n}) => {\n const body = (\n <div className=\"flex min-w-0 flex-col gap-2\">\n {content ? <Typography.MarkdownBlock text={content} variant=\"flow\" omitMargin /> : null}\n {children}\n {loading && !content ? <ChatThinking /> : null}\n </div>\n );\n\n if (role === 'user') {\n const boxClasses =\n variant === 'bubble'\n ? `${USER_BUBBLE_RADIUS} border-[var(--malachite-chat-user-bubble-border)] bg-[var(--malachite-chat-user-bubble-background)]`\n : 'rounded-lg border-[var(--malachite-accent-border)] bg-[var(--malachite-accent-background-glass)]';\n\n return (\n <div className={`flex min-w-0 items-start justify-end gap-2 ${className}`}>\n <div className={`min-w-0 max-w-[85%] border border-solid px-3 py-2 ${boxClasses}`}>\n {body}\n </div>\n <div className=\"shrink-0 pt-[2px]\">\n <Avatar src={avatarSrc} name={name} size={24} shape=\"square\" />\n </div>\n </div>\n );\n }\n\n const footer = onCopy || onFeedback || usage;\n\n if (variant === 'plain') {\n return <div className={`flex min-w-0 flex-col ${className}`}>{body}</div>;\n }\n\n if (variant === 'bubble') {\n // Hugs its content rather than filling the column: a flex row (not the plain/card\n // column) so the bubble's width tracks its text and only caps at the same 85% the\n // user turn already uses, instead of stretching to the full transcript width.\n return (\n <div className={`flex min-w-0 items-start ${className}`}>\n <div\n className={`min-w-0 max-w-[85%] border border-solid px-3 py-2 text-[var(--malachite-chat-assistant-bubble-foreground)] ${ASSISTANT_BUBBLE_RADIUS} border-[var(--malachite-chat-assistant-bubble-border)] bg-[var(--malachite-chat-assistant-bubble-background)]`}\n >\n {body}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`flex min-w-0 flex-col gap-3 rounded-[var(--malachite-radius-xxl,14px)] border border-solid border-[var(--malachite-card-border)] bg-[var(--malachite-card-background)] p-4 ${className}`}\n >\n {(name || status) && (\n <div className=\"flex items-center gap-2\">\n {name ? (\n <span className=\"rounded-md bg-[var(--malachite-card-dimmed-background)] px-2 py-1 leading-none\">\n <Typography.Text size=\"small\" fontWeight=\"semi-bold\">\n {name}\n </Typography.Text>\n </span>\n ) : null}\n {status ? (\n <Typography.SecondaryText size=\"xsmall\" textTransform=\"uppercase\">\n {STATUS_LABELS[status]}\n </Typography.SecondaryText>\n ) : null}\n </div>\n )}\n {body}\n {footer ? (\n <div className=\"flex flex-wrap items-center justify-between gap-2\">\n <div className=\"flex items-center gap-1\">\n {onCopy ? (\n <MessageAction\n label=\"Copy\"\n icon={<CopyIcon size={13} />}\n onClick={onCopy}\n />\n ) : null}\n {onFeedback ? (\n <>\n <MessageAction\n label=\"Good response\"\n icon={<ThumbsUpIcon size={13} />}\n onClick={() => onFeedback('up')}\n />\n <MessageAction\n label=\"Bad response\"\n icon={<ThumbsDownIcon size={13} />}\n onClick={() => onFeedback('down')}\n />\n </>\n ) : null}\n </div>\n {usage ? (\n <span className=\"flex min-w-0 items-center gap-1.5\">\n {/* Decorative, so it is hidden: the model is named in the text\n beside it and a screen reader gains nothing from a dot. */}\n <span\n aria-hidden=\"true\"\n className=\"h-2 w-2 shrink-0 rounded-full bg-[var(--malachite-warning-background)]\"\n />\n <Typography.SecondaryText size=\"xsmall\">\n {usageText(usage)}\n </Typography.SecondaryText>\n </span>\n ) : null}\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default ChatMessage;\nexport { ChatMessage };\n"],"names":["STATUS_LABELS","USER_BUBBLE_RADIUS","ASSISTANT_BUBBLE_RADIUS","usageText","model","inputTokens","outputTokens","totalTokens","counts","compactCount","part","MessageAction","label","icon","onClick","jsx","Button","ChatMessage","role","variant","content","children","name","avatarSrc","status","loading","onCopy","onFeedback","usage","className","body","jsxs","Typography","ChatThinking","boxClasses","Avatar","footer","CopyIcon","Fragment","ThumbsUpIcon","ThumbsDownIcon"],"mappings":"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"}
1
+ {"version":3,"file":"ChatMessage.js","sources":["../../../src/components/Chat/ChatMessage.tsx"],"sourcesContent":["import React from 'react';\nimport Avatar from '../Avatar';\nimport Button from '../Button';\nimport CopyIcon from '../CustomIcons/CopyIcon';\nimport ThumbsDownIcon from '../CustomIcons/ThumbsDownIcon';\nimport ThumbsUpIcon from '../CustomIcons/ThumbsUpIcon';\nimport Typography from '../Typography';\nimport ChatThinking from './ChatThinking';\nimport { compactCount } from './tokenText';\n\nexport type ChatRole = 'user' | 'assistant';\n\n/**\n * Three distinct treatments, not two plus a repaint of one: `plain` is the bare turn, `card`\n * frames a reply with its own status, copy/rating actions and a token line, and `bubble` is a\n * message-app chat style with no chrome beyond the bubble itself. All three appear in the\n * design-sync previews — keep them that way rather than folding `bubble` back into `card`.\n */\nexport type ChatMessageVariant = 'plain' | 'card' | 'bubble';\n\nexport type ChatMessageStatus = 'streaming' | 'completed' | 'error';\n\nexport type ChatFeedback = 'up' | 'down';\n\nexport interface ChatMessageUsage {\n /** The model as a reader would name it, e.g. \"Claude Haiku 4.5\". */\n model: string;\n inputTokens?: number;\n outputTokens?: number;\n totalTokens?: number;\n}\n\nexport interface ChatMessageProps {\n role: ChatRole;\n /**\n * `card` frames the turn with a header and a footer — for a surface where a reply carries\n * its own status and cost. `plain` is the bare turn. `bubble` wraps the turn in a coloured,\n * asymmetrically-rounded bubble instead — no header, no footer, just the shape.\n */\n variant?: ChatMessageVariant;\n /** Markdown. Rendered through `Typography.MarkdownBlock`, so a reply may carry formatting. */\n content?: string;\n /** Anything belonging with the message — tool calls, reasoning, a busy indicator. */\n children?: React.ReactNode;\n /** Names a user turn and its avatar; labels an assistant turn's header. */\n name?: string;\n avatarSrc?: string;\n /** Shown in a `card` header. Omitted means the turn reports no state. */\n status?: ChatMessageStatus;\n /**\n * The reply has been asked for but nothing has arrived. Renders the same placeholder\n * `Chat.Thinking` does, in the body's place, so the turn does not jump when text lands.\n */\n loading?: boolean;\n /**\n * Offers a copy control. The handler decides what to copy: a turn may hold tool calls and\n * reasoning this component never sees, so it cannot honestly claim to know the text.\n */\n onCopy?: () => void;\n /** Offers thumbs up and down. */\n onFeedback?: (feedback: ChatFeedback) => void;\n usage?: ChatMessageUsage;\n className?: string;\n}\n\nconst STATUS_LABELS: Record<ChatMessageStatus, string> = {\n streaming: 'Streaming',\n completed: 'Completed',\n error: 'Failed',\n};\n\n/**\n * The flattened corner points at its author — bottom-right on a right-aligned user bubble,\n * bottom-left on a left-aligned assistant one — so who spoke is legible before a word is read.\n * Not decoration: swapping these would point every bubble at the wrong side of the transcript.\n */\nconst USER_BUBBLE_RADIUS = 'rounded-tl-[12px] rounded-tr-[12px] rounded-br-[4px] rounded-bl-[12px]';\nconst ASSISTANT_BUBBLE_RADIUS =\n 'rounded-tl-[12px] rounded-tr-[12px] rounded-br-[12px] rounded-bl-[4px]';\n\nconst usageText = ({ model, inputTokens, outputTokens, totalTokens }: ChatMessageUsage): string => {\n const counts = [\n inputTokens === undefined ? undefined : `${compactCount(inputTokens)} in`,\n outputTokens === undefined ? undefined : `${compactCount(outputTokens)} out`,\n totalTokens === undefined ? undefined : `${compactCount(totalTokens)} total`,\n ].filter((part): part is string => part !== undefined);\n\n return [model, ...counts].join(' · ');\n};\n\n/**\n * `outline` rather than `ghost`: a bare glyph does not read as something to press, and ghost\n * only draws its border on hover, which a pointer finds and nothing else does.\n */\nconst MessageAction = ({\n label,\n icon,\n onClick,\n}: {\n label: string;\n icon: React.ReactNode;\n onClick: () => void;\n}) => (\n <Button\n variant=\"outline\"\n size=\"xsmall\"\n iconOnly\n icon={icon}\n tooltip={label}\n aria-label={label}\n onClick={onClick}\n />\n);\n\n/**\n * One turn in a transcript.\n *\n * A user turn sits to the right and hugs its own text, the way a sent message reads. An\n * assistant turn runs the full width in `plain`/`card`, so a long reply is not read through a\n * narrow column; in `bubble` both roles hug their own text instead, the way a messaging app reads.\n */\nconst ChatMessage: React.FC<ChatMessageProps> = ({\n role,\n variant = 'plain',\n content,\n children,\n name,\n avatarSrc,\n status,\n loading = false,\n onCopy,\n onFeedback,\n usage,\n className = '',\n}) => {\n const body = (\n <div className=\"flex min-w-0 flex-col gap-2\">\n {content ? <Typography.MarkdownBlock text={content} variant=\"flow\" omitMargin /> : null}\n {children}\n {loading && !content ? <ChatThinking /> : null}\n </div>\n );\n\n if (role === 'user') {\n const boxClasses =\n variant === 'bubble'\n ? `${USER_BUBBLE_RADIUS} border-[var(--malachite-chat-user-bubble-border)] bg-[var(--malachite-chat-user-bubble-background)]`\n : 'rounded-lg border-[var(--malachite-accent-border)] bg-[var(--malachite-accent-background-glass)]';\n\n return (\n <div className={`flex min-w-0 items-end justify-end gap-2 ${className}`}>\n <div className={`min-w-0 max-w-[85%] border border-solid px-3 py-2 ${boxClasses}`}>\n {body}\n </div>\n {/* At the foot of the bubble, where its flattened corner already points. Level\n with the first line it sat clear of a long turn's last line, which is the\n end the thread reads towards. */}\n <div className=\"shrink-0\">\n <Avatar src={avatarSrc} name={name} size={24} shape=\"square\" />\n </div>\n </div>\n );\n }\n\n const footer = onCopy || onFeedback || usage;\n\n if (variant === 'plain') {\n return <div className={`flex min-w-0 flex-col ${className}`}>{body}</div>;\n }\n\n if (variant === 'bubble') {\n // Hugs its content rather than filling the column: a flex row (not the plain/card\n // column) so the bubble's width tracks its text and only caps at the same 85% the\n // user turn already uses, instead of stretching to the full transcript width.\n return (\n <div className={`flex min-w-0 items-start ${className}`}>\n <div\n className={`min-w-0 max-w-[85%] border border-solid px-3 py-2 text-[var(--malachite-chat-assistant-bubble-foreground)] ${ASSISTANT_BUBBLE_RADIUS} border-[var(--malachite-chat-assistant-bubble-border)] bg-[var(--malachite-chat-assistant-bubble-background)]`}\n >\n {body}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`flex min-w-0 flex-col gap-3 rounded-[var(--malachite-radius-xxl,14px)] border border-solid border-[var(--malachite-card-border)] bg-[var(--malachite-card-background)] p-4 ${className}`}\n >\n {(name || status) && (\n <div className=\"flex items-center gap-2\">\n {name ? (\n <span className=\"rounded-md bg-[var(--malachite-card-dimmed-background)] px-2 py-1 leading-none\">\n <Typography.Text size=\"small\" fontWeight=\"semi-bold\">\n {name}\n </Typography.Text>\n </span>\n ) : null}\n {status ? (\n <Typography.SecondaryText size=\"xsmall\" textTransform=\"uppercase\">\n {STATUS_LABELS[status]}\n </Typography.SecondaryText>\n ) : null}\n </div>\n )}\n {body}\n {footer ? (\n <div className=\"flex flex-wrap items-center justify-between gap-2\">\n <div className=\"flex items-center gap-1\">\n {onCopy ? (\n <MessageAction\n label=\"Copy\"\n icon={<CopyIcon size={13} />}\n onClick={onCopy}\n />\n ) : null}\n {onFeedback ? (\n <>\n <MessageAction\n label=\"Good response\"\n icon={<ThumbsUpIcon size={13} />}\n onClick={() => onFeedback('up')}\n />\n <MessageAction\n label=\"Bad response\"\n icon={<ThumbsDownIcon size={13} />}\n onClick={() => onFeedback('down')}\n />\n </>\n ) : null}\n </div>\n {usage ? (\n <span className=\"flex min-w-0 items-center gap-1.5\">\n {/* Decorative, so it is hidden: the model is named in the text\n beside it and a screen reader gains nothing from a dot. */}\n <span\n aria-hidden=\"true\"\n className=\"h-2 w-2 shrink-0 rounded-full bg-[var(--malachite-warning-background)]\"\n />\n <Typography.SecondaryText size=\"xsmall\">\n {usageText(usage)}\n </Typography.SecondaryText>\n </span>\n ) : null}\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default ChatMessage;\nexport { ChatMessage };\n"],"names":["STATUS_LABELS","USER_BUBBLE_RADIUS","ASSISTANT_BUBBLE_RADIUS","usageText","model","inputTokens","outputTokens","totalTokens","counts","compactCount","part","MessageAction","label","icon","onClick","jsx","Button","ChatMessage","role","variant","content","children","name","avatarSrc","status","loading","onCopy","onFeedback","usage","className","body","jsxs","Typography","ChatThinking","boxClasses","Avatar","footer","CopyIcon","Fragment","ThumbsUpIcon","ThumbsDownIcon"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -466,8 +466,13 @@ export declare interface ChangeReviewItemProps {
466
466
  * item annotates already carries its own visible heading elsewhere on the page (so the name
467
467
  * doesn't render twice) — pass `fieldName` instead, so the badge and actions still know what
468
468
  * they belong to.
469
+ *
470
+ * A node rather than a string, because a field's heading is not always only its name: one
471
+ * with an explainer behind an info icon has to hand the whole heading over, or it loses the
472
+ * icon for as long as it is marked. A node carries no accessible name, so `fieldName` is
473
+ * required alongside anything that is not a plain string.
469
474
  */
470
- label?: string;
475
+ label?: default_2.ReactNode;
471
476
  /**
472
477
  * Names the field the badge and actions act on, for assistive tech. Defaults to `label`, so
473
478
  * passing only `label` keeps working as before. Set it explicitly when `label` is omitted —
@@ -488,6 +493,13 @@ export declare interface ChangeReviewItemProps {
488
493
  * describes instead of stacked with the header. Omit it for the standalone card.
489
494
  */
490
495
  children?: default_2.ReactNode;
496
+ /**
497
+ * The caller's own controls for this field, in the header band beside accept and revert.
498
+ * A capability's Remove belongs to the field rather than to the review, but while the field
499
+ * is marked the header is the only row its heading has, so without a slot here the button
500
+ * has nowhere to sit that is not on top of something.
501
+ */
502
+ headerActions?: default_2.ReactNode;
491
503
  onApprove: () => void;
492
504
  onDeny: () => void;
493
505
  /**
@@ -1,4 +1,4 @@
1
- const a = '/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Inter",ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:"SF Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",Courier,monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-500:oklch(70.4% .14 182.503);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:var(--malachite-radius-xs,2px);--radius-md:var(--malachite-radius-md,6px);--radius-lg:var(--malachite-radius-lg,8px);--radius-xl:var(--malachite-radius-xl,12px);--radius-2xl:var(--malachite-radius-xxxl,16px);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:var(--malachite-radius-sm,4px);--font-heading:"Stack Sans Text",ui-sans-serif,system-ui,sans-serif;--font-body:"Geist",ui-sans-serif,system-ui,sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-\\[3px\\]{top:3px}.top-\\[8px\\]{top:8px}.top-\\[40px\\]{top:40px}.top-\\[calc\\(var\\(--malachite-control-height-large\\,42px\\)\\/2\\)\\]{top:calc(var(--malachite-control-height-large,42px)/2)}.top-\\[calc\\(var\\(--malachite-control-height-medium\\,32px\\)\\/2\\)\\]{top:calc(var(--malachite-control-height-medium,32px)/2)}.top-\\[calc\\(var\\(--malachite-control-height-small\\,28px\\)\\/2\\)\\]{top:calc(var(--malachite-control-height-small,28px)/2)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-\\[8px\\]{right:8px}.right-\\[26px\\]{right:26px}.right-\\[28px\\]{right:28px}.right-\\[30px\\]{right:30px}.right-\\[38px\\]{right:38px}.right-\\[60px\\]{right:60px}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-6{bottom:calc(var(--spacing)*6)}.bottom-\\[8px\\]{bottom:8px}.left-0{left:calc(var(--spacing)*0)}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\\[1\\]{z-index:1}.z-\\[2\\]{z-index:2}.z-\\[1000\\]{z-index:1000}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.m-auto{margin:auto}.-mx-10{margin-inline:calc(var(--spacing)*-10)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.my-auto{margin-block:auto}.-mt-1{margin-top:calc(var(--spacing)*-1)}.-mt-2{margin-top:calc(var(--spacing)*-2)}.-mt-4{margin-top:calc(var(--spacing)*-4)}.-mt-6{margin-top:calc(var(--spacing)*-6)}.-mt-8{margin-top:calc(var(--spacing)*-8)}.-mt-\\[2px\\]{margin-top:-2px}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-\\[2px\\]{margin-top:2px}.mt-\\[11px\\]{margin-top:11px}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-\\[-8px\\]{margin-right:-8px}.mr-\\[6px\\]{margin-right:6px}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-30{margin-bottom:calc(var(--spacing)*30)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.ml-0\\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-\\[6px\\]{margin-left:6px}.ml-\\[20px\\]{margin-left:20px}.ml-auto{margin-left:auto}.\\[display\\:-webkit-box\\]{display:-webkit-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-\\[3px\\]{width:3px;height:3px}.size-\\[11px\\]{width:11px;height:11px}.size-\\[13px\\]{width:13px;height:13px}.size-\\[14px\\]{width:14px;height:14px}.size-\\[18px\\]{width:18px;height:18px}.size-\\[20px\\]{width:20px;height:20px}.size-\\[24px\\]{width:24px;height:24px}.size-\\[28px\\]{width:28px;height:28px}.size-\\[32px\\]{width:32px;height:32px}.size-\\[40px\\]{width:40px;height:40px}.size-\\[42px\\]{width:42px;height:42px}.size-full{width:100%;height:100%}.h-1{height:calc(var(--spacing)*1)}.h-1\\/2{height:50%}.h-2{height:calc(var(--spacing)*2)}.h-2\\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-40{height:calc(var(--spacing)*40)}.h-48{height:calc(var(--spacing)*48)}.h-56{height:calc(var(--spacing)*56)}.h-60{height:calc(var(--spacing)*60)}.h-64{height:calc(var(--spacing)*64)}.h-72{height:calc(var(--spacing)*72)}.h-80{height:calc(var(--spacing)*80)}.h-96{height:calc(var(--spacing)*96)}.h-100{height:calc(var(--spacing)*100)}.h-\\[\\.\\.\\.\\]{height:...}.h-\\[8px\\]{height:8px}.h-\\[12px\\]{height:12px}.h-\\[13px\\]{height:13px}.h-\\[16px\\]{height:16px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[22px\\]{height:22px}.h-\\[28px\\]{height:28px}.h-\\[32px\\]{height:32px}.h-\\[33px\\]{height:33px}.h-\\[42px\\]{height:42px}.h-\\[48px\\]{height:48px}.h-\\[59px\\]{height:59px}.h-\\[65px\\]{height:65px}.h-\\[460px\\]{height:460px}.h-\\[var\\(--malachite-control-height-large\\,42px\\)\\]{height:var(--malachite-control-height-large,42px)}.h-\\[var\\(--malachite-control-height-medium\\,32px\\)\\]{height:var(--malachite-control-height-medium,32px)}.h-\\[var\\(--malachite-control-height-small\\,28px\\)\\]{height:var(--malachite-control-height-small,28px)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-\\[553px\\]{max-height:553px}.max-h-\\[calc\\(1\\.5em\\*var\\(--malachite-clamp-lines\\)\\)\\]{max-height:calc(1.5em*var(--malachite-clamp-lines))}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-11{min-height:calc(var(--spacing)*11)}.min-h-\\[2rem\\]{min-height:2rem}.min-h-\\[14px\\]{min-height:14px}.min-h-\\[25px\\]{min-height:25px}.min-h-\\[28px\\]{min-height:28px}.min-h-\\[50px\\]{min-height:50px}.min-h-\\[52px\\]{min-height:52px}.min-h-\\[56px\\]{min-height:56px}.min-h-\\[100px\\]{min-height:100px}.min-h-\\[200px\\]{min-height:200px}.min-h-\\[400px\\]{min-height:400px}.min-h-\\[var\\(--malachite-control-height-large\\,42px\\)\\]{min-height:var(--malachite-control-height-large,42px)}.min-h-\\[var\\(--malachite-control-height-medium\\,32px\\)\\]{min-height:var(--malachite-control-height-medium,32px)}.min-h-\\[var\\(--malachite-control-height-small\\,28px\\)\\]{min-height:var(--malachite-control-height-small,28px)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-2\\/5{width:40%}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-3\\/5{width:60%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-40{width:calc(var(--spacing)*40)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-96{width:calc(var(--spacing)*96)}.w-200{width:calc(var(--spacing)*200)}.w-\\[13px\\]{width:13px}.w-\\[16px\\]{width:16px}.w-\\[20px\\]{width:20px}.w-\\[24px\\]{width:24px}.w-\\[28px\\]{width:28px}.w-\\[44px\\]{width:44px}.w-\\[88px\\]{width:88px}.w-\\[95px\\]{width:95px}.w-\\[108px\\]{width:108px}.w-\\[143px\\]{width:143px}.w-\\[200px\\]{width:200px}.w-\\[220px\\]{width:220px}.w-\\[320px\\]{width:320px}.w-\\[var\\(--malachite-control-height-small\\,28px\\)\\]{width:var(--malachite-control-height-small,28px)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-1200{max-width:calc(var(--spacing)*1200)}.max-w-\\[85\\%\\]{max-width:85%}.max-w-\\[330px\\]{max-width:330px}.max-w-\\[380px\\]{max-width:380px}.max-w-\\[400px\\]{max-width:400px}.max-w-\\[420px\\]{max-width:420px}.max-w-\\[480px\\]{max-width:480px}.max-w-\\[500px\\]{max-width:500px}.max-w-\\[540px\\]{max-width:540px}.max-w-\\[560px\\]{max-width:560px}.max-w-\\[860px\\]{max-width:860px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\\[16px\\]{min-width:16px}.min-w-\\[20px\\]{min-width:20px}.min-w-\\[39px\\]{min-width:39px}.min-w-\\[40px\\]{min-width:40px}.min-w-\\[200px\\]{min-width:200px}.flex-1{flex:1}.flex-\\[1_0_0\\]{flex:1 0 0}.flex-auto{flex:auto}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-auto{flex-basis:auto}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-x{resize:horizontal}.resize-y{resize:vertical}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.grid-cols-\\[minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,1fr)}.grid-rows-\\[1fr_auto\\]{grid-template-rows:1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-7{gap:calc(var(--spacing)*7)}.gap-8{gap:calc(var(--spacing)*8)}.gap-10{gap:calc(var(--spacing)*10)}.gap-\\[2px\\]{gap:2px}.gap-\\[3px\\]{gap:3px}.gap-\\[4px\\]{gap:4px}.gap-\\[6px\\]{gap:6px}.gap-\\[8px\\]{gap:8px}.gap-\\[10px\\]{gap:10px}.gap-\\[12px\\]{gap:12px}.gap-\\[16px\\]{gap:16px}.gap-\\[20px\\]{gap:20px}.gap-\\[24px\\]{gap:24px}.gap-\\[28px\\]{gap:28px}.gap-\\[40px\\]{gap:40px}.gap-\\[60px\\]{gap:60px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{-moz-column-gap:calc(var(--spacing)*4);column-gap:calc(var(--spacing)*4)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing)*1)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-clip{overflow-x:clip}.overflow-y-auto{overflow-y:auto}.overflow-y-visible{overflow-y:visible}.rounded{border-radius:var(--radius)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\\[7px\\]{border-radius:7px}.rounded-\\[10px\\]{border-radius:10px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[16px\\]{border-radius:16px}.rounded-\\[20px\\]{border-radius:20px}.rounded-\\[28px\\]{border-radius:28px}.rounded-\\[var\\(--malachite-radius-10\\,10px\\)\\]{border-radius:var(--malachite-radius-10,10px)}.rounded-\\[var\\(--malachite-radius-lg\\,8px\\)\\]{border-radius:var(--malachite-radius-lg,8px)}.rounded-\\[var\\(--malachite-radius-xxl\\,14px\\)\\]{border-radius:var(--malachite-radius-xxl,14px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.rounded-tl-\\[12px\\]{border-top-left-radius:12px}.rounded-tl-lg{border-top-left-radius:var(--radius-lg)}.rounded-tr-\\[12px\\]{border-top-right-radius:12px}.rounded-tr-lg{border-top-right-radius:var(--radius-lg)}.rounded-b-\\[var\\(--malachite-radius-10\\,10px\\)\\]{border-bottom-right-radius:var(--malachite-radius-10,10px);border-bottom-left-radius:var(--malachite-radius-10,10px)}.rounded-br-\\[4px\\]{border-bottom-right-radius:4px}.rounded-br-\\[12px\\]{border-bottom-right-radius:12px}.rounded-br-lg{border-bottom-right-radius:var(--radius-lg)}.rounded-bl-\\[4px\\]{border-bottom-left-radius:4px}.rounded-bl-\\[12px\\]{border-bottom-left-radius:12px}.rounded-bl-lg{border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[\\#e8e8e8\\]{border-color:#e8e8e8}.border-\\[color\\:var\\(--malachite-accent-foreground\\)\\]{border-color:var(--malachite-accent-foreground)}.border-\\[var\\(--malachite-accent-border\\)\\]{border-color:var(--malachite-accent-border)}.border-\\[var\\(--malachite-assistant-surface-border\\)\\]{border-color:var(--malachite-assistant-surface-border)}.border-\\[var\\(--malachite-card-background\\)\\]{border-color:var(--malachite-card-background)}.border-\\[var\\(--malachite-card-border\\)\\]{border-color:var(--malachite-card-border)}.border-\\[var\\(--malachite-card-border\\,rgb\\(232\\,232\\,232\\)\\)\\]{border-color:var(--malachite-card-border,#e8e8e8)}.border-\\[var\\(--malachite-card-subtle-divider\\,var\\(--malachite-card-border\\)\\)\\]{border-color:var(--malachite-card-subtle-divider,var(--malachite-card-border))}.border-\\[var\\(--malachite-chat-assistant-bubble-border\\)\\]{border-color:var(--malachite-chat-assistant-bubble-border)}.border-\\[var\\(--malachite-chat-user-bubble-border\\)\\]{border-color:var(--malachite-chat-user-bubble-border)}.border-\\[var\\(--malachite-codeblock-border\\)\\]{border-color:var(--malachite-codeblock-border)}.border-\\[var\\(--malachite-destructive-border\\)\\]{border-color:var(--malachite-destructive-border)}.border-\\[var\\(--malachite-selection-bar-border\\)\\]{border-color:var(--malachite-selection-bar-border)}.border-\\[var\\(--malachite-tag-assistant-border\\)\\]{border-color:var(--malachite-tag-assistant-border)}.border-\\[var\\(--malachite-text-dimmed\\)\\]{border-color:var(--malachite-text-dimmed)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-500{border-color:var(--color-blue-500)}.border-current{border-color:currentColor}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-green-300{border-color:var(--color-green-300)}.border-indigo-300{border-color:var(--color-indigo-300)}.border-orange-300{border-color:var(--color-orange-300)}.border-pink-300{border-color:var(--color-pink-300)}.border-purple-300{border-color:var(--color-purple-300)}.border-red-300{border-color:var(--color-red-300)}.border-teal-300{border-color:var(--color-teal-300)}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-300{border-color:var(--color-yellow-300)}.border-yellow-500{border-color:var(--color-yellow-500)}.border-t-transparent{border-top-color:#0000}.bg-\\[\\#2b2b2b\\]{background-color:#2b2b2b}.bg-\\[var\\(--malachite-accent-background-glass\\)\\]{background-color:var(--malachite-accent-background-glass)}.bg-\\[var\\(--malachite-assistant-surface-background\\)\\]{background-color:var(--malachite-assistant-surface-background)}.bg-\\[var\\(--malachite-buttonlist-background\\)\\]{background-color:var(--malachite-buttonlist-background)}.bg-\\[var\\(--malachite-buttonlist-hover-background\\)\\]{background-color:var(--malachite-buttonlist-hover-background)}.bg-\\[var\\(--malachite-card-background\\)\\]{background-color:var(--malachite-card-background)}.bg-\\[var\\(--malachite-card-border\\)\\]{background-color:var(--malachite-card-border)}.bg-\\[var\\(--malachite-card-dimmed-background\\)\\]{background-color:var(--malachite-card-dimmed-background)}.bg-\\[var\\(--malachite-card-sunken-background\\)\\]{background-color:var(--malachite-card-sunken-background)}.bg-\\[var\\(--malachite-chat-assistant-bubble-background\\)\\]{background-color:var(--malachite-chat-assistant-bubble-background)}.bg-\\[var\\(--malachite-chat-user-bubble-background\\)\\]{background-color:var(--malachite-chat-user-bubble-background)}.bg-\\[var\\(--malachite-codeblock-background\\)\\]{background-color:var(--malachite-codeblock-background)}.bg-\\[var\\(--malachite-inline-confirm-background\\)\\]{background-color:var(--malachite-inline-confirm-background)}.bg-\\[var\\(--malachite-inline-confirm-divider\\)\\]{background-color:var(--malachite-inline-confirm-divider)}.bg-\\[var\\(--malachite-number-tag-background\\)\\]{background-color:var(--malachite-number-tag-background)}.bg-\\[var\\(--malachite-overlay-scrim\\)\\]{background-color:var(--malachite-overlay-scrim)}.bg-\\[var\\(--malachite-pillbutton-background\\)\\]{background-color:var(--malachite-pillbutton-background)}.bg-\\[var\\(--malachite-pillbutton-hover-background\\)\\]{background-color:var(--malachite-pillbutton-hover-background)}.bg-\\[var\\(--malachite-pillbutton-inverted-background\\)\\]{background-color:var(--malachite-pillbutton-inverted-background)}.bg-\\[var\\(--malachite-pillbutton-inverted-hover-background\\)\\]{background-color:var(--malachite-pillbutton-inverted-hover-background)}.bg-\\[var\\(--malachite-pillbutton-static-background\\)\\]{background-color:var(--malachite-pillbutton-static-background)}.bg-\\[var\\(--malachite-segmented-control-selected-background\\)\\]{background-color:var(--malachite-segmented-control-selected-background)}.bg-\\[var\\(--malachite-segmented-control-track-background\\)\\]{background-color:var(--malachite-segmented-control-track-background)}.bg-\\[var\\(--malachite-selection-bar-background\\)\\]{background-color:var(--malachite-selection-bar-background)}.bg-\\[var\\(--malachite-selection-bar-notice-background\\)\\]{background-color:var(--malachite-selection-bar-notice-background)}.bg-\\[var\\(--malachite-success-background-glass\\)\\]{background-color:var(--malachite-success-background-glass)}.bg-\\[var\\(--malachite-table-background\\,\\#f7f7f7\\)\\]{background-color:var(--malachite-table-background,#f7f7f7)}.bg-\\[var\\(--malachite-table-row-background\\,\\#fff\\)\\]{background-color:var(--malachite-table-row-background,#fff)}.bg-\\[var\\(--malachite-tag-assistant-background\\)\\]{background-color:var(--malachite-tag-assistant-background)}.bg-\\[var\\(--malachite-tag-default-background\\)\\]{background-color:var(--malachite-tag-default-background)}.bg-\\[var\\(--malachite-tag-emphasis-background\\)\\]{background-color:var(--malachite-tag-emphasis-background)}.bg-\\[var\\(--malachite-tag-error-background\\)\\]{background-color:var(--malachite-tag-error-background)}.bg-\\[var\\(--malachite-tag-info-background\\)\\]{background-color:var(--malachite-tag-info-background)}.bg-\\[var\\(--malachite-tag-primary-background\\)\\]{background-color:var(--malachite-tag-primary-background)}.bg-\\[var\\(--malachite-tag-secondary-background\\)\\]{background-color:var(--malachite-tag-secondary-background)}.bg-\\[var\\(--malachite-tag-success-background\\)\\]{background-color:var(--malachite-tag-success-background)}.bg-\\[var\\(--malachite-tag-warning-background\\)\\]{background-color:var(--malachite-tag-warning-background)}.bg-\\[var\\(--malachite-text-primary\\)\\]{background-color:var(--malachite-text-primary)}.bg-\\[var\\(--malachite-toggle-track\\)\\]{background-color:var(--malachite-toggle-track)}.bg-\\[var\\(--malachite-warning-background\\)\\]{background-color:var(--malachite-warning-background)}.bg-\\[var\\(--…\\)\\]{background-color:var(--…)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-current{background-color:currentColor}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-pink-100{background-color:var(--color-pink-100)}.bg-pink-400{background-color:var(--color-pink-400)}.bg-pink-500{background-color:var(--color-pink-500)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-teal-100{background-color:var(--color-teal-100)}.bg-teal-500{background-color:var(--color-teal-500)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-100{--tw-gradient-from:var(--color-yellow-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-500{--tw-gradient-to:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-yellow-200{--tw-gradient-to:var(--color-yellow-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-cover{-o-object-fit:cover;object-fit:cover}.\\!p-0{padding:calc(var(--spacing)*0)!important}.p-0{padding:calc(var(--spacing)*0)}.p-0\\.5{padding:calc(var(--spacing)*.5)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-10{padding:calc(var(--spacing)*10)}.p-20{padding:calc(var(--spacing)*20)}.p-\\[2px\\]{padding:2px}.p-\\[4px\\]{padding:4px}.p-\\[10px\\]{padding:10px}.p-\\[16px\\]{padding:16px}.p-\\[20px\\]{padding:20px}.p-\\[28px\\]{padding:28px}.p-\\[60px\\]{padding:60px}.\\!px-2\\.5{padding-inline:calc(var(--spacing)*2.5)!important}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-10{padding-inline:calc(var(--spacing)*10)}.px-12{padding-inline:calc(var(--spacing)*12)}.px-16{padding-inline:calc(var(--spacing)*16)}.px-\\[2px\\]{padding-inline:2px}.px-\\[4px\\]{padding-inline:4px}.px-\\[6px\\]{padding-inline:6px}.px-\\[10px\\]{padding-inline:10px}.px-\\[12px\\]{padding-inline:12px}.px-\\[16px\\]{padding-inline:16px}.px-\\[20px\\]{padding-inline:20px}.px-\\[24px\\]{padding-inline:24px}.px-\\[28px\\]{padding-inline:28px}.px-\\[60px\\]{padding-inline:60px}.px-\\[var\\(--malachite-radius-xl\\,12px\\)\\]{padding-inline:var(--malachite-radius-xl,12px)}.\\!py-1\\.5{padding-block:calc(var(--spacing)*1.5)!important}.py-0{padding-block:calc(var(--spacing)*0)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-\\[1px\\]{padding-block:1px}.py-\\[6px\\]{padding-block:6px}.py-\\[7px\\]{padding-block:7px}.py-\\[8px\\]{padding-block:8px}.py-\\[12px\\]{padding-block:12px}.py-\\[14px\\]{padding-block:14px}.py-\\[16px\\]{padding-block:16px}.py-\\[18px\\]{padding-block:18px}.py-\\[20px\\]{padding-block:20px}.py-\\[28px\\]{padding-block:28px}.py-\\[40px\\]{padding-block:40px}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-7{padding-top:calc(var(--spacing)*7)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-10{padding-top:calc(var(--spacing)*10)}.pt-\\[2px\\]{padding-top:2px}.pt-\\[4px\\]{padding-top:4px}.pt-\\[8px\\]{padding-top:8px}.pt-\\[18px\\]{padding-top:18px}.pr-0{padding-right:calc(var(--spacing)*0)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-1\\.5{padding-right:calc(var(--spacing)*1.5)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-\\[6px\\]{padding-right:6px}.pr-\\[12px\\]{padding-right:12px}.pr-\\[16px\\]{padding-right:16px}.pr-\\[18px\\]{padding-right:18px}.pr-\\[26px\\]{padding-right:26px}.pr-\\[52px\\]{padding-right:52px}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-10{padding-bottom:calc(var(--spacing)*10)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pb-\\[14px\\]{padding-bottom:14px}.pb-\\[20px\\]{padding-bottom:20px}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-1\\.5{padding-left:calc(var(--spacing)*1.5)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-\\[10px\\]{padding-left:10px}.pl-\\[12px\\]{padding-left:12px}.pl-\\[16px\\]{padding-left:16px}.pl-\\[21px\\]{padding-left:21px}.pl-\\[39px\\]{padding-left:39px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.text-\\[15px\\]{font-size:15px}.text-\\[16px\\]{font-size:16px}.text-\\[22px\\]{font-size:22px}.text-\\[32px\\]{font-size:32px}.text-\\[40px\\]{font-size:40px}.text-\\[length\\:inherit\\]{font-size:inherit}.text-\\[length\\:var\\(--malachite-font-size-15\\,15px\\)\\]{font-size:var(--malachite-font-size-15,15px)}.text-\\[length\\:var\\(--malachite-font-size-large\\)\\]{font-size:var(--malachite-font-size-large)}.text-\\[length\\:var\\(--malachite-font-size-medium\\)\\]{font-size:var(--malachite-font-size-medium)}.text-\\[length\\:var\\(--malachite-font-size-medium\\,14px\\)\\]{font-size:var(--malachite-font-size-medium,14px)}.text-\\[length\\:var\\(--malachite-font-size-small\\)\\]{font-size:var(--malachite-font-size-small)}.text-\\[length\\:var\\(--malachite-font-size-small\\,13px\\)\\]{font-size:var(--malachite-font-size-small,13px)}.text-\\[length\\:var\\(--malachite-font-size-xlarge\\)\\]{font-size:var(--malachite-font-size-xlarge)}.text-\\[length\\:var\\(--malachite-font-size-xsmall\\)\\]{font-size:var(--malachite-font-size-xsmall)}.text-\\[length\\:var\\(--malachite-font-size-xsmall\\,11px\\)\\]{font-size:var(--malachite-font-size-xsmall,11px)}.text-\\[length\\:var\\(--malachite-font-size-xxlarge\\)\\]{font-size:var(--malachite-font-size-xxlarge)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-\\[1\\.3\\]{--tw-leading:1.3;line-height:1.3}.leading-\\[1\\.4\\]{--tw-leading:1.4;line-height:1.4}.leading-\\[1\\.5\\]{--tw-leading:1.5;line-height:1.5}.leading-\\[1\\.5em\\]{--tw-leading:1.5em;line-height:1.5em}.leading-\\[1\\.6\\]{--tw-leading:1.6;line-height:1.6}.leading-\\[1\\.25\\]{--tw-leading:1.25;line-height:1.25}.leading-\\[1\\.45\\]{--tw-leading:1.45;line-height:1.45}.leading-\\[16px\\]{--tw-leading:16px;line-height:16px}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[-0\\.01em\\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\\[-0\\.14px\\]{--tw-tracking:-.14px;letter-spacing:-.14px}.tracking-\\[0\\.5px\\]{--tw-tracking:.5px;letter-spacing:.5px}.tracking-\\[0\\.06em\\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\\[0\\.11px\\]{--tw-tracking:.11px;letter-spacing:.11px}.tracking-\\[0\\.12px\\]{--tw-tracking:.12px;letter-spacing:.12px}.tracking-\\[0\\.13px\\]{--tw-tracking:.13px;letter-spacing:.13px}.tracking-\\[0\\.14px\\]{--tw-tracking:.14px;letter-spacing:.14px}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-\\[\\#0a0a0a\\]{color:#0a0a0a}.text-\\[\\#bbb\\]{color:#bbb}.text-\\[color-mix\\(in_srgb\\,var\\(--malachite-inline-confirm-foreground\\)_80\\%\\,var\\(--malachite-inline-confirm-background\\)\\)\\]{color:var(--malachite-inline-confirm-foreground)}@supports (color:color-mix(in lab,red,red)){.text-\\[color-mix\\(in_srgb\\,var\\(--malachite-inline-confirm-foreground\\)_80\\%\\,var\\(--malachite-inline-confirm-background\\)\\)\\]{color:color-mix(in srgb,var(--malachite-inline-confirm-foreground)80%,var(--malachite-inline-confirm-background))}}.text-\\[var\\(--malachite-accent-foreground\\)\\]{color:var(--malachite-accent-foreground)}.text-\\[var\\(--malachite-assistant-foreground\\)\\]{color:var(--malachite-assistant-foreground)}.text-\\[var\\(--malachite-assistant-surface-foreground\\)\\]{color:var(--malachite-assistant-surface-foreground)}.text-\\[var\\(--malachite-buttonlist-foreground\\)\\]{color:var(--malachite-buttonlist-foreground)}.text-\\[var\\(--malachite-card-background\\)\\]{color:var(--malachite-card-background)}.text-\\[var\\(--malachite-card-border\\)\\]{color:var(--malachite-card-border)}.text-\\[var\\(--malachite-card-foreground\\)\\]{color:var(--malachite-card-foreground)}.text-\\[var\\(--malachite-chat-assistant-bubble-foreground\\)\\]{color:var(--malachite-chat-assistant-bubble-foreground)}.text-\\[var\\(--malachite-destructive-foreground\\,rgb\\(196\\,62\\,62\\)\\)\\]{color:var(--malachite-destructive-foreground,#c43e3e)}.text-\\[var\\(--malachite-inline-confirm-foreground\\)\\]{color:var(--malachite-inline-confirm-foreground)}.text-\\[var\\(--malachite-pillbutton-foreground\\)\\]{color:var(--malachite-pillbutton-foreground)}.text-\\[var\\(--malachite-pillbutton-hover-foreground\\)\\]{color:var(--malachite-pillbutton-hover-foreground)}.text-\\[var\\(--malachite-pillbutton-inverted-foreground\\)\\]{color:var(--malachite-pillbutton-inverted-foreground)}.text-\\[var\\(--malachite-pillbutton-inverted-hover-foreground\\)\\]{color:var(--malachite-pillbutton-inverted-hover-foreground)}.text-\\[var\\(--malachite-pillbutton-static-foreground\\)\\]{color:var(--malachite-pillbutton-static-foreground)}.text-\\[var\\(--malachite-segmented-control-item-foreground\\)\\]{color:var(--malachite-segmented-control-item-foreground)}.text-\\[var\\(--malachite-segmented-control-selected-foreground\\)\\]{color:var(--malachite-segmented-control-selected-foreground)}.text-\\[var\\(--malachite-selection-bar-foreground\\)\\]{color:var(--malachite-selection-bar-foreground)}.text-\\[var\\(--malachite-selection-bar-muted-foreground\\)\\]{color:var(--malachite-selection-bar-muted-foreground)}.text-\\[var\\(--malachite-selection-bar-notice-foreground\\)\\]{color:var(--malachite-selection-bar-notice-foreground)}.text-\\[var\\(--malachite-tag-assistant-foreground\\)\\]{color:var(--malachite-tag-assistant-foreground)}.text-\\[var\\(--malachite-tag-default-foreground\\)\\]{color:var(--malachite-tag-default-foreground)}.text-\\[var\\(--malachite-tag-emphasis-foreground\\)\\]{color:var(--malachite-tag-emphasis-foreground)}.text-\\[var\\(--malachite-tag-error-foreground\\)\\]{color:var(--malachite-tag-error-foreground)}.text-\\[var\\(--malachite-tag-info-foreground\\)\\]{color:var(--malachite-tag-info-foreground)}.text-\\[var\\(--malachite-tag-primary-foreground\\)\\]{color:var(--malachite-tag-primary-foreground)}.text-\\[var\\(--malachite-tag-secondary-foreground\\)\\]{color:var(--malachite-tag-secondary-foreground)}.text-\\[var\\(--malachite-tag-success-foreground\\)\\]{color:var(--malachite-tag-success-foreground)}.text-\\[var\\(--malachite-tag-warning-foreground\\)\\]{color:var(--malachite-tag-warning-foreground)}.text-\\[var\\(--malachite-text-dimmed\\)\\]{color:var(--malachite-text-dimmed)}.text-\\[var\\(--malachite-text-dimmed\\,rgb\\(161\\,161\\,161\\)\\)\\]{color:var(--malachite-text-dimmed,#a1a1a1)}.text-\\[var\\(--malachite-text-highlight\\)\\]{color:var(--malachite-text-highlight)}.text-\\[var\\(--malachite-text-link-foreground\\)\\]{color:var(--malachite-text-link-foreground)}.text-\\[var\\(--malachite-text-muted\\)\\]{color:var(--malachite-text-muted)}.text-\\[var\\(--malachite-text-placeholder\\)\\]{color:var(--malachite-text-placeholder)}.text-\\[var\\(--malachite-text-primary\\)\\]{color:var(--malachite-text-primary)}.text-\\[var\\(--malachite-text-primary\\,rgb\\(10\\,10\\,10\\)\\)\\]{color:var(--malachite-text-primary,#0a0a0a)}.text-\\[var\\(--malachite-text-secondary\\)\\]{color:var(--malachite-text-secondary)}.text-\\[var\\(--malachite-text-secondary\\,\\#bbb\\)\\]{color:var(--malachite-text-secondary,#bbb)}.text-\\[var\\(--malachite-text-secondary\\,rgb\\(123\\,123\\,123\\)\\)\\]{color:var(--malachite-text-secondary,#7b7b7b)}.text-\\[var\\(--malachite-text-success\\)\\]{color:var(--malachite-text-success)}.text-\\[…\\]{color:…}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-current{color:currentColor}.text-gray-100{color:var(--color-gray-100)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-inherit{color:inherit}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-85{opacity:.85}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[\\.\\.\\.\\]{--tw-shadow:...;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0px_1px_0px_0px_rgba\\(0\\,0\\,0\\,0\\.15\\)\\]{--tw-shadow:0px 1px 0px 0px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[var\\(--malachite-shadow-default\\)\\]{--tw-shadow:var(--malachite-shadow-default);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\\[box-shadow\\:0_1px_0_0_rgba\\(0\\,0\\,0\\,0\\.15\\)\\]{box-shadow:0 1px #00000026}.\\[box-shadow\\:var\\(--malachite-shadow-glow\\,var\\(--malachite-shadow-lg\\)\\)\\]{box-shadow:var(--malachite-shadow-glow,var(--malachite-shadow-lg))}.\\[box-shadow\\:var\\(--malachite-shadow-glow-lg\\,var\\(--malachite-shadow-xl\\)\\)\\]{box-shadow:var(--malachite-shadow-glow-lg,var(--malachite-shadow-xl))}.\\[box-shadow\\:var\\(--malachite-shadow-lg\\)\\]{box-shadow:var(--malachite-shadow-lg)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[color\\,background-color\\,border-color\\,opacity\\,box-shadow\\]{transition-property:color,background-color,border-color,opacity,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[max-height\\]{transition-property:max-height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-\\[var\\(--malachite-ease-standard\\)\\]{--tw-ease:var(--malachite-ease-standard);transition-timing-function:var(--malachite-ease-standard)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.\\[-webkit-box-orient\\:vertical\\]{-webkit-box-orient:vertical}.\\[-webkit-line-clamp\\:var\\(--malachite-clamp-lines\\)\\]{-webkit-line-clamp:var(--malachite-clamp-lines)}.\\[scrollbar-width\\:none\\]{scrollbar-width:none}@media (hover:hover){.group-hover\\:text-\\[var\\(--malachite-text-primary\\)\\]:is(:where(.group):hover *){color:var(--malachite-text-primary)}}.placeholder\\:font-medium::-moz-placeholder{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\\:font-medium::placeholder{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\\:text-\\[var\\(--malachite-text-dimmed\\)\\]::-moz-placeholder{color:var(--malachite-text-dimmed)}.placeholder\\:text-\\[var\\(--malachite-text-dimmed\\)\\]::placeholder{color:var(--malachite-text-dimmed)}.placeholder\\:text-\\[var\\(--malachite-text-placeholder\\)\\]::-moz-placeholder{color:var(--malachite-text-placeholder)}.placeholder\\:text-\\[var\\(--malachite-text-placeholder\\)\\]::placeholder{color:var(--malachite-text-placeholder)}.placeholder\\:text-\\[var\\(--malachite-text-secondary\\)\\]::-moz-placeholder{color:var(--malachite-text-secondary)}.placeholder\\:text-\\[var\\(--malachite-text-secondary\\)\\]::placeholder{color:var(--malachite-text-secondary)}.first\\:rounded-tl-lg:first-child{border-top-left-radius:var(--radius-lg)}.last\\:rounded-tr-lg:last-child{border-top-right-radius:var(--radius-lg)}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\\:border-\\[var\\(--malachite-assistant-foreground\\)\\]:focus-within{border-color:var(--malachite-assistant-foreground)}.focus-within\\:border-\\[var\\(--malachite-control-border-hover\\)\\]:focus-within{border-color:var(--malachite-control-border-hover)}.focus-within\\:border-\\[var\\(--malachite-destructive-border-hover\\)\\]:focus-within{border-color:var(--malachite-destructive-border-hover)}@media (hover:hover){.hover\\:max-h-\\[1000px\\]:hover{max-height:1000px}.hover\\:border-\\[color\\:var\\(--malachite-text-secondary\\)\\]:hover{border-color:var(--malachite-text-secondary)}.hover\\:border-\\[var\\(--malachite-assistant-foreground\\)\\]:hover{border-color:var(--malachite-assistant-foreground)}.hover\\:border-\\[var\\(--malachite-control-border-hover\\)\\]:hover{border-color:var(--malachite-control-border-hover)}.hover\\:border-\\[var\\(--malachite-destructive-border-hover\\)\\]:hover{border-color:var(--malachite-destructive-border-hover)}.hover\\:border-\\[var\\(--malachite-text-placeholder\\)\\]:hover{border-color:var(--malachite-text-placeholder)}.hover\\:bg-\\[var\\(--malachite-buttonlist-hover-background\\)\\]:hover{background-color:var(--malachite-buttonlist-hover-background)}.hover\\:bg-\\[var\\(--malachite-card-dimmed-background\\)\\]:hover{background-color:var(--malachite-card-dimmed-background)}.hover\\:bg-\\[var\\(--malachite-codeblock-border\\)\\]:hover{background-color:var(--malachite-codeblock-border)}.hover\\:bg-\\[var\\(--malachite-number-tag-emphasis-background\\)\\]:hover{background-color:var(--malachite-number-tag-emphasis-background)}.hover\\:bg-\\[var\\(--malachite-pillbutton-hover-background\\)\\]:hover{background-color:var(--malachite-pillbutton-hover-background)}.hover\\:bg-\\[var\\(--malachite-pillbutton-inverted-hover-background\\)\\]:hover{background-color:var(--malachite-pillbutton-inverted-hover-background)}.hover\\:bg-\\[var\\(--malachite-primary-border\\)\\]:hover{background-color:var(--malachite-primary-border)}.hover\\:bg-\\[var\\(--malachite-table-row-hover-background\\,\\#fafafa\\)\\]:hover{background-color:var(--malachite-table-row-hover-background,#fafafa)}.hover\\:bg-\\[var\\(--malachite-tag-assistant-background\\)\\]:hover{background-color:var(--malachite-tag-assistant-background)}.hover\\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\\:text-\\[var\\(--malachite-accent-foreground\\)\\]:hover{color:var(--malachite-accent-foreground)}.hover\\:text-\\[var\\(--malachite-assistant-foreground\\)\\]:hover{color:var(--malachite-assistant-foreground)}.hover\\:text-\\[var\\(--malachite-buttonlist-hover-foreground\\)\\]:hover{color:var(--malachite-buttonlist-hover-foreground)}.hover\\:text-\\[var\\(--malachite-inline-confirm-foreground\\)\\]:hover{color:var(--malachite-inline-confirm-foreground)}.hover\\:text-\\[var\\(--malachite-pillbutton-hover-foreground\\)\\]:hover{color:var(--malachite-pillbutton-hover-foreground)}.hover\\:text-\\[var\\(--malachite-pillbutton-inverted-hover-foreground\\)\\]:hover{color:var(--malachite-pillbutton-inverted-hover-foreground)}.hover\\:text-\\[var\\(--malachite-segmented-control-item-hover-foreground\\)\\]:hover{color:var(--malachite-segmented-control-item-hover-foreground)}.hover\\:text-\\[var\\(--malachite-text-link-foreground-hover\\)\\]:hover{color:var(--malachite-text-link-foreground-hover)}.hover\\:text-\\[var\\(--malachite-text-primary\\)\\]:hover{color:var(--malachite-text-primary)}.hover\\:text-\\[var\\(--malachite-text-secondary\\)\\]:hover{color:var(--malachite-text-secondary)}.hover\\:text-white:hover{color:var(--color-white)}.hover\\:opacity-80:hover{opacity:.8}.hover\\:opacity-100:hover{opacity:1}.hover\\:\\[-webkit-line-clamp\\:unset\\]:hover{-webkit-line-clamp:unset}}.focus\\:bg-\\[var\\(--malachite-buttonlist-hover-background\\)\\]:focus{background-color:var(--malachite-buttonlist-hover-background)}.focus\\:text-\\[var\\(--malachite-buttonlist-hover-foreground\\)\\]:focus{color:var(--malachite-buttonlist-hover-foreground)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:max-h-\\[1000px\\]:focus-visible{max-height:1000px}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-assistant-foreground\\)\\]:focus-visible{outline:2px solid var(--malachite-assistant-foreground)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-inline-confirm-foreground\\)\\]:focus-visible{outline:2px solid var(--malachite-inline-confirm-foreground)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-selection-bar-foreground\\)\\]:focus-visible{outline:2px solid var(--malachite-selection-bar-foreground)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-text-destructive\\)\\]:focus-visible{outline:2px solid var(--malachite-text-destructive)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-text-error\\)\\]:focus-visible{outline:2px solid var(--malachite-text-error)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-text-primary\\)\\]:focus-visible{outline:2px solid var(--malachite-text-primary)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-text-success\\)\\]:focus-visible{outline:2px solid var(--malachite-text-success)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-text-warning\\)\\]:focus-visible{outline:2px solid var(--malachite-text-warning)}.focus-visible\\:\\[outline-offset\\:-2px\\]:focus-visible{outline-offset:-2px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:\\[-webkit-line-clamp\\:unset\\]:focus-visible{-webkit-line-clamp:unset}.active\\:bg-\\[var\\(--malachite-pillbutton-inverted-pressed-background\\)\\]:active{background-color:var(--malachite-pillbutton-inverted-pressed-background)}.active\\:bg-\\[var\\(--malachite-pillbutton-pressed-background\\)\\]:active{background-color:var(--malachite-pillbutton-pressed-background)}.active\\:text-\\[var\\(--malachite-pillbutton-inverted-pressed-foreground\\)\\]:active{color:var(--malachite-pillbutton-inverted-pressed-foreground)}.active\\:text-\\[var\\(--malachite-pillbutton-pressed-foreground\\)\\]:active{color:var(--malachite-pillbutton-pressed-foreground)}.active\\:opacity-60:active{opacity:.6}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:text-\\[var\\(--malachite-text-dimmed\\)\\]:disabled{color:var(--malachite-text-dimmed)}.disabled\\:text-\\[var\\(--malachite-text-primary\\)\\]:disabled{color:var(--malachite-text-primary)}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-60:disabled{opacity:.6}.has-\\[\\:focus-visible\\]\\:\\[outline\\:2px_solid_var\\(--malachite-text-primary\\)\\]:has(:focus-visible){outline:2px solid var(--malachite-text-primary)}.has-\\[\\:focus-visible\\]\\:outline-offset-2:has(:focus-visible){outline-offset:2px}@media (prefers-reduced-motion:reduce){.motion-reduce\\:animate-none{animation:none}.motion-reduce\\:opacity-0{opacity:0}.motion-reduce\\:opacity-100{opacity:1}.motion-reduce\\:transition-none{transition-property:none}}@media (min-width:48rem){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\\[\\&_svg\\]\\:size-\\[11px\\]\\! svg{width:11px!important;height:11px!important}.\\[\\&_svg\\]\\:size-\\[16px\\]\\! svg{width:16px!important;height:16px!important}.\\[\\&_svg\\]\\:size-\\[var\\(--malachite-icon-size-large\\)\\]\\! svg{width:var(--malachite-icon-size-large)!important;height:var(--malachite-icon-size-large)!important}.\\[\\&_svg\\]\\:size-\\[var\\(--malachite-icon-size-medium\\)\\]\\! svg{width:var(--malachite-icon-size-medium)!important;height:var(--malachite-icon-size-medium)!important}.\\[\\&_svg\\]\\:size-\\[var\\(--malachite-icon-size-small\\)\\]\\! svg{width:var(--malachite-icon-size-small)!important;height:var(--malachite-icon-size-small)!important}.\\[\\&_svg\\]\\:size-\\[var\\(--malachite-icon-size-xsmall\\)\\]\\! svg{width:var(--malachite-icon-size-xsmall)!important;height:var(--malachite-icon-size-xsmall)!important}.\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden::-webkit-scrollbar{display:none}.\\[\\&\\>div\\]\\:mb-0>div{margin-bottom:calc(var(--spacing)*0)}.\\[\\&\\>img\\]\\:max-h-full>img{max-height:100%}.\\[\\&\\>img\\]\\:max-w-full>img{max-width:100%}.\\[\\&\\>img\\]\\:object-contain>img{-o-object-fit:contain;object-fit:contain}}[data-malachite-dropdown-trigger]{border-color:var(--malachite-dropdown-border,#e8e8e8);box-shadow:var(--malachite-dropdown-shadow,0px 1px 0px 0px #00000026)}[data-malachite-dropdown-trigger]:hover{border-color:var(--malachite-control-border-hover,#00af6666);box-shadow:var(--malachite-dropdown-shadow-hover,0px 1px 0px 0px #00af6699)}:root{--malachite-radius-xs:2px;--malachite-radius-sm:4px;--malachite-radius-md:6px;--malachite-radius-lg:8px;--malachite-radius-10:10px;--malachite-radius-xl:12px;--malachite-radius-xxl:14px;--malachite-radius-xxxl:16px;--malachite-font-size-xsmall:11px;--malachite-font-size-small:13px;--malachite-font-size-medium:14px;--malachite-font-size-15:15px;--malachite-font-size-large:16px;--malachite-font-size-xlarge:18px;--malachite-font-size-xxlarge:22px;--malachite-control-height-small:28px;--malachite-control-height-medium:32px;--malachite-control-height-large:42px;--malachite-table-row-selected-background:#00af6626;--malachite-table-row-selected-accent:#027a42;--malachite-table-row-selected-foreground:#027a42;--malachite-shadow-sm:0 1px 2px 0 #0000000d;--malachite-shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--malachite-shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--malachite-shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--malachite-shadow-glow:0px 0px 10px 0px #0003;--malachite-shadow-glow-lg:0px 0px 20px 0px #0003;--malachite-shadow-default:0px 1px 0px 0px #00000026;--malachite-shadow-accent:0px 1px 0px 0px #00af6626;--malachite-shadow-success:0px 1px 0px 0px #00af6626;--malachite-shadow-warning:0px 1px 0px 0px #f18b0a26;--malachite-shadow-error:0px 1px 0px 0px #c53f3f26;--malachite-shadow-color:0,0,0;--malachite-shadow-opacity:.1;--malachite-card-background:#fff;--malachite-card-foreground:#0a0a0a;--malachite-card-border:#e8e8e8;--malachite-card-shadow:#0000001a;--malachite-card-dimmed-background:#f7f7f7;--malachite-card-sunken-background:#fafafa;--malachite-card-header-background:#fff;--malachite-card-footer-background:#fff;--malachite-card-footer-glass-background:#ffffffb3;--malachite-card-tray-neutral:#f7f7f7;--malachite-card-tray-warning:#fdf3e6;--malachite-card-tray-error:#fef1f1;--malachite-card-tray-success:#ecf9f4;--malachite-card-subtle-divider:#f1f1f1;--malachite-overlay-scrim:#0000001a;--malachite-alert-info-background:#f7f7f7;--malachite-alert-info-foreground:#0a0a0a;--malachite-alert-success-background:#00af6614;--malachite-alert-success-foreground:#027a42;--malachite-alert-error-background:#c53f3f14;--malachite-alert-error-foreground:#ed3536;--malachite-alert-warning-background:#f18b0a14;--malachite-alert-warning-foreground:#96580a;--malachite-alert-assistant-background:#f2eefe;--malachite-alert-assistant-foreground:#6e56cf;--malachite-assistant-foreground:#6e56cf;--malachite-assistant-surface-background:#fbfaff;--malachite-assistant-surface-border:#dcd3fa;--malachite-assistant-surface-foreground:#4a3f7a;--malachite-tooltip-background:#3b3b3b;--malachite-tooltip-foreground:#fff;--malachite-tooltip-border:#3c3c3c;--malachite-tooltip-shadow:0px 0px 10px 0px #0003;--malachite-primary-background:#303030;--malachite-primary-foreground:#0a0a0a;--malachite-primary-border:#e8e8e8;--malachite-primary-border-hover:#bababa;--malachite-outline-foreground:#0a0a0a;--malachite-secondary-background:#090909;--malachite-secondary-foreground:#fff;--malachite-secondary-border:#e8e8e8;--malachite-secondary-border-hover:#bababa;--malachite-destructive-background:transparent;--malachite-destructive-foreground:#c43e3e;--malachite-destructive-border:#ef3737;--malachite-destructive-border-hover:#ef3737;--malachite-destructive-shadow:#ef3737;--malachite-destructive-shadow-light:#ef373766;--malachite-destructive-shadow-medium:#ef373799;--malachite-accent-background:#00af66;--malachite-accent-foreground:#027a42;--malachite-accent-border:#00af6633;--malachite-accent-background-glass:#00af6614;--malachite-control-border-hover:#00af6666;--malachite-success-background:#00af66;--malachite-success-foreground:#027a42;--malachite-success-border:#00af6633;--malachite-success-border-hover:#00af6666;--malachite-success-background-glass:#00af6614;--malachite-success-shadow-light:#00af6666;--malachite-success-shadow-medium:#00af6699;--malachite-warning-background:#f18b0a;--malachite-warning-foreground:#96580a;--malachite-warning-border:#f18b0a33;--malachite-warning-border-hover:#f18b0a66;--malachite-warning-background-glass:#f18b0a14;--malachite-warning-shadow-light:#f18b0a66;--malachite-warning-shadow-medium:#f18b0a99;--malachite-error-background:#c53f3f;--malachite-error-foreground:#ed3536;--malachite-error-border:#c53f3f33;--malachite-error-border-hover:#c53f3f66;--malachite-error-background-glass:#c53f3f14;--malachite-error-shadow-light:#c53f3f66;--malachite-error-shadow-medium:#c53f3f99;--malachite-segmented-control-track-background:#f1f1f1;--malachite-segmented-control-item-foreground:#4c4b4b;--malachite-segmented-control-item-hover-foreground:#0a0a0a;--malachite-segmented-control-selected-background:#fff;--malachite-segmented-control-selected-foreground:#0a0a0a;--malachite-segmented-control-selected-shadow:0px 1px 5px 0px #0000001a;--malachite-selectable-card-background:#f1f1f1;--malachite-selectable-card-border:#ddd;--malachite-selectable-card-selected-tint:#e7f8f1;--malachite-selectable-card-selected-surface-end:#fff;--malachite-selectable-card-selected-border:#047b43;--malachite-selectable-card-library-selected-tint:#f1f1f1;--malachite-selectable-card-library-selected-border:#bbb;--malachite-selectable-card-accent:#047b43;--malachite-selectable-card-muted-foreground:#7b7b7b;--malachite-selectable-card-hover-background:#e8e8e8;--malachite-selectable-card-hover-rule:#bbb;--malachite-selectable-card-pending-foreground:#96580a;--malachite-selectable-card-editing-tint:#f9f2e9;--malachite-card-strip-background:#f1f1f1;--malachite-card-strip-divider:#ddd;--malachite-card-strip-fade:#fff;--malachite-card-strip-arrow-background:#fff;--malachite-card-strip-arrow-border:#e8e8e8;--malachite-card-strip-add-primary-background:#0a0a0a;--malachite-card-strip-add-primary-foreground:#fff;--malachite-selection-bar-background:#0a0a0a;--malachite-selection-bar-foreground:#fff;--malachite-selection-bar-muted-foreground:#7b7b7b;--malachite-selection-bar-divider:#404040;--malachite-selection-bar-border:transparent;--malachite-selection-bar-primary-border:#e8e8e8;--malachite-selection-bar-shadow:0px 0px 10px 0px #0003;--malachite-selection-bar-notice-background:#edd9be;--malachite-selection-bar-notice-foreground:#844d09;--malachite-selection-bar-notice-shadow:0px 0px 4px 0px #00000014,0px 4px 4px 0px #00000014,0px 4px 10px 0px #0000000d;--malachite-inline-confirm-background:#222121;--malachite-inline-confirm-foreground:#fff;--malachite-inline-confirm-divider:#ffffff1a;--malachite-inline-confirm-shadow:0px 0px 10px 0px #0003;--malachite-buttonlist-background:#fff;--malachite-buttonlist-foreground:#0a0a0a;--malachite-buttonlist-hover-background:#f5f5f5;--malachite-buttonlist-hover-foreground:#0a0a0a;--malachite-text-primary:#0a0a0a;--malachite-text-secondary:#7b7b7b;--malachite-text-dimmed:#a1a1a1;--malachite-text-emphasis:#222121;--malachite-text-muted:#4c4b4b;--malachite-text-placeholder:#bbb;--malachite-text-destructive:#ed3536;--malachite-text-success:#027a42;--malachite-text-highlight:#76d6ae;--malachite-text-warning:#96580a;--malachite-text-error:#ed3536;--malachite-text-info:#0c58ae;--malachite-text-link-foreground:#00000073;--malachite-text-link-foreground-hover:#0a0a0a;--malachite-text-right-side-text-muted:#7b7b7b;--malachite-text-right-side-text-primary:#0a0a0a;--malachite-text-right-side-text-font-size:12px;--malachite-text-right-side-text-min-width:80px}:root,:host{--malachite-ease-standard:cubic-bezier(.4,0,.2,1);--malachite-font-mono:var(--font-mono,"SF Mono",ui-monospace,monospace);--malachite-number-tag-background:#00000014;--malachite-number-tag-foreground:var(--malachite-text-secondary,#7b7b7b);--malachite-number-tag-emphasis-background:#00000026;--malachite-number-tag-emphasis-foreground:var(--malachite-text-emphasis,#222121);--malachite-text-warning-muted:#cea36c}*{scrollbar-width:thin;scrollbar-color:var(--malachite-card-border)transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--malachite-card-border);background-clip:padding-box;border:2px solid #0000;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background-color:var(--malachite-text-dimmed)}.shadow-default{box-shadow:var(--malachite-shadow-default)}.shadow-success{box-shadow:var(--malachite-shadow-success)}.shadow-warning{box-shadow:var(--malachite-shadow-warning)}.shadow-error{box-shadow:var(--malachite-shadow-error)}.btn-filled{background-color:var(--malachite-secondary-background);color:var(--malachite-secondary-foreground);border-color:var(--malachite-secondary-border)}.btn-filled:hover:not(:disabled),.btn-filled[aria-expanded=true]:not(:disabled){border-color:var(--malachite-secondary-border-hover);opacity:.95}.btn-filled:active:not(:disabled){opacity:.8;border-color:var(--malachite-secondary-border-hover)}.btn-filled:disabled{opacity:.6;cursor:not-allowed}:host-context([data-theme="dark"]) .btn-filled:disabled{opacity:1;background-color:var(--malachite-card-background);color:var(--malachite-text-dimmed);border-color:var(--malachite-card-border);box-shadow:none}.btn-surface{background-color:var(--malachite-card-background);color:var(--malachite-outline-foreground);border-color:var(--malachite-primary-border)}.btn-surface:hover:not(:disabled),.btn-surface[aria-expanded=true]:not(:disabled){border-color:var(--malachite-primary-border-hover)}.btn-surface:active:not(:disabled){opacity:.8;border-color:var(--malachite-primary-border-hover)}.btn-surface:disabled{opacity:.6;cursor:not-allowed;color:var(--malachite-text-dimmed);border-color:var(--malachite-card-border)}.btn-assistant{background-color:var(--malachite-assistant-surface-background);color:var(--malachite-assistant-surface-foreground);border-color:var(--malachite-assistant-surface-border)}.btn-assistant:hover:not(:disabled),.btn-assistant[aria-expanded=true]:not(:disabled){border-color:var(--malachite-assistant-foreground)}.btn-assistant:active:not(:disabled){opacity:.8;border-color:var(--malachite-assistant-foreground)}.btn-assistant:disabled{opacity:.6;cursor:not-allowed;color:var(--malachite-text-dimmed);border-color:var(--malachite-card-border)}.btn-outline{color:var(--malachite-outline-foreground);border-color:var(--malachite-primary-border);background-color:#0000}.btn-outline:hover:not(:disabled),.btn-outline[aria-expanded=true]:not(:disabled){border-color:var(--malachite-primary-border-hover)}.btn-outline:active:not(:disabled){opacity:.8;border-color:var(--malachite-primary-border-hover)}.btn-outline:disabled{opacity:.6;cursor:not-allowed;color:var(--malachite-text-dimmed);border-color:var(--malachite-card-border)}:host-context([data-theme="dark"]) .btn-outline:disabled{opacity:1;color:var(--malachite-text-dimmed);border-color:var(--malachite-card-border)}.btn-destructive{background-color:var(--malachite-destructive-background);color:var(--malachite-destructive-foreground);border-color:var(--malachite-destructive-border);box-shadow:0 1px 0 0 var(--malachite-destructive-shadow-light)}.btn-destructive:hover:not(:disabled),.btn-destructive[aria-expanded=true]:not(:disabled){border-color:var(--malachite-destructive-border-hover);box-shadow:0 1px 0 0 var(--malachite-destructive-shadow-medium)}.btn-destructive:active:not(:disabled){opacity:.6;border-color:var(--malachite-destructive-border-hover);box-shadow:0 1px 0 0 var(--malachite-destructive-shadow-medium)}.btn-destructive:disabled{opacity:.6;box-shadow:none}.btn-ghost{color:var(--malachite-primary-foreground);background-color:#0000;border-color:#0000}.btn-ghost:hover:not(:disabled),.btn-ghost[aria-expanded=true]:not(:disabled){border-color:var(--malachite-primary-border-hover)}.btn-no-style{color:var(--malachite-primary-foreground);background-color:#0000;border-color:#0000}.btn-no-style:hover:not(:disabled),.btn-no-style[aria-expanded=true]:not(:disabled){border-color:#0000}.btn-glass-success{background-color:var(--malachite-success-background-glass);color:var(--malachite-success-foreground);border-color:var(--malachite-success-border);box-shadow:0 1px 0 0 var(--malachite-success-shadow-light)}.btn-glass-success:hover:not(:disabled),.btn-glass-success[aria-expanded=true]:not(:disabled){border-color:var(--malachite-success-border-hover);box-shadow:0 1px 0 0 var(--malachite-success-shadow-medium)}.btn-glass-success:active:not(:disabled){opacity:.6;border-color:var(--malachite-success-border-hover);box-shadow:0 1px 0 0 var(--malachite-success-shadow-medium)}.btn-glass-success:disabled{opacity:.6;box-shadow:none}.btn-glass-warning{background-color:var(--malachite-warning-background-glass);color:var(--malachite-warning-foreground);border-color:var(--malachite-warning-border);box-shadow:0 1px 0 0 var(--malachite-warning-shadow-light)}.btn-glass-warning:hover:not(:disabled),.btn-glass-warning[aria-expanded=true]:not(:disabled){border-color:var(--malachite-warning-border-hover);box-shadow:0 1px 0 0 var(--malachite-warning-shadow-medium)}.btn-glass-warning:active:not(:disabled){opacity:.6;border-color:var(--malachite-warning-border-hover);box-shadow:0 1px 0 0 var(--malachite-warning-shadow-medium)}.btn-glass-warning:disabled{opacity:.6;box-shadow:none}.btn-glass-error{background-color:var(--malachite-error-background-glass);color:var(--malachite-error-foreground);border-color:var(--malachite-error-border);box-shadow:0 1px 0 0 var(--malachite-error-shadow-light)}.btn-glass-error:hover:not(:disabled),.btn-glass-error[aria-expanded=true]:not(:disabled){border-color:var(--malachite-error-border-hover);box-shadow:0 1px 0 0 var(--malachite-error-shadow-medium)}.btn-glass-error:active:not(:disabled){opacity:.6;border-color:var(--malachite-error-border-hover);box-shadow:0 1px 0 0 var(--malachite-error-shadow-medium)}.btn-glass-error:disabled{opacity:.6;box-shadow:none}.card-base{background-color:var(--malachite-card-background);color:var(--malachite-card-foreground);border:1px solid var(--malachite-card-border);box-shadow:0 2px 4px 0 var(--malachite-card-shadow);border-radius:12px;overflow:hidden}.card-dimmed{background-color:var(--malachite-card-dimmed-background)}.card-rounded{border-radius:20px}.md-root strong,.md-root b{font-weight:600}.md-link{color:var(--malachite-text-link-foreground);font-weight:600;text-decoration:underline}.md-link:hover,.md-link:focus-visible{color:var(--malachite-text-link-foreground-hover)}.md-flow>[role=list]:first-child>[role=listitem]:first-child>br:first-child{display:none}.card-header{background-color:var(--malachite-card-header-background);color:var(--malachite-card-foreground);border-bottom:1px solid var(--malachite-card-border)}.card-footer{background-color:var(--malachite-card-footer-background);color:var(--malachite-card-foreground);border-top:1px solid var(--malachite-card-border)}.confirmation-badge svg{width:12px!important;height:12px!important}.alert-base{border-radius:8px;justify-content:center;align-items:flex-start;gap:8px;width:100%;margin:0 10px;padding:10px;display:flex}.alert-base svg{margin-top:4px}.alert-base.alert-expandable svg{margin-top:3px}.alert-no-margin{margin:0}.alert-info{background-color:var(--malachite-alert-info-background);color:var(--malachite-alert-info-foreground)}.alert-success{background-color:var(--malachite-alert-success-background);color:var(--malachite-alert-success-foreground)}.alert-error{background-color:var(--malachite-alert-error-background);color:var(--malachite-alert-error-foreground)}.alert-warning{background-color:var(--malachite-alert-warning-background);color:var(--malachite-alert-warning-foreground)}.alert-assistant{background-color:var(--malachite-alert-assistant-background);color:var(--malachite-alert-assistant-foreground)}.alert-icon-info{color:var(--malachite-alert-info-foreground);font-size:13px}.alert-icon-success{color:var(--malachite-alert-success-foreground);font-size:13px}.alert-icon-error{color:var(--malachite-alert-error-foreground);font-size:13px}.alert-icon-warning{color:var(--malachite-alert-warning-foreground);font-size:13px}.tooltip-base{background-color:var(--malachite-tooltip-background);max-width:320px;min-height:32px;color:var(--malachite-tooltip-foreground);box-shadow:var(--malachite-tooltip-shadow);word-wrap:break-word;white-space:normal;pointer-events:none;z-index:9999;border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;line-height:1.4;transition:opacity .15s ease-in-out,transform .15s ease-in-out;display:inline-flex;position:absolute}.tooltip-content{z-index:1;position:relative}.tooltip-visible{opacity:1;visibility:visible;transform:scale(1)}.tooltip-hidden{opacity:0;visibility:hidden;transform:scale(.95)}.tooltip-arrow{background-color:var(--malachite-tooltip-background)}svg path:not([data-malachite-shape]){fill:currentColor!important}.table-bordered-container{box-shadow:var(--malachite-table-box-shadow);background-color:var(--malachite-table-background);padding:4px}.table-header{color:var(--malachite-table-header-foreground);background-color:var(--malachite-table-header-background)!important}.table-row{background-color:var(--malachite-table-row-background);color:var(--malachite-table-row-foreground);border-bottom:1px solid var(--malachite-table-row-border)}.table-row:hover{background-color:var(--malachite-table-row-hover-background)}.table-cell-bordered{border-bottom:1px solid var(--malachite-table-borderedRow-outline)}.table-cell-bordered-top{border-top:1px solid var(--malachite-table-borderedRow-outline)}.table-cell-bordered-bottom{border-bottom:1px solid var(--malachite-table-borderedRow-outline)}.table-cell-bordered-left{border-left:1px solid var(--malachite-table-borderedRow-outline)}.table-cell-bordered-right{border-right:1px solid var(--malachite-table-borderedRow-outline)}.table-row-bordered{background-color:var(--malachite-table-borderedRow-background)}.table-error-icon{background-color:var(--malachite-table-error-icon-background);color:var(--malachite-table-error-icon-foreground)}.table-error-title{color:var(--malachite-table-error-title-foreground)}.table-error-subtitle{color:var(--malachite-table-error-subtitle-foreground)}.malachite-row-caret{color:var(--malachite-text-placeholder);transition:color .15s}.group:hover .malachite-row-caret{color:var(--malachite-text-primary)}.table-section-divider{background-color:var(--malachite-table-header-background);width:100%;color:var(--malachite-text-secondary);justify-content:space-between;align-items:flex-end;padding:12px 16px;font-size:12px;display:flex}.malachite-row-link-icon{color:var(--malachite-text-placeholder);opacity:0;transition:opacity .15s,color .15s}.group:hover .malachite-row-link-icon{opacity:1}.malachite-row-cta{cursor:pointer;width:100%;color:var(--malachite-text-warning-muted);white-space:nowrap;background:0 0;border:none;justify-content:flex-end;align-items:center;gap:8px;padding:0;font-size:13px;font-weight:500;transition:color .15s;display:flex}.malachite-row-cta:hover{color:var(--malachite-text-warning)}.malachite-number-tag{border-radius:var(--malachite-radius-md,6px);background-color:var(--malachite-number-tag-background);min-width:16px;height:16px;color:var(--malachite-number-tag-foreground);font-family:var(--malachite-font-mono,monospace);justify-content:center;align-items:center;padding:0 3px;font-size:12px;font-weight:500;line-height:1;transition:background-color .15s,color .15s;display:inline-flex}.malachite-number-tag-emphasis{background-color:var(--malachite-number-tag-emphasis-background);color:var(--malachite-number-tag-emphasis-foreground)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}';
1
+ const a = '/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Inter",ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:"SF Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",Courier,monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-500:oklch(70.4% .14 182.503);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:var(--malachite-radius-xs,2px);--radius-md:var(--malachite-radius-md,6px);--radius-lg:var(--malachite-radius-lg,8px);--radius-xl:var(--malachite-radius-xl,12px);--radius-2xl:var(--malachite-radius-xxxl,16px);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:var(--malachite-radius-sm,4px);--font-heading:"Stack Sans Text",ui-sans-serif,system-ui,sans-serif;--font-body:"Geist",ui-sans-serif,system-ui,sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-\\[3px\\]{top:3px}.top-\\[8px\\]{top:8px}.top-\\[40px\\]{top:40px}.top-\\[calc\\(var\\(--malachite-control-height-large\\,42px\\)\\/2\\)\\]{top:calc(var(--malachite-control-height-large,42px)/2)}.top-\\[calc\\(var\\(--malachite-control-height-medium\\,32px\\)\\/2\\)\\]{top:calc(var(--malachite-control-height-medium,32px)/2)}.top-\\[calc\\(var\\(--malachite-control-height-small\\,28px\\)\\/2\\)\\]{top:calc(var(--malachite-control-height-small,28px)/2)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-\\[8px\\]{right:8px}.right-\\[26px\\]{right:26px}.right-\\[28px\\]{right:28px}.right-\\[30px\\]{right:30px}.right-\\[38px\\]{right:38px}.right-\\[60px\\]{right:60px}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-6{bottom:calc(var(--spacing)*6)}.bottom-\\[8px\\]{bottom:8px}.left-0{left:calc(var(--spacing)*0)}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\\[1\\]{z-index:1}.z-\\[2\\]{z-index:2}.z-\\[1000\\]{z-index:1000}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.m-auto{margin:auto}.-mx-10{margin-inline:calc(var(--spacing)*-10)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.my-auto{margin-block:auto}.-mt-1{margin-top:calc(var(--spacing)*-1)}.-mt-2{margin-top:calc(var(--spacing)*-2)}.-mt-4{margin-top:calc(var(--spacing)*-4)}.-mt-6{margin-top:calc(var(--spacing)*-6)}.-mt-8{margin-top:calc(var(--spacing)*-8)}.-mt-\\[2px\\]{margin-top:-2px}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-\\[2px\\]{margin-top:2px}.mt-\\[11px\\]{margin-top:11px}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-\\[-8px\\]{margin-right:-8px}.mr-\\[6px\\]{margin-right:6px}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-30{margin-bottom:calc(var(--spacing)*30)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.ml-0\\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-\\[6px\\]{margin-left:6px}.ml-\\[20px\\]{margin-left:20px}.ml-auto{margin-left:auto}.\\[display\\:-webkit-box\\]{display:-webkit-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-\\[3px\\]{width:3px;height:3px}.size-\\[11px\\]{width:11px;height:11px}.size-\\[13px\\]{width:13px;height:13px}.size-\\[14px\\]{width:14px;height:14px}.size-\\[18px\\]{width:18px;height:18px}.size-\\[20px\\]{width:20px;height:20px}.size-\\[24px\\]{width:24px;height:24px}.size-\\[28px\\]{width:28px;height:28px}.size-\\[32px\\]{width:32px;height:32px}.size-\\[40px\\]{width:40px;height:40px}.size-\\[42px\\]{width:42px;height:42px}.size-full{width:100%;height:100%}.h-1{height:calc(var(--spacing)*1)}.h-1\\/2{height:50%}.h-2{height:calc(var(--spacing)*2)}.h-2\\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-40{height:calc(var(--spacing)*40)}.h-48{height:calc(var(--spacing)*48)}.h-56{height:calc(var(--spacing)*56)}.h-60{height:calc(var(--spacing)*60)}.h-64{height:calc(var(--spacing)*64)}.h-72{height:calc(var(--spacing)*72)}.h-80{height:calc(var(--spacing)*80)}.h-96{height:calc(var(--spacing)*96)}.h-100{height:calc(var(--spacing)*100)}.h-\\[\\.\\.\\.\\]{height:...}.h-\\[8px\\]{height:8px}.h-\\[12px\\]{height:12px}.h-\\[13px\\]{height:13px}.h-\\[16px\\]{height:16px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[22px\\]{height:22px}.h-\\[28px\\]{height:28px}.h-\\[32px\\]{height:32px}.h-\\[33px\\]{height:33px}.h-\\[42px\\]{height:42px}.h-\\[48px\\]{height:48px}.h-\\[59px\\]{height:59px}.h-\\[65px\\]{height:65px}.h-\\[460px\\]{height:460px}.h-\\[var\\(--malachite-control-height-large\\,42px\\)\\]{height:var(--malachite-control-height-large,42px)}.h-\\[var\\(--malachite-control-height-medium\\,32px\\)\\]{height:var(--malachite-control-height-medium,32px)}.h-\\[var\\(--malachite-control-height-small\\,28px\\)\\]{height:var(--malachite-control-height-small,28px)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-\\[553px\\]{max-height:553px}.max-h-\\[calc\\(1\\.5em\\*var\\(--malachite-clamp-lines\\)\\)\\]{max-height:calc(1.5em*var(--malachite-clamp-lines))}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-11{min-height:calc(var(--spacing)*11)}.min-h-\\[2rem\\]{min-height:2rem}.min-h-\\[14px\\]{min-height:14px}.min-h-\\[25px\\]{min-height:25px}.min-h-\\[28px\\]{min-height:28px}.min-h-\\[50px\\]{min-height:50px}.min-h-\\[52px\\]{min-height:52px}.min-h-\\[56px\\]{min-height:56px}.min-h-\\[100px\\]{min-height:100px}.min-h-\\[200px\\]{min-height:200px}.min-h-\\[400px\\]{min-height:400px}.min-h-\\[var\\(--malachite-control-height-large\\,42px\\)\\]{min-height:var(--malachite-control-height-large,42px)}.min-h-\\[var\\(--malachite-control-height-medium\\,32px\\)\\]{min-height:var(--malachite-control-height-medium,32px)}.min-h-\\[var\\(--malachite-control-height-small\\,28px\\)\\]{min-height:var(--malachite-control-height-small,28px)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-2\\/5{width:40%}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-3\\/5{width:60%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-40{width:calc(var(--spacing)*40)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-96{width:calc(var(--spacing)*96)}.w-200{width:calc(var(--spacing)*200)}.w-\\[13px\\]{width:13px}.w-\\[16px\\]{width:16px}.w-\\[20px\\]{width:20px}.w-\\[24px\\]{width:24px}.w-\\[28px\\]{width:28px}.w-\\[44px\\]{width:44px}.w-\\[88px\\]{width:88px}.w-\\[95px\\]{width:95px}.w-\\[108px\\]{width:108px}.w-\\[143px\\]{width:143px}.w-\\[200px\\]{width:200px}.w-\\[220px\\]{width:220px}.w-\\[320px\\]{width:320px}.w-\\[var\\(--malachite-control-height-small\\,28px\\)\\]{width:var(--malachite-control-height-small,28px)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-1200{max-width:calc(var(--spacing)*1200)}.max-w-\\[85\\%\\]{max-width:85%}.max-w-\\[330px\\]{max-width:330px}.max-w-\\[380px\\]{max-width:380px}.max-w-\\[400px\\]{max-width:400px}.max-w-\\[420px\\]{max-width:420px}.max-w-\\[480px\\]{max-width:480px}.max-w-\\[500px\\]{max-width:500px}.max-w-\\[540px\\]{max-width:540px}.max-w-\\[560px\\]{max-width:560px}.max-w-\\[860px\\]{max-width:860px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\\[16px\\]{min-width:16px}.min-w-\\[20px\\]{min-width:20px}.min-w-\\[39px\\]{min-width:39px}.min-w-\\[40px\\]{min-width:40px}.min-w-\\[200px\\]{min-width:200px}.flex-1{flex:1}.flex-\\[1_0_0\\]{flex:1 0 0}.flex-auto{flex:auto}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-auto{flex-basis:auto}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-x{resize:horizontal}.resize-y{resize:vertical}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.grid-cols-\\[minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,1fr)}.grid-rows-\\[1fr_auto\\]{grid-template-rows:1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-7{gap:calc(var(--spacing)*7)}.gap-8{gap:calc(var(--spacing)*8)}.gap-10{gap:calc(var(--spacing)*10)}.gap-\\[2px\\]{gap:2px}.gap-\\[3px\\]{gap:3px}.gap-\\[4px\\]{gap:4px}.gap-\\[6px\\]{gap:6px}.gap-\\[8px\\]{gap:8px}.gap-\\[10px\\]{gap:10px}.gap-\\[12px\\]{gap:12px}.gap-\\[16px\\]{gap:16px}.gap-\\[20px\\]{gap:20px}.gap-\\[24px\\]{gap:24px}.gap-\\[28px\\]{gap:28px}.gap-\\[40px\\]{gap:40px}.gap-\\[60px\\]{gap:60px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{-moz-column-gap:calc(var(--spacing)*4);column-gap:calc(var(--spacing)*4)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing)*1)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-clip{overflow-x:clip}.overflow-y-auto{overflow-y:auto}.overflow-y-visible{overflow-y:visible}.rounded{border-radius:var(--radius)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\\[7px\\]{border-radius:7px}.rounded-\\[10px\\]{border-radius:10px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[16px\\]{border-radius:16px}.rounded-\\[20px\\]{border-radius:20px}.rounded-\\[28px\\]{border-radius:28px}.rounded-\\[var\\(--malachite-radius-10\\,10px\\)\\]{border-radius:var(--malachite-radius-10,10px)}.rounded-\\[var\\(--malachite-radius-lg\\,8px\\)\\]{border-radius:var(--malachite-radius-lg,8px)}.rounded-\\[var\\(--malachite-radius-xxl\\,14px\\)\\]{border-radius:var(--malachite-radius-xxl,14px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.rounded-tl-\\[12px\\]{border-top-left-radius:12px}.rounded-tl-lg{border-top-left-radius:var(--radius-lg)}.rounded-tr-\\[12px\\]{border-top-right-radius:12px}.rounded-tr-lg{border-top-right-radius:var(--radius-lg)}.rounded-b-\\[var\\(--malachite-radius-10\\,10px\\)\\]{border-bottom-right-radius:var(--malachite-radius-10,10px);border-bottom-left-radius:var(--malachite-radius-10,10px)}.rounded-br-\\[4px\\]{border-bottom-right-radius:4px}.rounded-br-\\[12px\\]{border-bottom-right-radius:12px}.rounded-br-lg{border-bottom-right-radius:var(--radius-lg)}.rounded-bl-\\[4px\\]{border-bottom-left-radius:4px}.rounded-bl-\\[12px\\]{border-bottom-left-radius:12px}.rounded-bl-lg{border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[\\#e8e8e8\\]{border-color:#e8e8e8}.border-\\[color\\:var\\(--malachite-accent-foreground\\)\\]{border-color:var(--malachite-accent-foreground)}.border-\\[var\\(--malachite-accent-border\\)\\]{border-color:var(--malachite-accent-border)}.border-\\[var\\(--malachite-assistant-surface-border\\)\\]{border-color:var(--malachite-assistant-surface-border)}.border-\\[var\\(--malachite-card-background\\)\\]{border-color:var(--malachite-card-background)}.border-\\[var\\(--malachite-card-border\\)\\]{border-color:var(--malachite-card-border)}.border-\\[var\\(--malachite-card-border\\,rgb\\(232\\,232\\,232\\)\\)\\]{border-color:var(--malachite-card-border,#e8e8e8)}.border-\\[var\\(--malachite-card-subtle-divider\\,var\\(--malachite-card-border\\)\\)\\]{border-color:var(--malachite-card-subtle-divider,var(--malachite-card-border))}.border-\\[var\\(--malachite-chat-assistant-bubble-border\\)\\]{border-color:var(--malachite-chat-assistant-bubble-border)}.border-\\[var\\(--malachite-chat-user-bubble-border\\)\\]{border-color:var(--malachite-chat-user-bubble-border)}.border-\\[var\\(--malachite-codeblock-border\\)\\]{border-color:var(--malachite-codeblock-border)}.border-\\[var\\(--malachite-destructive-border\\)\\]{border-color:var(--malachite-destructive-border)}.border-\\[var\\(--malachite-selection-bar-border\\)\\]{border-color:var(--malachite-selection-bar-border)}.border-\\[var\\(--malachite-tag-assistant-border\\)\\]{border-color:var(--malachite-tag-assistant-border)}.border-\\[var\\(--malachite-text-dimmed\\)\\]{border-color:var(--malachite-text-dimmed)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-500{border-color:var(--color-blue-500)}.border-current{border-color:currentColor}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-green-300{border-color:var(--color-green-300)}.border-indigo-300{border-color:var(--color-indigo-300)}.border-orange-300{border-color:var(--color-orange-300)}.border-pink-300{border-color:var(--color-pink-300)}.border-purple-300{border-color:var(--color-purple-300)}.border-red-300{border-color:var(--color-red-300)}.border-teal-300{border-color:var(--color-teal-300)}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-300{border-color:var(--color-yellow-300)}.border-yellow-500{border-color:var(--color-yellow-500)}.border-t-transparent{border-top-color:#0000}.bg-\\[\\#2b2b2b\\]{background-color:#2b2b2b}.bg-\\[var\\(--malachite-accent-background-glass\\)\\]{background-color:var(--malachite-accent-background-glass)}.bg-\\[var\\(--malachite-assistant-surface-background\\)\\]{background-color:var(--malachite-assistant-surface-background)}.bg-\\[var\\(--malachite-buttonlist-background\\)\\]{background-color:var(--malachite-buttonlist-background)}.bg-\\[var\\(--malachite-buttonlist-hover-background\\)\\]{background-color:var(--malachite-buttonlist-hover-background)}.bg-\\[var\\(--malachite-card-background\\)\\]{background-color:var(--malachite-card-background)}.bg-\\[var\\(--malachite-card-border\\)\\]{background-color:var(--malachite-card-border)}.bg-\\[var\\(--malachite-card-dimmed-background\\)\\]{background-color:var(--malachite-card-dimmed-background)}.bg-\\[var\\(--malachite-card-sunken-background\\)\\]{background-color:var(--malachite-card-sunken-background)}.bg-\\[var\\(--malachite-chat-assistant-bubble-background\\)\\]{background-color:var(--malachite-chat-assistant-bubble-background)}.bg-\\[var\\(--malachite-chat-user-bubble-background\\)\\]{background-color:var(--malachite-chat-user-bubble-background)}.bg-\\[var\\(--malachite-codeblock-background\\)\\]{background-color:var(--malachite-codeblock-background)}.bg-\\[var\\(--malachite-inline-confirm-background\\)\\]{background-color:var(--malachite-inline-confirm-background)}.bg-\\[var\\(--malachite-inline-confirm-divider\\)\\]{background-color:var(--malachite-inline-confirm-divider)}.bg-\\[var\\(--malachite-number-tag-background\\)\\]{background-color:var(--malachite-number-tag-background)}.bg-\\[var\\(--malachite-overlay-scrim\\)\\]{background-color:var(--malachite-overlay-scrim)}.bg-\\[var\\(--malachite-pillbutton-background\\)\\]{background-color:var(--malachite-pillbutton-background)}.bg-\\[var\\(--malachite-pillbutton-hover-background\\)\\]{background-color:var(--malachite-pillbutton-hover-background)}.bg-\\[var\\(--malachite-pillbutton-inverted-background\\)\\]{background-color:var(--malachite-pillbutton-inverted-background)}.bg-\\[var\\(--malachite-pillbutton-inverted-hover-background\\)\\]{background-color:var(--malachite-pillbutton-inverted-hover-background)}.bg-\\[var\\(--malachite-pillbutton-static-background\\)\\]{background-color:var(--malachite-pillbutton-static-background)}.bg-\\[var\\(--malachite-segmented-control-selected-background\\)\\]{background-color:var(--malachite-segmented-control-selected-background)}.bg-\\[var\\(--malachite-segmented-control-track-background\\)\\]{background-color:var(--malachite-segmented-control-track-background)}.bg-\\[var\\(--malachite-selection-bar-background\\)\\]{background-color:var(--malachite-selection-bar-background)}.bg-\\[var\\(--malachite-selection-bar-notice-background\\)\\]{background-color:var(--malachite-selection-bar-notice-background)}.bg-\\[var\\(--malachite-success-background-glass\\)\\]{background-color:var(--malachite-success-background-glass)}.bg-\\[var\\(--malachite-table-background\\,\\#f7f7f7\\)\\]{background-color:var(--malachite-table-background,#f7f7f7)}.bg-\\[var\\(--malachite-table-row-background\\,\\#fff\\)\\]{background-color:var(--malachite-table-row-background,#fff)}.bg-\\[var\\(--malachite-tag-assistant-background\\)\\]{background-color:var(--malachite-tag-assistant-background)}.bg-\\[var\\(--malachite-tag-default-background\\)\\]{background-color:var(--malachite-tag-default-background)}.bg-\\[var\\(--malachite-tag-emphasis-background\\)\\]{background-color:var(--malachite-tag-emphasis-background)}.bg-\\[var\\(--malachite-tag-error-background\\)\\]{background-color:var(--malachite-tag-error-background)}.bg-\\[var\\(--malachite-tag-info-background\\)\\]{background-color:var(--malachite-tag-info-background)}.bg-\\[var\\(--malachite-tag-primary-background\\)\\]{background-color:var(--malachite-tag-primary-background)}.bg-\\[var\\(--malachite-tag-secondary-background\\)\\]{background-color:var(--malachite-tag-secondary-background)}.bg-\\[var\\(--malachite-tag-success-background\\)\\]{background-color:var(--malachite-tag-success-background)}.bg-\\[var\\(--malachite-tag-warning-background\\)\\]{background-color:var(--malachite-tag-warning-background)}.bg-\\[var\\(--malachite-text-primary\\)\\]{background-color:var(--malachite-text-primary)}.bg-\\[var\\(--malachite-toggle-track\\)\\]{background-color:var(--malachite-toggle-track)}.bg-\\[var\\(--malachite-warning-background\\)\\]{background-color:var(--malachite-warning-background)}.bg-\\[var\\(--…\\)\\]{background-color:var(--…)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-current{background-color:currentColor}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-pink-100{background-color:var(--color-pink-100)}.bg-pink-400{background-color:var(--color-pink-400)}.bg-pink-500{background-color:var(--color-pink-500)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-teal-100{background-color:var(--color-teal-100)}.bg-teal-500{background-color:var(--color-teal-500)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-100{--tw-gradient-from:var(--color-yellow-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-500{--tw-gradient-to:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-yellow-200{--tw-gradient-to:var(--color-yellow-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-cover{-o-object-fit:cover;object-fit:cover}.\\!p-0{padding:calc(var(--spacing)*0)!important}.p-0{padding:calc(var(--spacing)*0)}.p-0\\.5{padding:calc(var(--spacing)*.5)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-10{padding:calc(var(--spacing)*10)}.p-20{padding:calc(var(--spacing)*20)}.p-\\[2px\\]{padding:2px}.p-\\[4px\\]{padding:4px}.p-\\[10px\\]{padding:10px}.p-\\[16px\\]{padding:16px}.p-\\[20px\\]{padding:20px}.p-\\[28px\\]{padding:28px}.p-\\[60px\\]{padding:60px}.\\!px-2\\.5{padding-inline:calc(var(--spacing)*2.5)!important}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-10{padding-inline:calc(var(--spacing)*10)}.px-12{padding-inline:calc(var(--spacing)*12)}.px-16{padding-inline:calc(var(--spacing)*16)}.px-\\[2px\\]{padding-inline:2px}.px-\\[4px\\]{padding-inline:4px}.px-\\[6px\\]{padding-inline:6px}.px-\\[10px\\]{padding-inline:10px}.px-\\[12px\\]{padding-inline:12px}.px-\\[16px\\]{padding-inline:16px}.px-\\[20px\\]{padding-inline:20px}.px-\\[24px\\]{padding-inline:24px}.px-\\[28px\\]{padding-inline:28px}.px-\\[60px\\]{padding-inline:60px}.px-\\[var\\(--malachite-radius-xl\\,12px\\)\\]{padding-inline:var(--malachite-radius-xl,12px)}.\\!py-1\\.5{padding-block:calc(var(--spacing)*1.5)!important}.py-0{padding-block:calc(var(--spacing)*0)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-\\[1px\\]{padding-block:1px}.py-\\[6px\\]{padding-block:6px}.py-\\[7px\\]{padding-block:7px}.py-\\[8px\\]{padding-block:8px}.py-\\[12px\\]{padding-block:12px}.py-\\[14px\\]{padding-block:14px}.py-\\[16px\\]{padding-block:16px}.py-\\[18px\\]{padding-block:18px}.py-\\[20px\\]{padding-block:20px}.py-\\[28px\\]{padding-block:28px}.py-\\[40px\\]{padding-block:40px}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-7{padding-top:calc(var(--spacing)*7)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-10{padding-top:calc(var(--spacing)*10)}.pt-\\[4px\\]{padding-top:4px}.pt-\\[8px\\]{padding-top:8px}.pt-\\[18px\\]{padding-top:18px}.pr-0{padding-right:calc(var(--spacing)*0)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-1\\.5{padding-right:calc(var(--spacing)*1.5)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-\\[6px\\]{padding-right:6px}.pr-\\[12px\\]{padding-right:12px}.pr-\\[16px\\]{padding-right:16px}.pr-\\[18px\\]{padding-right:18px}.pr-\\[26px\\]{padding-right:26px}.pr-\\[52px\\]{padding-right:52px}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-10{padding-bottom:calc(var(--spacing)*10)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pb-\\[14px\\]{padding-bottom:14px}.pb-\\[20px\\]{padding-bottom:20px}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-1\\.5{padding-left:calc(var(--spacing)*1.5)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-\\[10px\\]{padding-left:10px}.pl-\\[12px\\]{padding-left:12px}.pl-\\[16px\\]{padding-left:16px}.pl-\\[21px\\]{padding-left:21px}.pl-\\[39px\\]{padding-left:39px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.text-\\[15px\\]{font-size:15px}.text-\\[16px\\]{font-size:16px}.text-\\[22px\\]{font-size:22px}.text-\\[32px\\]{font-size:32px}.text-\\[40px\\]{font-size:40px}.text-\\[length\\:inherit\\]{font-size:inherit}.text-\\[length\\:var\\(--malachite-font-size-15\\,15px\\)\\]{font-size:var(--malachite-font-size-15,15px)}.text-\\[length\\:var\\(--malachite-font-size-large\\)\\]{font-size:var(--malachite-font-size-large)}.text-\\[length\\:var\\(--malachite-font-size-medium\\)\\]{font-size:var(--malachite-font-size-medium)}.text-\\[length\\:var\\(--malachite-font-size-medium\\,14px\\)\\]{font-size:var(--malachite-font-size-medium,14px)}.text-\\[length\\:var\\(--malachite-font-size-small\\)\\]{font-size:var(--malachite-font-size-small)}.text-\\[length\\:var\\(--malachite-font-size-small\\,13px\\)\\]{font-size:var(--malachite-font-size-small,13px)}.text-\\[length\\:var\\(--malachite-font-size-xlarge\\)\\]{font-size:var(--malachite-font-size-xlarge)}.text-\\[length\\:var\\(--malachite-font-size-xsmall\\)\\]{font-size:var(--malachite-font-size-xsmall)}.text-\\[length\\:var\\(--malachite-font-size-xsmall\\,11px\\)\\]{font-size:var(--malachite-font-size-xsmall,11px)}.text-\\[length\\:var\\(--malachite-font-size-xxlarge\\)\\]{font-size:var(--malachite-font-size-xxlarge)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-\\[1\\.3\\]{--tw-leading:1.3;line-height:1.3}.leading-\\[1\\.4\\]{--tw-leading:1.4;line-height:1.4}.leading-\\[1\\.5\\]{--tw-leading:1.5;line-height:1.5}.leading-\\[1\\.5em\\]{--tw-leading:1.5em;line-height:1.5em}.leading-\\[1\\.6\\]{--tw-leading:1.6;line-height:1.6}.leading-\\[1\\.25\\]{--tw-leading:1.25;line-height:1.25}.leading-\\[1\\.45\\]{--tw-leading:1.45;line-height:1.45}.leading-\\[16px\\]{--tw-leading:16px;line-height:16px}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[-0\\.01em\\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\\[-0\\.14px\\]{--tw-tracking:-.14px;letter-spacing:-.14px}.tracking-\\[0\\.5px\\]{--tw-tracking:.5px;letter-spacing:.5px}.tracking-\\[0\\.06em\\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\\[0\\.11px\\]{--tw-tracking:.11px;letter-spacing:.11px}.tracking-\\[0\\.12px\\]{--tw-tracking:.12px;letter-spacing:.12px}.tracking-\\[0\\.13px\\]{--tw-tracking:.13px;letter-spacing:.13px}.tracking-\\[0\\.14px\\]{--tw-tracking:.14px;letter-spacing:.14px}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-\\[\\#0a0a0a\\]{color:#0a0a0a}.text-\\[\\#bbb\\]{color:#bbb}.text-\\[color-mix\\(in_srgb\\,var\\(--malachite-inline-confirm-foreground\\)_80\\%\\,var\\(--malachite-inline-confirm-background\\)\\)\\]{color:var(--malachite-inline-confirm-foreground)}@supports (color:color-mix(in lab,red,red)){.text-\\[color-mix\\(in_srgb\\,var\\(--malachite-inline-confirm-foreground\\)_80\\%\\,var\\(--malachite-inline-confirm-background\\)\\)\\]{color:color-mix(in srgb,var(--malachite-inline-confirm-foreground)80%,var(--malachite-inline-confirm-background))}}.text-\\[var\\(--malachite-accent-foreground\\)\\]{color:var(--malachite-accent-foreground)}.text-\\[var\\(--malachite-assistant-foreground\\)\\]{color:var(--malachite-assistant-foreground)}.text-\\[var\\(--malachite-assistant-surface-foreground\\)\\]{color:var(--malachite-assistant-surface-foreground)}.text-\\[var\\(--malachite-buttonlist-foreground\\)\\]{color:var(--malachite-buttonlist-foreground)}.text-\\[var\\(--malachite-card-background\\)\\]{color:var(--malachite-card-background)}.text-\\[var\\(--malachite-card-border\\)\\]{color:var(--malachite-card-border)}.text-\\[var\\(--malachite-card-foreground\\)\\]{color:var(--malachite-card-foreground)}.text-\\[var\\(--malachite-chat-assistant-bubble-foreground\\)\\]{color:var(--malachite-chat-assistant-bubble-foreground)}.text-\\[var\\(--malachite-destructive-foreground\\,rgb\\(196\\,62\\,62\\)\\)\\]{color:var(--malachite-destructive-foreground,#c43e3e)}.text-\\[var\\(--malachite-inline-confirm-foreground\\)\\]{color:var(--malachite-inline-confirm-foreground)}.text-\\[var\\(--malachite-pillbutton-foreground\\)\\]{color:var(--malachite-pillbutton-foreground)}.text-\\[var\\(--malachite-pillbutton-hover-foreground\\)\\]{color:var(--malachite-pillbutton-hover-foreground)}.text-\\[var\\(--malachite-pillbutton-inverted-foreground\\)\\]{color:var(--malachite-pillbutton-inverted-foreground)}.text-\\[var\\(--malachite-pillbutton-inverted-hover-foreground\\)\\]{color:var(--malachite-pillbutton-inverted-hover-foreground)}.text-\\[var\\(--malachite-pillbutton-static-foreground\\)\\]{color:var(--malachite-pillbutton-static-foreground)}.text-\\[var\\(--malachite-segmented-control-item-foreground\\)\\]{color:var(--malachite-segmented-control-item-foreground)}.text-\\[var\\(--malachite-segmented-control-selected-foreground\\)\\]{color:var(--malachite-segmented-control-selected-foreground)}.text-\\[var\\(--malachite-selection-bar-foreground\\)\\]{color:var(--malachite-selection-bar-foreground)}.text-\\[var\\(--malachite-selection-bar-muted-foreground\\)\\]{color:var(--malachite-selection-bar-muted-foreground)}.text-\\[var\\(--malachite-selection-bar-notice-foreground\\)\\]{color:var(--malachite-selection-bar-notice-foreground)}.text-\\[var\\(--malachite-tag-assistant-foreground\\)\\]{color:var(--malachite-tag-assistant-foreground)}.text-\\[var\\(--malachite-tag-default-foreground\\)\\]{color:var(--malachite-tag-default-foreground)}.text-\\[var\\(--malachite-tag-emphasis-foreground\\)\\]{color:var(--malachite-tag-emphasis-foreground)}.text-\\[var\\(--malachite-tag-error-foreground\\)\\]{color:var(--malachite-tag-error-foreground)}.text-\\[var\\(--malachite-tag-info-foreground\\)\\]{color:var(--malachite-tag-info-foreground)}.text-\\[var\\(--malachite-tag-primary-foreground\\)\\]{color:var(--malachite-tag-primary-foreground)}.text-\\[var\\(--malachite-tag-secondary-foreground\\)\\]{color:var(--malachite-tag-secondary-foreground)}.text-\\[var\\(--malachite-tag-success-foreground\\)\\]{color:var(--malachite-tag-success-foreground)}.text-\\[var\\(--malachite-tag-warning-foreground\\)\\]{color:var(--malachite-tag-warning-foreground)}.text-\\[var\\(--malachite-text-dimmed\\)\\]{color:var(--malachite-text-dimmed)}.text-\\[var\\(--malachite-text-dimmed\\,rgb\\(161\\,161\\,161\\)\\)\\]{color:var(--malachite-text-dimmed,#a1a1a1)}.text-\\[var\\(--malachite-text-highlight\\)\\]{color:var(--malachite-text-highlight)}.text-\\[var\\(--malachite-text-link-foreground\\)\\]{color:var(--malachite-text-link-foreground)}.text-\\[var\\(--malachite-text-muted\\)\\]{color:var(--malachite-text-muted)}.text-\\[var\\(--malachite-text-placeholder\\)\\]{color:var(--malachite-text-placeholder)}.text-\\[var\\(--malachite-text-primary\\)\\]{color:var(--malachite-text-primary)}.text-\\[var\\(--malachite-text-primary\\,rgb\\(10\\,10\\,10\\)\\)\\]{color:var(--malachite-text-primary,#0a0a0a)}.text-\\[var\\(--malachite-text-secondary\\)\\]{color:var(--malachite-text-secondary)}.text-\\[var\\(--malachite-text-secondary\\,\\#bbb\\)\\]{color:var(--malachite-text-secondary,#bbb)}.text-\\[var\\(--malachite-text-secondary\\,rgb\\(123\\,123\\,123\\)\\)\\]{color:var(--malachite-text-secondary,#7b7b7b)}.text-\\[var\\(--malachite-text-success\\)\\]{color:var(--malachite-text-success)}.text-\\[…\\]{color:…}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-current{color:currentColor}.text-gray-100{color:var(--color-gray-100)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-inherit{color:inherit}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-85{opacity:.85}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[\\.\\.\\.\\]{--tw-shadow:...;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0px_1px_0px_0px_rgba\\(0\\,0\\,0\\,0\\.15\\)\\]{--tw-shadow:0px 1px 0px 0px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[var\\(--malachite-shadow-default\\)\\]{--tw-shadow:var(--malachite-shadow-default);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\\[box-shadow\\:0_1px_0_0_rgba\\(0\\,0\\,0\\,0\\.15\\)\\]{box-shadow:0 1px #00000026}.\\[box-shadow\\:var\\(--malachite-shadow-glow\\,var\\(--malachite-shadow-lg\\)\\)\\]{box-shadow:var(--malachite-shadow-glow,var(--malachite-shadow-lg))}.\\[box-shadow\\:var\\(--malachite-shadow-glow-lg\\,var\\(--malachite-shadow-xl\\)\\)\\]{box-shadow:var(--malachite-shadow-glow-lg,var(--malachite-shadow-xl))}.\\[box-shadow\\:var\\(--malachite-shadow-lg\\)\\]{box-shadow:var(--malachite-shadow-lg)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[color\\,background-color\\,border-color\\,opacity\\,box-shadow\\]{transition-property:color,background-color,border-color,opacity,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[max-height\\]{transition-property:max-height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-\\[var\\(--malachite-ease-standard\\)\\]{--tw-ease:var(--malachite-ease-standard);transition-timing-function:var(--malachite-ease-standard)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.\\[-webkit-box-orient\\:vertical\\]{-webkit-box-orient:vertical}.\\[-webkit-line-clamp\\:var\\(--malachite-clamp-lines\\)\\]{-webkit-line-clamp:var(--malachite-clamp-lines)}.\\[scrollbar-width\\:none\\]{scrollbar-width:none}@media (hover:hover){.group-hover\\:text-\\[var\\(--malachite-text-primary\\)\\]:is(:where(.group):hover *){color:var(--malachite-text-primary)}}.placeholder\\:font-medium::-moz-placeholder{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\\:font-medium::placeholder{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\\:text-\\[var\\(--malachite-text-dimmed\\)\\]::-moz-placeholder{color:var(--malachite-text-dimmed)}.placeholder\\:text-\\[var\\(--malachite-text-dimmed\\)\\]::placeholder{color:var(--malachite-text-dimmed)}.placeholder\\:text-\\[var\\(--malachite-text-placeholder\\)\\]::-moz-placeholder{color:var(--malachite-text-placeholder)}.placeholder\\:text-\\[var\\(--malachite-text-placeholder\\)\\]::placeholder{color:var(--malachite-text-placeholder)}.placeholder\\:text-\\[var\\(--malachite-text-secondary\\)\\]::-moz-placeholder{color:var(--malachite-text-secondary)}.placeholder\\:text-\\[var\\(--malachite-text-secondary\\)\\]::placeholder{color:var(--malachite-text-secondary)}.first\\:rounded-tl-lg:first-child{border-top-left-radius:var(--radius-lg)}.last\\:rounded-tr-lg:last-child{border-top-right-radius:var(--radius-lg)}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\\:border-\\[var\\(--malachite-assistant-foreground\\)\\]:focus-within{border-color:var(--malachite-assistant-foreground)}.focus-within\\:border-\\[var\\(--malachite-control-border-hover\\)\\]:focus-within{border-color:var(--malachite-control-border-hover)}.focus-within\\:border-\\[var\\(--malachite-destructive-border-hover\\)\\]:focus-within{border-color:var(--malachite-destructive-border-hover)}@media (hover:hover){.hover\\:max-h-\\[1000px\\]:hover{max-height:1000px}.hover\\:border-\\[color\\:var\\(--malachite-text-secondary\\)\\]:hover{border-color:var(--malachite-text-secondary)}.hover\\:border-\\[var\\(--malachite-assistant-foreground\\)\\]:hover{border-color:var(--malachite-assistant-foreground)}.hover\\:border-\\[var\\(--malachite-control-border-hover\\)\\]:hover{border-color:var(--malachite-control-border-hover)}.hover\\:border-\\[var\\(--malachite-destructive-border-hover\\)\\]:hover{border-color:var(--malachite-destructive-border-hover)}.hover\\:border-\\[var\\(--malachite-text-placeholder\\)\\]:hover{border-color:var(--malachite-text-placeholder)}.hover\\:bg-\\[var\\(--malachite-buttonlist-hover-background\\)\\]:hover{background-color:var(--malachite-buttonlist-hover-background)}.hover\\:bg-\\[var\\(--malachite-card-dimmed-background\\)\\]:hover{background-color:var(--malachite-card-dimmed-background)}.hover\\:bg-\\[var\\(--malachite-codeblock-border\\)\\]:hover{background-color:var(--malachite-codeblock-border)}.hover\\:bg-\\[var\\(--malachite-number-tag-emphasis-background\\)\\]:hover{background-color:var(--malachite-number-tag-emphasis-background)}.hover\\:bg-\\[var\\(--malachite-pillbutton-hover-background\\)\\]:hover{background-color:var(--malachite-pillbutton-hover-background)}.hover\\:bg-\\[var\\(--malachite-pillbutton-inverted-hover-background\\)\\]:hover{background-color:var(--malachite-pillbutton-inverted-hover-background)}.hover\\:bg-\\[var\\(--malachite-primary-border\\)\\]:hover{background-color:var(--malachite-primary-border)}.hover\\:bg-\\[var\\(--malachite-table-row-hover-background\\,\\#fafafa\\)\\]:hover{background-color:var(--malachite-table-row-hover-background,#fafafa)}.hover\\:bg-\\[var\\(--malachite-tag-assistant-background\\)\\]:hover{background-color:var(--malachite-tag-assistant-background)}.hover\\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\\:text-\\[var\\(--malachite-accent-foreground\\)\\]:hover{color:var(--malachite-accent-foreground)}.hover\\:text-\\[var\\(--malachite-buttonlist-hover-foreground\\)\\]:hover{color:var(--malachite-buttonlist-hover-foreground)}.hover\\:text-\\[var\\(--malachite-inline-confirm-foreground\\)\\]:hover{color:var(--malachite-inline-confirm-foreground)}.hover\\:text-\\[var\\(--malachite-pillbutton-hover-foreground\\)\\]:hover{color:var(--malachite-pillbutton-hover-foreground)}.hover\\:text-\\[var\\(--malachite-pillbutton-inverted-hover-foreground\\)\\]:hover{color:var(--malachite-pillbutton-inverted-hover-foreground)}.hover\\:text-\\[var\\(--malachite-segmented-control-item-hover-foreground\\)\\]:hover{color:var(--malachite-segmented-control-item-hover-foreground)}.hover\\:text-\\[var\\(--malachite-text-link-foreground-hover\\)\\]:hover{color:var(--malachite-text-link-foreground-hover)}.hover\\:text-\\[var\\(--malachite-text-primary\\)\\]:hover{color:var(--malachite-text-primary)}.hover\\:text-\\[var\\(--malachite-text-secondary\\)\\]:hover{color:var(--malachite-text-secondary)}.hover\\:text-white:hover{color:var(--color-white)}.hover\\:opacity-80:hover{opacity:.8}.hover\\:opacity-100:hover{opacity:1}.hover\\:\\[-webkit-line-clamp\\:unset\\]:hover{-webkit-line-clamp:unset}}.focus\\:bg-\\[var\\(--malachite-buttonlist-hover-background\\)\\]:focus{background-color:var(--malachite-buttonlist-hover-background)}.focus\\:text-\\[var\\(--malachite-buttonlist-hover-foreground\\)\\]:focus{color:var(--malachite-buttonlist-hover-foreground)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:max-h-\\[1000px\\]:focus-visible{max-height:1000px}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-assistant-foreground\\)\\]:focus-visible{outline:2px solid var(--malachite-assistant-foreground)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-inline-confirm-foreground\\)\\]:focus-visible{outline:2px solid var(--malachite-inline-confirm-foreground)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-selection-bar-foreground\\)\\]:focus-visible{outline:2px solid var(--malachite-selection-bar-foreground)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-text-destructive\\)\\]:focus-visible{outline:2px solid var(--malachite-text-destructive)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-text-error\\)\\]:focus-visible{outline:2px solid var(--malachite-text-error)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-text-primary\\)\\]:focus-visible{outline:2px solid var(--malachite-text-primary)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-text-success\\)\\]:focus-visible{outline:2px solid var(--malachite-text-success)}.focus-visible\\:\\[outline\\:2px_solid_var\\(--malachite-text-warning\\)\\]:focus-visible{outline:2px solid var(--malachite-text-warning)}.focus-visible\\:\\[outline-offset\\:-2px\\]:focus-visible{outline-offset:-2px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:\\[-webkit-line-clamp\\:unset\\]:focus-visible{-webkit-line-clamp:unset}.active\\:bg-\\[var\\(--malachite-pillbutton-inverted-pressed-background\\)\\]:active{background-color:var(--malachite-pillbutton-inverted-pressed-background)}.active\\:bg-\\[var\\(--malachite-pillbutton-pressed-background\\)\\]:active{background-color:var(--malachite-pillbutton-pressed-background)}.active\\:text-\\[var\\(--malachite-pillbutton-inverted-pressed-foreground\\)\\]:active{color:var(--malachite-pillbutton-inverted-pressed-foreground)}.active\\:text-\\[var\\(--malachite-pillbutton-pressed-foreground\\)\\]:active{color:var(--malachite-pillbutton-pressed-foreground)}.active\\:opacity-60:active{opacity:.6}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:text-\\[var\\(--malachite-text-dimmed\\)\\]:disabled{color:var(--malachite-text-dimmed)}.disabled\\:text-\\[var\\(--malachite-text-primary\\)\\]:disabled{color:var(--malachite-text-primary)}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-60:disabled{opacity:.6}.has-\\[\\:focus-visible\\]\\:\\[outline\\:2px_solid_var\\(--malachite-text-primary\\)\\]:has(:focus-visible){outline:2px solid var(--malachite-text-primary)}.has-\\[\\:focus-visible\\]\\:outline-offset-2:has(:focus-visible){outline-offset:2px}@media (prefers-reduced-motion:reduce){.motion-reduce\\:animate-none{animation:none}.motion-reduce\\:opacity-0{opacity:0}.motion-reduce\\:opacity-100{opacity:1}.motion-reduce\\:transition-none{transition-property:none}}@media (min-width:48rem){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\\[\\&_svg\\]\\:size-\\[11px\\]\\! svg{width:11px!important;height:11px!important}.\\[\\&_svg\\]\\:size-\\[16px\\]\\! svg{width:16px!important;height:16px!important}.\\[\\&_svg\\]\\:size-\\[var\\(--malachite-icon-size-large\\)\\]\\! svg{width:var(--malachite-icon-size-large)!important;height:var(--malachite-icon-size-large)!important}.\\[\\&_svg\\]\\:size-\\[var\\(--malachite-icon-size-medium\\)\\]\\! svg{width:var(--malachite-icon-size-medium)!important;height:var(--malachite-icon-size-medium)!important}.\\[\\&_svg\\]\\:size-\\[var\\(--malachite-icon-size-small\\)\\]\\! svg{width:var(--malachite-icon-size-small)!important;height:var(--malachite-icon-size-small)!important}.\\[\\&_svg\\]\\:size-\\[var\\(--malachite-icon-size-xsmall\\)\\]\\! svg{width:var(--malachite-icon-size-xsmall)!important;height:var(--malachite-icon-size-xsmall)!important}.\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden::-webkit-scrollbar{display:none}.\\[\\&\\>div\\]\\:mb-0>div{margin-bottom:calc(var(--spacing)*0)}.\\[\\&\\>img\\]\\:max-h-full>img{max-height:100%}.\\[\\&\\>img\\]\\:max-w-full>img{max-width:100%}.\\[\\&\\>img\\]\\:object-contain>img{-o-object-fit:contain;object-fit:contain}}[data-malachite-dropdown-trigger]{border-color:var(--malachite-dropdown-border,#e8e8e8);box-shadow:var(--malachite-dropdown-shadow,0px 1px 0px 0px #00000026)}[data-malachite-dropdown-trigger]:hover{border-color:var(--malachite-control-border-hover,#00af6666);box-shadow:var(--malachite-dropdown-shadow-hover,0px 1px 0px 0px #00af6699)}:root{--malachite-radius-xs:2px;--malachite-radius-sm:4px;--malachite-radius-md:6px;--malachite-radius-lg:8px;--malachite-radius-10:10px;--malachite-radius-xl:12px;--malachite-radius-xxl:14px;--malachite-radius-xxxl:16px;--malachite-font-size-xsmall:11px;--malachite-font-size-small:13px;--malachite-font-size-medium:14px;--malachite-font-size-15:15px;--malachite-font-size-large:16px;--malachite-font-size-xlarge:18px;--malachite-font-size-xxlarge:22px;--malachite-control-height-small:28px;--malachite-control-height-medium:32px;--malachite-control-height-large:42px;--malachite-table-row-selected-background:#00af6626;--malachite-table-row-selected-accent:#027a42;--malachite-table-row-selected-foreground:#027a42;--malachite-shadow-sm:0 1px 2px 0 #0000000d;--malachite-shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--malachite-shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--malachite-shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--malachite-shadow-glow:0px 0px 10px 0px #0003;--malachite-shadow-glow-lg:0px 0px 20px 0px #0003;--malachite-shadow-default:0px 1px 0px 0px #00000026;--malachite-shadow-accent:0px 1px 0px 0px #00af6626;--malachite-shadow-success:0px 1px 0px 0px #00af6626;--malachite-shadow-warning:0px 1px 0px 0px #f18b0a26;--malachite-shadow-error:0px 1px 0px 0px #c53f3f26;--malachite-shadow-color:0,0,0;--malachite-shadow-opacity:.1;--malachite-card-background:#fff;--malachite-card-foreground:#0a0a0a;--malachite-card-border:#e8e8e8;--malachite-card-shadow:#0000001a;--malachite-card-dimmed-background:#f7f7f7;--malachite-card-sunken-background:#fafafa;--malachite-card-header-background:#fff;--malachite-card-footer-background:#fff;--malachite-card-footer-glass-background:#ffffffb3;--malachite-card-tray-neutral:#f7f7f7;--malachite-card-tray-warning:#fdf3e6;--malachite-card-tray-error:#fef1f1;--malachite-card-tray-success:#ecf9f4;--malachite-card-subtle-divider:#f1f1f1;--malachite-overlay-scrim:#0000001a;--malachite-alert-info-background:#f7f7f7;--malachite-alert-info-foreground:#0a0a0a;--malachite-alert-success-background:#00af6614;--malachite-alert-success-foreground:#027a42;--malachite-alert-error-background:#c53f3f14;--malachite-alert-error-foreground:#ed3536;--malachite-alert-warning-background:#f18b0a14;--malachite-alert-warning-foreground:#96580a;--malachite-alert-assistant-background:#f2eefe;--malachite-alert-assistant-foreground:#6e56cf;--malachite-assistant-foreground:#6e56cf;--malachite-assistant-surface-background:#fbfaff;--malachite-assistant-surface-border:#dcd3fa;--malachite-assistant-surface-foreground:#4a3f7a;--malachite-tooltip-background:#3b3b3b;--malachite-tooltip-foreground:#fff;--malachite-tooltip-border:#3c3c3c;--malachite-tooltip-shadow:0px 0px 10px 0px #0003;--malachite-primary-background:#303030;--malachite-primary-foreground:#0a0a0a;--malachite-primary-border:#e8e8e8;--malachite-primary-border-hover:#bababa;--malachite-outline-foreground:#0a0a0a;--malachite-secondary-background:#090909;--malachite-secondary-foreground:#fff;--malachite-secondary-border:#e8e8e8;--malachite-secondary-border-hover:#bababa;--malachite-destructive-background:transparent;--malachite-destructive-foreground:#c43e3e;--malachite-destructive-border:#ef3737;--malachite-destructive-border-hover:#ef3737;--malachite-destructive-shadow:#ef3737;--malachite-destructive-shadow-light:#ef373766;--malachite-destructive-shadow-medium:#ef373799;--malachite-accent-background:#00af66;--malachite-accent-foreground:#027a42;--malachite-accent-border:#00af6633;--malachite-accent-background-glass:#00af6614;--malachite-control-border-hover:#00af6666;--malachite-success-background:#00af66;--malachite-success-foreground:#027a42;--malachite-success-border:#00af6633;--malachite-success-border-hover:#00af6666;--malachite-success-background-glass:#00af6614;--malachite-success-shadow-light:#00af6666;--malachite-success-shadow-medium:#00af6699;--malachite-warning-background:#f18b0a;--malachite-warning-foreground:#96580a;--malachite-warning-border:#f18b0a33;--malachite-warning-border-hover:#f18b0a66;--malachite-warning-background-glass:#f18b0a14;--malachite-warning-shadow-light:#f18b0a66;--malachite-warning-shadow-medium:#f18b0a99;--malachite-error-background:#c53f3f;--malachite-error-foreground:#ed3536;--malachite-error-border:#c53f3f33;--malachite-error-border-hover:#c53f3f66;--malachite-error-background-glass:#c53f3f14;--malachite-error-shadow-light:#c53f3f66;--malachite-error-shadow-medium:#c53f3f99;--malachite-segmented-control-track-background:#f1f1f1;--malachite-segmented-control-item-foreground:#4c4b4b;--malachite-segmented-control-item-hover-foreground:#0a0a0a;--malachite-segmented-control-selected-background:#fff;--malachite-segmented-control-selected-foreground:#0a0a0a;--malachite-segmented-control-selected-shadow:0px 1px 5px 0px #0000001a;--malachite-selectable-card-background:#f1f1f1;--malachite-selectable-card-border:#ddd;--malachite-selectable-card-selected-tint:#e7f8f1;--malachite-selectable-card-selected-surface-end:#fff;--malachite-selectable-card-selected-border:#047b43;--malachite-selectable-card-library-selected-tint:#f1f1f1;--malachite-selectable-card-library-selected-border:#bbb;--malachite-selectable-card-accent:#047b43;--malachite-selectable-card-muted-foreground:#7b7b7b;--malachite-selectable-card-hover-background:#e8e8e8;--malachite-selectable-card-hover-rule:#bbb;--malachite-selectable-card-pending-foreground:#96580a;--malachite-selectable-card-editing-tint:#f9f2e9;--malachite-card-strip-background:#f1f1f1;--malachite-card-strip-divider:#ddd;--malachite-card-strip-fade:#fff;--malachite-card-strip-arrow-background:#fff;--malachite-card-strip-arrow-border:#e8e8e8;--malachite-card-strip-add-primary-background:#0a0a0a;--malachite-card-strip-add-primary-foreground:#fff;--malachite-selection-bar-background:#0a0a0a;--malachite-selection-bar-foreground:#fff;--malachite-selection-bar-muted-foreground:#7b7b7b;--malachite-selection-bar-divider:#404040;--malachite-selection-bar-border:transparent;--malachite-selection-bar-primary-border:#e8e8e8;--malachite-selection-bar-shadow:0px 0px 10px 0px #0003;--malachite-selection-bar-notice-background:#edd9be;--malachite-selection-bar-notice-foreground:#844d09;--malachite-selection-bar-notice-shadow:0px 0px 4px 0px #00000014,0px 4px 4px 0px #00000014,0px 4px 10px 0px #0000000d;--malachite-inline-confirm-background:#222121;--malachite-inline-confirm-foreground:#fff;--malachite-inline-confirm-divider:#ffffff1a;--malachite-inline-confirm-shadow:0px 0px 10px 0px #0003;--malachite-buttonlist-background:#fff;--malachite-buttonlist-foreground:#0a0a0a;--malachite-buttonlist-hover-background:#f5f5f5;--malachite-buttonlist-hover-foreground:#0a0a0a;--malachite-text-primary:#0a0a0a;--malachite-text-secondary:#7b7b7b;--malachite-text-dimmed:#a1a1a1;--malachite-text-emphasis:#222121;--malachite-text-muted:#4c4b4b;--malachite-text-placeholder:#bbb;--malachite-text-destructive:#ed3536;--malachite-text-success:#027a42;--malachite-text-highlight:#76d6ae;--malachite-text-warning:#96580a;--malachite-text-error:#ed3536;--malachite-text-info:#0c58ae;--malachite-text-link-foreground:#00000073;--malachite-text-link-foreground-hover:#0a0a0a;--malachite-text-right-side-text-muted:#7b7b7b;--malachite-text-right-side-text-primary:#0a0a0a;--malachite-text-right-side-text-font-size:12px;--malachite-text-right-side-text-min-width:80px}:root,:host{--malachite-ease-standard:cubic-bezier(.4,0,.2,1);--malachite-font-mono:var(--font-mono,"SF Mono",ui-monospace,monospace);--malachite-number-tag-background:#00000014;--malachite-number-tag-foreground:var(--malachite-text-secondary,#7b7b7b);--malachite-number-tag-emphasis-background:#00000026;--malachite-number-tag-emphasis-foreground:var(--malachite-text-emphasis,#222121);--malachite-text-warning-muted:#cea36c}*{scrollbar-width:thin;scrollbar-color:var(--malachite-card-border)transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--malachite-card-border);background-clip:padding-box;border:2px solid #0000;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background-color:var(--malachite-text-dimmed)}.shadow-default{box-shadow:var(--malachite-shadow-default)}.shadow-success{box-shadow:var(--malachite-shadow-success)}.shadow-warning{box-shadow:var(--malachite-shadow-warning)}.shadow-error{box-shadow:var(--malachite-shadow-error)}.btn-filled{background-color:var(--malachite-secondary-background);color:var(--malachite-secondary-foreground);border-color:var(--malachite-secondary-border)}.btn-filled:hover:not(:disabled),.btn-filled[aria-expanded=true]:not(:disabled){border-color:var(--malachite-secondary-border-hover);opacity:.95}.btn-filled:active:not(:disabled){opacity:.8;border-color:var(--malachite-secondary-border-hover)}.btn-filled:disabled{opacity:.6;cursor:not-allowed}:host-context([data-theme="dark"]) .btn-filled:disabled{opacity:1;background-color:var(--malachite-card-background);color:var(--malachite-text-dimmed);border-color:var(--malachite-card-border);box-shadow:none}.btn-surface{background-color:var(--malachite-card-background);color:var(--malachite-outline-foreground);border-color:var(--malachite-primary-border)}.btn-surface:hover:not(:disabled),.btn-surface[aria-expanded=true]:not(:disabled){border-color:var(--malachite-primary-border-hover)}.btn-surface:active:not(:disabled){opacity:.8;border-color:var(--malachite-primary-border-hover)}.btn-surface:disabled{opacity:.6;cursor:not-allowed;color:var(--malachite-text-dimmed);border-color:var(--malachite-card-border)}.btn-assistant{background-color:var(--malachite-assistant-surface-background);color:var(--malachite-assistant-surface-foreground);border-color:var(--malachite-assistant-surface-border)}.btn-assistant:hover:not(:disabled),.btn-assistant[aria-expanded=true]:not(:disabled){border-color:var(--malachite-assistant-foreground)}.btn-assistant:active:not(:disabled){opacity:.8;border-color:var(--malachite-assistant-foreground)}.btn-assistant:disabled{opacity:.6;cursor:not-allowed;color:var(--malachite-text-dimmed);border-color:var(--malachite-card-border)}.btn-outline{color:var(--malachite-outline-foreground);border-color:var(--malachite-primary-border);background-color:#0000}.btn-outline:hover:not(:disabled),.btn-outline[aria-expanded=true]:not(:disabled){border-color:var(--malachite-primary-border-hover)}.btn-outline:active:not(:disabled){opacity:.8;border-color:var(--malachite-primary-border-hover)}.btn-outline:disabled{opacity:.6;cursor:not-allowed;color:var(--malachite-text-dimmed);border-color:var(--malachite-card-border)}:host-context([data-theme="dark"]) .btn-outline:disabled{opacity:1;color:var(--malachite-text-dimmed);border-color:var(--malachite-card-border)}.btn-destructive{background-color:var(--malachite-destructive-background);color:var(--malachite-destructive-foreground);border-color:var(--malachite-destructive-border);box-shadow:0 1px 0 0 var(--malachite-destructive-shadow-light)}.btn-destructive:hover:not(:disabled),.btn-destructive[aria-expanded=true]:not(:disabled){border-color:var(--malachite-destructive-border-hover);box-shadow:0 1px 0 0 var(--malachite-destructive-shadow-medium)}.btn-destructive:active:not(:disabled){opacity:.6;border-color:var(--malachite-destructive-border-hover);box-shadow:0 1px 0 0 var(--malachite-destructive-shadow-medium)}.btn-destructive:disabled{opacity:.6;box-shadow:none}.btn-ghost{color:var(--malachite-primary-foreground);background-color:#0000;border-color:#0000}.btn-ghost:hover:not(:disabled),.btn-ghost[aria-expanded=true]:not(:disabled){border-color:var(--malachite-primary-border-hover)}.btn-no-style{color:var(--malachite-primary-foreground);background-color:#0000;border-color:#0000}.btn-no-style:hover:not(:disabled),.btn-no-style[aria-expanded=true]:not(:disabled){border-color:#0000}.btn-glass-success{background-color:var(--malachite-success-background-glass);color:var(--malachite-success-foreground);border-color:var(--malachite-success-border);box-shadow:0 1px 0 0 var(--malachite-success-shadow-light)}.btn-glass-success:hover:not(:disabled),.btn-glass-success[aria-expanded=true]:not(:disabled){border-color:var(--malachite-success-border-hover);box-shadow:0 1px 0 0 var(--malachite-success-shadow-medium)}.btn-glass-success:active:not(:disabled){opacity:.6;border-color:var(--malachite-success-border-hover);box-shadow:0 1px 0 0 var(--malachite-success-shadow-medium)}.btn-glass-success:disabled{opacity:.6;box-shadow:none}.btn-glass-warning{background-color:var(--malachite-warning-background-glass);color:var(--malachite-warning-foreground);border-color:var(--malachite-warning-border);box-shadow:0 1px 0 0 var(--malachite-warning-shadow-light)}.btn-glass-warning:hover:not(:disabled),.btn-glass-warning[aria-expanded=true]:not(:disabled){border-color:var(--malachite-warning-border-hover);box-shadow:0 1px 0 0 var(--malachite-warning-shadow-medium)}.btn-glass-warning:active:not(:disabled){opacity:.6;border-color:var(--malachite-warning-border-hover);box-shadow:0 1px 0 0 var(--malachite-warning-shadow-medium)}.btn-glass-warning:disabled{opacity:.6;box-shadow:none}.btn-glass-error{background-color:var(--malachite-error-background-glass);color:var(--malachite-error-foreground);border-color:var(--malachite-error-border);box-shadow:0 1px 0 0 var(--malachite-error-shadow-light)}.btn-glass-error:hover:not(:disabled),.btn-glass-error[aria-expanded=true]:not(:disabled){border-color:var(--malachite-error-border-hover);box-shadow:0 1px 0 0 var(--malachite-error-shadow-medium)}.btn-glass-error:active:not(:disabled){opacity:.6;border-color:var(--malachite-error-border-hover);box-shadow:0 1px 0 0 var(--malachite-error-shadow-medium)}.btn-glass-error:disabled{opacity:.6;box-shadow:none}.card-base{background-color:var(--malachite-card-background);color:var(--malachite-card-foreground);border:1px solid var(--malachite-card-border);box-shadow:0 2px 4px 0 var(--malachite-card-shadow);border-radius:12px;overflow:hidden}.card-dimmed{background-color:var(--malachite-card-dimmed-background)}.card-rounded{border-radius:20px}.md-root strong,.md-root b{font-weight:600}.md-link{color:var(--malachite-text-link-foreground);font-weight:600;text-decoration:underline}.md-link:hover,.md-link:focus-visible{color:var(--malachite-text-link-foreground-hover)}.md-flow>[role=list]:first-child>[role=listitem]:first-child>br:first-child{display:none}.card-header{background-color:var(--malachite-card-header-background);color:var(--malachite-card-foreground);border-bottom:1px solid var(--malachite-card-border)}.card-footer{background-color:var(--malachite-card-footer-background);color:var(--malachite-card-foreground);border-top:1px solid var(--malachite-card-border)}.confirmation-badge svg{width:12px!important;height:12px!important}.alert-base{border-radius:8px;justify-content:center;align-items:flex-start;gap:8px;width:100%;margin:0 10px;padding:10px;display:flex}.alert-base svg{margin-top:4px}.alert-base.alert-expandable svg{margin-top:3px}.alert-no-margin{margin:0}.alert-info{background-color:var(--malachite-alert-info-background);color:var(--malachite-alert-info-foreground)}.alert-success{background-color:var(--malachite-alert-success-background);color:var(--malachite-alert-success-foreground)}.alert-error{background-color:var(--malachite-alert-error-background);color:var(--malachite-alert-error-foreground)}.alert-warning{background-color:var(--malachite-alert-warning-background);color:var(--malachite-alert-warning-foreground)}.alert-assistant{background-color:var(--malachite-alert-assistant-background);color:var(--malachite-alert-assistant-foreground)}.alert-icon-info{color:var(--malachite-alert-info-foreground);font-size:13px}.alert-icon-success{color:var(--malachite-alert-success-foreground);font-size:13px}.alert-icon-error{color:var(--malachite-alert-error-foreground);font-size:13px}.alert-icon-warning{color:var(--malachite-alert-warning-foreground);font-size:13px}.tooltip-base{background-color:var(--malachite-tooltip-background);max-width:320px;min-height:32px;color:var(--malachite-tooltip-foreground);box-shadow:var(--malachite-tooltip-shadow);word-wrap:break-word;white-space:normal;pointer-events:none;z-index:9999;border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;line-height:1.4;transition:opacity .15s ease-in-out,transform .15s ease-in-out;display:inline-flex;position:absolute}.tooltip-content{z-index:1;position:relative}.tooltip-visible{opacity:1;visibility:visible;transform:scale(1)}.tooltip-hidden{opacity:0;visibility:hidden;transform:scale(.95)}.tooltip-arrow{background-color:var(--malachite-tooltip-background)}svg path:not([data-malachite-shape]){fill:currentColor!important}.table-bordered-container{box-shadow:var(--malachite-table-box-shadow);background-color:var(--malachite-table-background);padding:4px}.table-header{color:var(--malachite-table-header-foreground);background-color:var(--malachite-table-header-background)!important}.table-row{background-color:var(--malachite-table-row-background);color:var(--malachite-table-row-foreground);border-bottom:1px solid var(--malachite-table-row-border)}.table-row:hover{background-color:var(--malachite-table-row-hover-background)}.table-cell-bordered{border-bottom:1px solid var(--malachite-table-borderedRow-outline)}.table-cell-bordered-top{border-top:1px solid var(--malachite-table-borderedRow-outline)}.table-cell-bordered-bottom{border-bottom:1px solid var(--malachite-table-borderedRow-outline)}.table-cell-bordered-left{border-left:1px solid var(--malachite-table-borderedRow-outline)}.table-cell-bordered-right{border-right:1px solid var(--malachite-table-borderedRow-outline)}.table-row-bordered{background-color:var(--malachite-table-borderedRow-background)}.table-error-icon{background-color:var(--malachite-table-error-icon-background);color:var(--malachite-table-error-icon-foreground)}.table-error-title{color:var(--malachite-table-error-title-foreground)}.table-error-subtitle{color:var(--malachite-table-error-subtitle-foreground)}.malachite-row-caret{color:var(--malachite-text-placeholder);transition:color .15s}.group:hover .malachite-row-caret{color:var(--malachite-text-primary)}.table-section-divider{background-color:var(--malachite-table-header-background);width:100%;color:var(--malachite-text-secondary);justify-content:space-between;align-items:flex-end;padding:12px 16px;font-size:12px;display:flex}.malachite-row-link-icon{color:var(--malachite-text-placeholder);opacity:0;transition:opacity .15s,color .15s}.group:hover .malachite-row-link-icon{opacity:1}.malachite-row-cta{cursor:pointer;width:100%;color:var(--malachite-text-warning-muted);white-space:nowrap;background:0 0;border:none;justify-content:flex-end;align-items:center;gap:8px;padding:0;font-size:13px;font-weight:500;transition:color .15s;display:flex}.malachite-row-cta:hover{color:var(--malachite-text-warning)}.malachite-number-tag{border-radius:var(--malachite-radius-md,6px);background-color:var(--malachite-number-tag-background);min-width:16px;height:16px;color:var(--malachite-number-tag-foreground);font-family:var(--malachite-font-mono,monospace);justify-content:center;align-items:center;padding:0 3px;font-size:12px;font-weight:500;line-height:1;transition:background-color .15s,color .15s;display:inline-flex}.malachite-number-tag-emphasis{background-color:var(--malachite-number-tag-emphasis-background);color:var(--malachite-number-tag-emphasis-foreground)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}';
2
2
  export {
3
3
  a as default
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackone/malachite",
3
- "version": "2.26.0",
3
+ "version": "2.27.0",
4
4
  "description": "StackOne's themeable React component library — Shadow DOM isolated, scoped Tailwind, theme-token driven.",
5
5
  "license": "MIT",
6
6
  "author": "StackOne",