@haklex/rich-renderer-katex 0.57.0 → 0.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"KaTeXEditDecorator.d.ts","sourceRoot":"","sources":["../src/KaTeXEditDecorator.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAO1C,UAAU,uBAAuB;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,EACR,WAAW,EACX,eAAe,EACf,QAAQ,GACT,EAAE,uBAAuB,+BA4YzB"}
1
+ {"version":3,"file":"KaTeXEditDecorator.d.ts","sourceRoot":"","sources":["../src/KaTeXEditDecorator.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAO1C,UAAU,uBAAuB;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAWD,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,EACR,WAAW,EACX,eAAe,EACf,QAAQ,GACT,EAAE,uBAAuB,+BA2XzB"}
package/dist/index.mjs CHANGED
@@ -1,35 +1,22 @@
1
1
  import { $isKaTeXBlockNode, $isKaTeXInlineNode, KaTeXBlockNode, KaTeXInlineNode } from "@haklex/rich-editor/nodes";
2
2
  import { KaTeXRenderer, createRendererDecoration } from "@haklex/rich-editor/renderers";
3
- import { createElement, useCallback, useEffect, useMemo, useRef, useState } from "react";
4
- import { ActionBar, ActionButton, AnimatedTabs, Popover, PopoverPanel, PopoverTrigger } from "@haklex/rich-editor-ui";
3
+ import { createElement, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
4
+ import { ActionButton, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, Field, Kbd, Popover, PopoverBody, PopoverFooter, PopoverHeader, PopoverPanel, PopoverTrigger, SegmentedControl, TextInput, confirmDiscardChanges, toast } from "@haklex/rich-editor-ui";
5
5
  import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
6
6
  import { $getNodeByKey, REDO_COMMAND, UNDO_COMMAND } from "lexical";
7
- import { Check, Copy, RotateCcw, Search, Terminal, Trash2 } from "lucide-react";
8
- import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { Copy, Ellipsis, Sigma, Trash2 } from "lucide-react";
8
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
9
  //#region src/styles.css.ts
10
10
  var semanticClassNames = {
11
11
  editWrapper: "rich-katex-edit-wrapper",
12
12
  panel: "rich-katex-editor-panel",
13
13
  header: "rich-katex-editor-header",
14
- headerLeft: "rich-katex-editor-header-left",
15
- iconWrap: "rich-katex-editor-icon-wrap",
16
- title: "rich-katex-editor-title",
17
- headerRight: "rich-katex-editor-header-right",
18
- mode: "rich-katex-editor-mode",
19
- deleteButton: "rich-katex-editor-delete",
20
14
  tabs: "rich-katex-editor-tabs",
21
15
  bodyScrollArea: "rich-katex-editor-body-scroll-area",
22
16
  body: "rich-katex-editor-body",
23
- field: "rich-katex-editor-field",
24
- label: "rich-katex-editor-label",
25
- inputWrap: "rich-katex-editor-input-wrap",
26
17
  textarea: "rich-katex-editor-textarea",
27
- inputActions: "rich-katex-editor-input-actions",
28
18
  preview: "rich-katex-editor-preview",
29
19
  previewEmpty: "rich-katex-editor-preview-empty",
30
- snippetSearchWrap: "rich-katex-editor-snippet-search-wrap",
31
- snippetSearchIcon: "rich-katex-editor-snippet-search-icon",
32
- snippetSearchInput: "rich-katex-editor-snippet-search-input",
33
20
  snippetGroups: "rich-katex-editor-snippet-groups",
34
21
  snippetGroup: "rich-katex-editor-snippet-group",
35
22
  snippetGroupLabel: "rich-katex-editor-snippet-group-label",
@@ -45,17 +32,8 @@ var semanticClassNames = {
45
32
  };
46
33
  var editWrapper = "mkenhu0";
47
34
  var panel = "mkenhu1";
48
- var header = "mkenhu2";
49
- var headerLeft = "mkenhu3";
50
- var iconWrap = "mkenhu4";
51
- var title = "mkenhu5";
52
- var headerRight = "mkenhu6";
53
- var mode = "mkenhu7";
54
- var deleteButton = "mkenhu8";
55
- var tabs = "mkenhu9";
56
- var bodyScrollArea = "mkenhua";
57
- var footer = "mkenhuw";
58
- var charCount = "mkenhux";
35
+ var tabs = "mkenhu2";
36
+ var bodyScrollArea = "mkenhu3";
59
37
  //#endregion
60
38
  //#region src/history-shortcuts.ts
61
39
  function getEditorHistoryShortcut(event, options = {}) {
@@ -182,19 +160,27 @@ var SNIPPET_CATEGORY_ORDER = [
182
160
  "Operators",
183
161
  "Structures"
184
162
  ];
163
+ var TAB_ITEMS = [{
164
+ value: "edit",
165
+ label: "Edit"
166
+ }, {
167
+ value: "snippets",
168
+ label: "Snippets"
169
+ }];
185
170
  function KaTeXEditDecorator({ nodeKey, equation, displayMode, autoOpenOnMount, children }) {
186
171
  const [editor] = useLexicalComposerContext();
187
172
  const editable = editor.isEditable();
173
+ const fieldId = useId();
188
174
  const [open, setOpen] = useState(autoOpenOnMount);
189
175
  const [value, setValue] = useState(equation);
190
- const [copied, setCopied] = useState(false);
191
- const [activeTab, setActiveTab] = useState("editor");
176
+ const [activeTab, setActiveTab] = useState("edit");
192
177
  const [snippetQuery, setSnippetQuery] = useState("");
193
178
  const inputRef = useRef(null);
194
179
  const selectionRef = useRef({
195
180
  start: null,
196
181
  end: null
197
182
  });
183
+ const dirty = value !== equation;
198
184
  const syncSelection = useCallback((target) => {
199
185
  if (!target) return;
200
186
  selectionRef.current = {
@@ -222,43 +208,70 @@ function KaTeXEditDecorator({ nodeKey, equation, displayMode, autoOpenOnMount, c
222
208
  syncSelection(inputRef.current);
223
209
  }
224
210
  }, [open, syncSelection]);
211
+ const close = useCallback(() => {
212
+ setValue(equation);
213
+ setActiveTab("edit");
214
+ setSnippetQuery("");
215
+ setOpen(false);
216
+ }, [equation]);
217
+ const confirmingRef = useRef(false);
218
+ const requestClose = useCallback(async () => {
219
+ if (!dirty) {
220
+ close();
221
+ return;
222
+ }
223
+ if (confirmingRef.current) return;
224
+ confirmingRef.current = true;
225
+ try {
226
+ if (await confirmDiscardChanges()) close();
227
+ } finally {
228
+ confirmingRef.current = false;
229
+ }
230
+ }, [close, dirty]);
225
231
  const commit = useCallback(() => {
226
232
  const trimmed = value.trim();
227
233
  if (!trimmed) return;
228
234
  editor.update(() => {
229
235
  const node = $getNodeByKey(nodeKey);
230
- if ($isKaTeXInlineNode(node) && node.getEquation() !== trimmed) node.setEquation(trimmed);
231
- else if ($isKaTeXBlockNode(node) && node.getEquation() !== trimmed) node.setEquation(trimmed);
236
+ if (($isKaTeXInlineNode(node) || $isKaTeXBlockNode(node)) && node.getEquation() !== trimmed) node.setEquation(trimmed);
232
237
  });
238
+ setActiveTab("edit");
239
+ setSnippetQuery("");
233
240
  setOpen(false);
234
241
  }, [
235
242
  editor,
236
243
  nodeKey,
237
244
  value
238
245
  ]);
239
- const cancel = useCallback(() => {
240
- setValue(equation);
241
- setOpen(false);
242
- }, [equation]);
243
246
  const handleDelete = useCallback(() => {
244
247
  editor.update(() => {
245
- const node = $getNodeByKey(nodeKey);
246
- if (node) node.remove();
248
+ $getNodeByKey(nodeKey)?.remove();
249
+ });
250
+ toast({
251
+ title: displayMode ? "Math block deleted" : "Math deleted",
252
+ action: {
253
+ label: "Undo",
254
+ onClick: () => editor.dispatchCommand(UNDO_COMMAND, void 0)
255
+ }
247
256
  });
248
- }, [editor, nodeKey]);
257
+ }, [
258
+ displayMode,
259
+ editor,
260
+ nodeKey
261
+ ]);
249
262
  const handleCopy = useCallback(() => {
250
- navigator.clipboard.writeText(value);
251
- setCopied(true);
252
- setTimeout(setCopied, 2e3, false);
263
+ navigator.clipboard?.writeText(value).then(() => toast({
264
+ title: "LaTeX copied",
265
+ tone: "success"
266
+ }), () => toast({
267
+ title: "Could not copy LaTeX",
268
+ tone: "error"
269
+ }));
253
270
  }, [value]);
254
- const handleReset = useCallback(() => {
255
- setValue(equation);
256
- inputRef.current?.focus();
257
- }, [equation]);
258
271
  const handleInsertSnippet = useCallback((template) => {
259
272
  const next = insertSnippetAtSelection(value, template, selectionRef.current.start, selectionRef.current.end);
260
273
  setValue(next.value);
261
- setActiveTab("editor");
274
+ setActiveTab("edit");
262
275
  requestAnimationFrame(() => {
263
276
  const input = inputRef.current;
264
277
  if (!input) return;
@@ -278,7 +291,7 @@ function KaTeXEditDecorator({ nodeKey, equation, displayMode, autoOpenOnMount, c
278
291
  const handleKeyDown = useCallback((e) => {
279
292
  if (e.key === "Escape") {
280
293
  e.preventDefault();
281
- cancel();
294
+ requestClose();
282
295
  } else if (displayMode && e.key === "Enter" && (e.metaKey || e.ctrlKey)) {
283
296
  e.preventDefault();
284
297
  commit();
@@ -287,28 +300,55 @@ function KaTeXEditDecorator({ nodeKey, equation, displayMode, autoOpenOnMount, c
287
300
  commit();
288
301
  }
289
302
  }, [
303
+ requestClose,
290
304
  commit,
291
- cancel,
292
305
  displayMode
293
306
  ]);
294
307
  const handlePanelKeyDown = useCallback((e) => {
295
- const shortcut = getEditorHistoryShortcut(e, { isDirty: value !== equation || snippetQuery !== "" });
308
+ const shortcut = getEditorHistoryShortcut(e, { isDirty: dirty || snippetQuery !== "" });
296
309
  if (!shortcut) return;
297
310
  e.preventDefault();
298
311
  e.stopPropagation();
299
312
  editor.dispatchCommand(shortcut === "undo" ? UNDO_COMMAND : REDO_COMMAND, void 0);
300
313
  }, [
314
+ dirty,
301
315
  editor,
302
- equation,
303
- snippetQuery,
304
- value
316
+ snippetQuery
305
317
  ]);
306
318
  if (!editable) return children;
319
+ const menu = /* @__PURE__ */ jsxs(DropdownMenu, { children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
320
+ render: /* @__PURE__ */ jsx(ActionButton, {
321
+ icon: true,
322
+ "aria-label": "More actions",
323
+ size: "md"
324
+ }),
325
+ children: /* @__PURE__ */ jsx(Ellipsis, {})
326
+ }), /* @__PURE__ */ jsxs(DropdownMenuContent, {
327
+ align: "end",
328
+ children: [
329
+ /* @__PURE__ */ jsxs(DropdownMenuItem, {
330
+ disabled: !value.trim(),
331
+ onClick: handleCopy,
332
+ children: [/* @__PURE__ */ jsx(Copy, {}), "Copy LaTeX"]
333
+ }),
334
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
335
+ /* @__PURE__ */ jsxs(DropdownMenuItem, {
336
+ variant: "destructive",
337
+ onClick: handleDelete,
338
+ children: [/* @__PURE__ */ jsx(Trash2, {}), "Delete"]
339
+ })
340
+ ]
341
+ })] });
307
342
  return /* @__PURE__ */ jsxs(Popover, {
308
343
  open,
309
- onOpenChange: (nextOpen) => {
310
- setOpen(nextOpen);
311
- if (!nextOpen) setValue(equation);
344
+ onOpenChange: (nextOpen, details) => {
345
+ if (nextOpen) {
346
+ setOpen(true);
347
+ return;
348
+ }
349
+ if ((details?.reason === "outside-press" || details?.reason === "focus-out") && dirty) return;
350
+ if (details?.reason === "escape-key") requestClose();
351
+ else close();
312
352
  },
313
353
  children: [/* @__PURE__ */ jsx(PopoverTrigger, {
314
354
  nativeButton: false,
@@ -318,155 +358,95 @@ function KaTeXEditDecorator({ nodeKey, equation, displayMode, autoOpenOnMount, c
318
358
  }),
319
359
  children
320
360
  }), /* @__PURE__ */ jsxs(PopoverPanel, {
361
+ flush: true,
321
362
  className: `${panel} ${semanticClassNames.panel}`,
322
363
  initialFocus: inputRef,
323
364
  side: "bottom",
324
- sideOffset: 8,
365
+ size: "lg",
325
366
  onKeyDown: handlePanelKeyDown,
326
367
  children: [
327
- /* @__PURE__ */ jsxs("div", {
328
- className: `${header} ${semanticClassNames.header}`,
329
- children: [/* @__PURE__ */ jsxs("div", {
330
- className: `${headerLeft} ${semanticClassNames.headerLeft}`,
331
- children: [/* @__PURE__ */ jsx("div", {
332
- className: `${iconWrap} ${semanticClassNames.iconWrap}`,
333
- children: /* @__PURE__ */ jsx(Terminal, { size: 12 })
334
- }), /* @__PURE__ */ jsx("span", {
335
- className: `${title} ${semanticClassNames.title}`,
336
- children: "Math Editor"
337
- })]
338
- }), /* @__PURE__ */ jsxs("div", {
339
- className: `${headerRight} ${semanticClassNames.headerRight}`,
340
- children: [/* @__PURE__ */ jsx("span", {
341
- className: `${mode} ${semanticClassNames.mode}`,
342
- children: displayMode ? "Block" : "Inline"
343
- }), /* @__PURE__ */ jsx("button", {
344
- className: `${deleteButton} ${semanticClassNames.deleteButton}`,
345
- title: "Delete node",
346
- type: "button",
347
- onClick: handleDelete,
348
- children: /* @__PURE__ */ jsx(Trash2, { size: 14 })
349
- })]
350
- })]
351
- }),
352
- /* @__PURE__ */ jsx(AnimatedTabs, {
353
- className: `${tabs} ${semanticClassNames.tabs}`,
354
- value: activeTab,
355
- tabs: [{
356
- id: "editor",
357
- label: "Editor"
358
- }, {
359
- id: "snippets",
360
- label: "Snippets"
361
- }],
362
- onChange: (id) => setActiveTab(id)
368
+ /* @__PURE__ */ jsx(PopoverHeader, {
369
+ className: semanticClassNames.header,
370
+ icon: /* @__PURE__ */ jsx(Sigma, {}),
371
+ title: displayMode ? "Math block" : "Inline math",
372
+ actions: /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SegmentedControl, {
373
+ className: `${tabs} ${semanticClassNames.tabs}`,
374
+ items: TAB_ITEMS,
375
+ value: activeTab,
376
+ onChange: setActiveTab
377
+ }), menu] })
363
378
  }),
364
379
  /* @__PURE__ */ jsxs("div", {
365
380
  className: `${bodyScrollArea} ${semanticClassNames.bodyScrollArea}`,
366
- children: [activeTab === "editor" && /* @__PURE__ */ jsxs("div", {
367
- className: `mkenhub ${semanticClassNames.body}`,
368
- children: [/* @__PURE__ */ jsxs("div", {
369
- className: `mkenhuc ${semanticClassNames.field}`,
370
- children: [/* @__PURE__ */ jsx("label", {
371
- className: `mkenhud ${semanticClassNames.label}`,
372
- children: "LaTeX Input"
373
- }), /* @__PURE__ */ jsxs("div", {
374
- className: `mkenhue ${semanticClassNames.inputWrap}`,
375
- children: [/* @__PURE__ */ jsx("textarea", {
376
- autoCapitalize: "off",
377
- autoComplete: "off",
378
- autoCorrect: "off",
379
- className: `mkenhuf ${semanticClassNames.textarea}`,
380
- placeholder: "e.g. \\frac{-b \\pm \\sqrt{b^2-4ac}}{2a}",
381
- ref: inputRef,
382
- rows: displayMode ? 4 : 3,
383
- spellCheck: false,
384
- value,
385
- onClick: (e) => syncSelection(e.currentTarget),
386
- onKeyDown: handleKeyDown,
387
- onKeyUp: (e) => syncSelection(e.currentTarget),
388
- onSelect: (e) => syncSelection(e.currentTarget),
389
- onChange: (e) => {
390
- setValue(e.target.value);
391
- syncSelection(e.target);
392
- }
393
- }), /* @__PURE__ */ jsxs("div", {
394
- className: `mkenhug ${semanticClassNames.inputActions}`,
395
- children: [/* @__PURE__ */ jsx(ActionButton, {
396
- icon: true,
397
- disabled: !value.trim(),
398
- size: "sm",
399
- title: "Copy LaTeX",
400
- onClick: handleCopy,
401
- children: copied ? /* @__PURE__ */ jsx(Check, {
402
- size: 12,
403
- style: { color: "#22c55e" }
404
- }) : /* @__PURE__ */ jsx(Copy, { size: 12 })
405
- }), /* @__PURE__ */ jsx(ActionButton, {
406
- icon: true,
407
- disabled: value === equation,
408
- size: "sm",
409
- title: "Reset",
410
- onClick: handleReset,
411
- children: /* @__PURE__ */ jsx(RotateCcw, { size: 12 })
412
- })]
413
- })]
414
- })]
415
- }), /* @__PURE__ */ jsxs("div", {
416
- className: `mkenhuc ${semanticClassNames.field}`,
417
- children: [/* @__PURE__ */ jsx("label", {
418
- className: `mkenhud ${semanticClassNames.label}`,
419
- children: "Preview"
420
- }), /* @__PURE__ */ jsx("div", {
421
- className: `mkenhuh ${semanticClassNames.preview}`,
422
- children: value.trim() ? /* @__PURE__ */ jsx(KaTeXRenderer, {
423
- displayMode,
424
- equation: value
425
- }) : /* @__PURE__ */ jsx("span", {
426
- className: `mkenhui ${semanticClassNames.previewEmpty}`,
427
- children: "Enter a formula"
428
- })
429
- })]
430
- })]
431
- }), activeTab === "snippets" && /* @__PURE__ */ jsxs("div", {
432
- className: `mkenhub ${semanticClassNames.body}`,
433
- children: [/* @__PURE__ */ jsxs("div", {
434
- className: `mkenhuj ${semanticClassNames.snippetSearchWrap}`,
435
- children: [/* @__PURE__ */ jsx(Search, {
436
- className: `mkenhuk ${semanticClassNames.snippetSearchIcon}`,
437
- size: 14
438
- }), /* @__PURE__ */ jsx("input", {
381
+ children: [activeTab === "edit" && /* @__PURE__ */ jsxs(PopoverBody, {
382
+ className: semanticClassNames.body,
383
+ children: [/* @__PURE__ */ jsx(Field, {
384
+ id: fieldId,
385
+ label: "LaTeX",
386
+ children: /* @__PURE__ */ jsx("textarea", {
387
+ autoCapitalize: "off",
439
388
  autoComplete: "off",
440
- className: `mkenhul ${semanticClassNames.snippetSearchInput}`,
441
- placeholder: "Search snippets: frac, matrix, sum...",
442
- type: "text",
443
- value: snippetQuery,
444
- onChange: (e) => setSnippetQuery(e.target.value)
445
- })]
389
+ autoCorrect: "off",
390
+ className: `mkenhu4 ${semanticClassNames.textarea}`,
391
+ id: fieldId,
392
+ placeholder: "e.g. \\frac{-b \\pm \\sqrt{b^2-4ac}}{2a}",
393
+ ref: inputRef,
394
+ rows: displayMode ? 4 : 2,
395
+ spellCheck: false,
396
+ value,
397
+ onClick: (e) => syncSelection(e.currentTarget),
398
+ onKeyDown: handleKeyDown,
399
+ onKeyUp: (e) => syncSelection(e.currentTarget),
400
+ onSelect: (e) => syncSelection(e.currentTarget),
401
+ onChange: (e) => {
402
+ setValue(e.target.value);
403
+ syncSelection(e.target);
404
+ }
405
+ })
406
+ }), /* @__PURE__ */ jsx("div", {
407
+ "aria-label": "Preview",
408
+ className: `mkenhu5 ${semanticClassNames.preview}`,
409
+ role: "img",
410
+ children: value.trim() ? /* @__PURE__ */ jsx(KaTeXRenderer, {
411
+ displayMode,
412
+ equation: value
413
+ }) : /* @__PURE__ */ jsx("span", {
414
+ className: `mkenhu6 ${semanticClassNames.previewEmpty}`,
415
+ children: "Preview appears as you type"
416
+ })
417
+ })]
418
+ }), activeTab === "snippets" && /* @__PURE__ */ jsxs(PopoverBody, {
419
+ className: semanticClassNames.body,
420
+ children: [/* @__PURE__ */ jsx(TextInput, {
421
+ "aria-label": "Search snippets",
422
+ autoComplete: "off",
423
+ placeholder: "Search snippets: frac, matrix, sum…",
424
+ value: snippetQuery,
425
+ onChange: (e) => setSnippetQuery(e.target.value)
446
426
  }), groupedSnippets.length > 0 ? /* @__PURE__ */ jsx("div", {
447
- className: `mkenhum ${semanticClassNames.snippetGroups}`,
427
+ className: `mkenhu7 ${semanticClassNames.snippetGroups}`,
448
428
  children: groupedSnippets.map((group) => /* @__PURE__ */ jsxs("section", {
449
- className: `mkenhun ${semanticClassNames.snippetGroup}`,
429
+ className: `mkenhu8 ${semanticClassNames.snippetGroup}`,
450
430
  children: [/* @__PURE__ */ jsx("div", {
451
- className: `mkenhuo ${semanticClassNames.snippetGroupLabel}`,
431
+ className: `mkenhu9 ${semanticClassNames.snippetGroupLabel}`,
452
432
  children: group.category
453
433
  }), /* @__PURE__ */ jsx("div", {
454
- className: `mkenhup ${semanticClassNames.snippetList}`,
434
+ className: `mkenhua ${semanticClassNames.snippetList}`,
455
435
  children: group.items.map((snippet) => /* @__PURE__ */ jsxs("button", {
456
- className: `mkenhuq ${semanticClassNames.snippetButton}`,
436
+ className: `mkenhub ${semanticClassNames.snippetButton}`,
457
437
  type: "button",
458
438
  onClick: () => handleInsertSnippet(snippet.template),
459
- children: [/* @__PURE__ */ jsxs("div", {
460
- className: `mkenhur ${semanticClassNames.snippetMeta}`,
439
+ children: [/* @__PURE__ */ jsxs("span", {
440
+ className: `mkenhuc ${semanticClassNames.snippetMeta}`,
461
441
  children: [/* @__PURE__ */ jsx("span", {
462
- className: `mkenhus ${semanticClassNames.snippetName}`,
442
+ className: `mkenhud ${semanticClassNames.snippetName}`,
463
443
  children: snippet.title
464
444
  }), /* @__PURE__ */ jsx("span", {
465
- className: `mkenhut ${semanticClassNames.snippetHint}`,
445
+ className: `mkenhue ${semanticClassNames.snippetHint}`,
466
446
  children: snippet.template.replace("__cursor__", "")
467
447
  })]
468
448
  }), /* @__PURE__ */ jsx("span", {
469
- className: `mkenhuu ${semanticClassNames.snippetPreview}`,
449
+ className: `mkenhuf ${semanticClassNames.snippetPreview}`,
470
450
  children: /* @__PURE__ */ jsx(KaTeXRenderer, {
471
451
  displayMode: false,
472
452
  equation: snippet.previewEquation
@@ -476,7 +456,7 @@ function KaTeXEditDecorator({ nodeKey, equation, displayMode, autoOpenOnMount, c
476
456
  })]
477
457
  }, group.category))
478
458
  }) : /* @__PURE__ */ jsxs("div", {
479
- className: `mkenhuv ${semanticClassNames.snippetsPlaceholder}`,
459
+ className: `mkenhug ${semanticClassNames.snippetsPlaceholder}`,
480
460
  children: [
481
461
  "No snippets match “",
482
462
  snippetQuery.trim(),
@@ -485,23 +465,28 @@ function KaTeXEditDecorator({ nodeKey, equation, displayMode, autoOpenOnMount, c
485
465
  })]
486
466
  })]
487
467
  }),
488
- /* @__PURE__ */ jsxs("div", {
489
- className: `${footer} ${semanticClassNames.footer}`,
490
- children: [/* @__PURE__ */ jsx("span", {
491
- className: `${charCount} ${semanticClassNames.charCount}`,
492
- children: value.trim() ? `${value.length} chars` : "Enter a formula"
493
- }), /* @__PURE__ */ jsxs(ActionBar, { children: [/* @__PURE__ */ jsx(ActionButton, {
468
+ /* @__PURE__ */ jsxs(PopoverFooter, {
469
+ className: semanticClassNames.footer,
470
+ hint: /* @__PURE__ */ jsx("span", {
471
+ className: semanticClassNames.charCount,
472
+ children: `${value.length} ${value.length === 1 ? "character" : "characters"}`
473
+ }),
474
+ children: [/* @__PURE__ */ jsx(ActionButton, {
494
475
  size: "md",
495
- variant: "ghost",
496
- onClick: cancel,
476
+ variant: "outline",
477
+ onClick: close,
497
478
  children: "Cancel"
498
- }), /* @__PURE__ */ jsx(ActionButton, {
479
+ }), /* @__PURE__ */ jsxs(ActionButton, {
499
480
  disabled: !value.trim(),
500
481
  size: "md",
501
- variant: "accent",
482
+ variant: "solid",
502
483
  onClick: commit,
503
- children: "Save"
504
- })] })]
484
+ children: ["Save", /* @__PURE__ */ jsx(Kbd, {
485
+ keys: displayMode ? ["mod", "enter"] : ["enter"],
486
+ size: "sm",
487
+ tone: "inverted"
488
+ })]
489
+ })]
505
490
  })
506
491
  ]
507
492
  })]
@@ -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-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-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-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,#ffffff1a);--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}.x1ktjw0{--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-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-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}.x1ktjw1{--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-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-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}.x1ktjw2{--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-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-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}.x1ktjw3{--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-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-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 .x1ktjw0,[data-theme=dark] .x1ktjw0,.dark.x1ktjw0,[data-theme=dark].x1ktjw0,.dark .x1ktjw1,[data-theme=dark] .x1ktjw1,.dark.x1ktjw1,[data-theme=dark].x1ktjw1,.dark .x1ktjw2,[data-theme=dark] .x1ktjw2,.dark.x1ktjw2,[data-theme=dark].x1ktjw2,.dark .x1ktjw3,[data-theme=dark] .x1ktjw3,.dark.x1ktjw3,[data-theme=dark].x1ktjw3{--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-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,#ffffff1a);--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}.mkenhu0{cursor:pointer;border-radius:var(--rc-radius-sm);transition:background-color .15s}.mkenhu0:hover{background-color:var(--rc-accent-light)}.mkenhu1{width:min(420px,90vw);box-shadow:var(--rc-shadow-modal);font-family:var(--rc-font-family);padding:0;overflow:hidden}.mkenhu2{border-bottom:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.mkenhu3{align-items:center;gap:8px;display:flex}.mkenhu4{border-radius:var(--rc-radius-sm);background-color:var(--rc-accent-light);width:20px;height:20px;color:var(--rc-accent);justify-content:center;align-items:center;display:flex}.mkenhu5{font-weight:600;font-size:var(--rc-font-size-md);color:var(--rc-text)}.mkenhu6{align-items:center;gap:4px;display:flex}.mkenhu7{font-size:var(--rc-font-size-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--rc-text-secondary);border-radius:var(--rc-radius-sm);background-color:var(--rc-bg-secondary);padding:1px 6px;font-weight:500}.mkenhu8{-webkit-appearance:none;appearance:none;color:var(--rc-text-secondary);cursor:pointer;border-radius:var(--rc-radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:color .15s,background-color .15s;display:flex}.mkenhu8:hover{color:var(--rc-alert-caution);background-color:color-mix(in srgb, var(--rc-alert-caution) 10%, transparent)}.mkenhu9{padding:0 16px}.mkenhua{flex-shrink:0;max-height:320px;overflow:hidden auto}.mkenhub{flex-direction:column;gap:12px;padding:12px;display:flex}.mkenhuc{flex-direction:column;display:flex}.mkenhud{font-size:var(--rc-font-size-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--rc-text-secondary);margin-bottom:6px;padding-left:2px;font-weight:500}.mkenhue{position:relative}.mkenhuf{width:100%;font-family:var(--rc-font-mono);font-size:var(--rc-font-size-md);background-color:color-mix(in srgb, var(--rc-bg-secondary) 30%, transparent);color:var(--rc-text);border:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);border-radius:var(--rc-radius-md);resize:none;box-sizing:border-box;outline:none;padding:10px 56px 10px 12px;line-height:1.5;transition:border-color .15s,box-shadow .15s;display:block}.mkenhuf::placeholder{color:color-mix(in srgb, var(--rc-text-secondary) 50%, transparent)}.mkenhuf:focus{border-color:color-mix(in srgb, var(--rc-accent) 50%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--rc-accent) 25%, transparent)}.mkenhug{gap:2px;display:flex;position:absolute;top:6px;right:6px}.mkenhuh{border:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);border-radius:var(--rc-radius-md);padding:var(--rc-space-md);background-color:var(--rc-bg);justify-content:center;align-items:center;min-height:60px;display:flex;overflow-x:auto}.mkenhui{color:color-mix(in srgb, var(--rc-text-secondary) 50%, transparent);font-size:var(--rc-font-size-md)}.mkenhuj{position:relative}.mkenhuk{color:color-mix(in srgb, var(--rc-text-secondary) 70%, transparent);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.mkenhul{border-radius:var(--rc-radius-md);border:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);background-color:color-mix(in srgb, var(--rc-bg-secondary) 24%, transparent);width:100%;height:34px;color:var(--rc-text);box-sizing:border-box;font-size:var(--rc-font-size-sm);outline:none;padding:0 12px 0 32px}.mkenhul::placeholder{color:color-mix(in srgb, var(--rc-text-secondary) 55%, transparent)}.mkenhul:focus{border-color:color-mix(in srgb, var(--rc-accent) 45%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--rc-accent) 18%, transparent)}.mkenhum{flex-direction:column;gap:12px;display:flex}.mkenhun{flex-direction:column;gap:6px;display:flex}.mkenhuo{font-size:var(--rc-font-size-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--rc-text-secondary);padding-left:2px;font-weight:600}.mkenhup{flex-direction:column;gap:6px;display:flex}.mkenhuq{text-align:left;border:1px solid color-mix(in srgb, var(--rc-border) 55%, transparent);border-radius:var(--rc-radius-md);background-color:color-mix(in srgb, var(--rc-bg-secondary) 18%, transparent);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:border-color .15s,background-color .15s,transform .15s;display:flex}.mkenhuq:hover{border-color:color-mix(in srgb, var(--rc-accent) 30%, var(--rc-border));background-color:color-mix(in srgb, var(--rc-accent-light) 30%, var(--rc-bg-secondary));transform:translateY(-1px)}.mkenhur{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.mkenhus{font-size:var(--rc-font-size-sm);color:var(--rc-text);font-weight:600}.mkenhut{font-size:var(--rc-font-size-2xs);font-family:var(--rc-font-mono);color:var(--rc-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mkenhuu{border-radius:var(--rc-radius-sm);background-color:var(--rc-bg);min-width:72px;min-height:32px;color:var(--rc-text);flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;display:inline-flex;overflow:hidden}.mkenhuv{color:var(--rc-text-secondary);font-size:var(--rc-font-size-sm);text-align:center;padding:var(--rc-space-lg) var(--rc-space-md);border:1px dashed color-mix(in srgb, var(--rc-border) 60%, transparent);border-radius:var(--rc-radius-md);background-color:color-mix(in srgb, var(--rc-bg-secondary) 16%, transparent)}.mkenhuw{border-top:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);background-color:color-mix(in srgb, var(--rc-bg-secondary) 20%, transparent);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.mkenhux{color:var(--rc-text-secondary);font-size:var(--rc-font-size-2xs);font-family:var(--rc-font-mono);text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}
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}.x1ktjw0{--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}.x1ktjw1{--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}.x1ktjw2{--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}.x1ktjw3{--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 .x1ktjw0,[data-theme=dark] .x1ktjw0,.dark.x1ktjw0,[data-theme=dark].x1ktjw0,.dark .x1ktjw1,[data-theme=dark] .x1ktjw1,.dark.x1ktjw1,[data-theme=dark].x1ktjw1,.dark .x1ktjw2,[data-theme=dark] .x1ktjw2,.dark.x1ktjw2,[data-theme=dark].x1ktjw2,.dark .x1ktjw3,[data-theme=dark] .x1ktjw3,.dark.x1ktjw3,[data-theme=dark].x1ktjw3{--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] .x1ktjw0{--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] .x1ktjw0{--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].x1ktjw0{--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].x1ktjw0{--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] .x1ktjw1{--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] .x1ktjw1{--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].x1ktjw1{--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].x1ktjw1{--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] .x1ktjw2{--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] .x1ktjw2{--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].x1ktjw2{--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].x1ktjw2{--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] .x1ktjw3{--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] .x1ktjw3{--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].x1ktjw3{--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].x1ktjw3{--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}.mkenhu0{cursor:pointer;border-radius:var(--rc-radius-sm);transition:background-color .15s}.mkenhu0:hover{background-color:var(--rc-accent-light)}.mkenhu1{flex-direction:column;display:flex;overflow:hidden}.mkenhu2{width:150px}.mkenhu3{max-height:320px;overflow:hidden auto}.mkenhu4{font-family:var(--rc-font-mono);background-color:var(--rc-bg);width:100%;min-height:56px;color:var(--rc-text);box-shadow:0 0 0 1px var(--rc-ring);resize:vertical;box-sizing:border-box;border:none;border-radius:8px;outline:none;padding:6px 8px;font-size:12px;line-height:18px;display:block}.mkenhu4::placeholder{color:var(--rc-text-tertiary)}.mkenhu4:focus{box-shadow:0 0 0 1px var(--rc-accent), 0 0 0 3px var(--rc-accent-light)}.mkenhu4:focus-visible{box-shadow:0 0 0 1px var(--rc-accent), 0 0 0 3px var(--rc-accent-light)}.mkenhu5{background-color:var(--rc-bg-secondary);min-height:52px;color:var(--rc-text);border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;display:flex;overflow-x:auto}.mkenhu6{color:var(--rc-text-tertiary);font-size:12px;font-weight:400;line-height:16px}.mkenhu7{flex-direction:column;gap:12px;display:flex}.mkenhu8{flex-direction:column;gap:6px;display:flex}.mkenhu9{color:var(--rc-text-secondary);font-size:12px;font-weight:500;line-height:16px}.mkenhua{flex-direction:column;gap:2px;display:flex}.mkenhub{text-align:left;width:100%;font:inherit;color:var(--rc-text);cursor:pointer;background-color:#0000;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:6px 8px;transition:background-color .15s;display:flex}.mkenhub:hover{background-color:var(--rc-fill-secondary)}.mkenhub:focus-visible{box-shadow:0 0 0 1px var(--rc-accent), 0 0 0 3px var(--rc-accent-light);outline:none}.mkenhuc{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mkenhud{color:var(--rc-text);font-size:13px;font-weight:500;line-height:20px}.mkenhue{font-family:var(--rc-font-mono);color:var(--rc-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:16px;overflow:hidden}.mkenhuf{background-color:var(--rc-bg-secondary);min-width:72px;min-height:32px;color:var(--rc-text);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;display:inline-flex;overflow:hidden}.mkenhug{color:var(--rc-text-secondary);text-align:center;padding:16px 12px;font-size:13px;line-height:20px}
2
2
  /*$vite$:1*/
@@ -2,25 +2,12 @@ export declare const semanticClassNames: {
2
2
  readonly editWrapper: "rich-katex-edit-wrapper";
3
3
  readonly panel: "rich-katex-editor-panel";
4
4
  readonly header: "rich-katex-editor-header";
5
- readonly headerLeft: "rich-katex-editor-header-left";
6
- readonly iconWrap: "rich-katex-editor-icon-wrap";
7
- readonly title: "rich-katex-editor-title";
8
- readonly headerRight: "rich-katex-editor-header-right";
9
- readonly mode: "rich-katex-editor-mode";
10
- readonly deleteButton: "rich-katex-editor-delete";
11
5
  readonly tabs: "rich-katex-editor-tabs";
12
6
  readonly bodyScrollArea: "rich-katex-editor-body-scroll-area";
13
7
  readonly body: "rich-katex-editor-body";
14
- readonly field: "rich-katex-editor-field";
15
- readonly label: "rich-katex-editor-label";
16
- readonly inputWrap: "rich-katex-editor-input-wrap";
17
8
  readonly textarea: "rich-katex-editor-textarea";
18
- readonly inputActions: "rich-katex-editor-input-actions";
19
9
  readonly preview: "rich-katex-editor-preview";
20
10
  readonly previewEmpty: "rich-katex-editor-preview-empty";
21
- readonly snippetSearchWrap: "rich-katex-editor-snippet-search-wrap";
22
- readonly snippetSearchIcon: "rich-katex-editor-snippet-search-icon";
23
- readonly snippetSearchInput: "rich-katex-editor-snippet-search-input";
24
11
  readonly snippetGroups: "rich-katex-editor-snippet-groups";
25
12
  readonly snippetGroup: "rich-katex-editor-snippet-group";
26
13
  readonly snippetGroupLabel: "rich-katex-editor-snippet-group-label";
@@ -36,26 +23,11 @@ export declare const semanticClassNames: {
36
23
  };
37
24
  export declare const editWrapper: string;
38
25
  export declare const panel: string;
39
- export declare const header: string;
40
- export declare const headerLeft: string;
41
- export declare const iconWrap: string;
42
- export declare const title: string;
43
- export declare const headerRight: string;
44
- export declare const mode: string;
45
- export declare const deleteButton: string;
46
26
  export declare const tabs: string;
47
27
  export declare const bodyScrollArea: string;
48
- export declare const body: string;
49
- export declare const field: string;
50
- export declare const label: string;
51
- export declare const inputWrap: string;
52
28
  export declare const textarea: string;
53
- export declare const inputActions: string;
54
29
  export declare const preview: string;
55
30
  export declare const previewEmpty: string;
56
- export declare const snippetSearchWrap: string;
57
- export declare const snippetSearchIcon: string;
58
- export declare const snippetSearchInput: string;
59
31
  export declare const snippetGroups: string;
60
32
  export declare const snippetGroup: string;
61
33
  export declare const snippetGroupLabel: string;
@@ -66,6 +38,4 @@ export declare const snippetName: string;
66
38
  export declare const snippetHint: string;
67
39
  export declare const snippetPreview: string;
68
40
  export declare const snippetsPlaceholder: string;
69
- export declare const footer: string;
70
- export declare const charCount: string;
71
41
  //# 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,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCrB,CAAA;AAEV,eAAO,MAAM,WAAW,QAStB,CAAA;AAEF,eAAO,MAAM,KAAK,QAMhB,CAAA;AAEF,eAAO,MAAM,MAAM,QAMjB,CAAA;AAEF,eAAO,MAAM,UAAU,QAIrB,CAAA;AAEF,eAAO,MAAM,QAAQ,QASnB,CAAA;AAEF,eAAO,MAAM,KAAK,QAIhB,CAAA;AAEF,eAAO,MAAM,WAAW,QAItB,CAAA;AAEF,eAAO,MAAM,IAAI,QASf,CAAA;AAEF,eAAO,MAAM,YAAY,QAoBvB,CAAA;AAEF,eAAO,MAAM,IAAI,QAEf,CAAA;AAEF,eAAO,MAAM,cAAc,QAKzB,CAAA;AAEF,eAAO,MAAM,IAAI,QAKf,CAAA;AAEF,eAAO,MAAM,KAAK,QAGhB,CAAA;AAEF,eAAO,MAAM,KAAK,QAQhB,CAAA;AAEF,eAAO,MAAM,SAAS,QAEpB,CAAA;AAEF,eAAO,MAAM,QAAQ,QAyBnB,CAAA;AAEF,eAAO,MAAM,YAAY,QAMvB,CAAA;AAEF,eAAO,MAAM,OAAO,QAUlB,CAAA;AAEF,eAAO,MAAM,YAAY,QAGvB,CAAA;AAEF,eAAO,MAAM,iBAAiB,QAE5B,CAAA;AAEF,eAAO,MAAM,iBAAiB,QAO5B,CAAA;AAEF,eAAO,MAAM,kBAAkB,QAoB7B,CAAA;AAEF,eAAO,MAAM,aAAa,QAIxB,CAAA;AAEF,eAAO,MAAM,YAAY,QAIvB,CAAA;AAEF,eAAO,MAAM,iBAAiB,QAO5B,CAAA;AAEF,eAAO,MAAM,WAAW,QAItB,CAAA;AAEF,eAAO,MAAM,aAAa,QAqBxB,CAAA;AAEF,eAAO,MAAM,WAAW,QAMtB,CAAA;AAEF,eAAO,MAAM,WAAW,QAItB,CAAA;AAEF,eAAO,MAAM,WAAW,QAOtB,CAAA;AAEF,eAAO,MAAM,cAAc,QAYzB,CAAA;AAEF,eAAO,MAAM,mBAAmB,QAQ9B,CAAA;AAEF,eAAO,MAAM,MAAM,QAOjB,CAAA;AAEF,eAAO,MAAM,SAAS,QAQpB,CAAA"}
1
+ {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../src/styles.css.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAsBrB,CAAC;AAEX,eAAO,MAAM,WAAW,QAStB,CAAC;AAEH,eAAO,MAAM,KAAK,QAIhB,CAAC;AAEH,eAAO,MAAM,IAAI,QAEf,CAAC;AAEH,eAAO,MAAM,cAAc,QAIzB,CAAC;AAEH,eAAO,MAAM,QAAQ,QAuBnB,CAAC;AAEH,eAAO,MAAM,OAAO,QAUlB,CAAC;AAEH,eAAO,MAAM,YAAY,QAIvB,CAAC;AAEH,eAAO,MAAM,aAAa,QAIxB,CAAC;AAEH,eAAO,MAAM,YAAY,QAIvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAG5B,CAAC;AAEH,eAAO,MAAM,WAAW,QAItB,CAAC;AAEH,eAAO,MAAM,aAAa,QAwBxB,CAAC;AAEH,eAAO,MAAM,WAAW,QAMtB,CAAC;AAEH,eAAO,MAAM,WAAW,QAItB,CAAC;AAEH,eAAO,MAAM,WAAW,QAMtB,CAAC;AAEH,eAAO,MAAM,cAAc,QAYzB,CAAC;AAEH,eAAO,MAAM,mBAAmB,QAK9B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haklex/rich-renderer-katex",
3
- "version": "0.57.0",
3
+ "version": "0.59.0",
4
4
  "description": "KaTeX math renderer for haklex rich editor",
5
5
  "repository": {
6
6
  "type": "git",
@@ -36,9 +36,9 @@
36
36
  "vite": "^8.3.4"
37
37
  },
38
38
  "peerDependencies": {
39
- "@haklex/rich-editor": "^0.57.0",
40
- "@haklex/rich-editor-ui": "^0.57.0",
41
- "@haklex/rich-style-token": "^0.57.0",
39
+ "@haklex/rich-editor": "^0.59.0",
40
+ "@haklex/rich-editor-ui": "^0.59.0",
41
+ "@haklex/rich-style-token": "^0.59.0",
42
42
  "@lexical/react": "^0.52.0",
43
43
  "katex": ">=0.16.0",
44
44
  "lexical": "^0.52.0",