@haklex/rich-ext-chat 0.58.0 → 0.59.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"ChatEditRenderer.d.ts","sourceRoot":"","sources":["../src/ChatEditRenderer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAYhC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,OAAO,EAAE,WAAW,CAAC;QACrB,YAAY,EAAE,eAAe,EAAE,CAAC;QAChC,QAAQ,EAAE,WAAW,EAAE,CAAC;KACzB,KAAK,IAAI,CAAC;IACX,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACjD,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAgDtD,CAAC"}
1
+ {"version":3,"file":"ChatEditRenderer.d.ts","sourceRoot":"","sources":["../src/ChatEditRenderer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAYhC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,OAAO,EAAE,WAAW,CAAC;QACrB,YAAY,EAAE,eAAe,EAAE,CAAC;QAChC,QAAQ,EAAE,WAAW,EAAE,CAAC;KACzB,KAAK,IAAI,CAAC;IACX,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACjD,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CA6DtD,CAAC"}
@@ -1,18 +1,18 @@
1
1
  import { FC } from 'react';
2
2
  import { ChatMessage, ChatParticipant, ChatVariant } from './types';
3
+ interface ChatDraft {
4
+ messages: ChatMessage[];
5
+ participants: ChatParticipant[];
6
+ variant: ChatVariant;
7
+ }
3
8
  export interface ChatEditorModalProps {
4
9
  dismiss: () => void;
5
- initial: {
6
- variant: ChatVariant;
7
- participants: ChatParticipant[];
8
- messages: ChatMessage[];
9
- };
10
+ initial: ChatDraft;
10
11
  onCancel?: () => void;
11
- onCommit?: (next: {
12
- variant: ChatVariant;
13
- participants: ChatParticipant[];
14
- messages: ChatMessage[];
15
- }) => void;
12
+ onCommit?: (next: ChatDraft) => void;
13
+ onDirtyChange?: (dirty: boolean) => void;
14
+ requestDismiss?: () => void;
16
15
  }
17
16
  export declare const ChatEditorModal: FC<ChatEditorModalProps>;
17
+ export {};
18
18
  //# sourceMappingURL=ChatEditorModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatEditorModal.d.ts","sourceRoot":"","sources":["../src/ChatEditorModal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,EAAE,EAAE,MAAM,OAAO,CAAC;AAI7C,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAIzE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,YAAY,EAAE,eAAe,EAAE,CAAC;QAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IAC5F,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,OAAO,EAAE,WAAW,CAAC;QACrB,YAAY,EAAE,eAAe,EAAE,CAAC;QAChC,QAAQ,EAAE,WAAW,EAAE,CAAC;KACzB,KAAK,IAAI,CAAC;CACZ;AAWD,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CA4LpD,CAAC"}
1
+ {"version":3,"file":"ChatEditorModal.d.ts","sourceRoot":"","sources":["../src/ChatEditorModal.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAe,EAAE,EAAE,MAAM,OAAO,CAAC;AAI7C,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAIzE,UAAU,SAAS;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAeD,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAgNpD,CAAC"}
@@ -37,33 +37,19 @@ var semanticClassNames = {
37
37
  editLabel: "rich-chat-edit-label"
38
38
  };
39
39
  var modal = "_7z1aq6m";
40
- var modalHeader = "_7z1aq6n";
41
- var modalBody = "_7z1aq6o";
42
- var rail = "_7z1aq6p";
43
- var pane = "_7z1aq6q";
44
- var sectionLabel = "_7z1aq6r";
45
- var variantStack = "_7z1aq6s";
46
- var variantPill = "_7z1aq6t";
47
- var variantPillActive = "_7z1aq6u";
48
- var variantPillName = "_7z1aq6v";
49
- var variantPillHint = "_7z1aq6w";
50
- var participantCard = "_7z1aq6x";
51
- var participantRow = "_7z1aq6y";
52
- var participantPill = "_7z1aq6z";
53
- var participantPillUser = "_7z1aq610";
54
- var participantLabel = "_7z1aq611";
55
- var participantInput = "_7z1aq612";
56
- var messageCard = "_7z1aq613";
57
- var messageHead = "_7z1aq614";
58
- var messageSelect = "_7z1aq615";
59
- var messageActions = "_7z1aq616";
60
- var messageTextarea = "_7z1aq617";
61
- var addMessage = "_7z1aq618";
62
- var addMessageButton = "_7z1aq619";
63
- var modalFooter = "_7z1aq61a";
64
- var button = "_7z1aq61b";
65
- var buttonPrimary = "_7z1aq61c";
66
- var buttonGhost = "_7z1aq61d";
40
+ var modalBody = "_7z1aq6n";
41
+ var rail = "_7z1aq6o";
42
+ var pane = "_7z1aq6p";
43
+ var sectionLabel = "_7z1aq6q";
44
+ var participantCard = "_7z1aq6r";
45
+ var participantPill = "_7z1aq6s";
46
+ var participantPillUser = "_7z1aq6t";
47
+ var messageCard = "_7z1aq6u";
48
+ var messageHead = "_7z1aq6v";
49
+ var messageSelect = "_7z1aq6w";
50
+ var messageActions = "_7z1aq6x";
51
+ var messageTextarea = "_7z1aq6y";
52
+ var addMessage = "_7z1aq6z";
67
53
  //#endregion
68
54
  //#region src/ChatRenderer.tsx
69
55
  var streamdownPlugins = { code: streamdownCodePlugin };
@@ -187,4 +173,4 @@ var ChatRenderer = ({ variant, participants, messages }) => {
187
173
  });
188
174
  };
189
175
  //#endregion
190
- export { variantPill as A, participantLabel as C, rail as D, participantRow as E, variantPillHint as M, variantPillName as N, sectionLabel as O, variantStack as P, participantInput as S, participantPillUser as T, modalBody as _, buttonGhost as a, pane as b, editLabel as c, messageActions as d, messageCard as f, modal as g, messageTextarea as h, button as i, variantPillActive as j, semanticClassNames as k, editOverlay as l, messageSelect as m, addMessage as n, buttonPrimary as o, messageHead as p, addMessageButton as r, editContainer as s, ChatRenderer as t, editorDialogPopup as u, modalFooter as v, participantPill as w, participantCard as x, modalHeader as y };
176
+ export { participantPillUser as _, editOverlay as a, semanticClassNames as b, messageCard as c, messageTextarea as d, modal as f, participantPill as g, participantCard as h, editLabel as i, messageHead as l, pane as m, addMessage as n, editorDialogPopup as o, modalBody as p, editContainer as r, messageActions as s, ChatRenderer as t, messageSelect as u, rail as v, sectionLabel as y };
@@ -1,11 +1,11 @@
1
- import { A as variantPill, C as participantLabel, D as rail, E as participantRow, M as variantPillHint, N as variantPillName, O as sectionLabel, P as variantStack, S as participantInput, T as participantPillUser, _ as modalBody, a as buttonGhost, b as pane, c as editLabel, d as messageActions, f as messageCard, g as modal, h as messageTextarea, i as button, j as variantPillActive, k as semanticClassNames, l as editOverlay, m as messageSelect, n as addMessage, o as buttonPrimary, p as messageHead, r as addMessageButton, s as editContainer, t as ChatRenderer, u as editorDialogPopup, v as modalFooter, w as participantPill, x as participantCard, y as modalHeader } from "./ChatRenderer-DhF8PrWR.js";
1
+ import { _ as participantPillUser, a as editOverlay, b as semanticClassNames, c as messageCard, d as messageTextarea, f as modal, g as participantPill, h as participantCard, i as editLabel, l as messageHead, m as pane, n as addMessage, o as editorDialogPopup, p as modalBody, r as editContainer, s as messageActions, t as ChatRenderer, u as messageSelect, v as rail, y as sectionLabel } from "./ChatRenderer-MctdQ_mU.js";
2
2
  import { i as _defineProperty, n as $isChatNode, o as createMessageId, r as ChatNode } from "./ChatNode-BfiW4nZ3.js";
