@haklex/rich-editor 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/AlertQuoteEditNode-C55sxsR3.js +267 -0
  2. package/dist/KaTeXRenderer-CQQT3BMw.js +215 -0
  3. package/dist/LinkCardRenderer-CigqFwCv.js +45 -0
  4. package/dist/MermaidPlugin-BrOr-wQi.js +67 -0
  5. package/dist/PresentDialogContext-DKNicgia.js +74 -0
  6. package/dist/RubyRenderer-jOkydJHg.js +15 -0
  7. package/dist/SubmitShortcutPlugin-D-7XrQfm.js +2186 -0
  8. package/dist/commands-entry.mjs +54 -74
  9. package/dist/config-CNiK9v2M.js +1246 -0
  10. package/dist/grid.css-CJCkLTZc.js +44 -0
  11. package/dist/index.mjs +121 -180
  12. package/dist/katex.css-CIOEOXyd.js +145 -0
  13. package/dist/node-registry-DOYK_WIp.js +669 -0
  14. package/dist/nodes-entry.mjs +5 -50
  15. package/dist/normalizeSerializedEditorState-B-1wmGzd.js +78 -0
  16. package/dist/plugins-entry.mjs +3 -28
  17. package/dist/renderers-entry.mjs +41 -61
  18. package/dist/rich-editor.css +2 -1
  19. package/dist/static-entry.mjs +16 -66
  20. package/dist/styles-entry.mjs +3 -21
  21. package/dist/theme-B5B2EOWM.js +1099 -0
  22. package/package.json +30 -30
  23. package/dist/AlertQuoteEditNode-sPNf3_7P.js +0 -293
  24. package/dist/KaTeXRenderer-CQyQzNTJ.js +0 -218
  25. package/dist/LinkCardRenderer-QmkOlyXb.js +0 -36
  26. package/dist/MermaidPlugin-DKuGUcCG.js +0 -101
  27. package/dist/PresentDialogContext-DRroMIoK.js +0 -71
  28. package/dist/RubyRenderer-CJQmODir.js +0 -14
  29. package/dist/SubmitShortcutPlugin-D9uKYHda.js +0 -2427
  30. package/dist/config-Dl3ZkytB.js +0 -1362
  31. package/dist/grid.css-Md5-Cfx_.js +0 -11
  32. package/dist/katex.css-Csc-7N7u.js +0 -28
  33. package/dist/node-registry-CovhHUB6.js +0 -824
  34. package/dist/normalizeSerializedEditorState-k5G4xSi9.js +0 -85
  35. package/dist/theme-lEwScxEX.js +0 -1113
@@ -1,50 +1,5 @@
1
- import { $, a, b, c, d, e, f, g, h, i, B, j, C, F, G, L, R, k, l, m } from "./config-Dl3ZkytB.js";
2
- import { F as F2, a as a2, c as c2, g as g2, s } from "./node-registry-CovhHUB6.js";
3
- import { N } from "./AlertQuoteEditNode-sPNf3_7P.js";
4
- import { $ as $2, a as a3, b as b2, c as c3, d as d2, e as e2, f as f2, g as g3, h as h2, i as i2, A, j as j2, I, K, k as k2, M, l as l2, T } from "./theme-lEwScxEX.js";
5
- export {
6
- $ as $createCommentNode,
7
- a as $createFootnoteSectionNode,
8
- b as $createGridContainerNode,
9
- $2 as $createImageNode,
10
- c as $createLinkCardNode,
11
- a3 as $createMentionNode,
12
- b2 as $createMermaidNode,
13
- d as $createRubyNode,
14
- c3 as $createTagNode,
15
- e as $isCommentNode,
16
- f as $isFootnoteSectionNode,
17
- g as $isGridContainerNode,
18
- d2 as $isImageNode,
19
- e2 as $isKaTeXBlockNode,
20
- f2 as $isKaTeXInlineNode,
21
- h as $isLinkCardNode,
22
- g3 as $isMentionNode,
23
- h2 as $isMermaidNode,
24
- i as $isRubyNode,
25
- i2 as $isTagNode,
26
- A as ALERT_LABELS,
27
- j2 as ALERT_TYPES,
28
- B as BANNER_LABELS,
29
- j as BANNER_TYPES,
30
- C as CommentNode,
31
- F2 as FootnoteSectionEditNode,
32
- F as FootnoteSectionNode,
33
- G as GridContainerNode,
34
- I as ImageNode,
35
- K as KaTeXBlockNode,
36
- k2 as KaTeXInlineNode,
37
- L as LinkCardNode,
38
- M as MentionNode,
39
- l2 as MermaidNode,
40
- N as NESTED_EDITOR_NODES,
41
- R as RubyNode,
42
- T as TagNode,
43
- a2 as allEditNodes,
44
- k as allNodes,
45
- l as builtinNodes,
46
- c2 as customEditNodes,
47
- m as customNodes,
48
- g2 as getResolvedEditNodes,
49
- s as setResolvedEditNodes
50
- };
1
+ import { a as FootnoteSectionEditNode, i as customEditNodes, n as setResolvedEditNodes, r as allEditNodes, t as getResolvedEditNodes } from "./node-registry-DOYK_WIp.js";
2
+ import { C as ImageNode, O as ALERT_LABELS, S as $isImageNode, _ as KaTeXInlineNode, b as KaTeXBlockNode, d as MermaidNode, f as $createMentionNode, g as $isKaTeXInlineNode, i as TagNode, k as ALERT_TYPES, l as $createMermaidNode, m as MentionNode, n as $createTagNode, p as $isMentionNode, r as $isTagNode, u as $isMermaidNode, x as $createImageNode, y as $isKaTeXBlockNode } from "./theme-B5B2EOWM.js";
3
+ import { A as BANNER_TYPES, S as CommentNode, a as $createRubyNode, c as $createLinkCardNode, d as $createGridContainerNode, f as $isGridContainerNode, g as FootnoteSectionNode, h as $isFootnoteSectionNode, k as BANNER_LABELS, l as $isLinkCardNode, m as $createFootnoteSectionNode, n as builtinNodes, o as $isRubyNode, p as GridContainerNode, r as customNodes, s as RubyNode, t as allNodes, u as LinkCardNode, x as $isCommentNode, y as $createCommentNode } from "./config-CNiK9v2M.js";
4
+ import { r as NESTED_EDITOR_NODES } from "./AlertQuoteEditNode-C55sxsR3.js";
5
+ export { $createCommentNode, $createFootnoteSectionNode, $createGridContainerNode, $createImageNode, $createLinkCardNode, $createMentionNode, $createMermaidNode, $createRubyNode, $createTagNode, $isCommentNode, $isFootnoteSectionNode, $isGridContainerNode, $isImageNode, $isKaTeXBlockNode, $isKaTeXInlineNode, $isLinkCardNode, $isMentionNode, $isMermaidNode, $isRubyNode, $isTagNode, ALERT_LABELS, ALERT_TYPES, BANNER_LABELS, BANNER_TYPES, CommentNode, FootnoteSectionEditNode, FootnoteSectionNode, GridContainerNode, ImageNode, KaTeXBlockNode, KaTeXInlineNode, LinkCardNode, MentionNode, MermaidNode, NESTED_EDITOR_NODES, RubyNode, TagNode, allEditNodes, allNodes, builtinNodes, customEditNodes, customNodes, getResolvedEditNodes, setResolvedEditNodes };
@@ -0,0 +1,78 @@
1
+ //#region src/utils/favicon.ts
2
+ var FAVICON_VARIANTS = [
3
+ "/favicon.ico",
4
+ "/favicon.png",
5
+ "/favicon.svg",
6
+ "/apple-touch-icon.png",
7
+ "/apple-touch-icon-precomposed.png"
8
+ ];
9
+ var faviconCache = /* @__PURE__ */ new Map();
10
+ function getHostname(href) {
11
+ try {
12
+ const url = new URL(href);
13
+ if (url.protocol !== "http:" && url.protocol !== "https:") return null;
14
+ return url.hostname;
15
+ } catch {
16
+ return null;
17
+ }
18
+ }
19
+ function probeImage(url) {
20
+ return new Promise((resolve) => {
21
+ const img = new Image();
22
+ img.onload = () => resolve(url);
23
+ img.onerror = () => resolve(null);
24
+ img.src = url;
25
+ });
26
+ }
27
+ async function probeFavicon(hostname) {
28
+ const cached = faviconCache.get(hostname);
29
+ if (cached !== void 0) return cached;
30
+ for (const variant of FAVICON_VARIANTS) {
31
+ const result = await probeImage(`https://${hostname}${variant}`);
32
+ if (result) {
33
+ faviconCache.set(hostname, result);
34
+ return result;
35
+ }
36
+ }
37
+ faviconCache.set(hostname, null);
38
+ return null;
39
+ }
40
+ //#endregion
41
+ //#region src/utils/normalizeSerializedEditorState.ts
42
+ var createEmptyParagraphNode = () => ({
43
+ children: [],
44
+ direction: null,
45
+ format: "",
46
+ indent: 0,
47
+ textFormat: 0,
48
+ textStyle: "",
49
+ type: "paragraph",
50
+ version: 1
51
+ });
52
+ function normalizeSerializedEditorState(state) {
53
+ const root = state?.root;
54
+ const children = Array.isArray(root?.children) ? [...root.children] : [];
55
+ if (root?.type === "root" && children.length > 0) return state;
56
+ if (!state) return { root: {
57
+ children: [createEmptyParagraphNode()],
58
+ direction: null,
59
+ format: "",
60
+ indent: 0,
61
+ type: "root",
62
+ version: 1
63
+ } };
64
+ return {
65
+ ...state,
66
+ root: {
67
+ ...root,
68
+ children: children.length > 0 ? children : [createEmptyParagraphNode()],
69
+ direction: root?.direction ?? null,
70
+ format: typeof root?.format === "string" ? root.format : "",
71
+ indent: typeof root?.indent === "number" ? root.indent : 0,
72
+ type: "root",
73
+ version: typeof root?.version === "number" ? root.version : 1
74
+ }
75
+ };
76
+ }
77
+ //#endregion
78
+ export { getHostname as n, probeFavicon as r, normalizeSerializedEditorState as t };
@@ -1,28 +1,3 @@
1
- import { A, a, b, B, c, C, E, F, H, I, d, L, M, e, O, S, T, f, g, u } from "./SubmitShortcutPlugin-D9uKYHda.js";
2
- import { A as A2, I as I2, K, M as M2 } from "./MermaidPlugin-DKuGUcCG.js";
3
- export {
4
- A as ALL_TRANSFORMERS,
5
- A2 as AlertPlugin,
6
- a as AutoFocusPlugin,
7
- b as AutoLinkPlugin,
8
- B as BlockExitPlugin,
9
- c as BlockIdPlugin,
10
- C as CorePlugins,
11
- E as EditorRefPlugin,
12
- F as FootnotePlugin,
13
- H as HorizontalRulePlugin,
14
- I2 as ImagePlugin,
15
- I as ImageUploadPlugin,
16
- d as ImageUploadProvider,
17
- K as KaTeXPlugin,
18
- L as LinkFaviconPlugin,
19
- M as MarkdownPastePlugin,
20
- e as MarkdownShortcutsPlugin,
21
- M2 as MermaidPlugin,
22
- O as OnChangePlugin,
23
- S as SubmitShortcutPlugin,
24
- T as TextSelectionPlugin,
25
- f as blockIdState,
26
- g as defaultImageUpload,
27
- u as useImageUpload
28
- };
1
+ import { A as ImageUploadProvider, D as defaultImageUpload, E as ImageUploadPlugin, F as ALL_TRANSFORMERS, I as HorizontalRulePlugin, L as BlockExitPlugin, M as CorePlugins, N as MarkdownShortcutsPlugin, O as BlockIdPlugin, P as MarkdownPastePlugin, R as AutoLinkPlugin, T as LinkFaviconPlugin, a as AutoFocusPlugin, i as EditorRefPlugin, j as useImageUpload, k as blockIdState, n as OnChangePlugin, o as TextSelectionPlugin, r as FootnotePlugin, t as SubmitShortcutPlugin } from "./SubmitShortcutPlugin-D-7XrQfm.js";
2
+ import { a as KaTeXPlugin, c as AlertPlugin, n as MermaidPlugin, s as ImagePlugin } from "./MermaidPlugin-BrOr-wQi.js";
3
+ export { ALL_TRANSFORMERS, AlertPlugin, AutoFocusPlugin, AutoLinkPlugin, BlockExitPlugin, BlockIdPlugin, CorePlugins, EditorRefPlugin, FootnotePlugin, HorizontalRulePlugin, ImagePlugin, ImageUploadPlugin, ImageUploadProvider, KaTeXPlugin, LinkFaviconPlugin, MarkdownPastePlugin, MarkdownShortcutsPlugin, MermaidPlugin, OnChangePlugin, SubmitShortcutPlugin, TextSelectionPlugin, blockIdState, defaultImageUpload, useImageUpload };
@@ -1,64 +1,44 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { TooltipRoot, TooltipTrigger, TooltipContent } from "@haklex/rich-editor-ui";
1
+ import { c as useFootnoteDisplayNumber, i as FootnoteStaticRenderer, l as RendererWrapper, n as computeImageMeta, o as useFootnoteContent, r as decodeThumbHash, t as KaTeXRenderer, u as createRendererDecoration } from "./KaTeXRenderer-CQQT3BMw.js";
2
+ import { l as semanticClassNames, r as clsx, u as sharedStyles } from "./katex.css-CIOEOXyd.js";
3
+ import { t as LinkCardRenderer } from "./LinkCardRenderer-CigqFwCv.js";
4
+ import { t as RubyRenderer } from "./RubyRenderer-jOkydJHg.js";
3
5
  import { useCallback } from "react";
