poro-editor 1.5.1 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/config.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export const MENU_BAR_ITEMS: string[];
2
- export const BUBBLE_MENU_ITEMS: string[];
2
+ export const BUBBLE_MENU_ITEMS: (string | undefined)[];
3
3
  export const FLOATING_MENU_ITEMS: string[];
4
4
  export namespace DEFAULT_UPLOAD_CONFIG {
5
5
  let uploadUrl: string;
@@ -26,6 +26,16 @@ export namespace DEFAULT_VARIABLE_CONFIG {
26
26
  export let prefix: string;
27
27
  export let suffix: string;
28
28
  }
29
+ export namespace DEFAULT_AI_CONFIG {
30
+ let enabled: boolean;
31
+ let apiKey: string;
32
+ let baseURL: string;
33
+ let model: string;
34
+ let maxTokens: number;
35
+ let temperature: number;
36
+ let stream: boolean;
37
+ let customHandler: null;
38
+ }
29
39
  export namespace DEFAULT_CONFIG {
30
40
  export { MENU_BAR_ITEMS as menuBar };
31
41
  export { BUBBLE_MENU_ITEMS as bubbleMenu };
@@ -38,4 +48,6 @@ export namespace DEFAULT_CONFIG {
38
48
  export let showCharCount: boolean;
39
49
  export let readonly: boolean;
40
50
  export { DEFAULT_VARIABLE_CONFIG as variables };
51
+ export { DEFAULT_AI_CONFIG as ai };
52
+ export let injectStyles: boolean;
41
53
  }
package/dist/i18n/en.d.ts CHANGED
@@ -37,6 +37,8 @@ declare namespace _default {
37
37
  let sourceCode: string;
38
38
  let htmlPreview: string;
39
39
  let clearFormat: string;
40
+ let formatPainter: string;
41
+ let formatPainterActive: string;
40
42
  let emoji: string;
41
43
  }
42
44
  export namespace image_1 {
@@ -153,5 +155,28 @@ declare namespace _default {
153
155
  }
154
156
  }
155
157
  export { emoji_1 as emoji };
158
+ export namespace ai {
159
+ let title_5: string;
160
+ export { title_5 as title };
161
+ export let openDialog: string;
162
+ export let quickActions: string;
163
+ export let polish: string;
164
+ export let explain: string;
165
+ export let translate: string;
166
+ export let summarize: string;
167
+ export let expand: string;
168
+ export let fixGrammar: string;
169
+ export let send: string;
170
+ export let apply: string;
171
+ export let replace: string;
172
+ export let clear: string;
173
+ let placeholder_1: string;
174
+ export { placeholder_1 as placeholder };
175
+ export let inputPlaceholder: string;
176
+ export let noText: string;
177
+ export let noSelection: string;
178
+ export let error: string;
179
+ export let processing: string;
180
+ }
156
181
  }
157
182
  export default _default;
@@ -6,6 +6,6 @@ export namespace translations {
6
6
  export { en };
7
7
  export { ja };
8
8
  }
9
- export function detectLanguage(): "zh" | "ja" | "en";
9
+ export function detectLanguage(): "zh" | "en" | "ja";
10
10
  export function getTranslation(locale: any): any;
11
11
  export { zh, en, ja };
package/dist/i18n/ja.d.ts CHANGED
@@ -37,6 +37,8 @@ declare namespace _default {
37
37
  let sourceCode: string;
38
38
  let htmlPreview: string;
39
39
  let clearFormat: string;
40
+ let formatPainter: string;
41
+ let formatPainterActive: string;
40
42
  let emoji: string;
41
43
  }
42
44
  export namespace image_1 {
@@ -153,5 +155,28 @@ declare namespace _default {
153
155
  }
154
156
  }
155
157
  export { emoji_1 as emoji };
158
+ export namespace ai {
159
+ let title_5: string;
160
+ export { title_5 as title };
161
+ export let openDialog: string;
162
+ export let quickActions: string;
163
+ export let polish: string;
164
+ export let explain: string;
165
+ export let translate: string;
166
+ export let summarize: string;
167
+ export let expand: string;
168
+ export let fixGrammar: string;
169
+ export let send: string;
170
+ export let apply: string;
171
+ export let replace: string;
172
+ export let clear: string;
173
+ let placeholder_1: string;
174
+ export { placeholder_1 as placeholder };
175
+ export let inputPlaceholder: string;
176
+ export let noText: string;
177
+ export let noSelection: string;
178
+ export let error: string;
179
+ export let processing: string;
180
+ }
156
181
  }
157
182
  export default _default;
package/dist/i18n/zh.d.ts CHANGED
@@ -37,6 +37,8 @@ declare namespace _default {
37
37
  let sourceCode: string;
38
38
  let htmlPreview: string;
39
39
  let clearFormat: string;
40
+ let formatPainter: string;
41
+ let formatPainterActive: string;
40
42
  let emoji: string;
41
43
  }
42
44
  export namespace image_1 {
@@ -153,5 +155,28 @@ declare namespace _default {
153
155
  }
154
156
  }
155
157
  export { emoji_1 as emoji };
158
+ export namespace ai {
159
+ let title_5: string;
160
+ export { title_5 as title };
161
+ export let openDialog: string;
162
+ export let quickActions: string;
163
+ export let polish: string;
164
+ export let explain: string;
165
+ export let translate: string;
166
+ export let summarize: string;
167
+ export let expand: string;
168
+ export let fixGrammar: string;
169
+ export let send: string;
170
+ export let apply: string;
171
+ export let replace: string;
172
+ export let clear: string;
173
+ let placeholder_1: string;
174
+ export { placeholder_1 as placeholder };
175
+ export let inputPlaceholder: string;
176
+ export let noText: string;
177
+ export let noSelection: string;
178
+ export let error: string;
179
+ export let processing: string;
180
+ }
156
181
  }
157
182
  export default _default;
