@haklex/rich-editor 0.17.1 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- import { A as $isAlertQuoteNode, I as AlertRenderer, N as AlertQuoteNode, P as _defineProperty, _ as MentionNode, b as KaTeXInlineNode, c as SpoilerNode, d as RichQuoteNode, i as TagNode, k as FootnoteNode, t as editorTheme } from "./theme-CW8yI1ie.js";
2
- import { h as ALERT_NODE_KEY, l as RendererWrapper } from "./KaTeXRenderer-v5qDPxDO.js";
1
+ import { A as $isAlertQuoteNode, I as AlertRenderer, N as AlertQuoteNode, P as _defineProperty, _ as MentionNode, b as KaTeXInlineNode, c as SpoilerNode, d as RichQuoteNode, i as TagNode, k as FootnoteNode, t as editorTheme } from "./theme-BGKUes-K.js";
2
+ import { h as ALERT_NODE_KEY, l as RendererWrapper } from "./KaTeXRenderer-CRL_A32i.js";
3
3
  import { LinkPlugin } from "@lexical/react/LexicalLinkPlugin";
4
4
  import { ListPlugin } from "@lexical/react/LexicalListPlugin";
5
5
  import { AutoLinkNode, LinkNode } from "@lexical/link";
@@ -1,5 +1,5 @@
1
- import { l as semanticClassNames, r as clsx, u as sharedStyles } from "./katex.css-D77BtjJi.js";
2
- import { n as getHostname, r as probeFavicon } from "./normalizeSerializedEditorState-CdUhnqss.js";
1
+ import { l as semanticClassNames, r as clsx, u as sharedStyles } from "./katex.css-0TJGE4On.js";
2
+ import { n as getHostname, r as probeFavicon } from "./normalizeSerializedEditorState-C7VzxLf5.js";
3
3
  import { createContext, use, useEffect, useMemo, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import { Globe, Mail } from "lucide-react";
@@ -1,4 +1,4 @@
1
- import { l as semanticClassNames, n as katexStyles, r as clsx, t as katexClassNames, u as sharedStyles } from "./katex.css-D77BtjJi.js";
1
+ import { l as semanticClassNames, n as katexStyles, r as clsx, t as katexClassNames, u as sharedStyles } from "./katex.css-0TJGE4On.js";
2
2
  import { createContext, createElement, use, useCallback, useEffect, useMemo, useState } from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { rgbaToThumbHash, thumbHashToDataURL } from "thumbhash";
@@ -1,5 +1,5 @@
1
- import { f as $createMermaidNode, v as $createKaTeXInlineNode, w as $createImageNode, x as $createKaTeXBlockNode } from "./theme-CW8yI1ie.js";
2
- import { t as $createAlertQuoteEditNode } from "./AlertQuoteEditNode-H3FXp6UH.js";
1
+ import { f as $createMermaidNode, v as $createKaTeXInlineNode, w as $createImageNode, x as $createKaTeXBlockNode } from "./theme-BGKUes-K.js";
2
+ import { t as $createAlertQuoteEditNode } from "./AlertQuoteEditNode-CaCADTx3.js";
3
3
  import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
4
4
  import { useEffect } from "react";
5
5
  import { $insertNodes, COMMAND_PRIORITY_EDITOR, createCommand } from "lexical";
@@ -1,4 +1,4 @@
1
- import { l as semanticClassNames, r as clsx, u as sharedStyles } from "./katex.css-D77BtjJi.js";
1
+ import { l as semanticClassNames, r as clsx, u as sharedStyles } from "./katex.css-0TJGE4On.js";
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  //#region src/components/renderers/RubyRenderer.tsx
4
4
  function RubyRenderer({ reading, children }) {
@@ -1,10 +1,10 @@
1
- import { c as setCodeBlockCursorIntent, o as $createCodeBlockEditNode, s as $createBannerEditNode, t as getResolvedEditNodes } from "./node-registry-DM-0V7qF.js";
2
- import { C as KaTeXBlockNode, D as OPEN_IMAGE_UPLOAD_DIALOG_COMMAND, F as extractTextContent, N as AlertQuoteNode, O as $createFootnoteNode, _ as MentionNode, b as KaTeXInlineNode, c as SpoilerNode, h as $createMentionNode, k as FootnoteNode, o as $createSpoilerNode, v as $createKaTeXInlineNode, w as $createImageNode, x as $createKaTeXBlockNode } from "./theme-CW8yI1ie.js";
3
- import { a as FootnoteDefinitionsProvider, n as computeImageMeta } from "./KaTeXRenderer-v5qDPxDO.js";
4
- import "./katex.css-D77BtjJi.js";
5
- import { S as CommentNode, _ as $createDetailsNode, a as $createRubyNode, b as $createCommentPlaceholderNode, f as $isGridContainerNode, g as FootnoteSectionNode, h as $isFootnoteSectionNode, j as BannerNode, m as $createFootnoteSectionNode, s as RubyNode, v as DetailsNode, w as CodeBlockNode, y as $createCommentNode } from "./config-DiIjpVvJ.js";
6
- import { t as $createAlertQuoteEditNode } from "./AlertQuoteEditNode-H3FXp6UH.js";
7
- import { n as getHostname, r as probeFavicon, t as normalizeSerializedEditorState } from "./normalizeSerializedEditorState-CdUhnqss.js";
1
+ import { c as setCodeBlockCursorIntent, o as $createCodeBlockEditNode, s as $createBannerEditNode, t as getResolvedEditNodes } from "./node-registry-C_EUwDDU.js";
2
+ import { C as KaTeXBlockNode, D as OPEN_IMAGE_UPLOAD_DIALOG_COMMAND, F as extractTextContent, N as AlertQuoteNode, O as $createFootnoteNode, _ as MentionNode, b as KaTeXInlineNode, c as SpoilerNode, h as $createMentionNode, k as FootnoteNode, o as $createSpoilerNode, v as $createKaTeXInlineNode, w as $createImageNode, x as $createKaTeXBlockNode } from "./theme-BGKUes-K.js";
3
+ import { a as FootnoteDefinitionsProvider, n as computeImageMeta } from "./KaTeXRenderer-CRL_A32i.js";
4
+ import "./katex.css-0TJGE4On.js";
5
+ import { S as CommentNode, _ as $createDetailsNode, a as $createRubyNode, b as $createCommentPlaceholderNode, f as $isGridContainerNode, g as FootnoteSectionNode, h as $isFootnoteSectionNode, j as BannerNode, m as $createFootnoteSectionNode, s as RubyNode, v as DetailsNode, w as CodeBlockNode, y as $createCommentNode } from "./config-wy9S6JPy.js";
6
+ import { t as $createAlertQuoteEditNode } from "./AlertQuoteEditNode-CaCADTx3.js";
7
+ import { n as getHostname, r as probeFavicon, t as normalizeSerializedEditorState } from "./normalizeSerializedEditorState-C7VzxLf5.js";
8
8
  import { CheckListPlugin } from "@lexical/react/LexicalCheckListPlugin";
9
9
  import { LinkPlugin } from "@lexical/react/LexicalLinkPlugin";
10
10
  import { ListPlugin } from "@lexical/react/LexicalListPlugin";
@@ -1,5 +1,5 @@
1
- import { D as OPEN_IMAGE_UPLOAD_DIALOG_COMMAND, F as extractTextContent, o as $createSpoilerNode, s as $isSpoilerNode } from "./theme-CW8yI1ie.js";
2
- import { i as INSERT_KATEX_INLINE_COMMAND, l as INSERT_ALERT_COMMAND, o as INSERT_IMAGE_COMMAND, r as INSERT_KATEX_BLOCK_COMMAND, t as INSERT_MERMAID_COMMAND } from "./MermaidPlugin-Dlx8TuRa.js";
1
+ import { D as OPEN_IMAGE_UPLOAD_DIALOG_COMMAND, F as extractTextContent, o as $createSpoilerNode, s as $isSpoilerNode } from "./theme-BGKUes-K.js";
2
+ import { i as INSERT_KATEX_INLINE_COMMAND, l as INSERT_ALERT_COMMAND, o as INSERT_IMAGE_COMMAND, r as INSERT_KATEX_BLOCK_COMMAND, t as INSERT_MERMAID_COMMAND } from "./MermaidPlugin-BK4tJ9xt.js";
3
3
  import { $createTextNode, $getSelection, $isRangeSelection } from "lexical";
4
4
  //#region src/utils/collect-command-items.ts
5
5
  function collectCommandItems(editor) {
@@ -1,8 +1,8 @@
1
- import { C as KaTeXBlockNode, E as ImageNode, F as extractTextContent, N as AlertQuoteNode, P as _defineProperty, R as useNestedContentRenderer, _ as MentionNode, b as KaTeXInlineNode, c as SpoilerNode, d as RichQuoteNode, i as TagNode, k as FootnoteNode, m as MermaidNode } from "./theme-CW8yI1ie.js";
2
- import { D as VIDEO_NODE_KEY, S as LINK_CARD_NODE_KEY, _ as CODE_BLOCK_NODE_KEY, g as BANNER_NODE_KEY, l as RendererWrapper, m as useVariant, s as useFootnoteDefinitions, u as createRendererDecoration, y as FOOTNOTE_SECTION_NODE_KEY } from "./KaTeXRenderer-v5qDPxDO.js";
3
- import { l as semanticClassNames, r as clsx, u as sharedStyles } from "./katex.css-D77BtjJi.js";
4
- import { i as detailsStyles, n as gridStyles, r as detailsClassNames, t as gridClassNames } from "./grid.css-BxRbo20q.js";
5
- import { t as LinkCardRenderer } from "./LinkCardRenderer-CigqFwCv.js";
1
+ import { C as KaTeXBlockNode, E as ImageNode, F as extractTextContent, N as AlertQuoteNode, P as _defineProperty, R as useNestedContentRenderer, _ as MentionNode, b as KaTeXInlineNode, c as SpoilerNode, d as RichQuoteNode, i as TagNode, k as FootnoteNode, m as MermaidNode } from "./theme-BGKUes-K.js";
2
+ import { D as VIDEO_NODE_KEY, S as LINK_CARD_NODE_KEY, _ as CODE_BLOCK_NODE_KEY, g as BANNER_NODE_KEY, l as RendererWrapper, m as useVariant, s as useFootnoteDefinitions, u as createRendererDecoration, y as FOOTNOTE_SECTION_NODE_KEY } from "./KaTeXRenderer-CRL_A32i.js";
3
+ import { l as semanticClassNames, r as clsx, u as sharedStyles } from "./katex.css-0TJGE4On.js";
4
+ import { i as detailsStyles, n as gridStyles, r as detailsClassNames, t as gridClassNames } from "./grid.css-ClPR9Sd5.js";
5
+ import { t as LinkCardRenderer } from "./LinkCardRenderer-DPV1JP0X.js";
6
6
  import { AutoLinkNode, LinkNode } from "@lexical/link";
7
7
  import { createContext, createElement, use, useCallback, useEffect, useRef, useState } from "react";
8
8
  import { HeadingNode, QuoteNode } from "@lexical/rich-text";
@@ -1,4 +1,4 @@
1
- import "./katex.css-D77BtjJi.js";
1
+ import "./katex.css-0TJGE4On.js";
2
2
  //#region src/styles/details.css.ts
3
3
  var detailsClassNames = {
4
4
  details: "rich-details",
package/dist/index.mjs CHANGED
@@ -1,13 +1,13 @@
1
- import { A as ImageUploadProvider, C as useTextSelectionSnapshot, D as defaultImageUpload, E as ImageUploadPlugin, M as CorePlugins, O as BlockIdPlugin, S as createTextSelectionStore, T as LinkFaviconPlugin, _ as $getTextOffsetInBlock, a as AutoFocusPlugin, b as buildRangeAnchor, c as $captureTextSelectionFromRangeSelection, d as findDOMPointByTextOffset, f as getBlockElementById, g as $getRootBlock, h as TEXT_SELECTION_HIGHLIGHT_NAME, i as EditorRefPlugin, k as blockIdState, l as $restoreTextSelection, m as getTextOffsetFromDOMPoint, n as OnChangePlugin, o as TextSelectionPlugin, p as getDOMRectFromTextSelection, r as FootnotePlugin, s as $captureTextSelection, t as SubmitShortcutPlugin, u as createDOMRangeFromTextSelection, v as $resolveSelectionPoint, w as useTextSelectionStore, x as TextSelectionStoreProvider, y as buildBlockAnchor } from "./SubmitShortcutPlugin-CIgBFJsy.js";
2
- import { n as setResolvedEditNodes, r as allEditNodes } from "./node-registry-DM-0V7qF.js";
3
- import { L as NestedContentRendererProvider, R as useNestedContentRenderer, t as editorTheme, z as useOptionalNestedContentRenderer } from "./theme-CW8yI1ie.js";
4
- import { C as MENTION_NODE_KEY, D as VIDEO_NODE_KEY, E as TAG_NODE_KEY, S as LINK_CARD_NODE_KEY, T as RUBY_NODE_KEY, _ as CODE_BLOCK_NODE_KEY, a as FootnoteDefinitionsProvider, b as IMAGE_NODE_KEY, c as useFootnoteDisplayNumber, d as RendererConfigProvider, f as useRendererConfig, g as BANNER_NODE_KEY, h as ALERT_NODE_KEY, m as useVariant, o as useFootnoteContent, p as useRendererMode, s as useFootnoteDefinitions, v as FOOTNOTE_NODE_KEY, w as MERMAID_NODE_KEY, x as KATEX_NODE_KEY, y as FOOTNOTE_SECTION_NODE_KEY } from "./KaTeXRenderer-v5qDPxDO.js";
5
- 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-D77BtjJi.js";
6
- import { D as useColorScheme, E as ColorSchemeProvider } from "./config-DiIjpVvJ.js";
7
- import { i as detailsStyles, n as gridStyles, r as detailsClassNames, t as gridClassNames } from "./grid.css-BxRbo20q.js";
8
- import { t as normalizeSerializedEditorState } from "./normalizeSerializedEditorState-CdUhnqss.js";
9
- import { n as useExtraNodes, r as LinkFavicon, t as ExtraNodesProvider } from "./ExtraNodesContext-97LrpnVZ.js";
10
- import { a as KaTeXPlugin, c as AlertPlugin, n as MermaidPlugin, s as ImagePlugin } from "./MermaidPlugin-Dlx8TuRa.js";
1
+ import { A as ImageUploadProvider, C as useTextSelectionSnapshot, D as defaultImageUpload, E as ImageUploadPlugin, M as CorePlugins, O as BlockIdPlugin, S as createTextSelectionStore, T as LinkFaviconPlugin, _ as $getTextOffsetInBlock, a as AutoFocusPlugin, b as buildRangeAnchor, c as $captureTextSelectionFromRangeSelection, d as findDOMPointByTextOffset, f as getBlockElementById, g as $getRootBlock, h as TEXT_SELECTION_HIGHLIGHT_NAME, i as EditorRefPlugin, k as blockIdState, l as $restoreTextSelection, m as getTextOffsetFromDOMPoint, n as OnChangePlugin, o as TextSelectionPlugin, p as getDOMRectFromTextSelection, r as FootnotePlugin, s as $captureTextSelection, t as SubmitShortcutPlugin, u as createDOMRangeFromTextSelection, v as $resolveSelectionPoint, w as useTextSelectionStore, x as TextSelectionStoreProvider, y as buildBlockAnchor } from "./SubmitShortcutPlugin-CFIOt7Yx.js";
2
+ import { n as setResolvedEditNodes, r as allEditNodes } from "./node-registry-C_EUwDDU.js";
3
+ import { L as NestedContentRendererProvider, R as useNestedContentRenderer, t as editorTheme, z as useOptionalNestedContentRenderer } from "./theme-BGKUes-K.js";
4
+ import { C as MENTION_NODE_KEY, D as VIDEO_NODE_KEY, E as TAG_NODE_KEY, S as LINK_CARD_NODE_KEY, T as RUBY_NODE_KEY, _ as CODE_BLOCK_NODE_KEY, a as FootnoteDefinitionsProvider, b as IMAGE_NODE_KEY, c as useFootnoteDisplayNumber, d as RendererConfigProvider, f as useRendererConfig, g as BANNER_NODE_KEY, h as ALERT_NODE_KEY, m as useVariant, o as useFootnoteContent, p as useRendererMode, s as useFootnoteDefinitions, v as FOOTNOTE_NODE_KEY, w as MERMAID_NODE_KEY, x as KATEX_NODE_KEY, y as FOOTNOTE_SECTION_NODE_KEY } from "./KaTeXRenderer-CRL_A32i.js";
5
+ 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-0TJGE4On.js";
6
+ import { D as useColorScheme, E as ColorSchemeProvider } from "./config-wy9S6JPy.js";
7
+ import { i as detailsStyles, n as gridStyles, r as detailsClassNames, t as gridClassNames } from "./grid.css-ClPR9Sd5.js";
8
+ import { t as normalizeSerializedEditorState } from "./normalizeSerializedEditorState-C7VzxLf5.js";
9
+ import { n as useExtraNodes, r as LinkFavicon, t as ExtraNodesProvider } from "./ExtraNodesContext-BVJeViBr.js";
10
+ import { a as KaTeXPlugin, c as AlertPlugin, n as MermaidPlugin, s as ImagePlugin } from "./MermaidPlugin-BK4tJ9xt.js";
11
11
  import { jsx, jsxs } from "react/jsx-runtime";
12
12
  import { ContentEditable } from "@lexical/react/LexicalContentEditable";
13
13
  import { LexicalErrorBoundary } from "@lexical/react/LexicalErrorBoundary";
@@ -1,9 +1,9 @@
1
- import { C as KaTeXBlockNode, E as ImageNode, P as _defineProperty, _ as MentionNode, b as KaTeXInlineNode, c as SpoilerNode, i as TagNode, k as FootnoteNode, m as MermaidNode, t as editorTheme } from "./theme-CW8yI1ie.js";
2
- import { _ as CODE_BLOCK_NODE_KEY, g as BANNER_NODE_KEY, l as RendererWrapper, s as useFootnoteDefinitions } from "./KaTeXRenderer-v5qDPxDO.js";
3
- import { l as semanticClassNames, r as clsx, u as sharedStyles } from "./katex.css-D77BtjJi.js";
4
- import { C as $isCodeBlockNode, M as normalizeBannerType, N as BannerRenderer, O as $isBannerNode, S as CommentNode, T as CodeBlockRenderer, f as $isGridContainerNode, g as FootnoteSectionNode, i as VideoNode, j as BannerNode, n as builtinNodes, p as GridContainerNode, s as RubyNode, u as LinkCardNode, v as DetailsNode, w as CodeBlockNode } from "./config-DiIjpVvJ.js";
5
- import { n as gridStyles, t as gridClassNames } from "./grid.css-BxRbo20q.js";
6
- import { n as AlertQuoteEditNode, r as NESTED_EDITOR_NODES } from "./AlertQuoteEditNode-H3FXp6UH.js";
1
+ import { C as KaTeXBlockNode, E as ImageNode, P as _defineProperty, _ as MentionNode, b as KaTeXInlineNode, c as SpoilerNode, i as TagNode, k as FootnoteNode, m as MermaidNode, t as editorTheme } from "./theme-BGKUes-K.js";
2
+ import { _ as CODE_BLOCK_NODE_KEY, g as BANNER_NODE_KEY, l as RendererWrapper, s as useFootnoteDefinitions } from "./KaTeXRenderer-CRL_A32i.js";
3
+ import { l as semanticClassNames, r as clsx, u as sharedStyles } from "./katex.css-0TJGE4On.js";
4
+ import { C as $isCodeBlockNode, M as normalizeBannerType, N as BannerRenderer, O as $isBannerNode, S as CommentNode, T as CodeBlockRenderer, f as $isGridContainerNode, g as FootnoteSectionNode, i as VideoNode, j as BannerNode, n as builtinNodes, p as GridContainerNode, s as RubyNode, u as LinkCardNode, v as DetailsNode, w as CodeBlockNode } from "./config-wy9S6JPy.js";
5
+ import { n as gridStyles, t as gridClassNames } from "./grid.css-ClPR9Sd5.js";
6
+ import { n as AlertQuoteEditNode, r as NESTED_EDITOR_NODES } from "./AlertQuoteEditNode-CaCADTx3.js";
7
7
  import { LinkPlugin } from "@lexical/react/LexicalLinkPlugin";
8
8
  import { ListPlugin } from "@lexical/react/LexicalListPlugin";
9
9
  import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
@@ -1,5 +1,5 @@
1
- import { a as FootnoteSectionEditNode, i as customEditNodes, n as setResolvedEditNodes, r as allEditNodes, t as getResolvedEditNodes } from "./node-registry-DM-0V7qF.js";
2
- import { C as KaTeXBlockNode, E as ImageNode, M as ALERT_TYPES, S as $isKaTeXBlockNode, T as $isImageNode, _ as MentionNode, b as KaTeXInlineNode, d as RichQuoteNode, f as $createMermaidNode, g as $isMentionNode, h as $createMentionNode, i as TagNode, j as ALERT_LABELS, l as $createRichQuoteNode, m as MermaidNode, n as $createTagNode, p as $isMermaidNode, r as $isTagNode, u as $isRichQuoteNode, w as $createImageNode, y as $isKaTeXInlineNode } from "./theme-CW8yI1ie.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-DiIjpVvJ.js";
4
- import { r as NESTED_EDITOR_NODES } from "./AlertQuoteEditNode-H3FXp6UH.js";
1
+ import { a as FootnoteSectionEditNode, i as customEditNodes, n as setResolvedEditNodes, r as allEditNodes, t as getResolvedEditNodes } from "./node-registry-C_EUwDDU.js";
2
+ import { C as KaTeXBlockNode, E as ImageNode, M as ALERT_TYPES, S as $isKaTeXBlockNode, T as $isImageNode, _ as MentionNode, b as KaTeXInlineNode, d as RichQuoteNode, f as $createMermaidNode, g as $isMentionNode, h as $createMentionNode, i as TagNode, j as ALERT_LABELS, l as $createRichQuoteNode, m as MermaidNode, n as $createTagNode, p as $isMermaidNode, r as $isTagNode, u as $isRichQuoteNode, w as $createImageNode, y as $isKaTeXInlineNode } from "./theme-BGKUes-K.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-wy9S6JPy.js";
4
+ import { r as NESTED_EDITOR_NODES } from "./AlertQuoteEditNode-CaCADTx3.js";
5
5
  export { $createCommentNode, $createFootnoteSectionNode, $createGridContainerNode, $createImageNode, $createLinkCardNode, $createMentionNode, $createMermaidNode, $createRichQuoteNode, $createRubyNode, $createTagNode, $isCommentNode, $isFootnoteSectionNode, $isGridContainerNode, $isImageNode, $isKaTeXBlockNode, $isKaTeXInlineNode, $isLinkCardNode, $isMentionNode, $isMermaidNode, $isRichQuoteNode, $isRubyNode, $isTagNode, ALERT_LABELS, ALERT_TYPES, BANNER_LABELS, BANNER_TYPES, CommentNode, FootnoteSectionEditNode, FootnoteSectionNode, GridContainerNode, ImageNode, KaTeXBlockNode, KaTeXInlineNode, LinkCardNode, MentionNode, MermaidNode, NESTED_EDITOR_NODES, RichQuoteNode, RubyNode, TagNode, allEditNodes, allNodes, builtinNodes, customEditNodes, customNodes, getResolvedEditNodes, setResolvedEditNodes };
@@ -1,3 +1,3 @@
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-CIgBFJsy.js";
2
- import { a as KaTeXPlugin, c as AlertPlugin, n as MermaidPlugin, s as ImagePlugin } from "./MermaidPlugin-Dlx8TuRa.js";
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-CFIOt7Yx.js";
2
+ import { a as KaTeXPlugin, c as AlertPlugin, n as MermaidPlugin, s as ImagePlugin } from "./MermaidPlugin-BK4tJ9xt.js";
3
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,7 +1,7 @@
1
- import { C as MENTION_NODE_KEY, D as VIDEO_NODE_KEY, E as TAG_NODE_KEY, S as LINK_CARD_NODE_KEY, T as RUBY_NODE_KEY, _ as CODE_BLOCK_NODE_KEY, b as IMAGE_NODE_KEY, c as useFootnoteDisplayNumber, g as BANNER_NODE_KEY, h as ALERT_NODE_KEY, i as FootnoteStaticRenderer, l as RendererWrapper, n as computeImageMeta, o as useFootnoteContent, r as decodeThumbHash, t as KaTeXRenderer, u as createRendererDecoration, v as FOOTNOTE_NODE_KEY, w as MERMAID_NODE_KEY, x as KATEX_NODE_KEY, y as FOOTNOTE_SECTION_NODE_KEY } from "./KaTeXRenderer-v5qDPxDO.js";
2
- import { l as semanticClassNames, r as clsx, u as sharedStyles } from "./katex.css-D77BtjJi.js";
3
- import { t as LinkCardRenderer } from "./LinkCardRenderer-CigqFwCv.js";
4
- import { t as RubyRenderer } from "./RubyRenderer-C3x1kf4k.js";
1
+ import { C as MENTION_NODE_KEY, D as VIDEO_NODE_KEY, E as TAG_NODE_KEY, S as LINK_CARD_NODE_KEY, T as RUBY_NODE_KEY, _ as CODE_BLOCK_NODE_KEY, b as IMAGE_NODE_KEY, c as useFootnoteDisplayNumber, g as BANNER_NODE_KEY, h as ALERT_NODE_KEY, i as FootnoteStaticRenderer, l as RendererWrapper, n as computeImageMeta, o as useFootnoteContent, r as decodeThumbHash, t as KaTeXRenderer, u as createRendererDecoration, v as FOOTNOTE_NODE_KEY, w as MERMAID_NODE_KEY, x as KATEX_NODE_KEY, y as FOOTNOTE_SECTION_NODE_KEY } from "./KaTeXRenderer-CRL_A32i.js";
2
+ import { l as semanticClassNames, r as clsx, u as sharedStyles } from "./katex.css-0TJGE4On.js";
3
+ import { t as LinkCardRenderer } from "./LinkCardRenderer-DPV1JP0X.js";
4
+ import { t as RubyRenderer } from "./RubyRenderer-B76PPUga.js";
5
5
  import { useCallback } from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  import { TooltipContent, TooltipRoot, TooltipTrigger } from "@haklex/rich-editor-ui";
@@ -1,2 +1,2 @@
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{text-align:right;color:var(--rc-text-secondary);margin-top:var(--rc-space-sm);font-size:12px;font-style:normal;display:block}.r8uj4tu{border:none;border-top:1px solid var(--rc-hr-border);margin:var(--rc-space-lg) auto;width:60px}.r8uj4tv{overflow-x:auto}.r8uj4tw{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}.r8uj4tw:last-child{border-right:none}.r8uj4tx{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}.r8uj4tx:last-child{border-right:none}.r8uj4ty{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}.r8uj4tz{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] .r8uj4tz{background-color:color-mix(in srgb, var(--rc-text) 30%, transparent);color:inherit;-webkit-user-select:auto;user-select:auto;cursor:text}.r8uj4tz:hover{color:inherit;-webkit-user-select:auto;user-select:auto;background-color:#0000}.rich-content .r8uj4tz{background-color:var(--rc-text-tertiary);color:#0000}.rich-content .r8uj4tz:not(:hover):not(.rich-spoiler-revealed) *{color:#0000!important}.rich-content .r8uj4tz:hover,.r8uj4t10{color:inherit;-webkit-user-select:auto;user-select:auto;background-color:#0000}.r8uj4t11{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}.r8uj4t12{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}.r8uj4t12:before{content:"<!--";opacity:.7}.r8uj4t12:after{content:"-->";opacity:.7}.r8uj4t13{ruby-position:over;ruby-align:center}[contenteditable=true] .r8uj4t13[data-ruby]{padding-top:.72em;line-height:1.2;display:inline-block;position:relative}[contenteditable=true] .r8uj4t13[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)}.r8uj4t14{color:var(--rc-text-secondary);-webkit-user-select:none;user-select:none;font-size:.58em;line-height:1}.r8uj4t15{vertical-align:super;font-size:.8em}.r8uj4t16{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}.r8uj4t16:hover{filter:brightness(.96)}.r8uj4t17{animation:1.2s ease-out r8uj4t1}.r8uj4t18{display:inline;position:relative}.r8uj4t19{margin-top:var(--rc-space-lg)}.r8uj4t1a{border:none;border-top:1px solid var(--rc-border);margin:var(--rc-space-lg) 0 var(--rc-space-md)}.r8uj4t1b{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}.r8uj4t1c{margin-bottom:var(--rc-space-sm);padding-left:var(--rc-space-xs)}.r8uj4t1d{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}.r8uj4t1d:hover{opacity:.7}.r8uj4t1e{align-items:center;gap:var(--rc-space-sm);list-style-type:none;display:flex}.r8uj4t1f{color:var(--rc-text-secondary);font-size:var(--rc-font-size-small);flex-shrink:0;min-width:1.5em;font-weight:600}.r8uj4t1g{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}.r8uj4t1g:focus{border-color:var(--rc-accent)}.r8uj4t1h{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}.r8uj4t1h:hover{color:#ef4444;background-color:#ef44441a}.r8uj4t1i{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}.r8uj4t1i:hover{opacity:1;background-color:var(--rc-fill-secondary)}.r8uj4t1i:active{cursor:grabbing}.r8uj4t1j{background-color:var(--rc-accent);pointer-events:none;z-index:10;border-radius:1px;height:2px;position:absolute}.r8uj4t1k{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}.r8uj4ty tbody tr:last-child .r8uj4tw{border-bottom:none}.r8uj4tw .r8uj4t3{line-height:inherit;margin:0;padding:0}.r8uj4tw>:first-child{margin-top:0}.r8uj4tw>:last-child{margin-bottom:0}.r8uj4tx .r8uj4t3{line-height:inherit;margin:0;padding:0}.r8uj4tx>:first-child{margin-top:0}.r8uj4tx>: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:not([data-no-open-quote]) .r8uj4t3:first-of-type:before{content:open-quote}.v10dui0 .r8uj4ts:not([data-no-close-quote]) .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 .r8uj4ty{margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.5}.v10dui0 .r8uj4ty .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 .r8uj4tu{border-color:var(--rc-hr-border);border-top-width:1px;width:60px;margin:3.5em auto}.v10dui0 .r8uj4tu+*{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 .r8uj4ty{margin:var(--rc-space-sm) 0;font-size:var(--rc-font-size-small)}._14ko36c0 .r8uj4tw,._14ko36c0 .r8uj4tx{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 .r8uj4tu{border:none;border-top:1px solid var(--rc-hr-border);margin:var(--rc-space-lg) auto;width:60px}._14ko36c0 .r8uj4t1k{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 .r8uj4ty{margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.ys4fw90 .r8uj4ty .r8uj4t3{line-height:inherit;margin:0;padding:0}.ys4fw90 .r8uj4ty .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 .r8uj4tu{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 .r8uj4tz{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;width:100%}._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}
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}.r8uj4ts[data-attribution-panel]{padding-bottom:calc(var(--rc-space-sm) + 24px)}.r8uj4tt{text-align:right;color:var(--rc-text-secondary);margin-top:var(--rc-space-sm);font-size:12px;font-style:normal;display:block}.r8uj4tu{border:none;border-top:1px solid var(--rc-hr-border);margin:var(--rc-space-lg) auto;width:60px}.r8uj4tv{overflow-x:auto}.r8uj4tw{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}.r8uj4tw:last-child{border-right:none}.r8uj4tx{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}.r8uj4tx:last-child{border-right:none}.r8uj4ty{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}.r8uj4tz{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] .r8uj4tz{background-color:color-mix(in srgb, var(--rc-text) 30%, transparent);color:inherit;-webkit-user-select:auto;user-select:auto;cursor:text}.r8uj4tz:hover{color:inherit;-webkit-user-select:auto;user-select:auto;background-color:#0000}.rich-content .r8uj4tz{background-color:var(--rc-text-tertiary);color:#0000}.rich-content .r8uj4tz:not(:hover):not(.rich-spoiler-revealed) *{color:#0000!important}.rich-content .r8uj4tz:hover,.r8uj4t10{color:inherit;-webkit-user-select:auto;user-select:auto;background-color:#0000}.r8uj4t11{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}.r8uj4t12{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}.r8uj4t12:before{content:"<!--";opacity:.7}.r8uj4t12:after{content:"-->";opacity:.7}.r8uj4t13{ruby-position:over;ruby-align:center}[contenteditable=true] .r8uj4t13[data-ruby]{padding-top:.72em;line-height:1.2;display:inline-block;position:relative}[contenteditable=true] .r8uj4t13[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)}.r8uj4t14{color:var(--rc-text-secondary);-webkit-user-select:none;user-select:none;font-size:.58em;line-height:1}.r8uj4t15{vertical-align:super;font-size:.8em}.r8uj4t16{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}.r8uj4t16:hover{filter:brightness(.96)}.r8uj4t17{animation:1.2s ease-out r8uj4t1}.r8uj4t18{display:inline;position:relative}.r8uj4t19{margin-top:var(--rc-space-lg)}.r8uj4t1a{border:none;border-top:1px solid var(--rc-border);margin:var(--rc-space-lg) 0 var(--rc-space-md)}.r8uj4t1b{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}.r8uj4t1c{margin-bottom:var(--rc-space-sm);padding-left:var(--rc-space-xs)}.r8uj4t1d{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}.r8uj4t1d:hover{opacity:.7}.r8uj4t1e{align-items:center;gap:var(--rc-space-sm);list-style-type:none;display:flex}.r8uj4t1f{color:var(--rc-text-secondary);font-size:var(--rc-font-size-small);flex-shrink:0;min-width:1.5em;font-weight:600}.r8uj4t1g{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}.r8uj4t1g:focus{border-color:var(--rc-accent)}.r8uj4t1h{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}.r8uj4t1h:hover{color:#ef4444;background-color:#ef44441a}.r8uj4t1i{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}.r8uj4t1i:hover{opacity:1;background-color:var(--rc-fill-secondary)}.r8uj4t1i:active{cursor:grabbing}.r8uj4t1j{background-color:var(--rc-accent);pointer-events:none;z-index:10;border-radius:1px;height:2px;position:absolute}.r8uj4t1k{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}.r8uj4ty tbody tr:last-child .r8uj4tw{border-bottom:none}.r8uj4tw .r8uj4t3{line-height:inherit;margin:0;padding:0}.r8uj4tw>:first-child{margin-top:0}.r8uj4tw>:last-child{margin-bottom:0}.r8uj4tx .r8uj4t3{line-height:inherit;margin:0;padding:0}.r8uj4tx>:first-child{margin-top:0}.r8uj4tx>: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:not([data-no-open-quote]) .r8uj4t3:first-of-type:before{content:open-quote}.v10dui0 .r8uj4ts:not([data-no-close-quote]) .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 .r8uj4ty{margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.5}.v10dui0 .r8uj4ty .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 .r8uj4tu{border-color:var(--rc-hr-border);border-top-width:1px;width:60px;margin:3.5em auto}.v10dui0 .r8uj4tu+*{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 .r8uj4ty{margin:var(--rc-space-sm) 0;font-size:var(--rc-font-size-small)}._14ko36c0 .r8uj4tw,._14ko36c0 .r8uj4tx{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 .r8uj4tu{border:none;border-top:1px solid var(--rc-hr-border);margin:var(--rc-space-lg) auto;width:60px}._14ko36c0 .r8uj4t1k{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 .r8uj4ty{margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.ys4fw90 .r8uj4ty .r8uj4t3{line-height:inherit;margin:0;padding:0}.ys4fw90 .r8uj4ty .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 .r8uj4tu{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 .r8uj4tz{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;width:100%}._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
2
  /*$vite$:1*/
@@ -1,11 +1,11 @@
1
- import { F as extractTextContent, L as NestedContentRendererProvider, R as useNestedContentRenderer, a as getTagBgColor, t as editorTheme, z as useOptionalNestedContentRenderer } from "./theme-CW8yI1ie.js";
2
- import { C as MENTION_NODE_KEY, D as VIDEO_NODE_KEY, E as TAG_NODE_KEY, S as LINK_CARD_NODE_KEY, T as RUBY_NODE_KEY, _ as CODE_BLOCK_NODE_KEY, a as FootnoteDefinitionsProvider, b as IMAGE_NODE_KEY, c as useFootnoteDisplayNumber, d as RendererConfigProvider, f as useRendererConfig, g as BANNER_NODE_KEY, h as ALERT_NODE_KEY, l as RendererWrapper, m as useVariant, o as useFootnoteContent, p as useRendererMode, s as useFootnoteDefinitions, u as createRendererDecoration, v as FOOTNOTE_NODE_KEY, w as MERMAID_NODE_KEY, x as KATEX_NODE_KEY, y as FOOTNOTE_SECTION_NODE_KEY } from "./KaTeXRenderer-v5qDPxDO.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-D77BtjJi.js";
4
- import { D as useColorScheme, E as ColorSchemeProvider, n as builtinNodes, r as customNodes, t as allNodes } from "./config-DiIjpVvJ.js";
5
- import { i as detailsStyles, n as gridStyles, r as detailsClassNames, t as gridClassNames } from "./grid.css-BxRbo20q.js";
6
- import { t as normalizeSerializedEditorState } from "./normalizeSerializedEditorState-CdUhnqss.js";
7
- import { n as useExtraNodes, r as LinkFavicon, t as ExtraNodesProvider } from "./ExtraNodesContext-97LrpnVZ.js";
8
- import { t as RubyRenderer } from "./RubyRenderer-C3x1kf4k.js";
1
+ import { F as extractTextContent, L as NestedContentRendererProvider, R as useNestedContentRenderer, a as getTagBgColor, t as editorTheme, z as useOptionalNestedContentRenderer } from "./theme-BGKUes-K.js";
2
+ import { C as MENTION_NODE_KEY, D as VIDEO_NODE_KEY, E as TAG_NODE_KEY, S as LINK_CARD_NODE_KEY, T as RUBY_NODE_KEY, _ as CODE_BLOCK_NODE_KEY, a as FootnoteDefinitionsProvider, b as IMAGE_NODE_KEY, c as useFootnoteDisplayNumber, d as RendererConfigProvider, f as useRendererConfig, g as BANNER_NODE_KEY, h as ALERT_NODE_KEY, l as RendererWrapper, m as useVariant, o as useFootnoteContent, p as useRendererMode, s as useFootnoteDefinitions, u as createRendererDecoration, v as FOOTNOTE_NODE_KEY, w as MERMAID_NODE_KEY, x as KATEX_NODE_KEY, y as FOOTNOTE_SECTION_NODE_KEY } from "./KaTeXRenderer-CRL_A32i.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-0TJGE4On.js";
4
+ import { D as useColorScheme, E as ColorSchemeProvider, n as builtinNodes, r as customNodes, t as allNodes } from "./config-wy9S6JPy.js";
5
+ import { i as detailsStyles, n as gridStyles, r as detailsClassNames, t as gridClassNames } from "./grid.css-ClPR9Sd5.js";
6
+ import { t as normalizeSerializedEditorState } from "./normalizeSerializedEditorState-C7VzxLf5.js";
7
+ import { n as useExtraNodes, r as LinkFavicon, t as ExtraNodesProvider } from "./ExtraNodesContext-BVJeViBr.js";
8
+ import { t as RubyRenderer } from "./RubyRenderer-B76PPUga.js";
9
9
  import { jsx } from "react/jsx-runtime";
10
10
  import { articleTheme, commentTheme, noteTheme, vars } from "@haklex/rich-style-token/styles";
11
11
  //#region src/components/renderers/TagRenderer.tsx
@@ -1 +1 @@
1
- {"version":3,"file":"shared.css.d.ts","sourceRoot":"","sources":["../../src/styles/shared.css.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDrB,CAAC;AA0BX,eAAO,MAAM,WAAW,QAOtB,CAAC;AAEH,eAAO,MAAM,SAAS,QAIpB,CAAC;AAEH,eAAO,MAAM,QAAQ,QAEnB,CAAC;AAEH,eAAO,MAAM,UAAU,QAErB,CAAC;AAEH,eAAO,MAAM,aAAa,QAExB,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAG5B,CAAC;AAEH,eAAO,MAAM,eAAe,QAG1B,CAAC;AAEH,eAAO,MAAM,aAAa,QAGxB,CAAC;AAEH,eAAO,MAAM,QAAQ,QAanB,CAAC;AAEH,eAAO,MAAM,aAAa,QAkCxB,CAAC;AAEH,eAAO,MAAM,aAAa,QAYxB,CAAC;AAEH,eAAO,MAAM,SAAS,QAapB,CAAC;AAEH,eAAO,MAAM,SAAS,QAapB,CAAC;AAEH,eAAO,MAAM,SAAS,QAapB,CAAC;AAEH,eAAO,MAAM,SAAS,QAapB,CAAC;AAEH,eAAO,MAAM,SAAS,QAapB,CAAC;AAEH,eAAO,MAAM,SAAS,QAcpB,CAAC;AAEH,eAAO,MAAM,IAAI,QAsBf,CAAC;AAEH,eAAO,MAAM,WAAW,QAKtB,CAAC;AAEH,eAAO,MAAM,MAAM,QAIjB,CAAC;AAEH,eAAO,MAAM,MAAM,QAIjB,CAAC;AAEH,eAAO,MAAM,QAAQ,QAEnB,CAAC;AAEH,eAAO,MAAM,cAAc,QAEzB,CAAC;AAEH,eAAO,MAAM,SAAS,QAGpB,CAAC;AAkDH,eAAO,MAAM,iBAAiB,QAQ5B,CAAC;AAEH,eAAO,MAAM,eAAe,QAmB1B,CAAC;AAEH,eAAO,MAAM,KAAK,QAqBhB,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAO3B,CAAC;AAEH,eAAO,MAAM,EAAE,QAKb,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAEjC,CAAC;AAEH,eAAO,MAAM,SAAS,QAapB,CAAC;AAEH,eAAO,MAAM,eAAe,QAsB1B,CAAC;AAEH,eAAO,MAAM,KAAK,QAShB,CAAC;AAEH,eAAO,MAAM,OAAO,QAqBlB,CAAC;AAmBH,eAAO,MAAM,eAAe,QAI1B,CAAC;AAEH,eAAO,MAAM,GAAG,QAOd,CAAC;AAEH,eAAO,MAAM,OAAO,QAoBlB,CAAC;AAEH,eAAO,MAAM,IAAI,QAyBf,CAAC;AAEH,eAAO,MAAM,MAAM,QAKjB,CAAC;AAEH,eAAO,MAAM,QAAQ,QAGnB,CAAC;AAEH,eAAO,MAAM,WAAW,QAmBtB,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAE5B,CAAC;AAEH,eAAO,MAAM,kBAAkB,QAG7B,CAAC;AAEH,eAAO,MAAM,eAAe,QAE1B,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAIjC,CAAC;AAEH,eAAO,MAAM,mBAAmB,QAM9B,CAAC;AAEH,eAAO,MAAM,mBAAmB,QAG9B,CAAC;AAEH,eAAO,MAAM,eAAe,QAc1B,CAAC;AAEH,eAAO,MAAM,uBAAuB,QAKlC,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAMjC,CAAC;AAEH,eAAO,MAAM,wBAAwB,QAenC,CAAC;AAEH,eAAO,MAAM,yBAAyB,QAoBpC,CAAC;AAEH,eAAO,MAAM,UAAU,QAsBrB,CAAC;AAEH,eAAO,MAAM,aAAa,QAOxB,CAAC;AAEH,eAAO,MAAM,KAAK,QAMhB,CAAC;AAoJH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDkC,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,YAAY,CAAC"}
1
+ {"version":3,"file":"shared.css.d.ts","sourceRoot":"","sources":["../../src/styles/shared.css.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDrB,CAAC;AA0BX,eAAO,MAAM,WAAW,QAOtB,CAAC;AAEH,eAAO,MAAM,SAAS,QAIpB,CAAC;AAEH,eAAO,MAAM,QAAQ,QAEnB,CAAC;AAEH,eAAO,MAAM,UAAU,QAErB,CAAC;AAEH,eAAO,MAAM,aAAa,QAExB,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAG5B,CAAC;AAEH,eAAO,MAAM,eAAe,QAG1B,CAAC;AAEH,eAAO,MAAM,aAAa,QAGxB,CAAC;AAEH,eAAO,MAAM,QAAQ,QAanB,CAAC;AAEH,eAAO,MAAM,aAAa,QAkCxB,CAAC;AAEH,eAAO,MAAM,aAAa,QAYxB,CAAC;AAEH,eAAO,MAAM,SAAS,QAapB,CAAC;AAEH,eAAO,MAAM,SAAS,QAapB,CAAC;AAEH,eAAO,MAAM,SAAS,QAapB,CAAC;AAEH,eAAO,MAAM,SAAS,QAapB,CAAC;AAEH,eAAO,MAAM,SAAS,QAapB,CAAC;AAEH,eAAO,MAAM,SAAS,QAcpB,CAAC;AAEH,eAAO,MAAM,IAAI,QAsBf,CAAC;AAEH,eAAO,MAAM,WAAW,QAKtB,CAAC;AAEH,eAAO,MAAM,MAAM,QAIjB,CAAC;AAEH,eAAO,MAAM,MAAM,QAIjB,CAAC;AAEH,eAAO,MAAM,QAAQ,QAEnB,CAAC;AAEH,eAAO,MAAM,cAAc,QAEzB,CAAC;AAEH,eAAO,MAAM,SAAS,QAGpB,CAAC;AAkDH,eAAO,MAAM,iBAAiB,QAQ5B,CAAC;AAEH,eAAO,MAAM,eAAe,QAmB1B,CAAC;AAEH,eAAO,MAAM,KAAK,QA0BhB,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAO3B,CAAC;AAEH,eAAO,MAAM,EAAE,QAKb,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAEjC,CAAC;AAEH,eAAO,MAAM,SAAS,QAapB,CAAC;AAEH,eAAO,MAAM,eAAe,QAsB1B,CAAC;AAEH,eAAO,MAAM,KAAK,QAShB,CAAC;AAEH,eAAO,MAAM,OAAO,QAqBlB,CAAC;AAmBH,eAAO,MAAM,eAAe,QAI1B,CAAC;AAEH,eAAO,MAAM,GAAG,QAOd,CAAC;AAEH,eAAO,MAAM,OAAO,QAoBlB,CAAC;AAEH,eAAO,MAAM,IAAI,QAyBf,CAAC;AAEH,eAAO,MAAM,MAAM,QAKjB,CAAC;AAEH,eAAO,MAAM,QAAQ,QAGnB,CAAC;AAEH,eAAO,MAAM,WAAW,QAmBtB,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAE5B,CAAC;AAEH,eAAO,MAAM,kBAAkB,QAG7B,CAAC;AAEH,eAAO,MAAM,eAAe,QAE1B,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAIjC,CAAC;AAEH,eAAO,MAAM,mBAAmB,QAM9B,CAAC;AAEH,eAAO,MAAM,mBAAmB,QAG9B,CAAC;AAEH,eAAO,MAAM,eAAe,QAc1B,CAAC;AAEH,eAAO,MAAM,uBAAuB,QAKlC,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAMjC,CAAC;AAEH,eAAO,MAAM,wBAAwB,QAenC,CAAC;AAEH,eAAO,MAAM,yBAAyB,QAoBpC,CAAC;AAEH,eAAO,MAAM,UAAU,QAsBrB,CAAC;AAEH,eAAO,MAAM,aAAa,QAOxB,CAAC;AAEH,eAAO,MAAM,KAAK,QAMhB,CAAC;AAoJH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDkC,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,YAAY,CAAC"}
@@ -1,4 +1,4 @@
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-D77BtjJi.js";
2
- import { i as detailsStyles, n as gridStyles, r as detailsClassNames, t as gridClassNames } from "./grid.css-BxRbo20q.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-0TJGE4On.js";
2
+ import { i as detailsStyles, n as gridStyles, r as detailsClassNames, t as gridClassNames } from "./grid.css-ClPR9Sd5.js";
3
3
  import { articleTheme, commentTheme, noteTheme, vars } from "@haklex/rich-style-token/styles";
4
4
  export { articleTheme, articleVariant, commentTheme, commentVariant, detailsClassNames, detailsStyles, getVariantClass, gridClassNames, gridStyles, katexClassNames, katexStyles, noteTheme, noteVariant, richContent, semanticClassNames, sharedStyles, vars };
@@ -1,5 +1,5 @@
1
- import { C as MENTION_NODE_KEY, b as IMAGE_NODE_KEY, h as ALERT_NODE_KEY, i as FootnoteStaticRenderer, l as RendererWrapper, r as decodeThumbHash, t as KaTeXRenderer, u as createRendererDecoration, v as FOOTNOTE_NODE_KEY, w as MERMAID_NODE_KEY, x as KATEX_NODE_KEY } from "./KaTeXRenderer-v5qDPxDO.js";
2
- import { l as semanticClassNames, u as sharedStyles } from "./katex.css-D77BtjJi.js";
1
+ import { C as MENTION_NODE_KEY, b as IMAGE_NODE_KEY, h as ALERT_NODE_KEY, i as FootnoteStaticRenderer, l as RendererWrapper, r as decodeThumbHash, t as KaTeXRenderer, u as createRendererDecoration, v as FOOTNOTE_NODE_KEY, w as MERMAID_NODE_KEY, x as KATEX_NODE_KEY } from "./KaTeXRenderer-CRL_A32i.js";
2
+ import { l as semanticClassNames, u as sharedStyles } from "./katex.css-0TJGE4On.js";
3
3
  import { createContext, createElement, use, useCallback, useEffect, useMemo, useState } from "react";
4
4
  import { QuoteNode } from "@lexical/rich-text";
5
5
  import { $getEditor, $getNodeByKey, $getSelection, $insertNodes, $isRangeSelection, DecoratorNode, ElementNode, TextNode, createCommand, getRegisteredNode } from "lexical";
@@ -68,7 +68,7 @@ function extractTextContent(state) {
68
68
  return walk(state);
69
69
  }
70
70
  //#endregion
71
- //#region \0@oxc-project+runtime@0.130.0/helpers/typeof.js
71
+ //#region \0@oxc-project+runtime@0.132.0/helpers/typeof.js
72
72
  function _typeof(o) {
73
73
  "@babel/helpers - typeof";
74
74
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -78,7 +78,7 @@ function _typeof(o) {
78
78
  }, _typeof(o);
79
79
  }
80
80
  //#endregion
81
- //#region \0@oxc-project+runtime@0.130.0/helpers/toPrimitive.js
81
+ //#region \0@oxc-project+runtime@0.132.0/helpers/toPrimitive.js
82
82
  function toPrimitive(t, r) {
83
83
  if ("object" != _typeof(t) || !t) return t;
84
84
  var e = t[Symbol.toPrimitive];
@@ -90,13 +90,13 @@ function toPrimitive(t, r) {
90
90
  return ("string" === r ? String : Number)(t);
91
91
  }
92
92
  //#endregion
93
- //#region \0@oxc-project+runtime@0.130.0/helpers/toPropertyKey.js
93
+ //#region \0@oxc-project+runtime@0.132.0/helpers/toPropertyKey.js
94
94
  function toPropertyKey(t) {
95
95
  var i = toPrimitive(t, "string");
96
96
  return "symbol" == _typeof(i) ? i : i + "";
97
97
  }
98
98
  //#endregion
99
- //#region \0@oxc-project+runtime@0.130.0/helpers/defineProperty.js
99
+ //#region \0@oxc-project+runtime@0.132.0/helpers/defineProperty.js
100
100
  function _defineProperty(e, r, t) {
101
101
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
102
102
  value: t,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haklex/rich-editor",
3
- "version": "0.17.1",
3
+ "version": "0.19.0",
4
4
  "description": "Core rich text editor based on Lexical",
5
5
  "repository": {
6
6
  "type": "git",
@@ -45,34 +45,34 @@
45
45
  "dist"
46
46
  ],
47
47
  "dependencies": {
48
- "@lexical/code-core": "^0.44.0",
48
+ "@lexical/code-core": "^0.45.0",
49
49
  "nanoid": "^5.1.11",
50
50
  "thumbhash": "^0.1.1",
51
- "@haklex/rich-editor-ui": "0.17.1",
52
- "@haklex/rich-headless": "0.17.1",
53
- "@haklex/rich-style-token": "0.17.1"
51
+ "@haklex/rich-style-token": "0.19.0",
52
+ "@haklex/rich-editor-ui": "0.19.0",
53
+ "@haklex/rich-headless": "0.19.0"
54
54
  },
55
55
  "devDependencies": {
56
- "@lexical/extension": "^0.44.0",
57
- "@lexical/link": "^0.44.0",
58
- "@lexical/list": "^0.44.0",
59
- "@lexical/markdown": "^0.44.0",
60
- "@lexical/react": "^0.44.0",
61
- "@lexical/rich-text": "^0.44.0",
62
- "@lexical/table": "^0.44.0",
56
+ "@lexical/extension": "^0.45.0",
57
+ "@lexical/link": "^0.45.0",
58
+ "@lexical/list": "^0.45.0",
59
+ "@lexical/markdown": "^0.45.0",
60
+ "@lexical/react": "^0.45.0",
61
+ "@lexical/rich-text": "^0.45.0",
62
+ "@lexical/table": "^0.45.0",
63
63
  "@types/react": "^19.2.15",
64
64
  "@types/react-dom": "^19.2.3",
65
65
  "@vanilla-extract/css": "^1.20.1",
66
66
  "@vanilla-extract/vite-plugin": "^5.2.2",
67
- "katex": "^0.16.47",
68
- "lexical": "^0.44.0",
69
- "lucide-react": "^1.16.0",
67
+ "katex": "^0.17.0",
68
+ "lexical": "^0.45.0",
69
+ "lucide-react": "^1.17.0",
70
70
  "react": "19.2.6",
71
71
  "react-dom": "19.2.6",
72
72
  "shiki": "^4.1.0",
73
73
  "typescript": "^5.9.3",
74
74
  "unplugin-dts": "^1.0.1",
75
- "vite": "^8.0.13"
75
+ "vite": "^8.0.14"
76
76
  },
77
77
  "peerDependencies": {
78
78
  "@base-ui/react": "^1.1.0",