4
- import { u as useFootnoteContent, d as useFootnoteDisplayNumber } from "./KaTeXRenderer-CQyQzNTJ.js";
5
- import { h, K, a, i, c, j } from "./KaTeXRenderer-CQyQzNTJ.js";
6
- import { s as semanticClassNames, d as sharedStyles, e as clsx } from "./katex.css-Csc-7N7u.js";
7
- import { L } from "./LinkCardRenderer-QmkOlyXb.js";
8
- import { R } from "./RubyRenderer-CJQmODir.js";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { TooltipContent, TooltipRoot, TooltipTrigger } from "@haklex/rich-editor-ui";
8
+ //#region src/components/renderers/FootnoteRenderer.tsx
9
9
  function FootnoteRenderer({ identifier }) {
10
- const content = useFootnoteContent(identifier);
11
- const displayNumber = useFootnoteDisplayNumber(identifier);
12
- const referenceId = `footnote-ref-${identifier}`;
13
- const targetId = `footnote-${identifier}`;
14
- const handleClick = useCallback(
15
- (e) => {
16
- const target = document.getElementById(targetId) || document.getElementById(`fn-${identifier}`);
17
- if (!target) return;
18
- e.preventDefault();
19
- target.scrollIntoView({ behavior: "smooth", block: "center" });
20
- target.classList.add(semanticClassNames.footnoteHighlight, sharedStyles.footnoteHighlight);
21
- window.setTimeout(() => {
22
- target.classList.remove(
23
- semanticClassNames.footnoteHighlight,
24
- sharedStyles.footnoteHighlight
25
- );
26
- }, 1200);
27
- },
28
- [identifier, targetId]
29
- );
30
- const label = displayNumber ?? identifier;
31
- return /* @__PURE__ */ jsx("span", { className: clsx(semanticClassNames.footnoteRefWrapper, sharedStyles.footnoteRefWrapper), children: /* @__PURE__ */ jsxs(TooltipRoot, { children: [
32
- /* @__PURE__ */ jsx(
33
- TooltipTrigger,
34
- {
35
- render: (props) => /* @__PURE__ */ jsx(
36
- "a",
37
- {
38
- ...props,
39
- "aria-label": content ? `Footnote ${label}: ${content}` : `Footnote ${label}`,
40
- className: clsx(semanticClassNames.footnoteRef, sharedStyles.footnoteRef),
41
- "data-footnote-ref": identifier,
42
- href: `#${targetId}`,
43
- id: referenceId,
44
- role: "doc-noteref",
45
- onClick: handleClick,
46
- children: label
47
- }
48
- )
49
- }
50
- ),
51
- content ? /* @__PURE__ */ jsx(TooltipContent, { children: content }) : null
52
- ] }) });
10
+ const content = useFootnoteContent(identifier);
11
+ const displayNumber = useFootnoteDisplayNumber(identifier);
12
+ const referenceId = `footnote-ref-${identifier}`;
13
+ const targetId = `footnote-${identifier}`;
14
+ const handleClick = useCallback((e) => {
15
+ const target = document.getElementById(targetId) || document.getElementById(`fn-${identifier}`);
16
+ if (!target) return;
17
+ e.preventDefault();
18
+ target.scrollIntoView({
19
+ behavior: "smooth",
20
+ block: "center"
21
+ });
22
+ target.classList.add(semanticClassNames.footnoteHighlight, sharedStyles.footnoteHighlight);
23
+ window.setTimeout(() => {
24
+ target.classList.remove(semanticClassNames.footnoteHighlight, sharedStyles.footnoteHighlight);
25
+ }, 1200);
26
+ }, [identifier, targetId]);
27
+ const label = displayNumber ?? identifier;
28
+ return /* @__PURE__ */ jsx("span", {
29
+ className: clsx(semanticClassNames.footnoteRefWrapper, sharedStyles.footnoteRefWrapper),
30
+ children: /* @__PURE__ */ jsxs(TooltipRoot, { children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: (props) => /* @__PURE__ */ jsx("a", {
31
+ ...props,
32
+ "aria-label": content ? `Footnote ${label}: ${content}` : `Footnote ${label}`,
33
+ className: clsx(semanticClassNames.footnoteRef, sharedStyles.footnoteRef),
34
+ "data-footnote-ref": identifier,
35
+ href: `#${targetId}`,
36
+ id: referenceId,
37
+ role: "doc-noteref",
38
+ onClick: handleClick,
39
+ children: label
40
+ }) }), content ? /* @__PURE__ */ jsx(TooltipContent, { children: content }) : null] })
41
+ });
53
42
  }