@@ -1 +1 @@
1
- .nice-editor{border:1px solid var(--editor-border);background:var(--editor-bg);position:relative;color:var(--editor-text)}.nice-editor.readonly{background:var(--code-bg)}.nice-editor.readonly .nice{cursor:default;-webkit-user-select:text;user-select:text}.nice-editor .control-group{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-bottom:1px solid var(--toolbar-border);background:var(--toolbar-bg)}.nice-editor .button-group{display:flex;flex-wrap:wrap;gap:4px}.nice-editor .button-group button.button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;color:var(--toolbar-btn-color);transition:all .2s;white-space:nowrap}.nice-editor .button-group button.button:hover:not(:disabled){background:var(--toolbar-btn-hover-bg);color:var(--toolbar-btn-active-color)}.nice-editor .button-group button.button:disabled{opacity:.4;cursor:not-allowed}.nice-editor .button-group button.button.is-active{background:var(--toolbar-btn-active-bg)!important;border-color:var(--toolbar-btn-active-color)!important;color:var(--toolbar-btn-active-color)}.nice{padding:16px;min-height:300px;max-height:600px;overflow-y:auto;color:var(--editor-text)}.nice :first-child{margin-top:0}.nice>*+*{margin-top:.75em}.nice ul,.nice ol{padding:0 1rem;margin:1.25rem 1rem 1.25rem .4rem}.nice ul li p,.nice ol li p{margin-top:.25em;margin-bottom:.25em}.nice h1,.nice h2,.nice h3,.nice h4,.nice h5,.nice h6{line-height:1.1;margin-top:2.5rem;text-wrap:pretty}.nice h1,.nice h2{margin-top:3.5rem;margin-bottom:1.5rem}.nice h1{font-size:1.4rem}.nice h2{font-size:1.2rem}.nice h3{font-size:1.1rem}.nice h4,.nice h5,.nice h6{font-size:1rem}.nice code{background-color:var(--code-bg);border-radius:.4rem;color:var(--code-text);font-size:.85rem;padding:.25em .3em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.nice pre{background:#282c34;border-radius:.5rem;color:#abb2bf;font-family:JetBrainsMono,SFMono-Regular,monospace;margin:1.5rem 0;padding:.75rem 1rem}.nice pre code{background:none;color:inherit;font-size:.8rem;padding:0}.nice blockquote{border-left:3px solid var(--blockquote-border);margin:1.5rem 0;padding-left:1rem;color:var(--editor-text-secondary);background:var(--blockquote-bg)}.nice hr{border:none;border-top:1px solid var(--editor-border);margin:2rem 0}.nice p.is-editor-empty:first-child:before{color:var(--placeholder-color);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.nice .ProseMirror-selectednode,.nice .ProseMirror-selectednode *{color:var(--editor-text)!important}.floating-menu{display:flex;gap:2px;padding:4px;background:var(--floating-bg);border-radius:6px;box-shadow:var(--popup-shadow);border:1px solid var(--floating-border);margin-top:1em}.floating-menu button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;color:var(--floating-text);transition:all .2s}.floating-menu button:hover{background:var(--floating-hover-bg)}.floating-menu button.is-active{background:var(--floating-active-bg)!important}.bubble-menu{display:flex;gap:2px;padding:4px;background:var(--bubble-bg);border-radius:6px;box-shadow:var(--popup-shadow)}.bubble-menu button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;cursor:pointer;transition:all .2s;color:var(--bubble-text)}.bubble-menu button:hover{background:var(--bubble-hover-bg)}.bubble-menu button.is-active{background:var(--bubble-active-bg)!important}.nice-editor .outline-node{background:var(--popup-bg);border:1px solid var(--popup-border);border-radius:8px;padding:16px;margin:16px 0;color:var(--popup-text)}.nice-editor .outline-node.ProseMirror-selectednode{outline:2px solid var(--focus-ring);outline-offset:2px}.nice-editor .outline-node-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--popup-border)}.nice-editor .outline-node-title{font-weight:600;font-size:14px;color:var(--popup-text)}.nice-editor .outline-node-delete{width:20px;height:20px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--popup-text-secondary);cursor:pointer;font-size:16px;line-height:1;transition:all .2s}.nice-editor .outline-node-delete:hover{background:#ff4d4f;color:#fff}.nice-editor .outline-node-empty{color:var(--popup-text-secondary);font-size:13px;text-align:center;padding:12px}.nice-editor .outline-node-list{list-style:none;padding:0;margin:0;overflow-y:auto}.nice-editor .outline-node-item{padding:0;margin:0;font-size:13px;border-radius:4px;transition:all .2s}.nice-editor .outline-node-link{display:block;padding:6px 8px;color:var(--popup-text-secondary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border-radius:4px}.nice-editor .outline-node-link:hover{background:var(--popup-hover-bg);color:var(--focus-ring)}.nice-editor .outline-node-level-1 .outline-node-link{padding-left:8px;font-weight:500}.nice-editor .outline-node-level-2 .outline-node-link{padding-left:20px}.nice-editor .outline-node-level-3 .outline-node-link{padding-left:32px;font-size:12px}.nice-editor .outline-node-level-4 .outline-node-link{padding-left:44px;font-size:12px}.nice-editor .outline-node-level-5 .outline-node-link{padding-left:56px;font-size:12px;color:var(--popup-text-secondary)}.nice-editor .outline-node-level-6 .outline-node-link{padding-left:68px;font-size:12px;color:var(--popup-text-secondary)}.variable-node-wrapper{display:inline}.variable-node-content{display:inline-flex;align-items:center;padding:0 6px;background:linear-gradient(135deg,#c5c5c5,#bab9bb);color:#fff;border-radius:4px;font-size:.8em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;cursor:default;-webkit-user-select:none;user-select:none;transition:all .2s}.variable-node-content:hover{box-shadow:0 2px 8px #667eea66}.ProseMirror-selectednode .variable-node-content{outline:2px solid var(--focus-ring);outline-offset:2px}.variable-panel{min-width:200px;max-width:300px}.variable-panel-title{font-weight:600;font-size:14px;color:var(--popup-text);padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--popup-border)}.variable-panel-list{display:flex;flex-direction:column;gap:4px}.variable-panel-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s}.variable-panel-item:hover{background:var(--popup-hover-bg)}.variable-panel-item-label{flex:1;font-size:14px;color:var(--popup-text)}.variable-panel-item-id{font-size:12px;color:var(--popup-text-secondary);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.variable-panel-popover{z-index:9999!important}.variable-panel-popover.ant-popover .ant-popover-content{background:var(--popup-bg)!important}.variable-panel-popover.ant-popover .ant-popover-inner{background:var(--popup-bg)!important;border-radius:8px!important;box-shadow:var(--popup-shadow)!important;border:1px solid var(--popup-border)!important}.variable-panel-popover .ant-popover-arrow{display:none!important}.variable-panel-popover .ant-popover-inner-content,.variable-panel-popover .variable-panel{background:var(--popup-bg)!important}.variable-panel-popover .variable-panel-title{color:var(--popup-text)!important;border-bottom-color:var(--popup-border)!important}.variable-panel-popover .variable-panel-item-label{color:var(--popup-text)!important}.variable-panel-popover .variable-panel-item-id{color:var(--popup-text-secondary)!important}.source-code-modal .ant-modal-body{padding:16px}.source-code-content{background:var(--code-bg);border:1px solid var(--popup-border);border-radius:6px;padding:16px;margin:0;max-height:500px;overflow:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.6;color:var(--popup-text);white-space:pre-wrap;word-wrap:break-word}.html-preview-modal .ant-modal-body{padding:16px}.html-preview-container{background:var(--editor-bg);border:1px solid var(--popup-border);border-radius:8px;min-height:400px;max-height:600px;overflow:auto}.html-preview-content{padding:20px;line-height:1.6;color:var(--editor-text)}.html-preview-content h1,.html-preview-content h2,.html-preview-content h3,.html-preview-content h4,.html-preview-content h5,.html-preview-content h6{margin-top:1.5em;margin-bottom:.5em;line-height:1.3}.html-preview-content h1{font-size:2em;border-bottom:1px solid var(--editor-border);padding-bottom:.3em}.html-preview-content h2{font-size:1.5em;border-bottom:1px solid var(--editor-border);padding-bottom:.3em}.html-preview-content h3{font-size:1.25em}.html-preview-content p{margin:1em 0}.html-preview-content ul,.html-preview-content ol{padding-left:2em;margin:1em 0}.html-preview-content blockquote{border-left:4px solid var(--blockquote-border);padding-left:1em;margin:1em 0;color:var(--editor-text-secondary)}.html-preview-content code{background:var(--code-bg);padding:.2em .4em;border-radius:3px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em}.html-preview-content pre{background:#f6f8fa;border:1px solid var(--popup-border);border-radius:6px;padding:16px;overflow-x:auto;margin:1em 0}.html-preview-content pre code{background:none;padding:0}.html-preview-content hr{border:none;border-top:1px solid var(--editor-border);margin:2em 0}.html-preview-content a{color:var(--link-color);text-decoration:none}.html-preview-content a:hover{text-decoration:underline}.html-preview-content img{max-width:100%;height:auto}.html-preview-content table{border-collapse:collapse;width:100%;margin:1em 0}.html-preview-content table th,.html-preview-content table td{border:1px solid var(--table-border);padding:8px 12px}.html-preview-content table th{background:var(--table-header-bg);font-weight:600}.nice table{border-collapse:collapse;table-layout:fixed;width:100%;margin:1em 0;overflow:hidden;border:1px solid var(--table-border);border-radius:4px}.nice table td,.nice table th{min-width:80px;height:36px;vertical-align:top;box-sizing:border-box;position:relative;border:1px solid var(--table-border);padding:6px 8px}.nice table th{background:var(--table-header-bg);font-weight:600}.nice table td.selectedCell,.nice table th.selectedCell{background:var(--table-selected-bg)}.nice table.table-selected{outline:2px solid var(--table-selected-border);outline-offset:2px;border-radius:4px}.nice table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background-color:var(--focus-ring);pointer-events:none}.nice table .tableWrapper{overflow-x:auto;margin:1em 0}.nice .resize-cursor{cursor:col-resize}.table-menu-popover{z-index:9999!important}.table-menu-popover.ant-popover .ant-popover-content{background:var(--popup-bg)!important}.table-menu-popover.ant-popover .ant-popover-inner{background:var(--popup-bg)!important;border-radius:8px!important;box-shadow:var(--popup-shadow)!important;padding:12px!important;border:1px solid var(--popup-border)!important}.table-menu-popover .ant-popover-arrow{display:none!important}.table-menu-popover .ant-popover-inner-content,.table-menu-popover .table-menu-panel{background:var(--popup-bg)!important}.table-menu-popover .table-grid-cell{background:var(--editor-bg)!important;border-color:var(--popup-border)!important}.table-menu-popover .table-grid-label,.table-menu-popover .table-menu-section-title{color:var(--popup-text-secondary)!important}.table-menu-panel{min-width:200px}.table-menu-section-title{font-size:12px;color:var(--popup-text-secondary);font-weight:500;margin-bottom:6px;padding-left:2px}.table-menu-panel .table-menu-section-title:not(:first-child){margin-top:10px;padding-top:8px;border-top:1px solid var(--popup-border)}.table-menu-actions{display:flex;flex-wrap:wrap;gap:4px}.table-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;color:var(--popup-text);transition:all .2s}.table-action-btn:hover:not(:disabled){background:var(--popup-hover-bg);color:var(--focus-ring)}.table-action-btn:disabled{opacity:.35;cursor:not-allowed}.table-insert-grid{display:flex;flex-direction:column;align-items:center;gap:8px}.table-grid-label{font-size:12px;color:var(--popup-text-secondary);text-align:center}.table-grid{display:flex;flex-direction:column;gap:2px}.table-grid-row{display:flex;gap:2px}.table-grid-cell{width:20px;height:20px;border:1px solid var(--popup-border);border-radius:2px;cursor:pointer;transition:all .15s}.table-grid-cell.is-hovered{background:var(--focus-ring);border-color:var(--focus-ring)}.table-grid-cell:hover{border-color:var(--focus-ring)}.table-floating-toolbar{position:absolute;z-index:100;display:flex;align-items:flex-end;height:28px}.table-toolbar-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--image-toolbar-bg);border-radius:6px;box-shadow:var(--popup-shadow);cursor:pointer;color:var(--image-toolbar-text);transition:all .15s;flex-shrink:0}.table-toolbar-toggle:hover{background:var(--image-toolbar-active-bg)}.table-toolbar-expanded{display:none;position:absolute;left:26px;bottom:0;align-items:center;gap:2px;padding:6px 8px 6px 4px;background:var(--image-toolbar-bg);border-radius:0 6px 6px 0;box-shadow:var(--popup-shadow);white-space:nowrap}.table-floating-toolbar:hover .table-toolbar-expanded{display:flex}.table-toolbar-expanded .table-action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;cursor:pointer;transition:all .15s;color:var(--image-toolbar-text)}.table-toolbar-expanded .table-action-btn:hover:not(:disabled){background:var(--image-toolbar-hover-bg);color:var(--image-toolbar-text)}.table-toolbar-expanded .table-action-btn:disabled{opacity:.3;cursor:not-allowed}.align-menu-wrapper{position:relative}.align-menu-popup{position:absolute;top:100%;left:0;margin-top:4px;background:var(--popup-bg)!important;border-radius:6px;box-shadow:var(--popup-shadow);padding:8px;z-index:1000;min-width:120px}.align-menu-title{font-size:12px;color:var(--popup-text-secondary)!important;margin-bottom:6px;padding-left:4px}.align-menu-actions{display:flex;gap:4px}.align-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:4px;background:transparent!important;cursor:pointer;transition:all .15s;color:var(--popup-text)!important}.align-action-btn span{color:var(--popup-text)!important}.align-action-btn:hover{background:var(--popup-hover-bg)!important}.align-action-btn.is-active{background:var(--popup-active-bg)!important;color:var(--popup-active-color)!important}.table-bubble-divider{width:1px;height:20px;background:var(--image-toolbar-border);margin:0 4px}.image-menu-popover{z-index:9999!important}.image-menu-popover.ant-popover .ant-popover-content{background:var(--popup-bg)!important}.image-menu-popover.ant-popover .ant-popover-inner{padding:0!important;border-radius:8px!important;background:var(--popup-bg)!important;border:1px solid var(--popup-border)!important;box-shadow:var(--popup-shadow)!important}.image-menu-popover .ant-popover-arrow{display:none!important}.image-menu-popover .ant-popover-inner-content,.image-menu-popover .ant-tabs-nav{background:var(--popup-bg)!important}.image-menu-popover .ant-tabs-tab{color:var(--popup-text)!important}.image-menu-popover .ant-tabs-tab-active{color:var(--focus-ring)!important}.image-menu-panel{width:320px}.image-menu-panel .ant-tabs-nav{margin-bottom:0;padding:0 12px}.image-menu-upload{padding:16px}.image-menu-dragger{border-radius:8px!important}.image-menu-dragger .ant-upload{padding:24px!important}.image-menu-url{padding:16px;display:flex;gap:8px}.image-menu-url-btn{padding:4px 16px;background:var(--focus-ring);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.image-menu-url-btn:hover{opacity:.85}.image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:200px;min-height:150px;background:var(--code-bg);border:2px dashed var(--popup-border);border-radius:8px;padding:20px;color:var(--popup-text-secondary)}.image-placeholder.uploading{border-color:var(--focus-ring);background:var(--table-selected-bg)}.image-placeholder.error{border-color:#ff4d4f;background:#fff2f0;cursor:pointer}.image-placeholder.error:hover{border-color:#ff7875}.image-placeholder-spinner{width:32px;height:32px;border:3px solid var(--focus-ring);border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.image-placeholder-text{margin-top:12px;font-size:14px}.image-placeholder-retry{margin-top:8px;font-size:12px;color:var(--focus-ring)}.image-node-wrapper{margin:1em 0}.image-node-wrapper img{max-width:100%;height:auto;border-radius:4px;cursor:pointer}.image-node-wrapper img:hover{outline:2px solid var(--focus-ring);outline-offset:2px}.image-floating-toolbar{position:absolute;z-index:100;display:flex;align-items:flex-end;height:28px}.image-toolbar-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--image-toolbar-bg);border-radius:6px;box-shadow:var(--popup-shadow);cursor:pointer;color:var(--image-toolbar-text);transition:all .15s;flex-shrink:0}.image-toolbar-toggle:hover{background:var(--image-toolbar-active-bg)}.image-toolbar-expanded{display:none;position:absolute;left:26px;bottom:0;align-items:center;gap:8px;padding:6px 8px 6px 4px;background:var(--image-toolbar-bg);border-radius:0 6px 6px 0;box-shadow:var(--popup-shadow);white-space:nowrap}.image-floating-toolbar:hover .image-toolbar-expanded{display:flex}.image-toolbar-section{display:flex;align-items:center;gap:4px}.image-toolbar-label{font-size:12px;color:var(--image-toolbar-text);opacity:.6;margin-right:4px}.image-toolbar-sizes,.image-toolbar-floats{display:flex;gap:2px}.image-toolbar-size-btn{padding:4px 8px;font-size:12px;background:transparent;border:none;border-radius:4px;color:var(--image-toolbar-text);cursor:pointer;transition:all .15s}.image-toolbar-size-btn:hover{background:var(--image-toolbar-hover-bg)}.image-toolbar-size-btn.is-active{background:var(--image-toolbar-active-bg);color:#fff}.image-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;cursor:pointer;transition:all .15s;color:var(--image-toolbar-text)}.image-toolbar-btn:hover{background:var(--image-toolbar-hover-bg)}.image-toolbar-btn.is-active{background:var(--image-toolbar-active-bg);color:#fff}.image-toolbar-delete:hover{background:#ff4d4f}.image-toolbar-divider{width:1px;height:20px;background:var(--image-toolbar-border);margin:0 4px}.menu-separator{width:1px;height:20px;background:var(--editor-border);margin:6px 4px;display:inline-block;vertical-align:middle}.bubble-menu .menu-separator{background:var(--bubble-border)}.heading-selector-wrapper,.font-size-selector-wrapper,.link-button-wrapper{position:relative;display:inline-flex}.heading-selector-popup,.font-size-selector-popup,.link-button-popup{position:absolute;top:100%;left:0;margin-top:4px;background:var(--popup-bg);border-radius:6px;box-shadow:var(--popup-shadow);padding:8px;z-index:1000;min-width:120px}.heading-option,.font-size-option{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:4px;background:transparent;color:var(--popup-text);cursor:pointer;transition:all .15s;font-size:13px;text-align:left}.heading-option:hover,.font-size-option:hover{background:var(--popup-hover-bg)}.heading-option.is-active,.font-size-option.is-active{background:var(--popup-active-bg);color:var(--popup-active-color)}.link-input-wrapper{display:flex;gap:8px;align-items:center}.char-count-wrapper{position:absolute;right:12px;bottom:8px;font-size:12px;color:var(--editor-text-secondary);background:var(--editor-bg);padding:2px 8px;border-radius:4px;opacity:.7;transition:opacity .2s;z-index:10}.char-count-wrapper:hover{opacity:1}.char-count-wrapper.exceeded{color:#ff4d4f;font-weight:500}.char-count-separator{margin:0 2px}.nice{font-size:16px;color:#000;padding:0 10px;line-height:1.6;word-spacing:0px;letter-spacing:0px;word-break:break-word;word-wrap:break-word;text-align:left;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,PingFang SC,Cambria,Cochin,Georgia,Times,Times New Roman,serif}.nice p{font-size:16px;padding-top:8px;padding-bottom:8px;margin:0;line-height:26px;color:#000}.nice h1,.nice h2,.nice h3,.nice h4,.nice h5,.nice h6{margin-top:30px;margin-bottom:15px;padding:0;font-weight:700;color:#000}.nice h1{font-size:24px}.nice h2{font-size:22px}.nice h3{font-size:20px}.nice h4{font-size:18px}.nice h5,.nice h6{font-size:16px}.nice h1 .prefix,.nice h2 .prefix,.nice h3 .prefix,.nice h4 .prefix,.nice h5 .prefix,.nice h6 .prefix,.nice h1 .suffix .nice h2 .suffix,.nice h3 .suffix,.nice h4 .suffix,.nice h5 .suffix,.nice h6 .suffix{display:none}.nice ul,.nice ol{margin-top:8px;margin-bottom:8px;padding-left:25px;color:#000}.nice ul{list-style-type:disc}.nice ul ul{list-style-type:square}.nice ol{list-style-type:decimal}.nice li p{margin-top:5px;margin-bottom:5px;line-height:26px;text-align:left;color:#010101;font-weight:500;padding:0}.nice blockquote{border:none}.nice blockquote{display:block;font-size:.9em;overflow:auto;overflow-scrolling:touch;border-left:3px solid rgba(0,0,0,.4);background:#0000000d;color:#6a737d;padding:10px 10px 10px 20px;margin-bottom:20px;margin-top:20px}.nice blockquote p{margin:0;color:#000;line-height:26px}.nice .table-of-contents a{border:none;color:#000;font-weight:400}.nice a{text-decoration:none;color:#1e6bb8;word-wrap:break-word;font-weight:700;border-bottom:1px solid #1e6bb8}.nice strong{font-weight:700;color:#000}.nice em{font-style:italic;color:#000}.nice em strong{font-weight:700;color:#000}.nice del{font-style:italic;color:#000}.nice hr{height:1px;margin:10px 0;border:none;border-top:1px solid black}.nice pre{margin-top:10px;margin-bottom:10px}.nice pre code{display:-webkit-box;font-family:Operator Mono,Consolas,Monaco,Menlo,monospace;border-radius:0;font-size:12px;-webkit-overflow-scrolling:touch}.nice pre code span{line-height:26px}.nice p code,.nice li code{font-size:14px;word-wrap:break-word;padding:2px 4px;border-radius:4px;margin:0 2px;color:#1e6bb8;background-color:#1b1f230d;font-family:Operator Mono,Consolas,Monaco,Menlo,monospace;word-break:break-all}.nice img{display:block;margin:0 auto;max-width:100%}.nice figure{margin:10px 0}.nice figcaption{margin-top:5px;text-align:center;color:#888;font-size:14px}.nice .table-container{overflow-x:auto}.nice table{display:table;text-align:left}.nice tbody{border:0}.nice table tr{border:0;border-top:1px solid #ccc;background-color:#fff}.nice table tr:nth-child(2n){background-color:#f8f8f8}.nice table tr th,.nice table tr td{font-size:16px;border:1px solid #ccc;padding:5px 10px;text-align:left}.nice table tr th{font-weight:700;background-color:#f0f0f0}.nice table tr th:nth-of-type(n),.nice table tr td:nth-of-type(n){min-width:85px}.nice .footnote-word,.nice .footnote-ref{color:#1e6bb8;font-weight:700}.nice .footnote-item{display:flex}.nice .footnote-num{display:inline;width:10%;background:none;font-size:80%;opacity:.6;line-height:26px;font-family:ptima-Regular,Optima,PingFangSC-light,PingFangTC-light,PingFang SC,Cambria,Cochin,Georgia,Times,Times New Roman,serif}.nice .footnote-item p{display:inline;font-size:14px;width:calc(100% - 50px);padding:0;margin:0;line-height:26px;color:#000;word-break:break-all}.nice sub,sup{line-height:0}.nice .footnotes-sep:before{content:"参考资料";display:block}.nice .block-equation{text-align:center;overflow:auto;display:block;-webkit-overflow-scrolling:touch}.nice .block-equation svg{max-width:300%!important;-webkit-overflow-scrolling:touch}.nice .imageflow-layer1{margin-top:1em;margin-bottom:.5em;white-space:normal;border:0px none;padding:0;overflow:hidden}.nice .imageflow-layer2{white-space:nowrap;width:100%;overflow-x:scroll}.nice .imageflow-layer3{display:inline-block;word-wrap:break-word;white-space:normal;vertical-align:middle;width:100%}.nice .imageflow-img{display:inline-block}.nice .imageflow-caption{text-align:center;margin-top:0;padding-top:0;color:#888}.nice .nice-suffix-juejin-container{margin-top:20px!important}.nice figure a{border:none}.nice figure a img{margin:0}.nice figure{display:flex;flex-direction:column;justify-content:center;align-items:center}.nice figure a{display:flex;justify-content:center;align-items:center}.nice figure a+figcaption{display:flex;justify-content:center;align-items:center;width:100%;margin-top:-35px;background:#000000b3;color:#fff;line-height:35px;z-index:20}.nice-editor,.nice-editor[data-theme=light]{--editor-bg: #ffffff;--editor-text: #1f2937;--editor-text-secondary: #6b7280;--editor-border: #e5e7eb;--editor-hover-bg: #f3f4f6;--editor-active-bg: #e5e7eb;--toolbar-bg: #ffffff;--toolbar-border: #e5e7eb;--toolbar-btn-color: #374151;--toolbar-btn-hover-bg: #f3f4f6;--toolbar-btn-active-bg: #e6f7ff;--toolbar-btn-active-color: #1890ff;--toolbar-btn-disabled-color: #d1d5db;--popup-bg: #ffffff;--popup-border: #e5e7eb;--popup-shadow: 0 4px 12px rgba(0, 0, 0, .15);--popup-text: #1f2937;--popup-text-secondary: #6b7280;--popup-hover-bg: #f3f4f6;--popup-active-bg: #1890ff;--popup-active-color: #ffffff;--bubble-bg: #ffffff;--bubble-text: #374151;--bubble-hover-bg: #f3f4f6;--bubble-active-bg: #1890ff;--bubble-border: #e5e7eb;--floating-bg: #ffffff;--floating-text: #374151;--floating-hover-bg: #f3f4f6;--floating-active-bg: #1890ff;--floating-border: #e5e7eb;--image-toolbar-bg: #ffffff;--image-toolbar-text: #374151;--image-toolbar-hover-bg: #f3f4f6;--image-toolbar-active-bg: #1890ff;--image-toolbar-border: #e5e7eb;--image-toolbar-handle-bg: #1890ff;--image-toolbar-handle-border: #ffffff;--table-border: #e5e7eb;--table-header-bg: #f9fafb;--table-selected-bg: rgba(24, 144, 255, .1);--table-selected-border: #1890ff;--placeholder-color: #9ca3af;--selection-bg: rgba(24, 144, 255, .2);--focus-ring: #1890ff;--link-color: #1890ff;--code-bg: #f3f4f6;--code-text: #e11d48;--blockquote-border: #d1d5db;--blockquote-bg: #f9fafb}.nice-editor[data-theme=dark]{--editor-bg: #1f2937;--editor-text: #f9fafb;--editor-text-secondary: #9ca3af;--editor-border: #374151;--editor-hover-bg: #374151;--editor-active-bg: #4b5563;--toolbar-bg: #1f2937;--toolbar-border: #374151;--toolbar-btn-color: #f9fafb;--toolbar-btn-hover-bg: #374151;--toolbar-btn-active-bg: #4b5563;--toolbar-btn-active-color: #40a9ff;--toolbar-btn-disabled-color: #6b7280;--popup-bg: #374151;--popup-border: #4b5563;--popup-shadow: 0 4px 12px rgba(0, 0, 0, .4);--popup-text: #f9fafb;--popup-text-secondary: #9ca3af;--popup-hover-bg: #4b5563;--popup-active-bg: #1890ff;--popup-active-color: #ffffff;--bubble-bg: #1f2937;--bubble-text: #ffffff;--bubble-hover-bg: #374151;--bubble-active-bg: #1890ff;--bubble-border: #374151;--floating-bg: #1f2937;--floating-text: #ffffff;--floating-hover-bg: #374151;--floating-active-bg: #1890ff;--floating-border: #374151;--image-toolbar-bg: #1f2937;--image-toolbar-text: #ffffff;--image-toolbar-hover-bg: #374151;--image-toolbar-active-bg: #1890ff;--image-toolbar-border: #374151;--image-toolbar-handle-bg: #1890ff;--image-toolbar-handle-border: #ffffff;--table-border: #374151;--table-header-bg: #374151;--table-selected-bg: rgba(24, 144, 255, .2);--table-selected-border: #1890ff;--placeholder-color: #6b7280;--selection-bg: rgba(24, 144, 255, .3);--focus-ring: #1890ff;--link-color: #40a9ff;--code-bg: #374151;--code-text: #f9a8d4;--blockquote-border: #4b5563;--blockquote-bg: #374151}
1
+ .nice-editor{border:1px solid var(--editor-border);background:var(--editor-bg);position:relative;color:var(--editor-text)}.nice-editor.readonly{background:var(--code-bg)}.nice-editor.readonly .nice{cursor:default;-webkit-user-select:text;user-select:text}.nice-editor .control-group{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-bottom:1px solid var(--toolbar-border);background:var(--toolbar-bg)}.nice-editor .button-group{display:flex;flex-wrap:wrap;gap:4px}.nice-editor .button-group button.button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;color:var(--toolbar-btn-color);transition:all .2s;white-space:nowrap}.nice-editor .button-group button.button:hover:not(:disabled){background:var(--toolbar-btn-hover-bg);color:var(--toolbar-btn-active-color)}.nice-editor .button-group button.button:disabled{opacity:.4;cursor:not-allowed}.nice-editor .button-group button.button.is-active{background:var(--toolbar-btn-active-bg)!important;border-color:var(--toolbar-btn-active-color)!important;color:var(--toolbar-btn-active-color)}.nice{padding:16px;min-height:300px;max-height:600px;overflow-y:auto;color:var(--editor-text)}.nice :first-child{margin-top:0}.nice>*+*{margin-top:.75em}.nice ul,.nice ol{padding:0 1rem;margin:1.25rem 1rem 1.25rem .4rem}.nice ul li p,.nice ol li p{margin-top:.25em;margin-bottom:.25em}.nice h1,.nice h2,.nice h3,.nice h4,.nice h5,.nice h6{line-height:1.1;margin-top:2.5rem;text-wrap:pretty}.nice h1,.nice h2{margin-top:3.5rem;margin-bottom:1.5rem}.nice h1{font-size:1.4rem}.nice h2{font-size:1.2rem}.nice h3{font-size:1.1rem}.nice h4,.nice h5,.nice h6{font-size:1rem}.nice code{background-color:var(--code-bg);border-radius:.4rem;color:var(--code-text);font-size:.85rem;padding:.25em .3em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.nice pre{background:#282c34;border-radius:.5rem;color:#abb2bf;font-family:JetBrainsMono,SFMono-Regular,monospace;margin:1.5rem 0;padding:.75rem 1rem}.nice pre code{background:none;color:inherit;font-size:.8rem;padding:0}.nice blockquote{border-left:3px solid var(--blockquote-border);margin:1.5rem 0;padding-left:1rem;color:var(--editor-text-secondary);background:var(--blockquote-bg)}.nice hr{border:none;border-top:1px solid var(--editor-border);margin:2rem 0}.nice p.is-editor-empty:first-child:before{color:var(--placeholder-color);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.nice .ProseMirror-selectednode,.nice .ProseMirror-selectednode *{color:var(--editor-text)!important}.floating-menu{display:flex;gap:2px;padding:4px;background:var(--floating-bg);border-radius:6px;box-shadow:var(--popup-shadow);border:1px solid var(--floating-border);margin-top:1em}.floating-menu button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;color:var(--floating-text);transition:all .2s}.floating-menu button:hover{background:var(--floating-hover-bg)}.floating-menu button.is-active{background:var(--floating-active-bg)!important}.bubble-menu{display:flex;gap:2px;padding:4px;background:var(--bubble-bg);border-radius:6px;box-shadow:var(--popup-shadow)}.bubble-menu button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;cursor:pointer;transition:all .2s;color:var(--bubble-text)}.bubble-menu button:hover{background:var(--bubble-hover-bg)}.bubble-menu button.is-active{background:var(--bubble-active-bg)!important}.nice-editor .outline-node{background:var(--popup-bg);border:1px solid var(--popup-border);border-radius:8px;padding:16px;margin:16px 0;color:var(--popup-text)}.nice-editor .outline-node.ProseMirror-selectednode{outline:2px solid var(--focus-ring);outline-offset:2px}.nice-editor .outline-node-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--popup-border)}.nice-editor .outline-node-title{font-weight:600;font-size:14px;color:var(--popup-text)}.nice-editor .outline-node-delete{width:20px;height:20px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--popup-text-secondary);cursor:pointer;font-size:16px;line-height:1;transition:all .2s}.nice-editor .outline-node-delete:hover{background:#ff4d4f;color:#fff}.nice-editor .outline-node-empty{color:var(--popup-text-secondary);font-size:13px;text-align:center;padding:12px}.nice-editor .outline-node-list{list-style:none;padding:0;margin:0;overflow-y:auto}.nice-editor .outline-node-item{padding:0;margin:0;font-size:13px;border-radius:4px;transition:all .2s}.nice-editor .outline-node-link{display:block;padding:6px 8px;color:var(--popup-text-secondary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border-radius:4px}.nice-editor .outline-node-link:hover{background:var(--popup-hover-bg);color:var(--focus-ring)}.nice-editor .outline-node-level-1 .outline-node-link{padding-left:8px;font-weight:500}.nice-editor .outline-node-level-2 .outline-node-link{padding-left:20px}.nice-editor .outline-node-level-3 .outline-node-link{padding-left:32px;font-size:12px}.nice-editor .outline-node-level-4 .outline-node-link{padding-left:44px;font-size:12px}.nice-editor .outline-node-level-5 .outline-node-link{padding-left:56px;font-size:12px;color:var(--popup-text-secondary)}.nice-editor .outline-node-level-6 .outline-node-link{padding-left:68px;font-size:12px;color:var(--popup-text-secondary)}.variable-node-wrapper{display:inline}.variable-node-content{display:inline-flex;align-items:center;padding:0 6px;background:linear-gradient(135deg,#c5c5c5,#bab9bb);color:#fff;border-radius:4px;font-size:.8em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;cursor:default;-webkit-user-select:none;user-select:none;transition:all .2s}.variable-node-content:hover{box-shadow:0 2px 8px #667eea66}.ProseMirror-selectednode .variable-node-content{outline:2px solid var(--focus-ring);outline-offset:2px}.variable-panel{min-width:200px;max-width:300px}.variable-panel-title{font-weight:600;font-size:14px;color:var(--popup-text);padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--popup-border)}.variable-panel-list{display:flex;flex-direction:column;gap:4px}.variable-panel-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s}.variable-panel-item:hover{background:var(--popup-hover-bg)}.variable-panel-item-label{flex:1;font-size:14px;color:var(--popup-text)}.variable-panel-item-id{font-size:12px;color:var(--popup-text-secondary);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.variable-panel-popover{z-index:9999!important}.variable-panel-popover.ant-popover .ant-popover-content{background:var(--popup-bg)!important}.variable-panel-popover.ant-popover .ant-popover-inner{background:var(--popup-bg)!important;border-radius:8px!important;box-shadow:var(--popup-shadow)!important;border:1px solid var(--popup-border)!important}.variable-panel-popover .ant-popover-arrow{display:none!important}.variable-panel-popover .ant-popover-inner-content,.variable-panel-popover .variable-panel{background:var(--popup-bg)!important}.variable-panel-popover .variable-panel-title{color:var(--popup-text)!important;border-bottom-color:var(--popup-border)!important}.variable-panel-popover .variable-panel-item-label{color:var(--popup-text)!important}.variable-panel-popover .variable-panel-item-id{color:var(--popup-text-secondary)!important}.source-code-modal .ant-modal-body{padding:16px}.source-code-content{background:var(--code-bg);border:1px solid var(--popup-border);border-radius:6px;padding:16px;margin:0;max-height:500px;overflow:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.6;color:var(--popup-text);white-space:pre-wrap;word-wrap:break-word}.html-preview-modal .ant-modal-body{padding:16px}.html-preview-container{background:var(--editor-bg);border:1px solid var(--popup-border);border-radius:8px;min-height:400px;max-height:600px;overflow:auto}.html-preview-content{padding:20px;line-height:1.6;color:var(--editor-text)}.html-preview-content h1,.html-preview-content h2,.html-preview-content h3,.html-preview-content h4,.html-preview-content h5,.html-preview-content h6{margin-top:1.5em;margin-bottom:.5em;line-height:1.3}.html-preview-content h1{font-size:2em;border-bottom:1px solid var(--editor-border);padding-bottom:.3em}.html-preview-content h2{font-size:1.5em;border-bottom:1px solid var(--editor-border);padding-bottom:.3em}.html-preview-content h3{font-size:1.25em}.html-preview-content p{margin:1em 0}.html-preview-content ul,.html-preview-content ol{padding-left:2em;margin:1em 0}.html-preview-content blockquote{border-left:4px solid var(--blockquote-border);padding-left:1em;margin:1em 0;color:var(--editor-text-secondary)}.html-preview-content code{background:var(--code-bg);padding:.2em .4em;border-radius:3px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em}.html-preview-content pre{background:#f6f8fa;border:1px solid var(--popup-border);border-radius:6px;padding:16px;overflow-x:auto;margin:1em 0}.html-preview-content pre code{background:none;padding:0}.html-preview-content hr{border:none;border-top:1px solid var(--editor-border);margin:2em 0}.html-preview-content a{color:var(--link-color);text-decoration:none}.html-preview-content a:hover{text-decoration:underline}.html-preview-content img{max-width:100%;height:auto}.html-preview-content table{border-collapse:collapse;width:100%;margin:1em 0}.html-preview-content table th,.html-preview-content table td{border:1px solid var(--table-border);padding:8px 12px}.html-preview-content table th{background:var(--table-header-bg);font-weight:600}.nice table{border-collapse:collapse;table-layout:fixed;width:100%;margin:1em 0;overflow:hidden;border:1px solid var(--table-border);border-radius:4px}.nice table td,.nice table th{min-width:80px;height:36px;vertical-align:top;box-sizing:border-box;position:relative;border:1px solid var(--table-border);padding:6px 8px}.nice table th{background:var(--table-header-bg);font-weight:600}.nice table td.selectedCell,.nice table th.selectedCell{background:var(--table-selected-bg)}.nice table.table-selected{outline:2px solid var(--table-selected-border);outline-offset:2px;border-radius:4px}.nice table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background-color:var(--focus-ring);pointer-events:none}.nice table .tableWrapper{overflow-x:auto;margin:1em 0}.nice .resize-cursor{cursor:col-resize}.table-menu-popover{z-index:9999!important}.table-menu-popover.ant-popover .ant-popover-content{background:var(--popup-bg)!important}.table-menu-popover.ant-popover .ant-popover-inner{background:var(--popup-bg)!important;border-radius:8px!important;box-shadow:var(--popup-shadow)!important;padding:12px!important;border:1px solid var(--popup-border)!important}.table-menu-popover .ant-popover-arrow{display:none!important}.table-menu-popover .ant-popover-inner-content,.table-menu-popover .table-menu-panel{background:var(--popup-bg)!important}.table-menu-popover .table-grid-cell{background:var(--editor-bg)!important;border-color:var(--popup-border)!important}.table-menu-popover .table-grid-label,.table-menu-popover .table-menu-section-title{color:var(--popup-text-secondary)!important}.table-menu-panel{min-width:200px}.table-menu-section-title{font-size:12px;color:var(--popup-text-secondary);font-weight:500;margin-bottom:6px;padding-left:2px}.table-menu-panel .table-menu-section-title:not(:first-child){margin-top:10px;padding-top:8px;border-top:1px solid var(--popup-border)}.table-menu-actions{display:flex;flex-wrap:wrap;gap:4px}.table-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;color:var(--popup-text);transition:all .2s}.table-action-btn:hover:not(:disabled){background:var(--popup-hover-bg);color:var(--focus-ring)}.table-action-btn:disabled{opacity:.35;cursor:not-allowed}.table-insert-grid{display:flex;flex-direction:column;align-items:center;gap:8px}.table-grid-label{font-size:12px;color:var(--popup-text-secondary);text-align:center}.table-grid{display:flex;flex-direction:column;gap:2px}.table-grid-row{display:flex;gap:2px}.table-grid-cell{width:20px;height:20px;border:1px solid var(--popup-border);border-radius:2px;cursor:pointer;transition:all .15s}.table-grid-cell.is-hovered{background:var(--focus-ring);border-color:var(--focus-ring)}.table-grid-cell:hover{border-color:var(--focus-ring)}.table-floating-toolbar{position:absolute;z-index:100;display:flex;align-items:flex-end;height:28px}.table-toolbar-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--image-toolbar-bg);border-radius:6px;box-shadow:var(--popup-shadow);cursor:pointer;color:var(--image-toolbar-text);transition:all .15s;flex-shrink:0}.table-toolbar-toggle:hover{background:var(--image-toolbar-active-bg)}.table-toolbar-expanded{display:none;position:absolute;left:26px;bottom:0;align-items:center;gap:2px;padding:6px 8px 6px 4px;background:var(--image-toolbar-bg);border-radius:0 6px 6px 0;box-shadow:var(--popup-shadow);white-space:nowrap}.table-floating-toolbar:hover .table-toolbar-expanded{display:flex}.table-toolbar-expanded .table-action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;cursor:pointer;transition:all .15s;color:var(--image-toolbar-text)}.table-toolbar-expanded .table-action-btn:hover:not(:disabled){background:var(--image-toolbar-hover-bg);color:var(--image-toolbar-text)}.table-toolbar-expanded .table-action-btn:disabled{opacity:.3;cursor:not-allowed}.align-menu-wrapper{position:relative}.align-menu-popup{position:absolute;top:100%;left:0;margin-top:4px;background:var(--popup-bg)!important;border-radius:6px;box-shadow:var(--popup-shadow);padding:8px;z-index:1000;min-width:120px}.align-menu-title{font-size:12px;color:var(--popup-text-secondary)!important;margin-bottom:6px;padding-left:4px}.align-menu-actions{display:flex;gap:4px}.align-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:4px;background:transparent!important;cursor:pointer;transition:all .15s;color:var(--popup-text)!important}.align-action-btn span{color:var(--popup-text)!important}.align-action-btn:hover{background:var(--popup-hover-bg)!important}.align-action-btn.is-active{background:var(--popup-active-bg)!important;color:var(--popup-active-color)!important}.table-bubble-divider{width:1px;height:20px;background:var(--image-toolbar-border);margin:0 4px}.image-menu-popover{z-index:9999!important}.image-menu-popover.ant-popover .ant-popover-content{background:var(--popup-bg)!important}.image-menu-popover.ant-popover .ant-popover-inner{padding:0!important;border-radius:8px!important;background:var(--popup-bg)!important;border:1px solid var(--popup-border)!important;box-shadow:var(--popup-shadow)!important}.image-menu-popover .ant-popover-arrow{display:none!important}.image-menu-popover .ant-popover-inner-content,.image-menu-popover .ant-tabs-nav{background:var(--popup-bg)!important}.image-menu-popover .ant-tabs-tab{color:var(--popup-text)!important}.image-menu-popover .ant-tabs-tab-active{color:var(--focus-ring)!important}.image-menu-panel{width:320px}.image-menu-panel .ant-tabs-nav{margin-bottom:0;padding:0 12px}.image-menu-upload{padding:16px}.image-menu-dragger{border-radius:8px!important}.image-menu-dragger .ant-upload{padding:24px!important}.image-menu-url{padding:16px;display:flex;gap:8px}.image-menu-url-btn{padding:4px 16px;background:var(--focus-ring);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.image-menu-url-btn:hover{opacity:.85}.image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:200px;min-height:150px;background:var(--code-bg);border:2px dashed var(--popup-border);border-radius:8px;padding:20px;color:var(--popup-text-secondary)}.image-placeholder.uploading{border-color:var(--focus-ring);background:var(--table-selected-bg)}.image-placeholder.error{border-color:#ff4d4f;background:#fff2f0;cursor:pointer}.image-placeholder.error:hover{border-color:#ff7875}.image-placeholder-spinner{width:32px;height:32px;border:3px solid var(--focus-ring);border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.image-placeholder-text{margin-top:12px;font-size:14px}.image-placeholder-retry{margin-top:8px;font-size:12px;color:var(--focus-ring)}.image-node-wrapper{margin:1em 0}.image-node-wrapper img{max-width:100%;height:auto;border-radius:4px;cursor:pointer}.image-node-wrapper img:hover{outline:2px solid var(--focus-ring);outline-offset:2px}.image-floating-toolbar{position:absolute;z-index:100;display:flex;align-items:flex-end;height:28px}.image-toolbar-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--image-toolbar-bg);border-radius:6px;box-shadow:var(--popup-shadow);cursor:pointer;color:var(--image-toolbar-text);transition:all .15s;flex-shrink:0}.image-toolbar-toggle:hover{background:var(--image-toolbar-active-bg)}.image-toolbar-expanded{display:none;position:absolute;left:26px;bottom:0;align-items:center;gap:8px;padding:6px 8px 6px 4px;background:var(--image-toolbar-bg);border-radius:0 6px 6px 0;box-shadow:var(--popup-shadow);white-space:nowrap}.image-floating-toolbar:hover .image-toolbar-expanded{display:flex}.image-toolbar-section{display:flex;align-items:center;gap:4px}.image-toolbar-label{font-size:12px;color:var(--image-toolbar-text);opacity:.6;margin-right:4px}.image-toolbar-sizes,.image-toolbar-floats{display:flex;gap:2px}.image-toolbar-size-btn{padding:4px 8px;font-size:12px;background:transparent;border:none;border-radius:4px;color:var(--image-toolbar-text);cursor:pointer;transition:all .15s}.image-toolbar-size-btn:hover{background:var(--image-toolbar-hover-bg)}.image-toolbar-size-btn.is-active{background:var(--image-toolbar-active-bg);color:#fff}.image-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;cursor:pointer;transition:all .15s;color:var(--image-toolbar-text)}.image-toolbar-btn:hover{background:var(--image-toolbar-hover-bg)}.image-toolbar-btn.is-active{background:var(--image-toolbar-active-bg);color:#fff}.image-toolbar-delete:hover{background:#ff4d4f}.image-toolbar-divider{width:1px;height:20px;background:var(--image-toolbar-border);margin:0 4px}.menu-separator{width:1px;height:20px;background:var(--editor-border);margin:6px 4px;display:inline-block;vertical-align:middle}.bubble-menu .menu-separator{background:var(--bubble-border)}.heading-selector-wrapper,.font-size-selector-wrapper,.link-button-wrapper{position:relative;display:inline-flex}.heading-selector-popup,.font-size-selector-popup,.link-button-popup{position:absolute;top:100%;left:0;margin-top:4px;background:var(--popup-bg);border-radius:6px;box-shadow:var(--popup-shadow);padding:8px;z-index:1000;min-width:120px}.heading-option,.font-size-option{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:4px;background:transparent;color:var(--popup-text);cursor:pointer;transition:all .15s;font-size:13px;text-align:left}.heading-option:hover,.font-size-option:hover{background:var(--popup-hover-bg)}.heading-option.is-active,.font-size-option.is-active{background:var(--popup-active-bg);color:var(--popup-active-color)}.link-input-wrapper{display:flex;gap:8px;align-items:center}.char-count-wrapper{position:absolute;right:12px;bottom:8px;font-size:12px;color:var(--editor-text-secondary);background:var(--editor-bg);padding:2px 8px;border-radius:4px;opacity:.7;transition:opacity .2s;z-index:10}.char-count-wrapper:hover{opacity:1}.char-count-wrapper.exceeded{color:#ff4d4f;font-weight:500}.char-count-separator{margin:0 2px}.ai-dialog-content{display:flex;flex-direction:column}.ai-quick-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 16px}.ai-messages{display:flex;flex-direction:column}.ai-message{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-input-area{display:flex;flex-direction:column}.ai-menu-popover{z-index:9999!important}.ai-menu-popover.ant-dropdown-menu{background:var(--popup-bg)!important;border-radius:8px!important;box-shadow:var(--popup-shadow)!important;border:1px solid var(--popup-border)!important;padding:8px!important}.ai-menu-popover .ant-dropdown-menu-item,.ai-menu-popover .ant-dropdown-menu-submenu-title{color:var(--popup-text)!important;border-radius:4px!important}.ai-menu-popover .ant-dropdown-menu-item:hover,.ai-menu-popover .ant-dropdown-menu-submenu-title:hover{background:var(--popup-hover-bg)!important}.ai-menu-popover .ant-dropdown-menu-item-group-title{color:var(--popup-text-secondary)!important;font-size:12px;padding:8px 8px 4px}.ai-menu-popover .ant-dropdown-menu-item-divider{background:var(--popup-border)!important}.nice{font-size:16px;color:#000;padding:0 10px;line-height:1.6;word-spacing:0px;letter-spacing:0px;word-break:break-word;word-wrap:break-word;text-align:left;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,PingFang SC,Cambria,Cochin,Georgia,Times,Times New Roman,serif}.nice p{font-size:16px;padding-top:8px;padding-bottom:8px;margin:0;line-height:26px;color:#000}.nice h1,.nice h2,.nice h3,.nice h4,.nice h5,.nice h6{margin-top:30px;margin-bottom:15px;padding:0;font-weight:700;color:#000}.nice h1{font-size:24px}.nice h2{font-size:22px}.nice h3{font-size:20px}.nice h4{font-size:18px}.nice h5,.nice h6{font-size:16px}.nice h1 .prefix,.nice h2 .prefix,.nice h3 .prefix,.nice h4 .prefix,.nice h5 .prefix,.nice h6 .prefix,.nice h1 .suffix .nice h2 .suffix,.nice h3 .suffix,.nice h4 .suffix,.nice h5 .suffix,.nice h6 .suffix{display:none}.nice ul,.nice ol{margin-top:8px;margin-bottom:8px;padding-left:25px;color:#000}.nice ul{list-style-type:disc}.nice ul ul{list-style-type:square}.nice ol{list-style-type:decimal}.nice li p{margin-top:5px;margin-bottom:5px;line-height:26px;text-align:left;color:#010101;font-weight:500;padding:0}.nice blockquote{border:none}.nice blockquote{display:block;font-size:.9em;overflow:auto;overflow-scrolling:touch;border-left:3px solid rgba(0,0,0,.4);background:#0000000d;color:#6a737d;padding:10px 10px 10px 20px;margin-bottom:20px;margin-top:20px}.nice blockquote p{margin:0;color:#000;line-height:26px}.nice .table-of-contents a{border:none;color:#000;font-weight:400}.nice a{text-decoration:none;color:#1e6bb8;word-wrap:break-word;font-weight:700;border-bottom:1px solid #1e6bb8}.nice strong{font-weight:700;color:#000}.nice em{font-style:italic;color:#000}.nice em strong{font-weight:700;color:#000}.nice del{font-style:italic;color:#000}.nice hr{height:1px;margin:10px 0;border:none;border-top:1px solid black}.nice pre{margin-top:10px;margin-bottom:10px}.nice pre code{display:-webkit-box;font-family:Operator Mono,Consolas,Monaco,Menlo,monospace;border-radius:0;font-size:12px;-webkit-overflow-scrolling:touch}.nice pre code span{line-height:26px}.nice p code,.nice li code{font-size:14px;word-wrap:break-word;padding:2px 4px;border-radius:4px;margin:0 2px;color:#1e6bb8;background-color:#1b1f230d;font-family:Operator Mono,Consolas,Monaco,Menlo,monospace;word-break:break-all}.nice img{display:block;margin:0 auto;max-width:100%}.nice figure{margin:10px 0}.nice figcaption{margin-top:5px;text-align:center;color:#888;font-size:14px}.nice .table-container{overflow-x:auto}.nice table{display:table;text-align:left}.nice tbody{border:0}.nice table tr{border:0;border-top:1px solid #ccc;background-color:#fff}.nice table tr:nth-child(2n){background-color:#f8f8f8}.nice table tr th,.nice table tr td{font-size:16px;border:1px solid #ccc;padding:5px 10px;text-align:left}.nice table tr th{font-weight:700;background-color:#f0f0f0}.nice table tr th:nth-of-type(n),.nice table tr td:nth-of-type(n){min-width:85px}.nice .footnote-word,.nice .footnote-ref{color:#1e6bb8;font-weight:700}.nice .footnote-item{display:flex}.nice .footnote-num{display:inline;width:10%;background:none;font-size:80%;opacity:.6;line-height:26px;font-family:ptima-Regular,Optima,PingFangSC-light,PingFangTC-light,PingFang SC,Cambria,Cochin,Georgia,Times,Times New Roman,serif}.nice .footnote-item p{display:inline;font-size:14px;width:calc(100% - 50px);padding:0;margin:0;line-height:26px;color:#000;word-break:break-all}.nice sub,sup{line-height:0}.nice .footnotes-sep:before{content:"参考资料";display:block}.nice .block-equation{text-align:center;overflow:auto;display:block;-webkit-overflow-scrolling:touch}.nice .block-equation svg{max-width:300%!important;-webkit-overflow-scrolling:touch}.nice .imageflow-layer1{margin-top:1em;margin-bottom:.5em;white-space:normal;border:0px none;padding:0;overflow:hidden}.nice .imageflow-layer2{white-space:nowrap;width:100%;overflow-x:scroll}.nice .imageflow-layer3{display:inline-block;word-wrap:break-word;white-space:normal;vertical-align:middle;width:100%}.nice .imageflow-img{display:inline-block}.nice .imageflow-caption{text-align:center;margin-top:0;padding-top:0;color:#888}.nice .nice-suffix-juejin-container{margin-top:20px!important}.nice figure a{border:none}.nice figure a img{margin:0}.nice figure{display:flex;flex-direction:column;justify-content:center;align-items:center}.nice figure a{display:flex;justify-content:center;align-items:center}.nice figure a+figcaption{display:flex;justify-content:center;align-items:center;width:100%;margin-top:-35px;background:#000000b3;color:#fff;line-height:35px;z-index:20}.nice-editor,.nice-editor[data-theme=light]{--editor-bg: #ffffff;--editor-text: #1f2937;--editor-text-secondary: #6b7280;--editor-border: #e5e7eb;--editor-hover-bg: #f3f4f6;--editor-active-bg: #e5e7eb;--toolbar-bg: #ffffff;--toolbar-border: #e5e7eb;--toolbar-btn-color: #374151;--toolbar-btn-hover-bg: #f3f4f6;--toolbar-btn-active-bg: #e6f7ff;--toolbar-btn-active-color: #1890ff;--toolbar-btn-disabled-color: #d1d5db;--popup-bg: #ffffff;--popup-border: #e5e7eb;--popup-shadow: 0 4px 12px rgba(0, 0, 0, .15);--popup-text: #1f2937;--popup-text-secondary: #6b7280;--popup-hover-bg: #f3f4f6;--popup-active-bg: #1890ff;--popup-active-color: #ffffff;--bubble-bg: #ffffff;--bubble-text: #374151;--bubble-hover-bg: #f3f4f6;--bubble-active-bg: #1890ff;--bubble-border: #e5e7eb;--floating-bg: #ffffff;--floating-text: #374151;--floating-hover-bg: #f3f4f6;--floating-active-bg: #1890ff;--floating-border: #e5e7eb;--image-toolbar-bg: #ffffff;--image-toolbar-text: #374151;--image-toolbar-hover-bg: #f3f4f6;--image-toolbar-active-bg: #1890ff;--image-toolbar-border: #e5e7eb;--image-toolbar-handle-bg: #1890ff;--image-toolbar-handle-border: #ffffff;--table-border: #e5e7eb;--table-header-bg: #f9fafb;--table-selected-bg: rgba(24, 144, 255, .1);--table-selected-border: #1890ff;--placeholder-color: #9ca3af;--selection-bg: rgba(24, 144, 255, .2);--focus-ring: #1890ff;--link-color: #1890ff;--code-bg: #f3f4f6;--code-text: #e11d48;--blockquote-border: #d1d5db;--blockquote-bg: #f9fafb}.nice-editor[data-theme=dark]{--editor-bg: #1f2937;--editor-text: #f9fafb;--editor-text-secondary: #9ca3af;--editor-border: #374151;--editor-hover-bg: #374151;--editor-active-bg: #4b5563;--toolbar-bg: #1f2937;--toolbar-border: #374151;--toolbar-btn-color: #f9fafb;--toolbar-btn-hover-bg: #374151;--toolbar-btn-active-bg: #4b5563;--toolbar-btn-active-color: #40a9ff;--toolbar-btn-disabled-color: #6b7280;--popup-bg: #374151;--popup-border: #4b5563;--popup-shadow: 0 4px 12px rgba(0, 0, 0, .4);--popup-text: #f9fafb;--popup-text-secondary: #9ca3af;--popup-hover-bg: #4b5563;--popup-active-bg: #1890ff;--popup-active-color: #ffffff;--bubble-bg: #1f2937;--bubble-text: #ffffff;--bubble-hover-bg: #374151;--bubble-active-bg: #1890ff;--bubble-border: #374151;--floating-bg: #1f2937;--floating-text: #ffffff;--floating-hover-bg: #374151;--floating-active-bg: #1890ff;--floating-border: #374151;--image-toolbar-bg: #1f2937;--image-toolbar-text: #ffffff;--image-toolbar-hover-bg: #374151;--image-toolbar-active-bg: #1890ff;--image-toolbar-border: #374151;--image-toolbar-handle-bg: #1890ff;--image-toolbar-handle-border: #ffffff;--table-border: #374151;--table-header-bg: #374151;--table-selected-bg: rgba(24, 144, 255, .2);--table-selected-border: #1890ff;--placeholder-color: #6b7280;--selection-bg: rgba(24, 144, 255, .3);--focus-ring: #1890ff;--link-color: #40a9ff;--code-bg: #374151;--code-text: #f9a8d4;--blockquote-border: #4b5563;--blockquote-bg: #374151}