3
3
  import { $getNodeByKey, $insertNodes } from "lexical";
4
- import { ArrowDown, ArrowUp, MessageSquare, Pencil, Trash2 } from "lucide-react";
5
- import { createElement, useCallback, useEffect, useRef, useState } from "react";
4
+ import { ArrowDown, ArrowUp, MessageSquare, Pencil, Plus, Trash2 } from "lucide-react";
5
+ import { createElement, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
6
6
  import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
7
7
  import { useColorScheme } from "@haklex/rich-editor/static";
8
- import { presentDialog } from "@haklex/rich-editor-ui";
8
+ import { ActionButton, Field, ModalShell, ModalShellBody, ModalShellFooter, ModalShellHeader, SegmentedControl, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, TextInput, confirmDiscardChanges, presentDialog } from "@haklex/rich-editor-ui";
9
9
  import { usePortalTheme } from "@haklex/rich-style-token";
10
10
  import { jsx, jsxs } from "react/jsx-runtime";
11
11
  //#region src/variant-reducer.ts
@@ -24,23 +24,41 @@ function switchVariant(next, participants) {
24
24
  }
25
25
  //#endregion
26
26
  //#region src/ChatEditorModal.tsx
27
- var VARIANT_LABELS = {
28
- "user-agent": {
29
- name: "user · agent",
30
- hint: "Bubble + article"
31
- },
32
- "user-user": {
33
- name: "user · user",
34
- hint: "Both bubbles"
35
- }
36
- };
27
+ var VARIANT_ITEMS = [{
28
+ value: "user-agent",
29
+ label: "User · agent"
30
+ }, {
31
+ value: "user-user",
32
+ label: "User · user"
33
+ }];
37
34
  function defaultName(p) {
38
35
  return p.name ?? (p.kind === "agent" ? "Assistant" : "User");
39
36
  }
40
- var ChatEditorModal = ({ initial, dismiss, onCommit, onCancel }) => {
37
+ function kindLabel(p) {
38
+ return p.kind === "agent" ? "Agent" : "User";
39
+ }
40
+ var ChatEditorModal = ({ initial, dismiss, requestDismiss, onCommit, onCancel, onDirtyChange }) => {
41
+ const idPrefix = useId();
41
42
  const [variant, setVariant] = useState(initial.variant);
42
43
  const [participants, setParticipants] = useState(initial.participants);
43
44
  const [messages, setMessages] = useState(initial.messages);
45
+ const dirty = useMemo(() => JSON.stringify({
46
+ variant,
47
+ participants,
48
+ messages
49
+ }) !== JSON.stringify(initial), [
50
+ variant,
51
+ participants,
52
+ messages,
53
+ initial
54
+ ]);
55
+ useEffect(() => {
56
+ onDirtyChange?.(dirty);
57
+ }, [dirty, onDirtyChange]);
58
+ const participantItems = useMemo(() => participants.map((p) => ({
59
+ value: p.id,
60
+ label: `${defaultName(p)} (${kindLabel(p)})`
61
+ })), [participants]);
44
62
  const handleVariantChange = useCallback((next) => {
45
63
  setVariant(next);
46
64
  setParticipants((current) => switchVariant(next, current));
@@ -83,7 +101,7 @@ var ChatEditorModal = ({ initial, dismiss, onCommit, onCancel }) => {
83
101
  const deleteMessage = useCallback((id) => {
84
102
  setMessages((prev) => prev.filter((m) => m.id !== id));
85
103
  }, []);
86
- const handleDone = useCallback(() => {
104
+ const handleSave = useCallback(() => {
87
105
  onCommit?.({
88
106
  variant,
89
107
  participants,
@@ -98,124 +116,124 @@ var ChatEditorModal = ({ initial, dismiss, onCommit, onCancel }) => {
98
116
  dismiss
99
117
  ]);
100
118
  const handleCancel = useCallback(() => {
119
+ if (requestDismiss) {
120
+ requestDismiss();
121
+ return;
122
+ }
101
123
  onCancel?.();
102
124
  dismiss();
103
- }, [onCancel, dismiss]);
104
- return /* @__PURE__ */ jsxs("div", {
125
+ }, [
126
+ requestDismiss,
127
+ onCancel,
128
+ dismiss
129
+ ]);
130
+ return /* @__PURE__ */ jsxs(ModalShell, {
105
131
  className: modal,
132
+ onSave: handleSave,
106
133
  children: [
107
- /* @__PURE__ */ jsx("div", {
108
- className: modalHeader,
109
- children: "Edit chat"
134
+ /* @__PURE__ */ jsx(ModalShellHeader, {
135
+ icon: /* @__PURE__ */ jsx(MessageSquare, {}),
136
+ title: "Edit chat",
137
+ center: /* @__PURE__ */ jsx(SegmentedControl, {
138
+ items: VARIANT_ITEMS,
139
+ value: variant,
140
+ onChange: handleVariantChange
141
+ }),
142
+ onClose: handleCancel
110
143
  }),
111
- /* @__PURE__ */ jsxs("div", {
144
+ /* @__PURE__ */ jsxs(ModalShellBody, {
112
145
  className: modalBody,
113
146
  children: [/* @__PURE__ */ jsxs("aside", {
114
147
  className: rail,
115
- children: [
116
- /* @__PURE__ */ jsx("div", {
117
- className: sectionLabel,
118
- children: "Variant"
119
- }),
120
- /* @__PURE__ */ jsx("div", {
121
- className: variantStack,
122
- children: Object.keys(VARIANT_LABELS).map((key) => /* @__PURE__ */ jsxs("button", {
123
- className: `${variantPill} ${variant === key ? variantPillActive : ""}`,
124
- type: "button",
125
- onClick: () => handleVariantChange(key),
126
- children: [/* @__PURE__ */ jsx("div", {
127
- className: variantPillName,
128
- children: VARIANT_LABELS[key].name
129
- }), /* @__PURE__ */ jsx("div", {
130
- className: variantPillHint,
131
- children: VARIANT_LABELS[key].hint
132
- })]
133
- }, key))
134
- }),
135
- /* @__PURE__ */ jsx("div", {
136
- className: sectionLabel,
137
- children: "Participants"
138
- }),
139
- participants.map((p) => /* @__PURE__ */ jsxs("div", {
140
- className: participantCard,
141
- children: [/* @__PURE__ */ jsxs("div", {
142
- className: participantRow,
143
- children: [/* @__PURE__ */ jsx("span", {
144
- className: `${participantPill} ${p.kind === "user" ? participantPillUser : ""}`,
145
- children: p.kind
146
- }), /* @__PURE__ */ jsx("input", {
147
- className: participantInput,
148
- placeholder: "Display name",
149
- type: "text",
148
+ children: [/* @__PURE__ */ jsx("div", {
149
+ className: sectionLabel,
150
+ children: "Participants"
151
+ }), participants.map((p) => /* @__PURE__ */ jsxs("div", {
152
+ className: participantCard,
153
+ children: [
154
+ /* @__PURE__ */ jsx("span", {
155
+ className: `${participantPill} ${p.kind === "user" ? participantPillUser : ""}`,
156
+ children: kindLabel(p)
157
+ }),
158
+ /* @__PURE__ */ jsx(Field, {
159
+ id: `${idPrefix}-${p.id}-name`,
160
+ label: "Display name",
161
+ children: /* @__PURE__ */ jsx(TextInput, {
162
+ id: `${idPrefix}-${p.id}-name`,
163
+ placeholder: defaultName(p),
150
164
  value: p.name ?? "",
151
165
  onChange: (e) => updateParticipant(p.id, { name: e.target.value || void 0 })
152
- })]
153
- }), /* @__PURE__ */ jsxs("div", {
154
- className: participantRow,
155
- children: [/* @__PURE__ */ jsx("span", {
156
- className: participantLabel,
157
- children: "Avatar"
158
- }), /* @__PURE__ */ jsx("input", {
159
- className: participantInput,
160
- placeholder: "URL (optional)",
161
- type: "text",
166
+ })
167
+ }),
168
+ /* @__PURE__ */ jsx(Field, {
169
+ id: `${idPrefix}-${p.id}-avatar`,
170
+ label: "Avatar URL",
171
+ children: /* @__PURE__ */ jsx(TextInput, {
172
+ id: `${idPrefix}-${p.id}-avatar`,
173
+ placeholder: "Optional",
174
+ type: "url",
162
175
  value: p.avatar ?? "",
163
176
  onChange: (e) => updateParticipant(p.id, { avatar: e.target.value || void 0 })
164
- })]
165
- })]
166
- }, p.id))
167
- ]
168
- }), /* @__PURE__ */ jsxs("main", {
177
+ })
178
+ })
179
+ ]
180
+ }, p.id))]
181
+ }), /* @__PURE__ */ jsxs("div", {
169
182
  className: pane,
170
183
  children: [
171
- /* @__PURE__ */ jsxs("div", {
184
+ /* @__PURE__ */ jsx("div", {
172
185
  className: sectionLabel,
173
- children: ["Messages — ", messages.length]
186
+ children: "Messages"
174
187
  }),
175
- messages.map((m) => /* @__PURE__ */ jsxs("div", {
188
+ messages.map((m, index) => /* @__PURE__ */ jsxs("div", {
176
189
  className: messageCard,
177
190
  children: [/* @__PURE__ */ jsxs("div", {
178
191
  className: messageHead,
179
- children: [/* @__PURE__ */ jsx("select", {
180
- className: messageSelect,
192
+ children: [/* @__PURE__ */ jsxs(Select, {
193
+ items: participantItems,
181
194
  value: m.participantId,
182
- onChange: (e) => updateMessage(m.id, { participantId: e.target.value }),
183
- children: participants.map((p) => /* @__PURE__ */ jsxs("option", {
184
- value: p.id,
185
- children: [
186
- defaultName(p),
187
- " (",
188
- p.kind,
189
- ")"
190
- ]
191
- }, p.id))
195
+ onValueChange: (value) => {
196
+ if (typeof value === "string") updateMessage(m.id, { participantId: value });
197
+ },
198
+ children: [/* @__PURE__ */ jsx(SelectTrigger, {
199
+ "aria-label": `Author of message ${index + 1}`,
200
+ className: messageSelect,
201
+ children: /* @__PURE__ */ jsx(SelectValue, {})
202
+ }), /* @__PURE__ */ jsx(SelectContent, { children: participantItems.map((item) => /* @__PURE__ */ jsx(SelectItem, {
203
+ value: item.value,
204
+ children: item.label
205
+ }, item.value)) })]
192
206
  }), /* @__PURE__ */ jsxs("div", {
193
207
  className: messageActions,
194
208
  children: [
195
- /* @__PURE__ */ jsx("button", {
209
+ /* @__PURE__ */ jsx(ActionButton, {
210
+ icon: true,
196
211
  "aria-label": "Move up",
197
- className: `${button} ${buttonGhost}`,
198
- type: "button",
212
+ disabled: index === 0,
213
+ size: "sm",
199
214
  onClick: () => moveMessage(m.id, -1),
200
- children: /* @__PURE__ */ jsx(ArrowUp, { size: 12 })
215
+ children: /* @__PURE__ */ jsx(ArrowUp, {})
201
216
  }),
202
- /* @__PURE__ */ jsx("button", {
217
+ /* @__PURE__ */ jsx(ActionButton, {
218
+ icon: true,
203
219
  "aria-label": "Move down",
204
- className: `${button} ${buttonGhost}`,
205
- type: "button",
220
+ disabled: index === messages.length - 1,
221
+ size: "sm",
206
222
  onClick: () => moveMessage(m.id, 1),
207
- children: /* @__PURE__ */ jsx(ArrowDown, { size: 12 })
223
+ children: /* @__PURE__ */ jsx(ArrowDown, {})
208
224
  }),
209
- /* @__PURE__ */ jsx("button", {
210
- "aria-label": "Delete",
211
- className: `${button} ${buttonGhost}`,
212
- type: "button",
225
+ /* @__PURE__ */ jsx(ActionButton, {
226
+ danger: true,
227
+ icon: true,
228
+ "aria-label": "Delete message",
229
+ size: "sm",
213
230
  onClick: () => deleteMessage(m.id),
214
- children: /* @__PURE__ */ jsx(Trash2, { size: 12 })
231
+ children: /* @__PURE__ */ jsx(Trash2, {})
215
232
  })
216
233
  ]
217
234
  })]
218
235
  }), /* @__PURE__ */ jsx("textarea", {
236
+ "aria-label": `Message ${index + 1}`,
219
237
  className: messageTextarea,
220
238
  value: m.content,
221
239
  onChange: (e) => updateMessage(m.id, { content: e.target.value })
@@ -223,29 +241,21 @@ var ChatEditorModal = ({ initial, dismiss, onCommit, onCancel }) => {
223
241
  }, m.id)),
224
242
  /* @__PURE__ */ jsx("div", {
225
243
  className: addMessage,
226
- children: /* @__PURE__ */ jsx("button", {
227
- className: addMessageButton,
228
- type: "button",
244
+ children: /* @__PURE__ */ jsxs(ActionButton, {
245
+ size: "md",
246
+ variant: "outline",
229
247
  onClick: addMessage$1,
230
- children: "+ Add message"
248
+ children: [/* @__PURE__ */ jsx(Plus, {}), "Add message"]
231
249
  })
232
250
  })
233
251
  ]
234
252
  })]
235
253
  }),
236
- /* @__PURE__ */ jsxs("div", {
237
- className: modalFooter,
238
- children: [/* @__PURE__ */ jsx("button", {
239
- className: button,
240
- type: "button",
241
- onClick: handleCancel,
242
- children: "Cancel"
243
- }), /* @__PURE__ */ jsx("button", {
244
- className: `${button} ${buttonPrimary}`,
245
- type: "button",
246
- onClick: handleDone,
247
- children: "Done"
248
- })]
254
+ /* @__PURE__ */ jsx(ModalShellFooter, {
255
+ dirty,
256
+ status: `${messages.length} ${messages.length === 1 ? "message" : "messages"}`,
257
+ onCancel: handleCancel,
258
+ onSave: handleSave
249
259
  })
250
260
  ]
251
261
  });
@@ -256,22 +266,35 @@ var ChatEditRenderer = ({ variant, participants, messages, onChange, onCancel, r
256
266
  const { className: portalClassName } = usePortalTheme();
257
267
  const colorScheme = useColorScheme();
258
268
  const openEditor = useCallback(() => {
269
+ let dirty = false;
270
+ let saved = false;
259
271
  presentDialog({
260
- content: ({ dismiss }) => /* @__PURE__ */ jsx(ChatEditorModal, {
272
+ content: ({ dismiss, requestDismiss }) => /* @__PURE__ */ jsx(ChatEditorModal, {
261
273
  dismiss,
262
274
  initial: {
263
275
  variant,
264
276
  participants,
265
277
  messages
266
278
  },
267
- onCancel,
268
- onCommit: onChange
279
+ requestDismiss,
280
+ onCommit: (next) => {
281
+ saved = true;
282
+ onChange?.(next);
283
+ },
284
+ onDirtyChange: (next) => {
285
+ dirty = next;
286
+ }
269
287
  }),
270
288
  className: editorDialogPopup,
271
289
  portalClassName,
272
290
  theme: colorScheme,
291
+ width: 920,
292
+ sheet: "auto",
273
293
  showCloseButton: false,
274
- clickOutsideToDismiss: false
294
+ confirmDismiss: () => !dirty || confirmDiscardChanges(),
295
+ onClose: () => {
296
+ if (!saved) onCancel?.();
297
+ }
275
298
  });
276
299
  }, [
277
300
  variant,
package/dist/edit.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  import { t as __augmentLoaded_chat } from "./augment-jeNYpQAa.js";
2
- import { a as ChatEditDecorator, i as ChatEditNode, n as $createChatEditNode, o as ChatEditRenderer, r as $isChatEditNode, s as ChatEditorModal, t as chatEditNodes } from "./edit-CNNgcM_N.js";
2
+ import { a as ChatEditDecorator, i as ChatEditNode, n as $createChatEditNode, o as ChatEditRenderer, r as $isChatEditNode, s as ChatEditorModal, t as chatEditNodes } from "./edit-DOzdngsn.js";
3
3
  export { $createChatEditNode, $isChatEditNode, ChatEditDecorator, ChatEditNode, ChatEditRenderer, ChatEditorModal, __augmentLoaded_chat, chatEditNodes };
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { t as __augmentLoaded_chat } from "./augment-jeNYpQAa.js";
2
- import { t as ChatRenderer } from "./ChatRenderer-DhF8PrWR.js";
2
+ import { t as ChatRenderer } from "./ChatRenderer-MctdQ_mU.js";
3
3
  import { a as CHAT_NODE_KEY, n as $isChatNode, r as ChatNode, t as $createChatNode } from "./ChatNode-BfiW4nZ3.js";
4
- import { a as ChatEditDecorator, i as ChatEditNode, n as $createChatEditNode, o as ChatEditRenderer, r as $isChatEditNode, s as ChatEditorModal, t as chatEditNodes } from "./edit-CNNgcM_N.js";
4
+ import { a as ChatEditDecorator, i as ChatEditNode, n as $createChatEditNode, o as ChatEditRenderer, r as $isChatEditNode, s as ChatEditorModal, t as chatEditNodes } from "./edit-DOzdngsn.js";
5
5
  import { chatNodes } from "./node.mjs";
6
6
  import "./renderer.mjs";
7
7
  export { $createChatEditNode, $createChatNode, $isChatEditNode, $isChatNode, CHAT_NODE_KEY, ChatEditDecorator, ChatEditNode, ChatEditRenderer, ChatEditorModal, ChatNode, ChatRenderer, __augmentLoaded_chat, chatEditNodes, chatNodes };
package/dist/renderer.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as __augmentLoaded_chat } from "./augment-jeNYpQAa.js";
2
- import { t as ChatRenderer } from "./ChatRenderer-DhF8PrWR.js";
2
+ import { t as ChatRenderer } from "./ChatRenderer-MctdQ_mU.js";
3
3
  //#region src/renderer.ts
4
4
  var renderer_default = ChatRenderer;
5
5
  //#endregion
@@ -1,2 +1,2 @@
1
- :root{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-max-width:700px;--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:1.25em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:var(--rc-host-font-family-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-font-family-serif:var(--rc-host-font-family-serif,"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif);--rc-font-family-kai:var(--rc-host-font-family-kai,"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif);--rc-font-mono:var(--rc-host-font-mono,"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace);--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.75;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:var(--rc-host-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}:root.dark,[data-theme=dark]{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}._14jgd8k0{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-max-width:700px;--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:1.25em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:var(--rc-host-font-family-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-font-family-serif:var(--rc-host-font-family-serif,"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif);--rc-font-family-kai:var(--rc-host-font-family-kai,"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif);--rc-font-mono:var(--rc-host-font-mono,"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace);--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.75;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:var(--rc-host-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._14jgd8k1{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-max-width:700px;--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:.5em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:var(--rc-host-font-family-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-font-family-serif:var(--rc-host-font-family-serif,"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif);--rc-font-family-kai:var(--rc-host-font-family-kai,"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif);--rc-font-mono:var(--rc-host-font-mono,"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace);--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.85;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:var(--rc-host-font-family,"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif);--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._14jgd8k2{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#fafafa);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-max-width:none;--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-space-xs:2px;--rc-space-sm:4px;--rc-space-md:10px;--rc-space-lg:16px;--rc-space-xl:20px;--rc-flow-paragraph:.6em;--rc-flow-list:.25em;--rc-flow-block:1em;--rc-flow-heading:1em;--rc-font-family-sans:var(--rc-host-font-family-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-font-family-serif:var(--rc-host-font-family-serif,"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif);--rc-font-family-kai:var(--rc-host-font-family-kai,"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif);--rc-font-mono:var(--rc-host-font-mono,"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace);--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:14px;--rc-font-size-small:12px;--rc-font-size-code:.9286em;--rc-font-size-caption:.9286em;--rc-line-height:1.6;--rc-line-height-tight:1.3;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:var(--rc-host-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-radius-sm:3px;--rc-radius-md:6px;--rc-radius-lg:12px}._14jgd8k3{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#fafafa);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-max-width:none;--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:.75em;--rc-flow-list:.25em;--rc-flow-block:1em;--rc-flow-heading:1em;--rc-font-family-sans:var(--rc-host-font-family-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-font-family-serif:var(--rc-host-font-family-serif,"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif);--rc-font-family-kai:var(--rc-host-font-family-kai,"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif);--rc-font-mono:var(--rc-host-font-mono,"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace);--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:15px;--rc-font-size-small:13px;--rc-font-size-code:.8667em;--rc-font-size-caption:.8667em;--rc-line-height:1.65;--rc-line-height-tight:1.3;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:var(--rc-host-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}.dark ._14jgd8k0,[data-theme=dark] ._14jgd8k0,.dark._14jgd8k0,[data-theme=dark]._14jgd8k0,.dark ._14jgd8k1,[data-theme=dark] ._14jgd8k1,.dark._14jgd8k1,[data-theme=dark]._14jgd8k1,.dark ._14jgd8k2,[data-theme=dark] ._14jgd8k2,.dark._14jgd8k2,[data-theme=dark]._14jgd8k2,.dark ._14jgd8k3,[data-theme=dark] ._14jgd8k3,.dark._14jgd8k3,[data-theme=dark]._14jgd8k3{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=dark] [data-theme=light] ._14jgd8k0{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=light] [data-theme=dark] ._14jgd8k0{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=light][data-theme]._14jgd8k0{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=dark][data-theme]._14jgd8k0{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=dark] [data-theme=light] ._14jgd8k1{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=light] [data-theme=dark] ._14jgd8k1{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=light][data-theme]._14jgd8k1{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=dark][data-theme]._14jgd8k1{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=dark] [data-theme=light] ._14jgd8k2{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#fafafa);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=light] [data-theme=dark] ._14jgd8k2{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=light][data-theme]._14jgd8k2{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#fafafa);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=dark][data-theme]._14jgd8k2{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=dark] [data-theme=light] ._14jgd8k3{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#fafafa);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=light] [data-theme=dark] ._14jgd8k3{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=light][data-theme]._14jgd8k3{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#fafafa);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=dark][data-theme]._14jgd8k3{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}._7z1aq60{flex-direction:column;gap:20px;padding:12px 0;display:flex}._7z1aq61{align-items:flex-start;gap:10px;display:flex}._7z1aq62{justify-content:flex-end}._7z1aq63{background:var(--rc-bg-tertiary);border:1px solid var(--rc-border);width:28px;height:28px;color:var(--rc-text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex;overflow:hidden}._7z1aq64{width:24px;height:24px;font-size:11px}._7z1aq65{background:var(--rc-text);color:var(--rc-bg);border-color:var(--rc-text)}._7z1aq66{object-fit:cover;width:100%;height:100%}._7z1aq67{background:var(--rc-bg-tertiary);max-width:70%;color:var(--rc-text);padding:10px 14px;font-size:15px;line-height:1.6}._7z1aq68{border-radius:14px 14px 4px}._7z1aq69{border-radius:14px 14px 14px 4px}._7z1aq6a{flex-direction:column;flex:1;min-width:0;display:flex}._7z1aq6b{align-items:center;gap:8px;margin-bottom:8px;display:flex}._7z1aq6c{color:var(--rc-text);font-size:13px;font-weight:500}._7z1aq6d{color:inherit;font-size:15px;line-height:1.7}._7z1aq6e{flex-direction:column;flex:auto;align-items:flex-start;min-width:0;max-width:70%;display:flex}._7z1aq6f{align-items:flex-end}._7z1aq6g{color:var(--rc-text-tertiary);margin-bottom:4px;padding:0 4px;font-size:12px;font-weight:500}._7z1aq6h{color:var(--rc-text-tertiary);padding:8px 0;font-size:13px;font-style:italic}._7z1aq6i{position:relative}._7z1aq6j{background:var(--rc-bg);border:1px solid var(--rc-border);color:var(--rc-text);opacity:0;cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;transition:opacity .12s;display:inline-flex;position:absolute;top:8px;right:8px}._7z1aq6i:hover ._7z1aq6j{opacity:1}._7z1aq6k{align-items:center;gap:4px;display:inline-flex}._7z1aq6l{width:920px;max-width:95vw}._7z1aq6m{background:var(--rc-bg);color:var(--rc-text);border-radius:14px;flex-direction:column;width:920px;max-width:95vw;display:flex;overflow:hidden}._7z1aq6n{border-bottom:1px solid var(--rc-border);color:var(--rc-text);padding:14px 22px;font-size:14px;font-weight:600}._7z1aq6o{height:540px;display:flex}._7z1aq6p{border-right:1px solid var(--rc-border);background:var(--rc-bg-secondary);flex-shrink:0;width:280px;padding:18px 18px 14px;overflow-y:auto}._7z1aq6q{flex:1;min-width:0;padding:14px 22px 18px;overflow-y:auto}._7z1aq6r{text-transform:uppercase;letter-spacing:.08em;color:var(--rc-text-tertiary);margin-bottom:8px;font-size:11px;font-weight:500}._7z1aq6r:not(:first-child){margin-top:22px}._7z1aq6s{flex-direction:column;gap:6px;display:flex}._7z1aq6t{border:1px solid var(--rc-border);cursor:pointer;background:var(--rc-bg);color:var(--rc-text);text-align:left;border-radius:8px;padding:9px 11px}._7z1aq6u{border-color:var(--rc-text)}._7z1aq6v{font-size:13px;font-weight:600}._7z1aq6w{color:var(--rc-text-tertiary);font-size:11px}._7z1aq6x{border:1px solid var(--rc-border);background:var(--rc-bg);border-radius:8px;margin-bottom:8px;padding:9px 10px}._7z1aq6y{align-items:center;gap:6px;margin-bottom:5px;display:flex}._7z1aq6z{text-transform:uppercase;letter-spacing:.08em;background:var(--rc-text);color:var(--rc-bg);border-radius:4px;padding:2px 6px;font-size:9.5px;font-weight:600}._7z1aq610{background:var(--rc-text-tertiary)}._7z1aq611{color:var(--rc-text-tertiary);width:42px;font-size:10.5px}._7z1aq612{border:1px solid var(--rc-border);background:var(--rc-bg);color:var(--rc-text);border-radius:5px;outline:none;flex:1;width:0;padding:4px 7px;font-size:12.5px}._7z1aq612:focus{border-color:color-mix(in srgb, var(--rc-text) 40%, transparent)}._7z1aq613{border:1px solid var(--rc-border);background:var(--rc-bg);border-radius:10px;margin-bottom:10px;overflow:hidden}._7z1aq614{background:var(--rc-bg-secondary);border-bottom:1px solid var(--rc-border);justify-content:space-between;align-items:center;padding:7px 12px;display:flex}._7z1aq615{background:var(--rc-bg);color:var(--rc-text);border:1px solid var(--rc-border);border-radius:5px;padding:3px 6px;font-size:12px}._7z1aq616{gap:2px;display:flex}._7z1aq617{width:100%;font-family:var(--rc-font-mono);color:var(--rc-text);background:var(--rc-bg);resize:vertical;box-sizing:border-box;border:0;outline:none;min-height:70px;padding:10px 12px;font-size:13px;line-height:1.55}._7z1aq618{justify-content:center;margin:10px 0 4px;display:flex}._7z1aq619{border:1px dashed var(--rc-border);color:var(--rc-text-tertiary);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:13px}._7z1aq619:hover{color:var(--rc-text);border-color:color-mix(in srgb, var(--rc-text) 40%, transparent)}._7z1aq61a{border-top:1px solid var(--rc-border);background:var(--rc-bg-secondary);justify-content:flex-end;gap:8px;padding:12px 22px;display:flex}._7z1aq61b{border:1px solid var(--rc-border);background:var(--rc-bg);color:var(--rc-text);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}._7z1aq61c{background:var(--rc-text);color:var(--rc-bg);border-color:var(--rc-text)}._7z1aq61d{color:var(--rc-text-tertiary);background:0 0;border-color:#0000}._7z1aq61d:hover{color:var(--rc-text);background:color-mix(in srgb, var(--rc-text) 8%, transparent)}@media (max-width:600px){._7z1aq67,._7z1aq6e{max-width:85%}}
1
+ :root{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-max-width:700px;--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:1.25em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:var(--rc-host-font-family-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-font-family-serif:var(--rc-host-font-family-serif,"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif);--rc-font-family-kai:var(--rc-host-font-family-kai,"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif);--rc-font-mono:var(--rc-host-font-mono,"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace);--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.75;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:var(--rc-host-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}:root.dark,[data-theme=dark]{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}._14jgd8k0{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-max-width:700px;--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:1.25em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:var(--rc-host-font-family-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-font-family-serif:var(--rc-host-font-family-serif,"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif);--rc-font-family-kai:var(--rc-host-font-family-kai,"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif);--rc-font-mono:var(--rc-host-font-mono,"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace);--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.75;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:var(--rc-host-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._14jgd8k1{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-max-width:700px;--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:.5em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:var(--rc-host-font-family-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-font-family-serif:var(--rc-host-font-family-serif,"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif);--rc-font-family-kai:var(--rc-host-font-family-kai,"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif);--rc-font-mono:var(--rc-host-font-mono,"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace);--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.85;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:var(--rc-host-font-family,"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif);--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._14jgd8k2{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#fafafa);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-max-width:none;--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-space-xs:2px;--rc-space-sm:4px;--rc-space-md:10px;--rc-space-lg:16px;--rc-space-xl:20px;--rc-flow-paragraph:.6em;--rc-flow-list:.25em;--rc-flow-block:1em;--rc-flow-heading:1em;--rc-font-family-sans:var(--rc-host-font-family-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-font-family-serif:var(--rc-host-font-family-serif,"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif);--rc-font-family-kai:var(--rc-host-font-family-kai,"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif);--rc-font-mono:var(--rc-host-font-mono,"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace);--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:14px;--rc-font-size-small:12px;--rc-font-size-code:.9286em;--rc-font-size-caption:.9286em;--rc-line-height:1.6;--rc-line-height-tight:1.3;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:var(--rc-host-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-radius-sm:3px;--rc-radius-md:6px;--rc-radius-lg:12px}._14jgd8k3{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#fafafa);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-max-width:none;--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:.75em;--rc-flow-list:.25em;--rc-flow-block:1em;--rc-flow-heading:1em;--rc-font-family-sans:var(--rc-host-font-family-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-font-family-serif:var(--rc-host-font-family-serif,"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif);--rc-font-family-kai:var(--rc-host-font-family-kai,"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif);--rc-font-mono:var(--rc-host-font-mono,"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace);--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:15px;--rc-font-size-small:13px;--rc-font-size-code:.8667em;--rc-font-size-caption:.8667em;--rc-line-height:1.65;--rc-line-height-tight:1.3;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:var(--rc-host-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji");--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}.dark ._14jgd8k0,[data-theme=dark] ._14jgd8k0,.dark._14jgd8k0,[data-theme=dark]._14jgd8k0,.dark ._14jgd8k1,[data-theme=dark] ._14jgd8k1,.dark._14jgd8k1,[data-theme=dark]._14jgd8k1,.dark ._14jgd8k2,[data-theme=dark] ._14jgd8k2,.dark._14jgd8k2,[data-theme=dark]._14jgd8k2,.dark ._14jgd8k3,[data-theme=dark] ._14jgd8k3,.dark._14jgd8k3,[data-theme=dark]._14jgd8k3{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=dark] [data-theme=light] ._14jgd8k0{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=light] [data-theme=dark] ._14jgd8k0{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=light][data-theme]._14jgd8k0{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=dark][data-theme]._14jgd8k0{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=dark] [data-theme=light] ._14jgd8k1{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=light] [data-theme=dark] ._14jgd8k1{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=light][data-theme]._14jgd8k1{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#f5f5f5);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=dark][data-theme]._14jgd8k1{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=dark] [data-theme=light] ._14jgd8k2{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#fafafa);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=light] [data-theme=dark] ._14jgd8k2{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=light][data-theme]._14jgd8k2{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#fafafa);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=dark][data-theme]._14jgd8k2{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=dark] [data-theme=light] ._14jgd8k3{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#fafafa);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=light] [data-theme=dark] ._14jgd8k3{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}[data-theme=light][data-theme]._14jgd8k3{--rc-text:var(--rc-host-text,#171717);--rc-text-secondary:var(--rc-host-text-secondary,#404040);--rc-text-tertiary:var(--rc-host-text-tertiary,#737373);--rc-text-quaternary:var(--rc-host-text-quaternary,#a3a3a3);--rc-bg:var(--rc-host-bg,#fff);--rc-bg-secondary:var(--rc-host-bg-secondary,#fafafa);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#f5f5f5);--rc-bg-elevated:var(--rc-host-bg-elevated,#fff);--rc-fill:var(--rc-host-fill,#00000012);--rc-fill-secondary:var(--rc-host-fill-secondary,#0000000b);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#00000008);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#00000005);--rc-border:var(--rc-host-border,#e5e5e5);--rc-border-subtle:var(--rc-host-border-subtle,#f0f0f0);--rc-ring:var(--rc-host-ring,#00000014);--rc-scrim:var(--rc-host-scrim,#00000052);--rc-accent:var(--rc-host-accent,#2563eb);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 10%, transparent));--rc-link:var(--rc-host-link,#2563eb);--rc-code-text:var(--rc-host-code-text,#171717);--rc-code-bg:var(--rc-host-code-bg,#f5f5f5);--rc-code-header-bg:var(--rc-host-code-header-bg,#f5f5f5);--rc-hr-border:var(--rc-host-hr-border,#e5e5e5);--rc-quote-border:var(--rc-host-quote-border,#e5e5e5);--rc-quote-bg:var(--rc-host-quote-bg,#fafafa);--rc-alert-info:var(--rc-host-alert-info,#2563eb);--rc-alert-warning:var(--rc-host-alert-warning,#b45309);--rc-alert-tip:var(--rc-host-alert-tip,#15803d);--rc-alert-caution:var(--rc-host-alert-caution,#dc2626);--rc-alert-important:var(--rc-host-alert-important,#7c3aed);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0000000d;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f;--rc-shadow-modal:0 0 0 1px #0000000f, 0 16px 48px -12px #00000040;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 4px 12px #0000000f, 0 12px 32px -8px #0000001f}[data-theme=dark][data-theme]._14jgd8k3{--rc-text:var(--rc-host-text,#ededed);--rc-text-secondary:var(--rc-host-text-secondary,#c4c4c4);--rc-text-tertiary:var(--rc-host-text-tertiary,#8f8f8f);--rc-text-quaternary:var(--rc-host-text-quaternary,#5c5c5c);--rc-bg:var(--rc-host-bg,#0a0a0a);--rc-bg-secondary:var(--rc-host-bg-secondary,#121212);--rc-bg-tertiary:var(--rc-host-bg-tertiary,#1a1a1a);--rc-bg-elevated:var(--rc-host-bg-elevated,#171717);--rc-fill:var(--rc-host-fill,#ffffff17);--rc-fill-secondary:var(--rc-host-fill-secondary,#ffffff0f);--rc-fill-tertiary:var(--rc-host-fill-tertiary,#ffffff0a);--rc-fill-quaternary:var(--rc-host-fill-quaternary,#ffffff06);--rc-border:var(--rc-host-border,#262626);--rc-border-subtle:var(--rc-host-border-subtle,#1c1c1c);--rc-ring:var(--rc-host-ring,#ffffff1f);--rc-scrim:var(--rc-host-scrim,#0000008f);--rc-accent:var(--rc-host-accent,#60a5fa);--rc-accent-light:var(--rc-host-accent-light,color-mix(in oklab, var(--rc-accent) 16%, transparent));--rc-link:var(--rc-host-link,#60a5fa);--rc-code-text:var(--rc-host-code-text,#ededed);--rc-code-bg:var(--rc-host-code-bg,#1a1a1a);--rc-code-header-bg:var(--rc-host-code-header-bg,#1a1a1a);--rc-hr-border:var(--rc-host-hr-border,#262626);--rc-quote-border:var(--rc-host-quote-border,#262626);--rc-quote-bg:var(--rc-host-quote-bg,#1a1a1a);--rc-alert-info:var(--rc-host-alert-info,#60a5fa);--rc-alert-warning:var(--rc-host-alert-warning,#fbbf24);--rc-alert-tip:var(--rc-host-alert-tip,#4ade80);--rc-alert-caution:var(--rc-host-alert-caution,#f87171);--rc-alert-important:var(--rc-host-alert-important,#a78bfa);--rc-shadow-xs:0 0 0 1px var(--rc-ring), 0 1px 2px #0006;--rc-shadow-top-bar:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009;--rc-shadow-modal:0 0 0 1px #ffffff14, 0 16px 48px -12px #000000b3;--rc-shadow-menu:0 0 0 1px var(--rc-ring), 0 8px 24px #00000080, 0 16px 40px -8px #0009}._7z1aq60{flex-direction:column;gap:20px;padding:12px 0;display:flex}._7z1aq61{align-items:flex-start;gap:10px;display:flex}._7z1aq62{justify-content:flex-end}._7z1aq63{background:var(--rc-bg-tertiary);border:1px solid var(--rc-border);width:28px;height:28px;color:var(--rc-text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex;overflow:hidden}._7z1aq64{width:24px;height:24px;font-size:11px}._7z1aq65{background:var(--rc-text);color:var(--rc-bg);border-color:var(--rc-text)}._7z1aq66{object-fit:cover;width:100%;height:100%}._7z1aq67{background:var(--rc-bg-tertiary);max-width:70%;color:var(--rc-text);padding:10px 14px;font-size:15px;line-height:1.6}._7z1aq68{border-radius:14px 14px 4px}._7z1aq69{border-radius:14px 14px 14px 4px}._7z1aq6a{flex-direction:column;flex:1;min-width:0;display:flex}._7z1aq6b{align-items:center;gap:8px;margin-bottom:8px;display:flex}._7z1aq6c{color:var(--rc-text);font-size:13px;font-weight:500}._7z1aq6d{color:inherit;font-size:15px;line-height:1.7}._7z1aq6e{flex-direction:column;flex:auto;align-items:flex-start;min-width:0;max-width:70%;display:flex}._7z1aq6f{align-items:flex-end}._7z1aq6g{color:var(--rc-text-tertiary);margin-bottom:4px;padding:0 4px;font-size:12px;font-weight:500}._7z1aq6h{color:var(--rc-text-tertiary);padding:8px 0;font-size:13px;font-style:italic}._7z1aq6i{position:relative}._7z1aq6j{background:var(--rc-bg);border:1px solid var(--rc-border);color:var(--rc-text);opacity:0;cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;transition:opacity .12s;display:inline-flex;position:absolute;top:8px;right:8px}._7z1aq6i:hover ._7z1aq6j{opacity:1}._7z1aq6j:focus-visible{opacity:1}._7z1aq6k{align-items:center;gap:4px;display:inline-flex}._7z1aq6l._7z1aq6l{flex-direction:column;height:min(640px,85vh);display:flex;overflow:hidden}._7z1aq6m{flex:1;min-height:0}._7z1aq6n{display:flex;overflow:hidden}._7z1aq6o{box-sizing:border-box;border-right:1px solid var(--rc-border-subtle);background:var(--rc-bg-secondary);flex-shrink:0;width:280px;padding:16px;overflow-y:auto}._7z1aq6p{flex:1;min-width:0;padding:16px;overflow-y:auto}._7z1aq6q{color:var(--rc-text-tertiary);margin-bottom:8px;font-size:12px;font-weight:500;line-height:16px}._7z1aq6q:not(:first-child){margin-top:20px}._7z1aq6r{border:1px solid var(--rc-border-subtle);background:var(--rc-bg);border-radius:8px;flex-direction:column;align-items:stretch;gap:8px;margin-bottom:8px;padding:12px;display:flex}._7z1aq6s{background:var(--rc-text);color:var(--rc-bg);border-radius:4px;align-self:flex-start;padding:2px 6px;font-size:12px;font-weight:500;line-height:16px}._7z1aq6t{background:var(--rc-text-tertiary)}._7z1aq6u{border:1px solid var(--rc-border-subtle);background:var(--rc-bg);border-radius:8px;margin-bottom:8px;overflow:hidden}._7z1aq6v{background:var(--rc-bg-secondary);border-bottom:1px solid var(--rc-border-subtle);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 12px;display:flex}._7z1aq6w{min-width:0;max-width:240px}._7z1aq6x{gap:2px;display:flex}._7z1aq6y{width:100%;font-size:13px;line-height:20px;font-family:var(--rc-font-mono);color:var(--rc-text);background:var(--rc-bg);resize:vertical;box-sizing:border-box;border:0;outline:none;min-height:72px;padding:8px 12px}._7z1aq6z{justify-content:center;margin:8px 0 4px;display:flex}@media (max-width:600px){._7z1aq67,._7z1aq6e{max-width:85%}}@media (max-width:640px){._7z1aq6n{flex-direction:column;overflow-y:auto}._7z1aq6o{border-right:none;border-bottom:1px solid var(--rc-border-subtle);width:auto;overflow-y:visible}._7z1aq6p{overflow-y:visible}}
2
2
  /*$vite$:1*/
package/dist/static.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as __augmentLoaded_chat } from "./augment-jeNYpQAa.js";
2
- import { t as ChatRenderer } from "./ChatRenderer-DhF8PrWR.js";
2
+ import { t as ChatRenderer } from "./ChatRenderer-MctdQ_mU.js";
3
3
  import { a as CHAT_NODE_KEY, n as $isChatNode, r as ChatNode, t as $createChatNode } from "./ChatNode-BfiW4nZ3.js";
4
4
  import { chatNodes } from "./node.mjs";
5
5
  import "./renderer.mjs";
@@ -33,31 +33,17 @@ export declare const semanticClassNames: {
33
33
  readonly editLabel: "rich-chat-edit-label";
34
34
  };
35
35
  export declare const modal: string;
36
- export declare const modalHeader: string;
37
36
  export declare const modalBody: string;
38
37
  export declare const rail: string;
39
38
  export declare const pane: string;
40
39
  export declare const sectionLabel: string;
41
- export declare const variantStack: string;
42
- export declare const variantPill: string;
43
- export declare const variantPillActive: string;
44
- export declare const variantPillName: string;
45
- export declare const variantPillHint: string;
46
40
  export declare const participantCard: string;
47
- export declare const participantRow: string;
48
41
  export declare const participantPill: string;
49
42
  export declare const participantPillUser: string;
50
- export declare const participantLabel: string;
51
- export declare const participantInput: string;
52
43
  export declare const messageCard: string;
53
44
  export declare const messageHead: string;
54
45
  export declare const messageSelect: string;
55
46
  export declare const messageActions: string;
56
47
  export declare const messageTextarea: string;
57
48
  export declare const addMessage: string;
58
- export declare const addMessageButton: string;
59
- export declare const modalFooter: string;
60
- export declare const button: string;
61
- export declare const buttonPrimary: string;
62
- export declare const buttonGhost: string;
63
49
  //# sourceMappingURL=styles.css.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../src/styles.css.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,QAKpB,CAAC;AAEH,eAAO,MAAM,GAAG,QAId,CAAC;AAEH,eAAO,MAAM,QAAQ,QAEnB,CAAC;AAEH,eAAO,MAAM,MAAM,QAcjB,CAAC;AAEH,eAAO,MAAM,WAAW,QAItB,CAAC;AAEH,eAAO,MAAM,UAAU,QAIrB,CAAC;AAEH,eAAO,MAAM,SAAS,QAIpB,CAAC;AAEH,eAAO,MAAM,MAAM,QAUjB,CAAC;AAEH,eAAO,MAAM,eAAe,QAE1B,CAAC;AAEH,eAAO,MAAM,cAAc,QAEzB,CAAC;AAEH,eAAO,MAAM,KAAK,QAKhB,CAAC;AAEH,eAAO,MAAM,WAAW,QAKtB,CAAC;AAEH,eAAO,MAAM,eAAe,QAI1B,CAAC;AAEH,eAAO,MAAM,OAAO,QAIlB,CAAC;AAEH,eAAO,MAAM,aAAa,QAUxB,CAAC;AAEH,eAAO,MAAM,kBAAkB,QAE7B,CAAC;AAEH,eAAO,MAAM,WAAW,QAMtB,CAAC;AAEH,eAAO,MAAM,KAAK,QAKhB,CAAC;AAEH,eAAO,MAAM,aAAa,QAExB,CAAC;AAEH,eAAO,MAAM,WAAW,QAoBtB,CAAC;AAEH,eAAO,MAAM,SAAS,QAIpB,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAG5B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAWrB,CAAC;AAEX,eAAO,MAAM,KAAK,QAShB,CAAC;AAEH,eAAO,MAAM,WAAW,QAMtB,CAAC;AAEH,eAAO,MAAM,SAAS,QAGpB,CAAC;AAEH,eAAO,MAAM,IAAI,QAOf,CAAC;AAEH,eAAO,MAAM,IAAI,QAKf,CAAC;AAEH,eAAO,MAAM,YAAY,QAQvB,CAAC;AAEH,eAAO,MAAM,YAAY,QAA8D,CAAC;AACxF,eAAO,MAAM,WAAW,QAQtB,CAAC;AACH,eAAO,MAAM,iBAAiB,QAA0C,CAAC;AAEzE,eAAO,MAAM,eAAe,QAG1B,CAAC;AACH,eAAO,MAAM,eAAe,QAG1B,CAAC;AAEH,eAAO,MAAM,eAAe,QAM1B,CAAC;AACH,eAAO,MAAM,cAAc,QAKzB,CAAC;AACH,eAAO,MAAM,eAAe,QAS1B,CAAC;AACH,eAAO,MAAM,mBAAmB,QAE9B,CAAC;AACH,eAAO,MAAM,gBAAgB,QAI3B,CAAC;AACH,eAAO,MAAM,gBAAgB,QAe3B,CAAC;AAEH,eAAO,MAAM,WAAW,QAMtB,CAAC;AACH,eAAO,MAAM,WAAW,QAOtB,CAAC;AACH,eAAO,MAAM,aAAa,QAOxB,CAAC;AACH,eAAO,MAAM,cAAc,QAAqC,CAAC;AACjE,eAAO,MAAM,eAAe,QAa1B,CAAC;AAEH,eAAO,MAAM,UAAU,QAIrB,CAAC;AACH,eAAO,MAAM,gBAAgB,QAc3B,CAAC;AAEH,eAAO,MAAM,WAAW,QAOtB,CAAC;AACH,eAAO,MAAM,MAAM,QAQjB,CAAC;AACH,eAAO,MAAM,aAAa,QAIxB,CAAC;AACH,eAAO,MAAM,WAAW,QAUtB,CAAC"}
1
+ {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../src/styles.css.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,QAKpB,CAAC;AAEH,eAAO,MAAM,GAAG,QAId,CAAC;AAEH,eAAO,MAAM,QAAQ,QAEnB,CAAC;AAEH,eAAO,MAAM,MAAM,QAcjB,CAAC;AAEH,eAAO,MAAM,WAAW,QAItB,CAAC;AAEH,eAAO,MAAM,UAAU,QAIrB,CAAC;AAEH,eAAO,MAAM,SAAS,QAIpB,CAAC;AAEH,eAAO,MAAM,MAAM,QAUjB,CAAC;AAEH,eAAO,MAAM,eAAe,QAE1B,CAAC;AAEH,eAAO,MAAM,cAAc,QAEzB,CAAC;AAEH,eAAO,MAAM,KAAK,QAKhB,CAAC;AAEH,eAAO,MAAM,WAAW,QAKtB,CAAC;AAEH,eAAO,MAAM,eAAe,QAI1B,CAAC;AAEH,eAAO,MAAM,OAAO,QAIlB,CAAC;AAEH,eAAO,MAAM,aAAa,QAUxB,CAAC;AAEH,eAAO,MAAM,kBAAkB,QAE7B,CAAC;AAEH,eAAO,MAAM,WAAW,QAMtB,CAAC;AAEH,eAAO,MAAM,KAAK,QAKhB,CAAC;AAEH,eAAO,MAAM,aAAa,QAExB,CAAC;AAEH,eAAO,MAAM,WAAW,QAqBtB,CAAC;AAEH,eAAO,MAAM,SAAS,QAIpB,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAAY,CAAC;AAQ3C,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAWrB,CAAC;AAIX,eAAO,MAAM,KAAK,QAGhB,CAAC;AAEH,eAAO,MAAM,SAAS,QASpB,CAAC;AAEH,eAAO,MAAM,IAAI,QAgBf,CAAC;AAEH,eAAO,MAAM,IAAI,QAUf,CAAC;AAEH,eAAO,MAAM,YAAY,QAKvB,CAAC;AAEH,eAAO,MAAM,eAAe,QAU1B,CAAC;AAEH,eAAO,MAAM,eAAe,QAO1B,CAAC;AAEH,eAAO,MAAM,mBAAmB,QAE9B,CAAC;AAEH,eAAO,MAAM,WAAW,QAMtB,CAAC;AAEH,eAAO,MAAM,WAAW,QAQtB,CAAC;AAEH,eAAO,MAAM,aAAa,QAGxB,CAAC;AAEH,eAAO,MAAM,cAAc,QAAqC,CAAC;AAEjE,eAAO,MAAM,eAAe,QAY1B,CAAC;AAEH,eAAO,MAAM,UAAU,QAIrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haklex/rich-ext-chat",
3
- "version": "0.58.0",
3
+ "version": "0.59.1",
4
4
  "description": "Static chat-snapshot node for the haklex rich editor",
5
5
  "repository": {
6
6
  "type": "git",
@@ -41,7 +41,7 @@
41
41
  "streamdown": "^2.7.0"
42
42
  },
43
43
  "devDependencies": {
44
- "@haklex/rich-editor": "0.58.0",
44
+ "@haklex/rich-editor": "0.59.1",
45
45
  "@lexical/react": "^0.52.0",
46
46
  "@types/react": "^19.3.0",
47
47
  "@types/react-dom": "^19.3.0",
@@ -55,9 +55,9 @@
55
55
  "vite": "^8.3.4"
56
56
  },
57
57
  "peerDependencies": {
58
- "@haklex/rich-editor": "^0.58.0",
59
- "@haklex/rich-editor-ui": "^0.58.0",
60
- "@haklex/rich-style-token": "^0.58.0",
58
+ "@haklex/rich-editor": "^0.59.1",
59
+ "@haklex/rich-editor-ui": "^0.59.1",
60
+ "@haklex/rich-style-token": "^0.59.1",
61
61
  "@lexical/react": "^0.52.0",
62
62
  "lexical": "^0.52.0",
63
63
  "lucide-react": "^1.0.0",