54
- export {
55
- FootnoteRenderer,
56
- h as FootnoteStaticRenderer,
57
- K as KaTeXRenderer,
58
- L as LinkCardRenderer,
59
- a as RendererWrapper,
60
- R as RubyRenderer,
61
- i as computeImageMeta,
62
- c as createRendererDecoration,
63
- j as decodeThumbHash
64
- };
43
+ //#endregion
44
+ export { FootnoteRenderer, FootnoteStaticRenderer, KaTeXRenderer, LinkCardRenderer, RendererWrapper, RubyRenderer, computeImageMeta, createRendererDecoration, decodeThumbHash };
@@ -1 +1,2 @@
1
- :root{--rc-text: #000;--rc-text-secondary: #262626;--rc-text-tertiary: #737373;--rc-text-quaternary: #a3a3a3;--rc-bg: #ffffff;--rc-bg-secondary: #fafafa;--rc-bg-tertiary: #f5f5f5;--rc-fill: #e8e8e8;--rc-fill-secondary: #eeeeee;--rc-fill-tertiary: #f5f5f5;--rc-fill-quaternary: #fafafa;--rc-border: #f5f5f5;--rc-accent: #2563eb;--rc-accent-light: #2563eb20;--rc-link: #2563eb;--rc-code-text: #404040;--rc-code-bg: #f5f5f5;--rc-hr-border: #e5e5e5;--rc-quote-border: #2563eb;--rc-quote-bg: #f5f5f5;--rc-alert-info: #006bb7;--rc-alert-warning: #cc5500;--rc-alert-tip: #11cc00;--rc-alert-caution: #cc0011;--rc-alert-important: #5500cc;--rc-max-width: 700px;--rc-shadow-top-bar: 0 8px 30px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .06);--rc-shadow-modal: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--rc-shadow-menu: 0 1px 4px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.08);--rc-space-xs: 4px;--rc-space-sm: 8px;--rc-space-md: 16px;--rc-space-lg: 24px;--rc-space-xl: 32px;--rc-font-family-sans: "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-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: "楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono: "SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, 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-line-height: 1.7;--rc-line-height-tight: 1.4;--rc-font-family: "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm: 4px;--rc-radius-md: 8px;--rc-radius-lg: 12px}:root.dark{--rc-text: #fafafa;--rc-text-secondary: #a3a3a3;--rc-text-tertiary: #737373;--rc-text-quaternary: #525252;--rc-bg: #0a0a0a;--rc-bg-secondary: #171717;--rc-bg-tertiary: #262626;--rc-fill: #2a2a2a;--rc-fill-secondary: #222222;--rc-fill-tertiary: #1a1a1a;--rc-fill-quaternary: #141414;--rc-border: #262626;--rc-accent: #60a5fa;--rc-accent-light: #60a5fa20;--rc-link: #60a5fa;--rc-code-text: #d4d4d4;--rc-code-bg: #262626;--rc-hr-border: #262626;--rc-quote-border: #60a5fa;--rc-quote-bg: #262626;--rc-alert-info: #7db9e5;--rc-alert-warning: #da864a;--rc-alert-tip: #54da48;--rc-alert-caution: #e16973;--rc-alert-important: #9966e0;--rc-max-width: 700px;--rc-shadow-top-bar: 0 8px 30px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .3);--rc-shadow-modal: 0 10px 15px -3px rgba(0,0,0,.4), 0 4px 6px -4px rgba(0,0,0,.35);--rc-shadow-menu: 0 1px 4px rgba(0,0,0,.25), 0 4px 16px rgba(0,0,0,.4);--rc-space-xs: 4px;--rc-space-sm: 8px;--rc-space-md: 16px;--rc-space-lg: 24px;--rc-space-xl: 32px;--rc-font-family-sans: "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-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: "楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono: "SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, 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-line-height: 1.7;--rc-line-height-tight: 1.4;--rc-font-family: "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm: 4px;--rc-radius-md: 8px;--rc-radius-lg: 12px}[data-theme=dark]{--rc-text: #fafafa;--rc-text-secondary: #a3a3a3;--rc-text-tertiary: #737373;--rc-text-quaternary: #525252;--rc-bg: #0a0a0a;--rc-bg-secondary: #171717;--rc-bg-tertiary: #262626;--rc-fill: #2a2a2a;--rc-fill-secondary: #222222;--rc-fill-tertiary: #1a1a1a;--rc-fill-quaternary: #141414;--rc-border: #262626;--rc-accent: #60a5fa;--rc-accent-light: #60a5fa20;--rc-link: #60a5fa;--rc-code-text: #d4d4d4;--rc-code-bg: #262626;--rc-hr-border: #262626;--rc-quote-border: #60a5fa;--rc-quote-bg: #262626;--rc-alert-info: #7db9e5;--rc-alert-warning: #da864a;--rc-alert-tip: #54da48;--rc-alert-caution: #e16973;--rc-alert-important: #9966e0;--rc-max-width: 700px;--rc-shadow-top-bar: 0 8px 30px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .3);--rc-shadow-modal: 0 10px 15px -3px rgba(0,0,0,.4), 0 4px 6px -4px rgba(0,0,0,.35);--rc-shadow-menu: 0 1px 4px rgba(0,0,0,.25), 0 4px 16px rgba(0,0,0,.4);--rc-space-xs: 4px;--rc-space-sm: 8px;--rc-space-md: 16px;--rc-space-lg: 24px;--rc-space-xl: 32px;--rc-font-family-sans: "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-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: "楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono: "SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, 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-line-height: 1.7;--rc-line-height-tight: 1.4;--rc-font-family: "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm: 4px;--rc-radius-md: 8px;--rc-radius-lg: 12px}._13h71jk0{--rc-text: #000;--rc-text-secondary: #262626;--rc-text-tertiary: #737373;--rc-text-quaternary: #a3a3a3;--rc-bg: #ffffff;--rc-bg-secondary: #fafafa;--rc-bg-tertiary: #f5f5f5;--rc-fill: #e8e8e8;--rc-fill-secondary: #eeeeee;--rc-fill-tertiary: #f5f5f5;--rc-fill-quaternary: #fafafa;--rc-border: #f5f5f5;--rc-accent: #2563eb;--rc-accent-light: #2563eb20;--rc-link: #2563eb;--rc-code-text: #404040;--rc-code-bg: #f5f5f5;--rc-hr-border: #e5e5e5;--rc-quote-border: #2563eb;--rc-quote-bg: #f5f5f5;--rc-alert-info: #006bb7;--rc-alert-warning: #cc5500;--rc-alert-tip: #11cc00;--rc-alert-caution: #cc0011;--rc-alert-important: #5500cc;--rc-max-width: 700px;--rc-shadow-top-bar: 0 8px 30px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .06);--rc-shadow-modal: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--rc-shadow-menu: 0 1px 4px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.08);--rc-space-xs: 4px;--rc-space-sm: 8px;--rc-space-md: 16px;--rc-space-lg: 24px;--rc-space-xl: 32px;--rc-font-family-sans: "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-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: "楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono: "SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, 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-line-height: 1.7;--rc-line-height-tight: 1.4;--rc-font-family: "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm: 4px;--rc-radius-md: 8px;--rc-radius-lg: 12px}._13h71jk1{--rc-text: #000;--rc-text-secondary: #262626;--rc-text-tertiary: #737373;--rc-text-quaternary: #a3a3a3;--rc-bg: #ffffff;--rc-bg-secondary: #fafafa;--rc-bg-tertiary: #f5f5f5;--rc-fill: #e8e8e8;--rc-fill-secondary: #eeeeee;--rc-fill-tertiary: #f5f5f5;--rc-fill-quaternary: #fafafa;--rc-border: #f5f5f5;--rc-accent: #2563eb;--rc-accent-light: #2563eb20;--rc-link: #2563eb;--rc-code-text: #404040;--rc-code-bg: #f5f5f5;--rc-hr-border: #e5e5e5;--rc-quote-border: #2563eb;--rc-quote-bg: #f5f5f5;--rc-alert-info: #006bb7;--rc-alert-warning: #cc5500;--rc-alert-tip: #11cc00;--rc-alert-caution: #cc0011;--rc-alert-important: #5500cc;--rc-max-width: 700px;--rc-shadow-top-bar: 0 8px 30px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .06);--rc-shadow-modal: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--rc-shadow-menu: 0 1px 4px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.08);--rc-space-xs: 4px;--rc-space-sm: 8px;--rc-space-md: 16px;--rc-space-lg: 24px;--rc-space-xl: 32px;--rc-font-family-sans: "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-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: "楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono: "SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, 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-line-height: 1.8;--rc-line-height-tight: 1.4;--rc-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}._13h71jk2{--rc-text: #000;--rc-text-secondary: #262626;--rc-text-tertiary: #737373;--rc-text-quaternary: #a3a3a3;--rc-bg: #ffffff;--rc-bg-secondary: #fafafa;--rc-bg-tertiary: #f5f5f5;--rc-fill: #e8e8e8;--rc-fill-secondary: #eeeeee;--rc-fill-tertiary: #f5f5f5;--rc-fill-quaternary: #fafafa;--rc-border: #f5f5f5;--rc-accent: #2563eb;--rc-accent-light: #2563eb20;--rc-link: #2563eb;--rc-code-text: #404040;--rc-code-bg: #f5f5f5;--rc-hr-border: #e5e5e5;--rc-quote-border: #a3a3a3;--rc-quote-bg: #fafafa;--rc-alert-info: #006bb7;--rc-alert-warning: #cc5500;--rc-alert-tip: #11cc00;--rc-alert-caution: #cc0011;--rc-alert-important: #5500cc;--rc-max-width: none;--rc-shadow-top-bar: 0 8px 30px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .06);--rc-shadow-modal: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--rc-shadow-menu: 0 1px 4px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.08);--rc-space-xs: 2px;--rc-space-sm: 4px;--rc-space-md: 10px;--rc-space-lg: 16px;--rc-space-xl: 20px;--rc-font-family-sans: "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-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: "楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono: "SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, 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-line-height: 1.5;--rc-line-height-tight: 1.3;--rc-font-family: "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm: 3px;--rc-radius-md: 6px;--rc-radius-lg: 12px}.dark ._13h71jk0,[data-theme=dark] ._13h71jk0,.dark._13h71jk0,[data-theme=dark]._13h71jk0,.dark ._13h71jk1,[data-theme=dark] ._13h71jk1,.dark._13h71jk1,[data-theme=dark]._13h71jk1,.dark ._13h71jk2,[data-theme=dark] ._13h71jk2,.dark._13h71jk2,[data-theme=dark]._13h71jk2{--rc-text: #fafafa;--rc-text-secondary: #a3a3a3;--rc-text-tertiary: #737373;--rc-text-quaternary: #525252;--rc-bg: #0a0a0a;--rc-bg-secondary: #171717;--rc-bg-tertiary: #262626;--rc-fill: #2a2a2a;--rc-fill-secondary: #222222;--rc-fill-tertiary: #1a1a1a;--rc-fill-quaternary: #141414;--rc-border: #262626;--rc-accent: #60a5fa;--rc-accent-light: #60a5fa20;--rc-link: #60a5fa;--rc-code-text: #d4d4d4;--rc-code-bg: #262626;--rc-hr-border: #262626;--rc-quote-border: #60a5fa;--rc-quote-bg: #262626;--rc-alert-info: #7db9e5;--rc-alert-warning: #da864a;--rc-alert-tip: #54da48;--rc-alert-caution: #e16973;--rc-alert-important: #9966e0;--rc-shadow-top-bar: 0 8px 30px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .3);--rc-shadow-modal: 0 10px 15px -3px rgba(0,0,0,.4), 0 4px 6px -4px rgba(0,0,0,.35);--rc-shadow-menu: 0 1px 4px rgba(0,0,0,.25), 0 4px 16px rgba(0,0,0,.4)}@keyframes r8uj4t0{to{--rc-hl-highlighted: 1}}@keyframes r8uj4t1{0%{background-color:#ef44443d}to{background-color:transparent}}.r8uj4t2{font-family:var(--rc-font-family);font-size:var(--rc-font-size-base);line-height:var(--rc-line-height);color:var(--rc-text);word-wrap:break-word;overflow-wrap:break-word}.r8uj4t3{margin:0 0 1em;line-height:var(--rc-line-height)}.r8uj4t4{font-weight:700}.r8uj4t5{font-style:italic}.r8uj4t6{text-decoration:underline}.r8uj4t7{text-decoration:line-through;opacity:.65}.r8uj4t8{vertical-align:super;font-size:.8em}.r8uj4t9{vertical-align:sub;font-size:.8em}.r8uj4ta{font-family:var(--rc-font-mono);font-size:.9em;background-color:var(--rc-code-bg);color:inherit;padding:2px 6px;border-radius:var(--rc-radius-sm);border:1px solid var(--rc-border)}[contenteditable=true] .r8uj4ta{padding-right:0}.r8uj4tb{--rc-hl-lightness: .3;--rc-hl-highlighted: 1;--rc-hl-color: oklch(from var(--rc-accent) l c h / var(--rc-hl-lightness));background:linear-gradient(120deg,var(--rc-hl-color, lightblue) 50%,transparent 50%) 110% 0 / 200% 100% no-repeat;background-position:calc((1 - var(--rc-hl-highlighted)) * 110%) 0;color:var(--rc-text);transition:background-position 1s}[contenteditable=true] .r8uj4tb{--rc-hl-highlighted: 1;animation:none}[data-theme=dark] .r8uj4tb{--rc-hl-lightness: .35}.r8uj4tc{position:absolute;left:-1.25rem;top:0;bottom:0;display:flex;align-items:center;text-decoration:none;color:var(--rc-text-secondary);opacity:0;transition:opacity .15s ease;font-size:.8rem}.r8uj4td{position:relative;font-size:2em;font-weight:700;line-height:var(--rc-line-height-tight);margin-top:1.5em;margin-bottom:.5em}[contenteditable=true] .r8uj4td:before{content:"H1";position:absolute;left:-1.5rem;bottom:.5rem;display:flex;font-size:.5rem;font-weight:600;color:var(--rc-text-secondary);opacity:.6;pointer-events:none;font-family:var(--rc-font-mono)}.r8uj4te{position:relative;font-size:1.5em;font-weight:700;line-height:var(--rc-line-height-tight);margin-top:1.4em;margin-bottom:.45em}[contenteditable=true] .r8uj4te:before{content:"H2";position:absolute;left:-1.5rem;bottom:.5rem;display:flex;font-size:.5rem;font-weight:600;color:var(--rc-text-secondary);opacity:.6;pointer-events:none;font-family:var(--rc-font-mono)}.r8uj4tf{position:relative;font-size:1.25em;font-weight:600;line-height:var(--rc-line-height-tight);margin-top:1.3em;margin-bottom:.4em}[contenteditable=true] .r8uj4tf:before{content:"H3";position:absolute;left:-1.5rem;bottom:.5rem;display:flex;font-size:.5rem;font-weight:600;color:var(--rc-text-secondary);opacity:.6;pointer-events:none;font-family:var(--rc-font-mono)}.r8uj4tg{position:relative;font-size:1.125em;font-weight:600;line-height:var(--rc-line-height-tight);margin-top:1.2em;margin-bottom:.35em}[contenteditable=true] .r8uj4tg:before{content:"H4";position:absolute;left:-1.5rem;bottom:.5rem;display:flex;font-size:.5rem;font-weight:600;color:var(--rc-text-secondary);opacity:.6;pointer-events:none;font-family:var(--rc-font-mono)}.r8uj4th{position:relative;font-size:1em;font-weight:600;line-height:var(--rc-line-height-tight);margin-top:1.1em;margin-bottom:.3em}[contenteditable=true] .r8uj4th:before{content:"H5";position:absolute;left:-1.5rem;bottom:.5rem;display:flex;font-size:.5rem;font-weight:600;color:var(--rc-text-secondary);opacity:.6;pointer-events:none;font-family:var(--rc-font-mono)}.r8uj4ti{position:relative;font-size:.875em;font-weight:600;line-height:var(--rc-line-height-tight);margin-top:1em;margin-bottom:.25em;color:var(--rc-text)}[contenteditable=true] .r8uj4ti:before{content:"H6";position:absolute;left:-1.5rem;bottom:.5rem;display:flex;font-size:.5rem;font-weight:600;color:var(--rc-text-secondary);opacity:.6;pointer-events:none;font-family:var(--rc-font-mono)}.r8uj4tj{color:var(--rc-link);text-decoration:none;transition:color .2s ease}.r8uj4tj:hover{text-decoration:underline}.r8uj4tj[data-favicon=loaded]:before{content:"";display:inline-block;width:1em;height:1em;margin-right:.2em;vertical-align:-.125em;background-image:var(--rc-link-favicon);background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:2px}.r8uj4tk{display:inline-flex;align-items:center;margin-right:.15em;vertical-align:-.125em}.r8uj4tl{list-style-type:decimal;padding-left:var(--rc-space-lg);margin-bottom:1em}.r8uj4tm{list-style-type:disc;padding-left:var(--rc-space-lg);margin-bottom:1em}.r8uj4tn{margin-bottom:.25em}.r8uj4to{list-style-type:none}.r8uj4tp{list-style-type:none;padding-left:0}.r8uj4tq{--rc-cb-size: 1.125rem;position:relative;padding-left:2em;list-style-type:none;outline:none;transition:color .25s ease}.r8uj4tq:before{content:"";position:absolute;left:0;top:calc((1lh - var(--rc-cb-size)) / 2);width:var(--rc-cb-size);height:var(--rc-cb-size);border:1.5px solid var(--rc-text-quaternary);border-radius:var(--rc-radius-sm);box-sizing:border-box;cursor:pointer;background-color:transparent;transition:background-color .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1),transform .15s ease}.r8uj4tq:after{content:"";position:absolute;left:calc(var(--rc-cb-size) * .32);top:calc((1lh - var(--rc-cb-size)) / 2 + var(--rc-cb-size) * .14);width:calc(var(--rc-cb-size) * .28);height:calc(var(--rc-cb-size) * .55);border-right:2px solid var(--rc-accent);border-bottom:2px solid var(--rc-accent);box-sizing:border-box;display:block;pointer-events:none;transform:rotate(45deg) scale(0);transform-origin:center;opacity:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1) .1s,opacity .15s ease}[contenteditable=true] .r8uj4tq:active:before{transform:scale(.94)}[contenteditable=true] .r8uj4tq:hover:before{border-color:var(--rc-text-tertiary)}.r8uj4tr{--rc-cb-size: 1.125rem;position:relative;padding-left:2em;list-style-type:none;outline:none;transition:color .25s ease;color:var(--rc-text-secondary)}.r8uj4tr:before{content:"";position:absolute;left:0;top:calc((1lh - var(--rc-cb-size)) / 2);width:var(--rc-cb-size);height:var(--rc-cb-size);border:1.5px solid var(--rc-text-quaternary);border-radius:var(--rc-radius-sm);box-sizing:border-box;cursor:pointer;background-color:var(--rc-accent-light);transition:background-color .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1),transform .15s ease;border-color:var(--rc-accent)}.r8uj4tr:after{content:"";position:absolute;left:calc(var(--rc-cb-size) * .32);top:calc((1lh - var(--rc-cb-size)) / 2 + var(--rc-cb-size) * .14);width:calc(var(--rc-cb-size) * .28);height:calc(var(--rc-cb-size) * .55);border-right:2px solid var(--rc-accent);border-bottom:2px solid var(--rc-accent);box-sizing:border-box;display:block;pointer-events:none;transform:rotate(45deg) scale(1);transform-origin:center;opacity:1;transition:transform .3s cubic-bezier(.34,1.56,.64,1) .1s,opacity .15s ease}[contenteditable=true] .r8uj4tr:active:before{transform:scale(.94)}[contenteditable=true] .r8uj4tr:hover:before{background-color:color-mix(in oklab,var(--rc-accent) 12%,transparent)}.r8uj4ts{position:relative;background-color:var(--rc-quote-bg);margin:var(--rc-space-md) 0;padding:var(--rc-space-sm) var(--rc-space-md);padding-left:calc(var(--rc-space-md) + 4px);font-style:normal;color:var(--rc-text-secondary);border-radius:0 var(--rc-radius-sm) var(--rc-radius-sm) 0}.r8uj4ts:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--rc-radius-sm);background-color:var(--rc-quote-border)}.r8uj4tt{border:none;border-top:1px solid var(--rc-hr-border);margin:var(--rc-space-lg) auto;width:60px}.r8uj4tu{overflow-x:auto}.r8uj4tv{border:none;border-bottom:1px solid var(--rc-border);border-right:1px solid var(--rc-border);padding:1.25em var(--rc-space-lg);text-align:left;vertical-align:middle;line-height:1.5}.r8uj4tv:last-child{border-right:none}.r8uj4tw{border:none;border-bottom:1px solid var(--rc-border);border-right:1px solid var(--rc-border);padding:var(--rc-space-md) var(--rc-space-lg);text-align:left;font-weight:600;font-size:.75em;text-transform:uppercase;letter-spacing:.05em;color:var(--rc-text-secondary);background-color:var(--rc-bg-secondary);vertical-align:middle;line-height:1.5;position:sticky;top:0;z-index:1}.r8uj4tw:last-child{border-right:none}.r8uj4tx{width:100%;border-collapse:separate;border-spacing:0;margin:var(--rc-space-lg) 0;font-size:var(--rc-font-size-small);border:1px solid var(--rc-border);border-radius:var(--rc-radius-md);overflow:hidden}.r8uj4ty{background-color:var(--rc-text);color:transparent;border-radius:var(--rc-radius-sm);padding-inline:4px;cursor:pointer;transition:background-color .3s ease,color .3s ease;user-select:none}[contenteditable=true] .r8uj4ty{background-color:color-mix(in srgb,var(--rc-text) 30%,transparent);color:inherit;user-select:auto;cursor:text}.r8uj4ty:hover{background-color:transparent;color:inherit;user-select:auto}.rich-content .r8uj4ty{background-color:var(--rc-text-tertiary);color:transparent}.rich-content .r8uj4ty:not(:hover):not(.rich-spoiler-revealed) *{color:transparent!important}.rich-content .r8uj4ty:hover,.r8uj4tz{background-color:transparent;color:inherit;user-select:auto}.r8uj4t10{display:inline-block;border-radius:999px;padding-inline:.75em;font-size:var(--rc-font-size-small);line-height:1.6;vertical-align:baseline}.r8uj4t11{display:inline-block;font-family:var(--rc-font-mono);font-size:var(--rc-font-size-small);color:var(--rc-text-secondary);background-color:var(--rc-code-bg);border:1px dashed var(--rc-border);border-radius:var(--rc-radius-sm);padding:2px 6px;white-space:break-spaces}.r8uj4t11:before{content:"<!--";opacity:.7}.r8uj4t11:after{content:"-->";opacity:.7}.r8uj4t12{ruby-position:over;ruby-align:center}[contenteditable=true] .r8uj4t12[data-ruby]{position:relative;display:inline-block;padding-top:.72em;line-height:1.2}[contenteditable=true] .r8uj4t12[data-ruby]:before{content:attr(data-ruby);position:absolute;left:0;right:0;top:0;transform:translateY(-.68em);font-size:.58em;line-height:1;text-align:center;color:var(--rc-text-secondary);pointer-events:none;white-space:nowrap}.r8uj4t13{font-size:.58em;line-height:1;color:var(--rc-text-secondary);user-select:none}.r8uj4t14{vertical-align:super;font-size:.8em}.r8uj4t15{display:inline-flex;align-items:center;justify-content:center;min-width:1.5em;text-decoration:none;color:var(--rc-accent);background-color:var(--rc-accent-light);border-radius:999px;padding:0 .35em;line-height:1.45;font-weight:600;font-size:.82em;transition:filter .15s ease}.r8uj4t15:hover{filter:brightness(.96)}.r8uj4t16{animation:r8uj4t1 1.2s ease-out}.r8uj4t17{position:relative;display:inline}.r8uj4t18{margin-top:var(--rc-space-lg)}.r8uj4t19{border:none;border-top:1px solid var(--rc-border);margin:var(--rc-space-lg) 0 var(--rc-space-md)}.r8uj4t1a{list-style-type:decimal;padding-left:var(--rc-space-lg);font-size:var(--rc-font-size-small);color:var(--rc-text-secondary);line-height:1.6}.r8uj4t1b{margin-bottom:var(--rc-space-sm);padding-left:var(--rc-space-xs)}.r8uj4t1c{display:inline-flex;align-items:center;margin-left:var(--rc-space-xs);color:var(--rc-accent);text-decoration:none;font-size:.85em;transition:opacity .15s ease;font-family:var(--rc-font-mono)}.r8uj4t1c:hover{opacity:.7}.r8uj4t1d{display:flex;align-items:center;gap:var(--rc-space-sm);list-style-type:none}.r8uj4t1e{flex-shrink:0;color:var(--rc-text-secondary);font-size:var(--rc-font-size-small);font-weight:600;min-width:1.5em}.r8uj4t1f{flex:1;border:1px solid var(--rc-border);border-radius:var(--rc-radius-sm);padding:var(--rc-space-xs) var(--rc-space-sm);font-size:var(--rc-font-size-small);color:var(--rc-text);background-color:transparent;outline:none;transition:border-color .15s ease}.r8uj4t1f:focus{border-color:var(--rc-accent)}.r8uj4t1g{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:none;color:var(--rc-text-secondary);cursor:pointer;border-radius:var(--rc-radius-sm);font-size:14px;transition:color .15s ease,background-color .15s ease}.r8uj4t1g:hover{color:#ef4444;background-color:#ef44441a}.r8uj4t1h{position:absolute;display:flex;align-items:center;justify-content:center;width:20px;height:20px;cursor:grab;border-radius:var(--rc-radius-sm);color:var(--rc-text-secondary);opacity:.4;transition:opacity .15s ease,background-color .15s ease;z-index:10}.r8uj4t1h:hover{opacity:1;background-color:var(--rc-fill-secondary)}.r8uj4t1h:active{cursor:grabbing}.r8uj4t1i{position:absolute;height:2px;background-color:var(--rc-accent);border-radius:1px;pointer-events:none;z-index:10}.r8uj4t1j{margin:2em 0;padding:0 1em;background-color:transparent;border:none;border-radius:0}.r8uj4t2 mark{background:transparent}.r8uj4t2 img{max-width:100%;height:auto;border-radius:var(--rc-radius-md)}.r8uj4t2>*:first-child,.r8uj4t2 .rich-editor__content>*:first-child{margin-top:0}.r8uj4t2>*:last-child,.r8uj4t2 .rich-editor__content>*:last-child{margin-bottom:0}.r8uj4tc svg{flex-shrink:0}.r8uj4td:hover .r8uj4tc{opacity:.5}.r8uj4td:hover .r8uj4tc:hover{opacity:1}.r8uj4te:hover .r8uj4tc{opacity:.5}.r8uj4te:hover .r8uj4tc:hover{opacity:1}.r8uj4tf:hover .r8uj4tc{opacity:.5}.r8uj4tf:hover .r8uj4tc:hover{opacity:1}.r8uj4tg:hover .r8uj4tc{opacity:.5}.r8uj4tg:hover .r8uj4tc:hover{opacity:1}.r8uj4th:hover .r8uj4tc{opacity:.5}.r8uj4th:hover .r8uj4tc:hover{opacity:1}.r8uj4ti:hover .r8uj4tc{opacity:.5}.r8uj4ti:hover .r8uj4tc:hover{opacity:1}.r8uj4tk img{width:1em;height:1em;border-radius:2px;object-fit:contain}.r8uj4tk svg{width:.9em;height:.9em}.r8uj4to .r8uj4tl{list-style-type:lower-alpha}.r8uj4to .r8uj4tm{list-style-type:circle}.r8uj4tr>*,.r8uj4tq>*{background-image:linear-gradient(var(--rc-text-secondary),var(--rc-text-secondary));background-size:0% 1.5px;background-position:left center;background-repeat:no-repeat;transition:background-size .35s cubic-bezier(.4,0,.2,1) .15s,opacity .15s ease}.r8uj4tr>*{background-size:100% 1.5px;opacity:.5}.r8uj4ts>.r8uj4t3:first-child{margin-top:0}.r8uj4ts>.r8uj4t3:last-child{margin-bottom:0}.r8uj4tx tbody tr:last-child .r8uj4tv{border-bottom:none}.r8uj4tv .r8uj4t3{margin:0;padding:0;line-height:inherit}.r8uj4tv>:first-child{margin-top:0}.r8uj4tv>:last-child{margin-bottom:0}.r8uj4tw .r8uj4t3{margin:0;padding:0;line-height:inherit}.r8uj4tw>:first-child{margin-top:0}.r8uj4tw>:last-child{margin-bottom:0}@supports (animation-timeline: view()){.r8uj4tb{--rc-hl-highlighted: 0;animation:r8uj4t0 steps(1) both;animation-timeline:view();animation-range:entry 100% cover 10%}}._1o2d5g50{margin:var(--rc-space-md) 0;border:none;background-color:transparent;interpolate-size:allow-keywords}._1o2d5g51{display:flex;align-items:flex-start;gap:var(--rc-space-sm);cursor:pointer;user-select:none;padding:var(--rc-space-xs) 0;color:var(--rc-text);font-weight:500;font-size:1em;line-height:var(--rc-line-height);list-style:none;outline:none;border-radius:var(--rc-radius-sm);transition:opacity .2s ease,color .2s ease,box-shadow .2s ease}._1o2d5g51:hover{opacity:.82}._1o2d5g51:focus-visible{box-shadow:0 0 0 2px var(--rc-accent-light)}._1o2d5g51::-webkit-details-marker{display:none}._1o2d5g51::marker{content:"";display:none}._1o2d5g52{flex:1;min-width:0}._1o2d5g53{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;position:relative;top:.25rem;flex-shrink:0;color:var(--rc-text-tertiary);transform-origin:center;transition:transform .35s cubic-bezier(.4,0,.2,1),color .2s ease}._1o2d5g54{margin-top:var(--rc-space-xs);padding:var(--rc-space-sm) var(--rc-space-xl);color:var(--rc-text-secondary);background-color:color-mix(in srgb,var(--rc-accent) 6%,var(--rc-bg-secondary));border-radius:var(--rc-radius-md)}._1o2d5g51:hover ._1o2d5g53{color:var(--rc-text-secondary)}._1o2d5g50[open] ._1o2d5g53{color:var(--rc-accent);transform:rotate(90deg)}._1o2d5g50::details-content{display:block;height:0;overflow:hidden;opacity:0;content-visibility:hidden;transition:height .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1),content-visibility .4s cubic-bezier(.4,0,.2,1) allow-discrete}._1o2d5g50[open]::details-content{height:auto;opacity:1;content-visibility:visible}._1o2d5g54>.r8uj4t3:first-child{margin-top:0}._1o2d5g54>.r8uj4t3:last-child{margin-bottom:0}.v10dui0{max-width:var(--rc-max-width);font-size:var(--rc-font-size-base);line-height:1.75;color:var(--rc-text)}.v10dui0 .r8uj4t3{margin-top:1.5em;margin-bottom:1.5em}.v10dui0 .r8uj4td{color:var(--rc-text);font-weight:800;font-size:3em;margin-top:0;margin-bottom:.8333333333333334em;line-height:1}.v10dui0 .r8uj4te{color:var(--rc-text);font-weight:700;font-size:1.875em;margin-top:1.8666666666666667em;margin-bottom:1.0666666666666667em;line-height:1.3333333}.v10dui0 .r8uj4tf{color:var(--rc-text);font-weight:600;font-size:1.5em;margin-top:1.6666666666666667em;margin-bottom:.6666666666666666em;line-height:1.5}.v10dui0 .r8uj4tg{color:var(--rc-text);font-weight:600;margin-top:2em;margin-bottom:.5em;line-height:1.5625}.v10dui0 .r8uj4te+*,.v10dui0 .r8uj4tf+*,.v10dui0 .r8uj4tg+*{margin-top:0}.v10dui0 .r8uj4ts{font-weight:500;font-style:italic;color:var(--rc-text);margin-top:2.5em;margin-bottom:2.5em;padding-left:calc(1.5em + 4px);background-color:transparent;border-radius:0;quotes:"“""”""‘""’"}.v10dui0 .r8uj4ts .r8uj4t3:first-of-type:before{content:open-quote}.v10dui0 .r8uj4ts .r8uj4t3:last-of-type:after{content:close-quote}.v10dui0 .r8uj4ts .r8uj4t3:first-child{margin-top:0}.v10dui0 .r8uj4ts .r8uj4t3:last-child{margin-bottom:0}.v10dui0 .r8uj4ta{color:inherit;font-weight:600;font-size:.875em;background-color:var(--rc-code-bg);padding:.2em .4em;border-radius:var(--rc-radius-sm);font-family:var(--rc-font-mono)}.v10dui0 .r8uj4ta:before,.v10dui0 .r8uj4ta:after{content:"`";color:var(--rc-text-secondary);opacity:.5}.v10dui0 [contenteditable=true] .r8uj4ta:before,.v10dui0 [contenteditable=true] .r8uj4ta:after{content:""}.v10dui0 .rich-code-block{color:var(--rc-text);background-color:var(--rc-code-bg);border-radius:.375rem;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.75}.v10dui0 .rich-code-block pre{padding:1em 1.5em;margin:0}.v10dui0 .r8uj4tm,.v10dui0 .r8uj4tl{margin-top:1.5em;margin-bottom:1.5em;padding-left:1.75em}.v10dui0 .r8uj4tn{margin-top:.75em;margin-bottom:.75em}.v10dui0 .r8uj4tn:not(.r8uj4tr):not(.r8uj4tq){padding-left:.5em}.v10dui0 .r8uj4tn .r8uj4t3{margin-top:1em;margin-bottom:1em}.v10dui0 .r8uj4tn>.r8uj4t3:first-child{margin-top:1.5em}.v10dui0 .r8uj4tn>.r8uj4t3:last-child{margin-bottom:1.5em}.v10dui0 .r8uj4tm .r8uj4tm,.v10dui0 .r8uj4tm .r8uj4tl,.v10dui0 .r8uj4tl .r8uj4tm,.v10dui0 .r8uj4tl .r8uj4tl{margin-top:1em;margin-bottom:1em}.v10dui0 .r8uj4tx{margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.5}.v10dui0 .r8uj4tx .r8uj4t3{margin:0;padding:0;line-height:inherit}.v10dui0 .rich-image{margin-top:2em;margin-bottom:2em}.v10dui0 .rich-image>*{margin-top:0;margin-bottom:0}.v10dui0 .rich-image figcaption{color:var(--rc-text-secondary);font-size:.875em;line-height:1.5;margin-top:1em}.v10dui0 .r8uj4tt{border-color:var(--rc-hr-border);border-top-width:1px;width:60px;margin:3.5em auto}.v10dui0 .r8uj4tt+*{margin-top:0}.v10dui0 .r8uj4tj{font-weight:500;text-decoration:underline}.v10dui0 .rich-banner,.v10dui0 .rich-code-snippet,.v10dui0 ._1o2d5g50{margin:2em 0}.v10dui0>*:first-child{margin-top:0}.v10dui0>*:last-child{margin-bottom:0}.egstxq0{display:inline;padding:0 2px;vertical-align:middle}.egstxq1{display:block;text-align:center;padding:var(--rc-space-md) 0;overflow-x:auto;margin:var(--rc-space-md) 0}.egstxq2{font-family:var(--rc-font-mono);font-size:.9em;color:var(--rc-code-text);background-color:var(--rc-code-bg);padding:2px 6px;border-radius:var(--rc-radius-sm)}._14ko36c0{font-size:var(--rc-font-size-base);line-height:var(--rc-line-height)}._14ko36c0 .r8uj4t3{margin-bottom:.6em}._14ko36c0 .r8uj4td{font-size:1.35em;font-weight:700;margin-top:.8em;margin-bottom:.3em}._14ko36c0 .r8uj4te{font-size:1.2em;font-weight:700;margin-top:.7em;margin-bottom:.25em}._14ko36c0 .r8uj4tf{font-size:1.1em;font-weight:600;margin-top:.6em;margin-bottom:.2em}._14ko36c0 .r8uj4tg{font-size:1em;font-weight:600;margin-top:.5em;margin-bottom:.15em}._14ko36c0 .r8uj4th{font-size:.9em;font-weight:600;margin-top:.45em;margin-bottom:.1em}._14ko36c0 .r8uj4ti{font-size:.85em;font-weight:600;margin-top:.4em;margin-bottom:.1em}._14ko36c0 .r8uj4ts{padding:var(--rc-space-sm) var(--rc-space-md);padding-left:calc(var(--rc-space-md) + 3px);margin:var(--rc-space-sm) 0;font-size:.95em}._14ko36c0 .r8uj4ts:before{width:3px}._14ko36c0 .r8uj4tl,._14ko36c0 .r8uj4tm{margin-bottom:.6em;padding-left:var(--rc-space-md)}._14ko36c0 .r8uj4tn{margin-bottom:.1em}._14ko36c0 .rich-code-block{margin:var(--rc-space-sm) 0;border-radius:var(--rc-radius-sm);font-size:var(--rc-font-size-small)}._14ko36c0 .rich-code-block pre{padding:var(--rc-space-sm)}._14ko36c0 .line:before{display:none!important}._14ko36c0 .r8uj4tx{margin:var(--rc-space-sm) 0;font-size:var(--rc-font-size-small)}._14ko36c0 .r8uj4tv,._14ko36c0 .r8uj4tw{padding:var(--rc-space-xs) var(--rc-space-sm)}._14ko36c0 .rich-image{margin:var(--rc-space-sm) 0}._14ko36c0 .rich-image figcaption{font-size:var(--rc-font-size-small)}._14ko36c0 .r8uj4tt{border:none;border-top:1px solid var(--rc-hr-border);margin:var(--rc-space-lg) auto;width:60px}._14ko36c0 .r8uj4t1j{padding:var(--rc-space-sm) var(--rc-space-md);padding-left:var(--rc-space-lg);margin:var(--rc-space-sm) 0}._14ko36c0 .egstxq1{padding:var(--rc-space-sm) 0;margin:var(--rc-space-sm) 0}.ys4fw90{max-width:var(--rc-max-width);font-size:var(--rc-font-size-base);line-height:1.8;color:var(--rc-text)}.ys4fw90 .rich-editor__content>.r8uj4t3,.ys4fw90.rich-content:not([data-rich-nested=true])>.r8uj4t3{margin-top:1.25em;margin-bottom:1.25em;line-height:1.8}.ys4fw90.rich-content:not([data-rich-nested=true])>.r8uj4t3:not(:first-of-type){text-indent:2em}.ys4fw90 .rich-editor__content>.r8uj4t3:first-of-type,.ys4fw90.rich-content:not([data-rich-nested=true])>.r8uj4t3:first-of-type{margin-top:0}.ys4fw90 .rich-editor__content>.r8uj4t3:not(:first-of-type)>[data-lexical-text]:first-child{margin-inline-start:2em}.ys4fw90.rich-content:not([data-rich-nested=true])>.r8uj4t3:first-of-type:first-letter{float:left;font-size:2.4em;margin-right:.2em;line-height:1}.ys4fw90 .rich-editor__content>.r8uj4t3:first-of-type:first-letter{font-size:1.5em;font-weight:700;color:var(--rc-accent)}.ys4fw90 .rich-editor__content>.r8uj4t3:last-child,.ys4fw90.rich-content:not([data-rich-nested=true])>.r8uj4t3:last-child{margin-bottom:0}.ys4fw90 .r8uj4t4{font-family:var(--rc-font-family);font-weight:600;color:var(--rc-text)}.ys4fw90 .r8uj4td{font-size:2.25em;font-weight:800;line-height:1.1111111;margin-top:0;margin-bottom:.8888889em;letter-spacing:-.025em;color:var(--rc-text)}.ys4fw90 .r8uj4te{font-size:1.5em;font-weight:700;line-height:1.3333333;margin-top:2em;margin-bottom:1em;letter-spacing:-.025em;color:var(--rc-text)}.ys4fw90 .r8uj4te+*{margin-top:0}.ys4fw90 .r8uj4tf{font-size:1.25em;font-weight:600;line-height:1.6;margin-top:1.6em;margin-bottom:.6em;letter-spacing:-.025em;color:var(--rc-text)}.ys4fw90 .r8uj4tf+*{margin-top:0}.ys4fw90 .r8uj4tg{font-size:1.125em;font-weight:600;line-height:1.5;margin-top:1.5em;margin-bottom:.5em;color:var(--rc-text)}.ys4fw90 .r8uj4tg+*{margin-top:0}.ys4fw90 .r8uj4th{font-size:1em;font-weight:600;line-height:1.5;margin-top:1.5em;margin-bottom:.5em;color:var(--rc-text)}.ys4fw90 .r8uj4th+*{margin-top:0}.ys4fw90 .r8uj4ti{font-size:.875em;font-weight:600;line-height:1.5;margin-top:1.5em;margin-bottom:.5em;color:var(--rc-text);text-transform:uppercase}.ys4fw90 .r8uj4ti+*{margin-top:0}.ys4fw90 .r8uj4ts{font-family:var(--rc-font-family-kai);font-style:normal;line-height:1.75;color:color-mix(in srgb,var(--rc-accent) 60%,var(--rc-text));background-color:color-mix(in srgb,var(--rc-accent) 12%,var(--rc-bg));margin:1.6em 0;padding:1.2em 1.5em;border-radius:2px;box-shadow:2px 3px 8px #00000014,0 1px 2px #0000000a;transform:rotate(-.6deg);text-indent:0}.ys4fw90 .r8uj4ts:before{content:"";position:absolute;top:-7px;left:50%;transform:translate(-50%) rotate(1.2deg);width:56px;height:16px;background:repeating-linear-gradient(105deg,transparent,transparent 2px,rgba(255,255,255,.08) 2px,rgba(255,255,255,.08) 4px),color-mix(in srgb,var(--rc-accent) 20%,rgba(0,0,0,.06));box-shadow:0 1px 2px #0000000f;border-radius:1px;bottom:auto;opacity:.85}.ys4fw90 .r8uj4ts .r8uj4t3:first-child:first-letter{float:none;font-size:inherit;margin-right:0}.ys4fw90 .r8uj4tj{font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color .15s ease}.ys4fw90 .r8uj4tj:hover{text-decoration-thickness:2px}.ys4fw90 .r8uj4ta{font-size:.875em;font-family:var(--rc-font-mono);font-weight:500;padding:.2em .4em;border-radius:var(--rc-radius-sm);background-color:var(--rc-code-bg)}.ys4fw90 .r8uj4tl,.ys4fw90 .r8uj4tm{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.ys4fw90 .r8uj4tn{margin-top:.5em;margin-bottom:.5em}.ys4fw90 .r8uj4tn:not(.r8uj4tr):not(.r8uj4tq){padding-left:.375em}.ys4fw90 .r8uj4tn::marker{color:var(--rc-text-secondary)}.ys4fw90 .rich-code-block{font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:var(--rc-radius-md);overflow-x:auto}.ys4fw90 .rich-code-block pre{padding:.8571429em 1.1428571em;margin:0}.ys4fw90 .r8uj4tx{margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.ys4fw90 .r8uj4tx .r8uj4t3{margin:0;padding:0;line-height:inherit}.ys4fw90 .r8uj4tx .r8uj4t3:first-child:first-letter{float:none;font-size:inherit;margin-right:0}.ys4fw90 .rich-image{margin-top:2em;margin-bottom:2em}.ys4fw90 .rich-image img{border-radius:var(--rc-radius-md)}.ys4fw90 .rich-image figcaption{font-size:.875em;line-height:1.4285714;margin-top:.8571429em;color:var(--rc-text-secondary);text-align:center}.ys4fw90 .r8uj4tt{border:none;border-top:1px solid var(--rc-hr-border);opacity:.2;margin-top:.5rem;margin-bottom:.5rem;width:60px;margin-left:auto;margin-right:auto}.ys4fw90 .egstxq1{margin-top:1.6em;margin-bottom:1.6em;overflow-x:auto;padding:1em 0}.ys4fw90 .r8uj4ty{border-radius:var(--rc-radius-sm);padding-inline:.25em}.ys4fw90>*:first-child{margin-top:0}.ys4fw90>*:last-child{margin-bottom:0}._17ihk870{position:relative;margin:var(--rc-space-md) 0}._17ihk871{position:absolute;top:-36px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:4px 6px;border-radius:var(--rc-radius-md);pointer-events:none;background:var(--rc-bg);border:1px solid var(--rc-border);box-shadow:var(--rc-shadow-top-bar);z-index:10;user-select:none;white-space:nowrap;opacity:0;transition:opacity .15s ease}._17ihk872{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--rc-text-secondary);flex-shrink:0}._17ihk873{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:var(--rc-radius-sm);border:none;background:transparent;cursor:pointer;font-size:12px;font-weight:500;color:var(--rc-text-secondary);line-height:1;transition:color .15s ease,background-color .15s ease}._17ihk873:hover{background-color:var(--rc-fill-secondary);color:var(--rc-text)}._17ihk874{background:var(--rc-fill);font-weight:600;color:var(--rc-text)}._17ihk875{width:1px;height:16px;background:var(--rc-border);margin:0 2px;flex-shrink:0}._17ihk876{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:var(--rc-radius-sm);border:none;background:transparent;cursor:pointer;color:var(--rc-text-secondary);transition:color .15s ease,background-color .15s ease}._17ihk876:hover{background-color:var(--rc-fill-secondary);color:var(--rc-text)}._17ihk877{display:grid;gap:var(--rc-space-md)}._17ihk878{min-width:0}._17ihk879{outline:none}._17ihk870:hover ._17ihk871,._17ihk870:focus-within ._17ihk871{opacity:1;pointer-events:auto}@keyframes _1x58dbf0{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes _1x58dbf6{to{transform:rotate(360deg)}}.rich-image-upload-dragging{position:relative;border-radius:var(--rc-radius-md);background-color:color-mix(in srgb,var(--rc-accent) 6%,transparent)}.rich-image-upload-dragging .rich-editor__content{outline:2px dashed color-mix(in srgb,var(--rc-accent) 48%,transparent);outline-offset:-2px}._1x58dbf1{position:absolute;right:.75rem;bottom:.75rem;z-index:25;display:flex;flex-direction:column;align-items:flex-end;gap:.375rem;pointer-events:none}._1x58dbf2{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border-radius:var(--rc-radius-sm);border:1px solid var(--rc-border);background-color:color-mix(in srgb,var(--rc-bg) 95%,transparent);color:var(--rc-text);font-size:var(--rc-font-size-xs);line-height:1.2;box-shadow:var(--rc-shadow-top-bar);animation:_1x58dbf0 .12s ease-out}._1x58dbf4{border-color:color-mix(in srgb,var(--rc-accent) 35%,transparent)}._1x58dbf5{border-color:color-mix(in srgb,var(--rc-alert-caution) 45%,transparent);color:var(--rc-alert-caution)}._1x58dbf7{width:12px;height:12px;border-radius:50%;border:2px solid color-mix(in srgb,var(--rc-text-secondary) 35%,transparent);border-top-color:color-mix(in srgb,var(--rc-text) 65%,transparent);animation:_1x58dbf6 .75s linear infinite}._1x58dbf8._1x58dbf8{padding:0;gap:0;width:min(560px,calc(100vw - 2rem));overflow:hidden}._1x58dbf9{padding:.875rem 1rem .75rem;border-bottom:1px solid var(--rc-border)}._1x58dbfa{font-size:var(--rc-font-size-md);font-weight:600;color:var(--rc-text)}._1x58dbfb{display:flex;flex-direction:column;gap:.875rem;padding:.875rem 1rem}._1x58dbfc{display:flex;align-items:center;gap:.5rem}._1x58dbfd{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--rc-radius-md);border:1.5px dashed var(--rc-border);min-height:190px;padding:1.2rem;color:var(--rc-text-secondary);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}._1x58dbfd:hover{border-color:color-mix(in srgb,var(--rc-accent) 35%,transparent);background-color:color-mix(in srgb,var(--rc-accent) 6%,transparent);color:var(--rc-text)}._1x58dbff{border-color:color-mix(in srgb,var(--rc-accent) 55%,transparent);background-color:color-mix(in srgb,var(--rc-accent) 8%,transparent);color:var(--rc-text);transform:scale(1.01)}._1x58dbfg{cursor:progress;opacity:.9}._1x58dbfh{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--rc-radius-md);background-color:color-mix(in srgb,var(--rc-text) 6%,transparent)}._1x58dbfi{font-size:var(--rc-font-size-sm);font-weight:600;color:var(--rc-text)}._1x58dbfj{font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary);text-align:center}._1x58dbfk{display:none}._1x58dbfl{display:flex;flex-direction:column;align-items:center;gap:.5rem}._1x58dbfm{display:inline-flex;align-items:center;gap:.375rem;font-size:var(--rc-font-size-sm);color:var(--rc-text)}._1x58dbfn{display:flex;align-items:center;gap:.5rem}._1x58dbfo{width:100%;border-radius:var(--rc-radius-sm);border:1px solid var(--rc-border);background-color:var(--rc-bg);color:var(--rc-text);height:34px;padding:0 .625rem;font-size:var(--rc-font-size-sm);outline:none;transition:border-color .15s ease}._1x58dbfo:focus{border-color:color-mix(in srgb,var(--rc-accent) 50%,transparent)}._1x58dbfo::placeholder{color:var(--rc-text-secondary)}._1x58dbfp{border-radius:var(--rc-radius-md);border:1px solid var(--rc-border);overflow:hidden;background-color:color-mix(in srgb,var(--rc-text) 2%,transparent)}._1x58dbfq{display:block;width:100%;max-height:220px;object-fit:cover}._1x58dbfr{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary)}._1x58dbfs{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-top:1px solid var(--rc-border);background-color:color-mix(in srgb,var(--rc-text) 2%,transparent);padding:.65rem 1rem}.gr1ebt0::selection,.gr1ebt0 *::selection{background-color:var(--rc-accent-light);color:inherit}.gr1ebt0::-moz-selection,.gr1ebt0 *::-moz-selection{background-color:var(--rc-accent-light);color:inherit}.gr1ebt1::selection,.gr1ebt1 *::selection{background-color:color-mix(in srgb,var(--rc-text-tertiary) 24%,transparent);color:inherit}.gr1ebt1::-moz-selection,.gr1ebt1 *::-moz-selection{background-color:color-mix(in srgb,var(--rc-text-tertiary) 24%,transparent);color:inherit}::highlight(rich-editor-text-selection){background-color:var(--rc-accent-light);color:inherit}::highlight(rich-editor-text-selection-inactive){background-color:color-mix(in srgb,var(--rc-text-tertiary) 24%,transparent);color:inherit}.b94s950{position:relative;max-width:var(--rc-max-width);margin:0 auto;flex:1;min-height:0;width:100%}.b94s951{outline:none;min-height:100px;width:100%;padding:var(--ce-padding-top, 12px) var(--rc-space-md) 12px var(--rc-space-md)}.b94s952{position:absolute;top:var(--ce-padding-top, 12px);left:var(--rc-space-md);color:var(--rc-text-secondary);pointer-events:none;user-select:none}
1
+ :root{--rc-text:#000;--rc-text-secondary:#262626;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-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:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, 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-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}:root.dark,[data-theme=dark]{--rc-text:#fafafa;--rc-text-secondary:#a3a3a3;--rc-text-tertiary:#737373;--rc-text-quaternary:#525252;--rc-bg:#0a0a0a;--rc-bg-secondary:#171717;--rc-bg-tertiary:#262626;--rc-fill:#2a2a2a;--rc-fill-secondary:#222;--rc-fill-tertiary:#1a1a1a;--rc-fill-quaternary:#141414;--rc-border:#262626;--rc-accent:#60a5fa;--rc-accent-light:#60a5fa20;--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#262626;--rc-hr-border:#262626;--rc-quote-border:#60a5fa;--rc-quote-bg:#262626;--rc-alert-info:#7db9e5;--rc-alert-warning:#da864a;--rc-alert-tip:#54da48;--rc-alert-caution:#e16973;--rc-alert-important:#9966e0;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #00000073, 0 2px 8px #0000004d;--rc-shadow-modal:0 10px 15px -3px #0006, 0 4px 6px -4px #00000059;--rc-shadow-menu:0 1px 4px #00000040, 0 4px 16px #0006;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-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:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, 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-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._13h71jk0{--rc-text:#000;--rc-text-secondary:#262626;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-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:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, 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-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._13h71jk1{--rc-text:#000;--rc-text-secondary:#262626;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-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:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, 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-line-height:1.8;--rc-line-height-tight:1.4;--rc-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}._13h71jk2{--rc-text:#000;--rc-text-secondary:#262626;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#a3a3a3;--rc-quote-bg:#fafafa;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--rc-max-width:none;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:2px;--rc-space-sm:4px;--rc-space-md:10px;--rc-space-lg:16px;--rc-space-xl:20px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-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:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, 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-line-height:1.5;--rc-line-height-tight:1.3;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:3px;--rc-radius-md:6px;--rc-radius-lg:12px}.dark ._13h71jk0,[data-theme=dark] ._13h71jk0,.dark._13h71jk0,[data-theme=dark]._13h71jk0,.dark ._13h71jk1,[data-theme=dark] ._13h71jk1,.dark._13h71jk1,[data-theme=dark]._13h71jk1,.dark ._13h71jk2,[data-theme=dark] ._13h71jk2,.dark._13h71jk2,[data-theme=dark]._13h71jk2{--rc-text:#fafafa;--rc-text-secondary:#a3a3a3;--rc-text-tertiary:#737373;--rc-text-quaternary:#525252;--rc-bg:#0a0a0a;--rc-bg-secondary:#171717;--rc-bg-tertiary:#262626;--rc-fill:#2a2a2a;--rc-fill-secondary:#222;--rc-fill-tertiary:#1a1a1a;--rc-fill-quaternary:#141414;--rc-border:#262626;--rc-accent:#60a5fa;--rc-accent-light:#60a5fa20;--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#262626;--rc-hr-border:#262626;--rc-quote-border:#60a5fa;--rc-quote-bg:#262626;--rc-alert-info:#7db9e5;--rc-alert-warning:#da864a;--rc-alert-tip:#54da48;--rc-alert-caution:#e16973;--rc-alert-important:#9966e0;--rc-shadow-top-bar:0 8px 30px #00000073, 0 2px 8px #0000004d;--rc-shadow-modal:0 10px 15px -3px #0006, 0 4px 6px -4px #00000059;--rc-shadow-menu:0 1px 4px #00000040, 0 4px 16px #0006}@keyframes r8uj4t0{to{--rc-hl-highlighted:1}}@keyframes r8uj4t1{0%{background-color:#ef44443d}to{background-color:#0000}}.r8uj4t2{font-family:var(--rc-font-family);font-size:var(--rc-font-size-base);line-height:var(--rc-line-height);color:var(--rc-text);word-wrap:break-word;overflow-wrap:break-word}.r8uj4t3{line-height:var(--rc-line-height);margin:0 0 1em}.r8uj4t4{font-weight:700}.r8uj4t5{font-style:italic}.r8uj4t6{text-decoration:underline}.r8uj4t7{opacity:.65;text-decoration:line-through}.r8uj4t8{vertical-align:super;font-size:.8em}.r8uj4t9{vertical-align:sub;font-size:.8em}.r8uj4ta{font-family:var(--rc-font-mono);background-color:var(--rc-code-bg);color:inherit;border-radius:var(--rc-radius-sm);border:1px solid var(--rc-border);padding:2px 6px;font-size:.9em}[contenteditable=true] .r8uj4ta{padding-right:0}.r8uj4tb{--rc-hl-lightness:.3;--rc-hl-highlighted:1;--rc-hl-color:oklch(from var(--rc-accent) l c h / var(--rc-hl-lightness));background:linear-gradient(120deg, var(--rc-hl-color,lightblue) 50%, transparent 50%) 110% 0 / 200% 100% no-repeat;background-position:calc((1 - var(--rc-hl-highlighted)) * 110%) 0;color:var(--rc-text);transition:background-position 1s}[contenteditable=true] .r8uj4tb{--rc-hl-highlighted:1;animation:none}[data-theme=dark] .r8uj4tb{--rc-hl-lightness:.35}.r8uj4tc{color:var(--rc-text-secondary);opacity:0;align-items:center;font-size:.8rem;text-decoration:none;transition:opacity .15s;display:flex;position:absolute;top:0;bottom:0;left:-1.25rem}.r8uj4td{font-size:2em;font-weight:700;line-height:var(--rc-line-height-tight);margin-top:1.5em;margin-bottom:.5em;position:relative}[contenteditable=true] .r8uj4td:before{content:"H1";color:var(--rc-text-secondary);opacity:.6;pointer-events:none;font-size:.5rem;font-weight:600;font-family:var(--rc-font-mono);display:flex;position:absolute;bottom:.5rem;left:-1.5rem}.r8uj4te{font-size:1.5em;font-weight:700;line-height:var(--rc-line-height-tight);margin-top:1.4em;margin-bottom:.45em;position:relative}[contenteditable=true] .r8uj4te:before{content:"H2";color:var(--rc-text-secondary);opacity:.6;pointer-events:none;font-size:.5rem;font-weight:600;font-family:var(--rc-font-mono);display:flex;position:absolute;bottom:.5rem;left:-1.5rem}.r8uj4tf{font-size:1.25em;font-weight:600;line-height:var(--rc-line-height-tight);margin-top:1.3em;margin-bottom:.4em;position:relative}[contenteditable=true] .r8uj4tf:before{content:"H3";color:var(--rc-text-secondary);opacity:.6;pointer-events:none;font-size:.5rem;font-weight:600;font-family:var(--rc-font-mono);display:flex;position:absolute;bottom:.5rem;left:-1.5rem}.r8uj4tg{font-size:1.125em;font-weight:600;line-height:var(--rc-line-height-tight);margin-top:1.2em;margin-bottom:.35em;position:relative}[contenteditable=true] .r8uj4tg:before{content:"H4";color:var(--rc-text-secondary);opacity:.6;pointer-events:none;font-size:.5rem;font-weight:600;font-family:var(--rc-font-mono);display:flex;position:absolute;bottom:.5rem;left:-1.5rem}.r8uj4th{font-size:1em;font-weight:600;line-height:var(--rc-line-height-tight);margin-top:1.1em;margin-bottom:.3em;position:relative}[contenteditable=true] .r8uj4th:before{content:"H5";color:var(--rc-text-secondary);opacity:.6;pointer-events:none;font-size:.5rem;font-weight:600;font-family:var(--rc-font-mono);display:flex;position:absolute;bottom:.5rem;left:-1.5rem}.r8uj4ti{font-size:.875em;font-weight:600;line-height:var(--rc-line-height-tight);color:var(--rc-text);margin-top:1em;margin-bottom:.25em;position:relative}[contenteditable=true] .r8uj4ti:before{content:"H6";color:var(--rc-text-secondary);opacity:.6;pointer-events:none;font-size:.5rem;font-weight:600;font-family:var(--rc-font-mono);display:flex;position:absolute;bottom:.5rem;left:-1.5rem}.r8uj4tj{color:var(--rc-link);text-decoration:none;transition:color .2s}.r8uj4tj:hover{text-decoration:underline}.r8uj4tj[data-favicon=loaded]:before{content:"";vertical-align:-.125em;background-image:var(--rc-link-favicon);background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:2px;width:1em;height:1em;margin-right:.2em;display:inline-block}.r8uj4tk{vertical-align:-.125em;align-items:center;margin-right:.15em;display:inline-flex}.r8uj4tl{padding-left:var(--rc-space-lg);margin-bottom:1em;list-style-type:decimal}.r8uj4tm{padding-left:var(--rc-space-lg);margin-bottom:1em;list-style-type:disc}.r8uj4tn{margin-bottom:.25em}.r8uj4to{list-style-type:none}.r8uj4tp{padding-left:0;list-style-type:none}.r8uj4tq{--rc-cb-size:1.125rem;outline:none;padding-left:2em;list-style-type:none;transition:color .25s;position:relative}.r8uj4tq:before{content:"";left:0;top:calc((1lh - var(--rc-cb-size)) / 2);width:var(--rc-cb-size);height:var(--rc-cb-size);border:1.5px solid var(--rc-text-quaternary);border-radius:var(--rc-radius-sm);box-sizing:border-box;cursor:pointer;background-color:#0000;transition:background-color .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1),transform .15s;position:absolute}.r8uj4tq:after{content:"";left:calc(var(--rc-cb-size) * .32);top:calc((1lh - var(--rc-cb-size)) / 2 + var(--rc-cb-size) * .14);width:calc(var(--rc-cb-size) * .28);height:calc(var(--rc-cb-size) * .55);border-right:2px solid var(--rc-accent);border-bottom:2px solid var(--rc-accent);box-sizing:border-box;pointer-events:none;transform-origin:50%;opacity:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1) .1s,opacity .15s;display:block;position:absolute;transform:rotate(45deg)scale(0)}[contenteditable=true] .r8uj4tq:active:before{transform:scale(.94)}[contenteditable=true] .r8uj4tq:hover:before{border-color:var(--rc-text-tertiary)}.r8uj4tr{--rc-cb-size:1.125rem;color:var(--rc-text-secondary);outline:none;padding-left:2em;list-style-type:none;transition:color .25s;position:relative}.r8uj4tr:before{content:"";left:0;top:calc((1lh - var(--rc-cb-size)) / 2);width:var(--rc-cb-size);height:var(--rc-cb-size);border:1.5px solid var(--rc-text-quaternary);border-radius:var(--rc-radius-sm);box-sizing:border-box;cursor:pointer;background-color:var(--rc-accent-light);border-color:var(--rc-accent);transition:background-color .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1),transform .15s;position:absolute}.r8uj4tr:after{content:"";left:calc(var(--rc-cb-size) * .32);top:calc((1lh - var(--rc-cb-size)) / 2 + var(--rc-cb-size) * .14);width:calc(var(--rc-cb-size) * .28);height:calc(var(--rc-cb-size) * .55);border-right:2px solid var(--rc-accent);border-bottom:2px solid var(--rc-accent);box-sizing:border-box;pointer-events:none;transform-origin:50%;opacity:1;transition:transform .3s cubic-bezier(.34,1.56,.64,1) .1s,opacity .15s;display:block;position:absolute;transform:rotate(45deg)scale(1)}[contenteditable=true] .r8uj4tr:active:before{transform:scale(.94)}[contenteditable=true] .r8uj4tr:hover:before{background-color:color-mix(in oklab, var(--rc-accent) 12%, transparent)}.r8uj4ts{background-color:var(--rc-quote-bg);margin:var(--rc-space-md) 0;padding:var(--rc-space-sm) var(--rc-space-md);padding-left:calc(var(--rc-space-md) + 4px);color:var(--rc-text-secondary);border-radius:0 var(--rc-radius-sm) var(--rc-radius-sm) 0;font-style:normal;position:relative}.r8uj4ts:before{content:"";border-radius:var(--rc-radius-sm);background-color:var(--rc-quote-border);width:4px;position:absolute;top:0;bottom:0;left:0}.r8uj4tt{border:none;border-top:1px solid var(--rc-hr-border);margin:var(--rc-space-lg) auto;width:60px}.r8uj4tu{overflow-x:auto}.r8uj4tv{border:none;border-bottom:1px solid var(--rc-border);border-right:1px solid var(--rc-border);padding:1.25em var(--rc-space-lg);text-align:left;vertical-align:middle;line-height:1.5}.r8uj4tv:last-child{border-right:none}.r8uj4tw{border:none;border-bottom:1px solid var(--rc-border);border-right:1px solid var(--rc-border);padding:var(--rc-space-md) var(--rc-space-lg);text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--rc-text-secondary);background-color:var(--rc-bg-secondary);vertical-align:middle;z-index:1;font-size:.75em;font-weight:600;line-height:1.5;position:sticky;top:0}.r8uj4tw:last-child{border-right:none}.r8uj4tx{border-collapse:separate;border-spacing:0;width:100%;margin:var(--rc-space-lg) 0;font-size:var(--rc-font-size-small);border:1px solid var(--rc-border);border-radius:var(--rc-radius-md);overflow:hidden}.r8uj4ty{background-color:var(--rc-text);color:#0000;border-radius:var(--rc-radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;padding-inline-start:4px;padding-inline-end:4px;transition:background-color .3s,color .3s}[contenteditable=true] .r8uj4ty{background-color:color-mix(in srgb, var(--rc-text) 30%, transparent);color:inherit;-webkit-user-select:auto;user-select:auto;cursor:text}.r8uj4ty:hover{color:inherit;-webkit-user-select:auto;user-select:auto;background-color:#0000}.rich-content .r8uj4ty{background-color:var(--rc-text-tertiary);color:#0000}.rich-content .r8uj4ty:not(:hover):not(.rich-spoiler-revealed) *{color:#0000!important}.rich-content .r8uj4ty:hover,.r8uj4tz{color:inherit;-webkit-user-select:auto;user-select:auto;background-color:#0000}.r8uj4t10{font-size:var(--rc-font-size-small);vertical-align:baseline;border-radius:999px;padding-inline-start:.75em;padding-inline-end:.75em;line-height:1.6;display:inline-block}.r8uj4t11{font-family:var(--rc-font-mono);font-size:var(--rc-font-size-small);color:var(--rc-text-secondary);background-color:var(--rc-code-bg);border:1px dashed var(--rc-border);border-radius:var(--rc-radius-sm);white-space:break-spaces;padding:2px 6px;display:inline-block}.r8uj4t11:before{content:"<!--";opacity:.7}.r8uj4t11:after{content:"-->";opacity:.7}.r8uj4t12{ruby-position:over;ruby-align:center}[contenteditable=true] .r8uj4t12[data-ruby]{padding-top:.72em;line-height:1.2;display:inline-block;position:relative}[contenteditable=true] .r8uj4t12[data-ruby]:before{content:attr(data-ruby);text-align:center;color:var(--rc-text-secondary);pointer-events:none;white-space:nowrap;font-size:.58em;line-height:1;position:absolute;top:0;left:0;right:0;transform:translateY(-.68em)}.r8uj4t13{color:var(--rc-text-secondary);-webkit-user-select:none;user-select:none;font-size:.58em;line-height:1}.r8uj4t14{vertical-align:super;font-size:.8em}.r8uj4t15{min-width:1.5em;color:var(--rc-accent);background-color:var(--rc-accent-light);border-radius:999px;justify-content:center;align-items:center;padding:0 .35em;font-size:.82em;font-weight:600;line-height:1.45;text-decoration:none;transition:filter .15s;display:inline-flex}.r8uj4t15:hover{filter:brightness(.96)}.r8uj4t16{animation:1.2s ease-out r8uj4t1}.r8uj4t17{display:inline;position:relative}.r8uj4t18{margin-top:var(--rc-space-lg)}.r8uj4t19{border:none;border-top:1px solid var(--rc-border);margin:var(--rc-space-lg) 0 var(--rc-space-md)}.r8uj4t1a{padding-left:var(--rc-space-lg);font-size:var(--rc-font-size-small);color:var(--rc-text-secondary);line-height:1.6;list-style-type:decimal}.r8uj4t1b{margin-bottom:var(--rc-space-sm);padding-left:var(--rc-space-xs)}.r8uj4t1c{margin-left:var(--rc-space-xs);color:var(--rc-accent);font-size:.85em;font-family:var(--rc-font-mono);align-items:center;text-decoration:none;transition:opacity .15s;display:inline-flex}.r8uj4t1c:hover{opacity:.7}.r8uj4t1d{align-items:center;gap:var(--rc-space-sm);list-style-type:none;display:flex}.r8uj4t1e{color:var(--rc-text-secondary);font-size:var(--rc-font-size-small);flex-shrink:0;min-width:1.5em;font-weight:600}.r8uj4t1f{border:1px solid var(--rc-border);border-radius:var(--rc-radius-sm);padding:var(--rc-space-xs) var(--rc-space-sm);font-size:var(--rc-font-size-small);color:var(--rc-text);background-color:#0000;outline:none;flex:1;transition:border-color .15s}.r8uj4t1f:focus{border-color:var(--rc-accent)}.r8uj4t1g{width:20px;height:20px;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;font-size:14px;transition:color .15s,background-color .15s;display:inline-flex}.r8uj4t1g:hover{color:#ef4444;background-color:#ef44441a}.r8uj4t1h{cursor:grab;border-radius:var(--rc-radius-sm);width:20px;height:20px;color:var(--rc-text-secondary);opacity:.4;z-index:10;justify-content:center;align-items:center;transition:opacity .15s,background-color .15s;display:flex;position:absolute}.r8uj4t1h:hover{opacity:1;background-color:var(--rc-fill-secondary)}.r8uj4t1h:active{cursor:grabbing}.r8uj4t1i{background-color:var(--rc-accent);pointer-events:none;z-index:10;border-radius:1px;height:2px;position:absolute}.r8uj4t1j{background-color:#0000;border:none;border-radius:0;margin:2em 0;padding:0 1em}.r8uj4t2 mark{background:0 0}.r8uj4t2 img{border-radius:var(--rc-radius-md);max-width:100%;height:auto}.r8uj4t2>:first-child,.r8uj4t2 .rich-editor__content>:first-child{margin-top:0}.r8uj4t2>:last-child,.r8uj4t2 .rich-editor__content>:last-child{margin-bottom:0}.r8uj4tc svg{flex-shrink:0}.r8uj4td:hover .r8uj4tc{opacity:.5}.r8uj4td:hover .r8uj4tc:hover{opacity:1}.r8uj4te:hover .r8uj4tc{opacity:.5}.r8uj4te:hover .r8uj4tc:hover{opacity:1}.r8uj4tf:hover .r8uj4tc{opacity:.5}.r8uj4tf:hover .r8uj4tc:hover{opacity:1}.r8uj4tg:hover .r8uj4tc{opacity:.5}.r8uj4tg:hover .r8uj4tc:hover{opacity:1}.r8uj4th:hover .r8uj4tc{opacity:.5}.r8uj4th:hover .r8uj4tc:hover{opacity:1}.r8uj4ti:hover .r8uj4tc{opacity:.5}.r8uj4ti:hover .r8uj4tc:hover{opacity:1}.r8uj4tk img{object-fit:contain;border-radius:2px;width:1em;height:1em}.r8uj4tk svg{width:.9em;height:.9em}.r8uj4to .r8uj4tl{list-style-type:lower-alpha}.r8uj4to .r8uj4tm{list-style-type:circle}.r8uj4tr>*,.r8uj4tq>*{background-image:linear-gradient(var(--rc-text-secondary), var(--rc-text-secondary));background-position:0;background-repeat:no-repeat;background-size:0% 1.5px;transition:background-size .35s cubic-bezier(.4,0,.2,1) .15s,opacity .15s}.r8uj4tr>*{opacity:.5;background-size:100% 1.5px}.r8uj4ts>.r8uj4t3:first-child{margin-top:0}.r8uj4ts>.r8uj4t3:last-child{margin-bottom:0}.r8uj4tx tbody tr:last-child .r8uj4tv{border-bottom:none}.r8uj4tv .r8uj4t3{line-height:inherit;margin:0;padding:0}.r8uj4tv>:first-child{margin-top:0}.r8uj4tv>:last-child{margin-bottom:0}.r8uj4tw .r8uj4t3{line-height:inherit;margin:0;padding:0}.r8uj4tw>:first-child{margin-top:0}.r8uj4tw>:last-child{margin-bottom:0}@supports (animation-timeline:view()){.r8uj4tb{--rc-hl-highlighted:0;animation:step-end both r8uj4t0;animation-timeline:view();animation-range:entry 100% cover 10%}}._1o2d5g50{margin:var(--rc-space-md) 0;interpolate-size:allow-keywords;background-color:#0000;border:none}._1o2d5g51{align-items:flex-start;gap:var(--rc-space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--rc-space-xs) 0;color:var(--rc-text);font-size:1em;font-weight:500;line-height:var(--rc-line-height);border-radius:var(--rc-radius-sm);outline:none;list-style:none;transition:opacity .2s,color .2s,box-shadow .2s;display:flex}._1o2d5g51:hover{opacity:.82}._1o2d5g51:focus-visible{box-shadow:0 0 0 2px var(--rc-accent-light)}._1o2d5g51::-webkit-details-marker{display:none}._1o2d5g51::marker{content:"";display:none}._1o2d5g52{flex:1;min-width:0}._1o2d5g53{width:1.25rem;height:1.25rem;color:var(--rc-text-tertiary);transform-origin:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .35s cubic-bezier(.4,0,.2,1),color .2s;display:inline-flex;position:relative;top:.25rem}._1o2d5g54{margin-top:var(--rc-space-xs);padding:var(--rc-space-sm) var(--rc-space-xl);color:var(--rc-text-secondary);background-color:color-mix(in srgb, var(--rc-accent) 6%, var(--rc-bg-secondary));border-radius:var(--rc-radius-md)}._1o2d5g51:hover ._1o2d5g53{color:var(--rc-text-secondary)}._1o2d5g50[open] ._1o2d5g53{color:var(--rc-accent);transform:rotate(90deg)}._1o2d5g50::details-content{opacity:0;content-visibility:hidden;height:0;transition:height .4s cubic-bezier(.4, 0, .2, 1), opacity .4s cubic-bezier(.4, 0, .2, 1), content-visibility .4s cubic-bezier(.4, 0, .2, 1) allow-discrete;display:block;overflow:hidden}._1o2d5g50[open]::details-content{opacity:1;content-visibility:visible;height:auto}._1o2d5g54>.r8uj4t3:first-child{margin-top:0}._1o2d5g54>.r8uj4t3:last-child{margin-bottom:0}.v10dui0{max-width:var(--rc-max-width);font-size:var(--rc-font-size-base);color:var(--rc-text);line-height:1.75}.v10dui0 .r8uj4t3{margin-top:1.5em;margin-bottom:1.5em}.v10dui0 .r8uj4td{color:var(--rc-text);margin-top:0;margin-bottom:.833333em;font-size:3em;font-weight:800;line-height:1}.v10dui0 .r8uj4te{color:var(--rc-text);margin-top:1.86667em;margin-bottom:1.06667em;font-size:1.875em;font-weight:700;line-height:1.33333}.v10dui0 .r8uj4tf{color:var(--rc-text);margin-top:1.66667em;margin-bottom:.666667em;font-size:1.5em;font-weight:600;line-height:1.5}.v10dui0 .r8uj4tg{color:var(--rc-text);margin-top:2em;margin-bottom:.5em;font-weight:600;line-height:1.5625}.v10dui0 .r8uj4te+*,.v10dui0 .r8uj4tf+*,.v10dui0 .r8uj4tg+*{margin-top:0}.v10dui0 .r8uj4ts{color:var(--rc-text);quotes:"“""”""‘""’";background-color:#0000;border-radius:0;margin-top:2.5em;margin-bottom:2.5em;padding-left:calc(1.5em + 4px);font-style:italic;font-weight:500}.v10dui0 .r8uj4ts .r8uj4t3:first-of-type:before{content:open-quote}.v10dui0 .r8uj4ts .r8uj4t3:last-of-type:after{content:close-quote}.v10dui0 .r8uj4ts .r8uj4t3:first-child{margin-top:0}.v10dui0 .r8uj4ts .r8uj4t3:last-child{margin-bottom:0}.v10dui0 .r8uj4ta{color:inherit;background-color:var(--rc-code-bg);border-radius:var(--rc-radius-sm);font-size:.875em;font-weight:600;font-family:var(--rc-font-mono);padding:.2em .4em}.v10dui0 .r8uj4ta:before,.v10dui0 .r8uj4ta:after{content:"`";color:var(--rc-text-secondary);opacity:.5}.v10dui0 [contenteditable=true] .r8uj4ta:before,.v10dui0 [contenteditable=true] .r8uj4ta:after{content:""}.v10dui0 .rich-code-block{color:var(--rc-text);background-color:var(--rc-code-bg);border-radius:.375rem;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.75}.v10dui0 .rich-code-block pre{margin:0;padding:1em 1.5em}.v10dui0 .r8uj4tm,.v10dui0 .r8uj4tl{margin-top:1.5em;margin-bottom:1.5em;padding-left:1.75em}.v10dui0 .r8uj4tn{margin-top:.75em;margin-bottom:.75em}.v10dui0 .r8uj4tn:not(.r8uj4tr):not(.r8uj4tq){padding-left:.5em}.v10dui0 .r8uj4tn .r8uj4t3{margin-top:1em;margin-bottom:1em}.v10dui0 .r8uj4tn>.r8uj4t3:first-child{margin-top:1.5em}.v10dui0 .r8uj4tn>.r8uj4t3:last-child{margin-bottom:1.5em}.v10dui0 .r8uj4tm .r8uj4tm,.v10dui0 .r8uj4tm .r8uj4tl,.v10dui0 .r8uj4tl .r8uj4tm,.v10dui0 .r8uj4tl .r8uj4tl{margin-top:1em;margin-bottom:1em}.v10dui0 .r8uj4tx{margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.5}.v10dui0 .r8uj4tx .r8uj4t3{line-height:inherit;margin:0;padding:0}.v10dui0 .rich-image{margin-top:2em;margin-bottom:2em}.v10dui0 .rich-image>*{margin-top:0;margin-bottom:0}.v10dui0 .rich-image figcaption{color:var(--rc-text-secondary);margin-top:1em;font-size:.875em;line-height:1.5}.v10dui0 .r8uj4tt{border-color:var(--rc-hr-border);border-top-width:1px;width:60px;margin:3.5em auto}.v10dui0 .r8uj4tt+*{margin-top:0}.v10dui0 .r8uj4tj{font-weight:500;text-decoration:underline}.v10dui0 .rich-banner,.v10dui0 .rich-code-snippet,.v10dui0 ._1o2d5g50{margin:2em 0}.v10dui0>:first-child{margin-top:0}.v10dui0>:last-child{margin-bottom:0}.egstxq0{vertical-align:middle;padding:0 2px;display:inline}.egstxq1{text-align:center;padding:var(--rc-space-md) 0;margin:var(--rc-space-md) 0;display:block;overflow-x:auto}.egstxq2{font-family:var(--rc-font-mono);color:var(--rc-code-text);background-color:var(--rc-code-bg);border-radius:var(--rc-radius-sm);padding:2px 6px;font-size:.9em}._14ko36c0{font-size:var(--rc-font-size-base);line-height:var(--rc-line-height)}._14ko36c0 .r8uj4t3{margin-bottom:.6em}._14ko36c0 .r8uj4td{margin-top:.8em;margin-bottom:.3em;font-size:1.35em;font-weight:700}._14ko36c0 .r8uj4te{margin-top:.7em;margin-bottom:.25em;font-size:1.2em;font-weight:700}._14ko36c0 .r8uj4tf{margin-top:.6em;margin-bottom:.2em;font-size:1.1em;font-weight:600}._14ko36c0 .r8uj4tg{margin-top:.5em;margin-bottom:.15em;font-size:1em;font-weight:600}._14ko36c0 .r8uj4th{margin-top:.45em;margin-bottom:.1em;font-size:.9em;font-weight:600}._14ko36c0 .r8uj4ti{margin-top:.4em;margin-bottom:.1em;font-size:.85em;font-weight:600}._14ko36c0 .r8uj4ts{padding:var(--rc-space-sm) var(--rc-space-md);padding-left:calc(var(--rc-space-md) + 3px);margin:var(--rc-space-sm) 0;font-size:.95em}._14ko36c0 .r8uj4ts:before{width:3px}._14ko36c0 .r8uj4tl,._14ko36c0 .r8uj4tm{padding-left:var(--rc-space-md);margin-bottom:.6em}._14ko36c0 .r8uj4tn{margin-bottom:.1em}._14ko36c0 .rich-code-block{margin:var(--rc-space-sm) 0;border-radius:var(--rc-radius-sm);font-size:var(--rc-font-size-small)}._14ko36c0 .rich-code-block pre{padding:var(--rc-space-sm)}._14ko36c0 .line:before{display:none!important}._14ko36c0 .r8uj4tx{margin:var(--rc-space-sm) 0;font-size:var(--rc-font-size-small)}._14ko36c0 .r8uj4tv,._14ko36c0 .r8uj4tw{padding:var(--rc-space-xs) var(--rc-space-sm)}._14ko36c0 .rich-image{margin:var(--rc-space-sm) 0}._14ko36c0 .rich-image figcaption{font-size:var(--rc-font-size-small)}._14ko36c0 .r8uj4tt{border:none;border-top:1px solid var(--rc-hr-border);margin:var(--rc-space-lg) auto;width:60px}._14ko36c0 .r8uj4t1j{padding:var(--rc-space-sm) var(--rc-space-md);padding-left:var(--rc-space-lg);margin:var(--rc-space-sm) 0}._14ko36c0 .egstxq1{padding:var(--rc-space-sm) 0;margin:var(--rc-space-sm) 0}.ys4fw90{max-width:var(--rc-max-width);font-size:var(--rc-font-size-base);color:var(--rc-text);line-height:1.8}.ys4fw90 .rich-editor__content>.r8uj4t3,.ys4fw90.rich-content:not([data-rich-nested=true])>.r8uj4t3{margin-top:1.25em;margin-bottom:1.25em;line-height:1.8}.ys4fw90.rich-content:not([data-rich-nested=true])>.r8uj4t3:not(:first-of-type){text-indent:2em}.ys4fw90 .rich-editor__content>.r8uj4t3:first-of-type,.ys4fw90.rich-content:not([data-rich-nested=true])>.r8uj4t3:first-of-type{margin-top:0}.ys4fw90 .rich-editor__content>.r8uj4t3:not(:first-of-type)>[data-lexical-text]:first-child{margin-inline-start:2em}.ys4fw90.rich-content:not([data-rich-nested=true])>.r8uj4t3:first-of-type:first-letter{float:left;margin-right:.2em;font-size:2.4em;line-height:1}.ys4fw90 .rich-editor__content>.r8uj4t3:first-of-type:first-letter{color:var(--rc-accent);font-size:1.5em;font-weight:700}.ys4fw90 .rich-editor__content>.r8uj4t3:last-child,.ys4fw90.rich-content:not([data-rich-nested=true])>.r8uj4t3:last-child{margin-bottom:0}.ys4fw90 .r8uj4t4{font-family:var(--rc-font-family);color:var(--rc-text);font-weight:600}.ys4fw90 .r8uj4td{letter-spacing:-.025em;color:var(--rc-text);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.ys4fw90 .r8uj4te{letter-spacing:-.025em;color:var(--rc-text);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.ys4fw90 .r8uj4te+*{margin-top:0}.ys4fw90 .r8uj4tf{letter-spacing:-.025em;color:var(--rc-text);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.ys4fw90 .r8uj4tf+*{margin-top:0}.ys4fw90 .r8uj4tg{color:var(--rc-text);margin-top:1.5em;margin-bottom:.5em;font-size:1.125em;font-weight:600;line-height:1.5}.ys4fw90 .r8uj4tg+*{margin-top:0}.ys4fw90 .r8uj4th{color:var(--rc-text);margin-top:1.5em;margin-bottom:.5em;font-size:1em;font-weight:600;line-height:1.5}.ys4fw90 .r8uj4th+*{margin-top:0}.ys4fw90 .r8uj4ti{color:var(--rc-text);text-transform:uppercase;margin-top:1.5em;margin-bottom:.5em;font-size:.875em;font-weight:600;line-height:1.5}.ys4fw90 .r8uj4ti+*{margin-top:0}.ys4fw90 .r8uj4ts{font-family:var(--rc-font-family-kai);color:color-mix(in srgb, var(--rc-accent) 60%, var(--rc-text));background-color:color-mix(in srgb, var(--rc-accent) 12%, var(--rc-bg));text-indent:0;border-radius:2px;margin:1.6em 0;padding:1.2em 1.5em;font-style:normal;line-height:1.75;transform:rotate(-.6deg);box-shadow:2px 3px 8px #00000014,0 1px 2px #0000000a}.ys4fw90 .r8uj4ts:before{content:"";background:repeating-linear-gradient(105deg, transparent, transparent 2px, #ffffff14 2px, #ffffff14 4px), color-mix(in srgb, var(--rc-accent) 20%, #0000000f);opacity:.85;border-radius:1px;width:56px;height:16px;position:absolute;top:-7px;bottom:auto;left:50%;transform:translate(-50%)rotate(1.2deg);box-shadow:0 1px 2px #0000000f}.ys4fw90 .r8uj4ts .r8uj4t3:first-child:first-letter{float:none;font-size:inherit;margin-right:0}.ys4fw90 .r8uj4tj{text-underline-offset:2px;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;transition:color .15s}.ys4fw90 .r8uj4tj:hover{text-decoration-thickness:2px}.ys4fw90 .r8uj4ta{font-size:.875em;font-family:var(--rc-font-mono);border-radius:var(--rc-radius-sm);background-color:var(--rc-code-bg);padding:.2em .4em;font-weight:500}.ys4fw90 .r8uj4tl,.ys4fw90 .r8uj4tm{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.ys4fw90 .r8uj4tn{margin-top:.5em;margin-bottom:.5em}.ys4fw90 .r8uj4tn:not(.r8uj4tr):not(.r8uj4tq){padding-left:.375em}.ys4fw90 .r8uj4tn::marker{color:var(--rc-text-secondary)}.ys4fw90 .rich-code-block{border-radius:var(--rc-radius-md);margin-top:1.71429em;margin-bottom:1.71429em;font-size:.875em;line-height:1.71429;overflow-x:auto}.ys4fw90 .rich-code-block pre{margin:0;padding:.857143em 1.14286em}.ys4fw90 .r8uj4tx{margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.ys4fw90 .r8uj4tx .r8uj4t3{line-height:inherit;margin:0;padding:0}.ys4fw90 .r8uj4tx .r8uj4t3:first-child:first-letter{float:none;font-size:inherit;margin-right:0}.ys4fw90 .rich-image{margin-top:2em;margin-bottom:2em}.ys4fw90 .rich-image img{border-radius:var(--rc-radius-md)}.ys4fw90 .rich-image figcaption{color:var(--rc-text-secondary);text-align:center;margin-top:.857143em;font-size:.875em;line-height:1.42857}.ys4fw90 .r8uj4tt{border:none;border-top:1px solid var(--rc-hr-border);opacity:.2;width:60px;margin:.5rem auto}.ys4fw90 .egstxq1{margin-top:1.6em;margin-bottom:1.6em;padding:1em 0;overflow-x:auto}.ys4fw90 .r8uj4ty{border-radius:var(--rc-radius-sm);padding-inline-start:.25em;padding-inline-end:.25em}.ys4fw90>:first-child{margin-top:0}.ys4fw90>:last-child{margin-bottom:0}._17ihk870{margin:var(--rc-space-md) 0;position:relative}._17ihk871{border-radius:var(--rc-radius-md);pointer-events:none;background:var(--rc-bg);border:1px solid var(--rc-border);box-shadow:var(--rc-shadow-top-bar);z-index:10;-webkit-user-select:none;user-select:none;white-space:nowrap;opacity:0;align-items:center;gap:2px;padding:4px 6px;transition:opacity .15s;display:flex;position:absolute;top:-36px;left:50%;transform:translate(-50%)}._17ihk872{width:24px;height:24px;color:var(--rc-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}._17ihk873{border-radius:var(--rc-radius-sm);cursor:pointer;min-width:24px;height:24px;color:var(--rc-text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:500;line-height:1;transition:color .15s,background-color .15s;display:flex}._17ihk873:hover{background-color:var(--rc-fill-secondary);color:var(--rc-text)}._17ihk874{background:var(--rc-fill);color:var(--rc-text);font-weight:600}._17ihk875{background:var(--rc-border);flex-shrink:0;width:1px;height:16px;margin:0 2px}._17ihk876{border-radius:var(--rc-radius-sm);cursor:pointer;min-width:24px;height:24px;color:var(--rc-text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:0 6px;transition:color .15s,background-color .15s;display:flex}._17ihk876:hover{background-color:var(--rc-fill-secondary);color:var(--rc-text)}._17ihk877{gap:var(--rc-space-md);display:grid}._17ihk878{min-width:0}._17ihk879{outline:none}._17ihk870:hover ._17ihk871,._17ihk870:focus-within ._17ihk871{opacity:1;pointer-events:auto}@keyframes _1x58dbf0{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes _1x58dbf6{to{transform:rotate(360deg)}}.rich-image-upload-dragging{border-radius:var(--rc-radius-md);background-color:color-mix(in srgb, var(--rc-accent) 6%, transparent);position:relative}.rich-image-upload-dragging .rich-editor__content{outline:2px dashed color-mix(in srgb, var(--rc-accent) 48%, transparent);outline-offset:-2px}._1x58dbf1{z-index:25;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.375rem;display:flex;position:absolute;bottom:.75rem;right:.75rem}._1x58dbf2{border-radius:var(--rc-radius-sm);border:1px solid var(--rc-border);background-color:color-mix(in srgb, var(--rc-bg) 95%, transparent);color:var(--rc-text);font-size:var(--rc-font-size-xs);box-shadow:var(--rc-shadow-top-bar);align-items:center;gap:.375rem;padding:.375rem .625rem;line-height:1.2;animation:.12s ease-out _1x58dbf0;display:inline-flex}._1x58dbf4{border-color:color-mix(in srgb, var(--rc-accent) 35%, transparent)}._1x58dbf5{border-color:color-mix(in srgb, var(--rc-alert-caution) 45%, transparent);color:var(--rc-alert-caution)}._1x58dbf7{border:2px solid color-mix(in srgb, var(--rc-text-secondary) 35%, transparent);border-top-color:color-mix(in srgb, var(--rc-text) 65%, transparent);border-radius:50%;width:12px;height:12px;animation:.75s linear infinite _1x58dbf6}._1x58dbf8._1x58dbf8{gap:0;width:min(560px,100vw - 2rem);padding:0;overflow:hidden}._1x58dbf9{border-bottom:1px solid var(--rc-border);padding:.875rem 1rem .75rem}._1x58dbfa{font-size:var(--rc-font-size-md);color:var(--rc-text);font-weight:600}._1x58dbfb{flex-direction:column;gap:.875rem;padding:.875rem 1rem;display:flex}._1x58dbfc{align-items:center;gap:.5rem;display:flex}._1x58dbfd{border-radius:var(--rc-radius-md);border:1.5px dashed var(--rc-border);min-height:190px;color:var(--rc-text-secondary);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.2rem;transition:border-color .15s,background-color .15s,color .15s;display:flex}._1x58dbfd:hover{border-color:color-mix(in srgb, var(--rc-accent) 35%, transparent);background-color:color-mix(in srgb, var(--rc-accent) 6%, transparent);color:var(--rc-text)}._1x58dbff{border-color:color-mix(in srgb, var(--rc-accent) 55%, transparent);background-color:color-mix(in srgb, var(--rc-accent) 8%, transparent);color:var(--rc-text);transform:scale(1.01)}._1x58dbfg{cursor:progress;opacity:.9}._1x58dbfh{border-radius:var(--rc-radius-md);background-color:color-mix(in srgb, var(--rc-text) 6%, transparent);justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}._1x58dbfi{font-size:var(--rc-font-size-sm);color:var(--rc-text);font-weight:600}._1x58dbfj{font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary);text-align:center}._1x58dbfk{display:none}._1x58dbfl{flex-direction:column;align-items:center;gap:.5rem;display:flex}._1x58dbfm{font-size:var(--rc-font-size-sm);color:var(--rc-text);align-items:center;gap:.375rem;display:inline-flex}._1x58dbfn{align-items:center;gap:.5rem;display:flex}._1x58dbfo{border-radius:var(--rc-radius-sm);border:1px solid var(--rc-border);background-color:var(--rc-bg);width:100%;color:var(--rc-text);height:34px;font-size:var(--rc-font-size-sm);outline:none;padding:0 .625rem;transition:border-color .15s}._1x58dbfo:focus{border-color:color-mix(in srgb, var(--rc-accent) 50%, transparent)}._1x58dbfo::placeholder{color:var(--rc-text-secondary)}._1x58dbfp{border-radius:var(--rc-radius-md);border:1px solid var(--rc-border);background-color:color-mix(in srgb, var(--rc-text) 2%, transparent);overflow:hidden}._1x58dbfq{object-fit:cover;width:100%;max-height:220px;display:block}._1x58dbfr{font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary);align-items:center;gap:.4rem;display:inline-flex}._1x58dbfs{border-top:1px solid var(--rc-border);background-color:color-mix(in srgb, var(--rc-text) 2%, transparent);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1rem;display:flex}.gr1ebt0::selection{background-color:var(--rc-accent-light);color:inherit}.gr1ebt0 ::selection{background-color:var(--rc-accent-light);color:inherit}.gr1ebt0::-moz-selection{background-color:var(--rc-accent-light);color:inherit}.gr1ebt0 ::-moz-selection{background-color:var(--rc-accent-light);color:inherit}.gr1ebt1::selection{background-color:color-mix(in srgb, var(--rc-text-tertiary) 24%, transparent);color:inherit}.gr1ebt1 ::selection{background-color:color-mix(in srgb, var(--rc-text-tertiary) 24%, transparent);color:inherit}.gr1ebt1::-moz-selection{background-color:color-mix(in srgb, var(--rc-text-tertiary) 24%, transparent);color:inherit}.gr1ebt1 ::-moz-selection{background-color:color-mix(in srgb, var(--rc-text-tertiary) 24%, transparent);color:inherit}::highlight(rich-editor-text-selection){background-color:var(--rc-accent-light);color:inherit}::highlight(rich-editor-text-selection-inactive){background-color:color-mix(in srgb, var(--rc-text-tertiary) 24%, transparent);color:inherit}.b94s950{max-width:var(--rc-max-width);flex:1;width:100%;min-height:0;margin:0 auto;position:relative}.b94s951{width:100%;min-height:100px;padding:var(--ce-padding-top,12px) var(--rc-space-md) 12px var(--rc-space-md);outline:none}.b94s952{top:var(--ce-padding-top,12px);left:var(--rc-space-md);color:var(--rc-text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}
2
+ /*$vite$:1*/
@@ -1,70 +1,20 @@
1
- import { E, L, P, u, a } from "./PresentDialogContext-DRroMIoK.js";
2
- import { R } from "./RubyRenderer-CJQmODir.js";
1
+ import { F as useNestedContentRenderer, I as useOptionalNestedContentRenderer, M as extractTextContent, P as NestedContentRendererProvider, a as getTagBgColor, t as editorTheme } from "./theme-B5B2EOWM.js";
2
+ import { a as FootnoteDefinitionsProvider, c as useFootnoteDisplayNumber, d as RendererConfigProvider, f as useRendererConfig, l as RendererWrapper, m as useVariant, o as useFootnoteContent, p as useRendererMode, s as useFootnoteDefinitions, u as createRendererDecoration } from "./KaTeXRenderer-CQQT3BMw.js";
3
+ import { a as noteVariant, c as richContent, i as getVariantClass, l as semanticClassNames, n as katexStyles, o as commentVariant, r as clsx, s as articleVariant, t as katexClassNames, u as sharedStyles } from "./katex.css-CIOEOXyd.js";
4
+ import { D as useColorScheme, E as ColorSchemeProvider, n as builtinNodes, r as customNodes, t as allNodes } from "./config-CNiK9v2M.js";
5
+ import { i as detailsStyles, n as gridStyles, r as detailsClassNames, t as gridClassNames } from "./grid.css-CJCkLTZc.js";
6
+ import { t as normalizeSerializedEditorState } from "./normalizeSerializedEditorState-B-1wmGzd.js";
7
+ import { a as LinkFavicon, i as useExtraNodes, n as usePresentDialog, r as ExtraNodesProvider, t as PresentDialogProvider } from "./PresentDialogContext-DKNicgia.js";
8
+ import { t as RubyRenderer } from "./RubyRenderer-jOkydJHg.js";
3
9
  import { jsx } from "react/jsx-runtime";
4
- import { e as clsx, d as sharedStyles, s as semanticClassNames } from "./katex.css-Csc-7N7u.js";
5
- import { a as a2, c, g, k, b, n, r } from "./katex.css-Csc-7N7u.js";
6
- import { m as getTagBgColor } from "./theme-lEwScxEX.js";
7
- import { N, n as n2, o, u as u2, p } from "./theme-lEwScxEX.js";
8
- import { F, R as R2, a as a3, c as c2, u as u3, b as b2, d, e, f, g as g2 } from "./KaTeXRenderer-CQyQzNTJ.js";
9
- import { n as n3, k as k2, l, m, u as u4 } from "./config-Dl3ZkytB.js";
10
- import { d as d2, a as a4, g as g3, b as b3 } from "./grid.css-Md5-Cfx_.js";
11
- import { n as n4 } from "./normalizeSerializedEditorState-k5G4xSi9.js";
12
10
  import { articleTheme, commentTheme, noteTheme, vars } from "@haklex/rich-style-token/styles";
11
+ //#region src/components/renderers/TagRenderer.tsx
13
12
  function TagRenderer({ text }) {
14
- return /* @__PURE__ */ jsx(
15
- "span",
16
- {
17
- className: clsx(semanticClassNames.tag, sharedStyles.tag),
18
- style: { backgroundColor: getTagBgColor(text) },
19
- children: text
20
- }
21
- );
13
+ return /* @__PURE__ */ jsx("span", {
14
+ className: clsx(semanticClassNames.tag, sharedStyles.tag),
15
+ style: { backgroundColor: getTagBgColor(text) },
16
+ children: text
17
+ });
22
18
  }
23
- export {
24
- n3 as ColorSchemeProvider,
25
- E as ExtraNodesProvider,
26
- F as FootnoteDefinitionsProvider,
27
- L as LinkFavicon,
28
- N as NestedContentRendererProvider,
29
- P as PresentDialogProvider,
30
- R2 as RendererConfigProvider,
31
- a3 as RendererWrapper,
32
- R as RubyRenderer,
33
- TagRenderer,
34
- k2 as allNodes,
35
- articleTheme,
36
- a2 as articleVariant,
37
- l as builtinNodes,
38
- commentTheme,
39
- c as commentVariant,
40
- c2 as createRendererDecoration,
41
- m as customNodes,
42
- d2 as detailsClassNames,
43
- a4 as detailsStyles,
44
- n2 as editorTheme,
45
- o as extractTextContent,
46
- getTagBgColor,
47
- g as getVariantClass,
48
- g3 as gridClassNames,
49
- b3 as gridStyles,
50
- k as katexClassNames,
51
- b as katexStyles,
52
- n4 as normalizeSerializedEditorState,
53
- noteTheme,
54
- n as noteVariant,
55
- r as richContent,
56
- semanticClassNames,
57
- sharedStyles,
58
- u4 as useColorScheme,
59
- u as useExtraNodes,
60
- u3 as useFootnoteContent,
61
- b2 as useFootnoteDefinitions,
62
- d as useFootnoteDisplayNumber,
63
- u2 as useNestedContentRenderer,
64
- p as useOptionalNestedContentRenderer,
65
- a as usePresentDialog,
66
- e as useRendererConfig,
67
- f as useRendererMode,
68
- g2 as useVariant,
69
- vars
70
- };
19
+ //#endregion
20
+ export { ColorSchemeProvider, ExtraNodesProvider, FootnoteDefinitionsProvider, LinkFavicon, NestedContentRendererProvider, PresentDialogProvider, RendererConfigProvider, RendererWrapper, RubyRenderer, TagRenderer, allNodes, articleTheme, articleVariant, builtinNodes, commentTheme, commentVariant, createRendererDecoration, customNodes, detailsClassNames, detailsStyles, editorTheme, extractTextContent, getTagBgColor, getVariantClass, gridClassNames, gridStyles, katexClassNames, katexStyles, normalizeSerializedEditorState, noteTheme, noteVariant, richContent, semanticClassNames, sharedStyles, useColorScheme, useExtraNodes, useFootnoteContent, useFootnoteDefinitions, useFootnoteDisplayNumber, useNestedContentRenderer, useOptionalNestedContentRenderer, usePresentDialog, useRendererConfig, useRendererMode, useVariant, vars };
@@ -1,22 +1,4 @@
1
- import { a, c, g, k, b, n, r, s, d } from "./katex.css-Csc-7N7u.js";
2
- import { d as d2, a as a2, g as g2, b as b2 } from "./grid.css-Md5-Cfx_.js";
1
+ import { a as noteVariant, c as richContent, i as getVariantClass, l as semanticClassNames, n as katexStyles, o as commentVariant, s as articleVariant, t as katexClassNames, u as sharedStyles } from "./katex.css-CIOEOXyd.js";
2
+ import { i as detailsStyles, n as gridStyles, r as detailsClassNames, t as gridClassNames } from "./grid.css-CJCkLTZc.js";
3
3
  import { articleTheme, commentTheme, noteTheme, vars } from "@haklex/rich-style-token/styles";
4
- export {
5
- articleTheme,
6
- a as articleVariant,
7
- commentTheme,
8
- c as commentVariant,
9
- d2 as detailsClassNames,
10
- a2 as detailsStyles,
11
- g as getVariantClass,
12
- g2 as gridClassNames,
13
- b2 as gridStyles,
14
- k as katexClassNames,
15
- b as katexStyles,
16
- noteTheme,
17
- n as noteVariant,
18
- r as richContent,
19
- s as semanticClassNames,
20
- d as sharedStyles,
21
- vars
22
- };
4
+ export { articleTheme, articleVariant, commentTheme, commentVariant, detailsClassNames, detailsStyles, getVariantClass, gridClassNames, gridStyles, katexClassNames, katexStyles, noteTheme, noteVariant, richContent, semanticClassNames, sharedStyles, vars };