erl-mathtextx-editor 0.1.6 → 0.1.8

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/README.md CHANGED
@@ -15,8 +15,14 @@ Embeddable visual math editor widget untuk CMS dan platform edukasi. User tidak
15
15
  - 📝 **Rich Text Editor** — Bold, italic, tables, lists, links, images
16
16
  - 🧮 **100+ Formula Templates** — Algebra, calculus, trigonometry, chemistry
17
17
  - 👁️ **Content Viewer** — Read-only renderer dengan KaTeX
18
- - 🎨 **Table Editor** — 6 professional table templates
18
+ - 🎨 **Table Editor** — 6 professional table templates, column resize, cell selection
19
+ - 🖥️ **Code Blocks** — Syntax highlighting untuk berbagai bahasa pemrograman
20
+ - 📋 **Collapsible Sections** — Details/summary untuk konten tersembunyi
19
21
  - ⌨️ **Keyboard Shortcuts** — Ctrl+K (link), Ctrl+Shift+T (table), Ctrl+S (save)
22
+ - 📊 **Graph Plotting** — Function plotting via Function Plot
23
+ - 🔒 **XSS Protection** — DOMPurify sanitization
24
+ - 💻 **Code Blocks** — Syntax highlighting with 100+ languages
25
+ - 📋 **Collapsible Sections** — Details/summary for hidden content
20
26
 
21
27
  ---
22
28
 
@@ -49,12 +55,11 @@ function App() {
49
55
  ### With Save Handler
50
56
 
51
57
  ```tsx
52
- import { MathTextXEditor, getHTML } from 'erl-mathtextx-editor'
58
+ import { MathTextXEditor } from 'erl-mathtextx-editor'
53
59
  import 'erl-mathtextx-editor/styles'
54
60
 
55
61
  function QuestionForm() {
56
62
  const handleSave = (html) => {
57
- // Send to your API
58
63
  fetch('/api/questions', {
59
64
  method: 'POST',
60
65
  headers: { 'Content-Type': 'application/json' },
@@ -76,7 +81,7 @@ function QuestionForm() {
76
81
 
77
82
  ```tsx
78
83
  import { ContentViewer } from 'erl-mathtextx-editor/viewer'
79
- import 'erl-mathtextx-editor/styles'
84
+ import 'erl-mathtextx-editor/viewer/styles'
80
85
 
81
86
  function QuestionCard({ questionHtml }) {
82
87
  return (
@@ -90,23 +95,6 @@ function QuestionCard({ questionHtml }) {
90
95
 
91
96
  ---
92
97
 
93
- ## 📖 Documentation
94
-
95
- - [Quick Start Guide](https://github.com/erlangga/richtext-editor-research/blob/main/QUICK_START.md)
96
- - [Integration Tutorial](https://github.com/erlangga/richtext-editor-research/blob/main/INTEGRATION_TUTORIAL.md)
97
-
98
- ---
99
-
100
- ## 🛠️ Tech Stack
101
-
102
- - **UI Framework:** React 18+
103
- - **Editor Engine:** TipTap / ProseMirror
104
- - **Math Input:** MathLive (WYSIWYG math)
105
- - **Math Rendering:** KaTeX
106
- - **XSS Protection:** DOMPurify
107
-
108
- ---
109
-
110
98
  ## 📋 Props API
111
99
 
112
100
  ### MathTextXEditor
@@ -116,10 +104,13 @@ function QuestionCard({ questionHtml }) {
116
104
  | `content` | `string` | `''` | Initial HTML content |
117
105
  | `onChange` | `(html: string) => void` | — | Callback on content change |
118
106
  | `onSave` | `(html: string) => void` | — | Callback on Ctrl+S |
107
+ | `onImageUpload` | `(file: File) => Promise<string>` | — | Custom image upload handler |
119
108
  | `placeholder` | `string` | `'Tulis soal...'` | Placeholder text |
120
109
  | `minHeight` | `string` | `'200px'` | Minimum editor height |
121
110
  | `maxHeight` | `string` | — | Maximum editor height |
122
- | `onImageUpload` | `(file: File) => Promise<string>` | | Custom image upload handler |
111
+ | `autoFocus` | `boolean` | `false` | Auto-focus editor on mount |
112
+ | `toolbarMode` | `'basic' \| 'advanced'` | `'basic'` | Toolbar preset |
113
+ | `educationLevel` | `'sd' \| 'smp' \| 'sma' \| 'all'` | `'all'` | Filter math templates by level |
123
114
 
124
115
  ### ContentViewer
125
116
 
@@ -130,16 +121,50 @@ function QuestionCard({ questionHtml }) {
130
121
 
131
122
  ---
132
123
 
124
+ ## 📦 Exports
125
+
126
+ ### Main Package (`erl-mathtextx-editor`)
127
+
128
+ ```tsx
129
+ import {
130
+ MathTextXEditor,
131
+ ContentViewer,
132
+ getHTML,
133
+ toCompatibleHTML,
134
+ sanitizeCKEditorHTML,
135
+ MathTypeDialog,
136
+ TemplatePanel,
137
+ mathTemplates,
138
+ getTemplatesByLevel,
139
+ getTemplatesByCategory,
140
+ getTemplateCategories,
141
+ } from 'erl-mathtextx-editor'
142
+
143
+ import 'erl-mathtextx-editor/styles'
144
+ ```
145
+
146
+ ### Viewer Only (`erl-mathtextx-editor/viewer`)
147
+
148
+ ```tsx
149
+ import { ContentViewer } from 'erl-mathtextx-editor/viewer'
150
+ import 'erl-mathtextx-editor/viewer/styles'
151
+ ```
152
+
153
+ ---
154
+
133
155
  ## ⌨️ Keyboard Shortcuts
134
156
 
135
157
  | Shortcut | Action |
136
158
  |----------|--------|
137
- | `Ctrl+K` | Insert/edit link |
138
- | `Ctrl+Shift+T` | Insert table |
139
- | `Ctrl+S` | Save document |
140
159
  | `Ctrl+B` | Bold |
141
160
  | `Ctrl+I` | Italic |
142
161
  | `Ctrl+U` | Underline |
162
+ | `Ctrl+K` | Insert/edit link |
163
+ | `Ctrl+Shift+T` | Insert table |
164
+ | `Ctrl+S` | Save document |
165
+ | `Tab` | Indent paragraph (at start) / Insert 4 spaces (in middle) |
166
+ | `Shift+Tab` | Outdent paragraph |
167
+ | `Backspace` | Outdent (if indented) / Join with previous paragraph |
143
168
 
144
169
  ---
145
170
 
@@ -171,7 +196,6 @@ export default function QuestionForm() {
171
196
  <div>
172
197
  <h2>Buat Soal Pilihan Ganda</h2>
173
198
 
174
- {/* Question */}
175
199
  <MathTextXEditor
176
200
  content={question}
177
201
  onChange={setQuestion}
@@ -179,7 +203,6 @@ export default function QuestionForm() {
179
203
  minHeight="150px"
180
204
  />
181
205
 
182
- {/* Options */}
183
206
  {options.map((option) => (
184
207
  <div key={option.id}>
185
208
  <label>
@@ -221,11 +244,14 @@ export default function QuestionForm() {
221
244
 
222
245
  ---
223
246
 
224
- ## 🔗 Links
247
+ ## 🛠️ Tech Stack
225
248
 
226
- - **Website:** [erl-mathtextx-editor](https://github.com/erlangga/richtext-editor-research)
227
- - **NPM:** [erl-mathtextx-editor](https://www.npmjs.com/package/erl-mathtextx-editor)
228
- - **Issues:** [Report Bug](https://github.com/erlangga/richtext-editor-research/issues)
249
+ - **UI Framework:** React 18+
250
+ - **Editor Engine:** TipTap / ProseMirror
251
+ - **Math Input:** MathLive (WYSIWYG math)
252
+ - **Math Rendering:** KaTeX
253
+ - **XSS Protection:** DOMPurify
254
+ - **Graph Plotting:** Function Plot
229
255
 
230
256
  ---
231
257
 
@@ -235,17 +261,8 @@ export default function QuestionForm() {
235
261
 
236
262
  ---
237
263
 
238
- ## 🎉 Ready to Use?
239
-
240
- ```bash
241
- npm install erl-mathtextx-editor
242
- ```
243
-
244
- Then import and use:
245
-
246
- ```tsx
247
- import { MathTextXEditor } from 'erl-mathtextx-editor'
248
- import 'erl-mathtextx-editor/styles'
249
- ```
264
+ ## 🔗 Links
250
265
 
251
- Happy coding! 🚀
266
+ - **NPM:** [erl-mathtextx-editor](https://www.npmjs.com/package/erl-mathtextx-editor)
267
+ - **Source:** [GitHub Repository](https://github.com/erlangga/richtext-editor-research)
268
+ - **Issues:** [Report Bug](https://github.com/erlangga/richtext-editor-research/issues)
@@ -1,6 +1,6 @@
1
1
  import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
2
  import z, { useId as H, useRef as A, useCallback as b, useState as d, useEffect as V } from "react";
3
- import { u as B } from "./index-wMMXFiRr.js";
3
+ import { u as B } from "./index-UCSefQk0.js";
4
4
  const M = z.memo(({
5
5
  isOpen: s,
6
6
  initialData: i = {},
@@ -1,6 +1,6 @@
1
1
  import { jsxs as i, Fragment as J, jsx as e } from "react/jsx-runtime";
2
2
  import { useId as V, useRef as y, useState as d, useCallback as s } from "react";
3
- import { u as q } from "./index-wMMXFiRr.js";
3
+ import { u as q } from "./index-UCSefQk0.js";
4
4
  function Z({
5
5
  isOpen: U,
6
6
  onClose: N,
@@ -1,6 +1,6 @@
1
1
  import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
2
  import N, { useId as v, useRef as f, useState as c, useEffect as g, useCallback as w } from "react";
3
- import { u as y } from "./index-wMMXFiRr.js";
3
+ import { u as y } from "./index-UCSefQk0.js";
4
4
  const k = N.memo(({ isOpen: i, onInsert: d, onClose: m }) => {
5
5
  const b = v(), u = f(null), [l, n] = c(3), [a, s] = c(3), [o, h] = c(!0);
6
6
  g(() => {
@@ -1,6 +1,6 @@
1
1
  import { jsx as e, jsxs as a } from "react/jsx-runtime";
2
2
  import D, { useId as _, useRef as j, useState as n, useEffect as F, useCallback as d } from "react";
3
- import { u as E } from "./index-wMMXFiRr.js";
3
+ import { u as E } from "./index-UCSefQk0.js";
4
4
  const S = D.memo(({
5
5
  isOpen: s,
6
6
  currentUrl: o = "",
@@ -0,0 +1,56 @@
1
+ import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
+ import u, { useId as v, useRef as g, useState as x, useEffect as p, useCallback as d } from "react";
3
+ import { u as f } from "./index-UCSefQk0.js";
4
+ const N = u.memo(({
5
+ isOpen: r,
6
+ initialData: n = {},
7
+ onSave: m,
8
+ onClose: e
9
+ }) => {
10
+ const c = v(), s = g(null), [i, a] = x(n.align || "left");
11
+ p(() => {
12
+ r && a(n.align || "left");
13
+ }, [n, r]), f({ isOpen: r, dialogRef: s, onClose: e });
14
+ const h = d((o) => {
15
+ o.preventDefault(), m({ align: i }), e();
16
+ }, [i, m, e]), b = d(() => {
17
+ a("left");
18
+ }, []);
19
+ return r ? /* @__PURE__ */ t("div", { className: "mtx-modal-overlay", onClick: e, children: /* @__PURE__ */ l(
20
+ "div",
21
+ {
22
+ ref: s,
23
+ className: "mtx-modal-dialog mtx-table-properties-dialog",
24
+ onClick: (o) => o.stopPropagation(),
25
+ role: "dialog",
26
+ "aria-modal": "true",
27
+ "aria-labelledby": c,
28
+ tabIndex: -1,
29
+ children: [
30
+ /* @__PURE__ */ l("div", { className: "mtx-modal-header", children: [
31
+ /* @__PURE__ */ t("h3", { className: "mtx-modal-title", id: c, children: "Table Properties" }),
32
+ /* @__PURE__ */ t("button", { className: "mtx-modal-close", onClick: e, title: "Close", "aria-label": "Close dialog", children: /* @__PURE__ */ t("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentColor", children: /* @__PURE__ */ t("path", { d: "M4 4l8 8m0-8l-8 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) })
33
+ ] }),
34
+ /* @__PURE__ */ l("form", { onSubmit: h, children: [
35
+ /* @__PURE__ */ t("div", { className: "mtx-modal-body", children: /* @__PURE__ */ l("div", { className: "mtx-form-group", children: [
36
+ /* @__PURE__ */ t("label", { className: "mtx-form-label", children: "Table Alignment" }),
37
+ /* @__PURE__ */ l("div", { className: "mtx-align-buttons", children: [
38
+ /* @__PURE__ */ t("button", { type: "button", className: `mtx-align-btn ${i === "left" ? "is-active" : ""}`, onClick: () => a("left"), title: "Align Left", children: /* @__PURE__ */ t("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentColor", children: /* @__PURE__ */ t("path", { d: "M2 3h12v1.5H2V3zm0 4h8v1.5H2V7zm0 4h12v1.5H2v-1.5zM2 11h6v1.5H2V11z" }) }) }),
39
+ /* @__PURE__ */ t("button", { type: "button", className: `mtx-align-btn ${i === "center" ? "is-active" : ""}`, onClick: () => a("center"), title: "Align Center", children: /* @__PURE__ */ t("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentColor", children: /* @__PURE__ */ t("path", { d: "M2 3h12v1.5H2V3zm3 4h6v1.5H5V7zm-3 4h12v1.5H2v-1.5zM5 11h6v1.5H5V11z" }) }) }),
40
+ /* @__PURE__ */ t("button", { type: "button", className: `mtx-align-btn ${i === "right" ? "is-active" : ""}`, onClick: () => a("right"), title: "Align Right", children: /* @__PURE__ */ t("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentColor", children: /* @__PURE__ */ t("path", { d: "M2 3h12v1.5H2V3zm6 4h6v1.5H8V7zM2 11h12v1.5H2v-1.5zm6-4h6v1.5H8V7z" }) }) })
41
+ ] })
42
+ ] }) }),
43
+ /* @__PURE__ */ l("div", { className: "mtx-modal-footer", children: [
44
+ /* @__PURE__ */ t("button", { type: "button", className: "mtx-btn mtx-btn-secondary", onClick: b, children: "Reset" }),
45
+ /* @__PURE__ */ t("button", { type: "button", className: "mtx-btn mtx-btn-secondary", onClick: e, children: "Cancel" }),
46
+ /* @__PURE__ */ t("button", { type: "submit", className: "mtx-btn mtx-btn-primary", children: "Apply" })
47
+ ] })
48
+ ] })
49
+ ]
50
+ }
51
+ ) }) : null;
52
+ });
53
+ N.displayName = "TablePropertiesDialogImpl";
54
+ export {
55
+ N as TablePropertiesDialogImpl
56
+ };
@@ -1,6 +1,6 @@
1
1
  import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
2
  import o, { useId as c, useRef as n, useCallback as p } from "react";
3
- import { u as h } from "./index-wMMXFiRr.js";
3
+ import { u as h } from "./index-UCSefQk0.js";
4
4
  const x = [
5
5
  { id: "plain", name: "Plain", description: "Simple table without styling", headerStyle: "none", borderStyle: "all", stripeRows: !1 },
6
6
  { id: "light", name: "Light", description: "Light gray header", headerStyle: "light", borderStyle: "all", stripeRows: !1 },
@@ -1 +1 @@
1
- .mtx-graph-component{border:1px solid var(--mtx-border, #e2e8f0);border-radius:12px;padding:16px;background:#fff;display:inline-block;margin:16px 0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-width:100%}.mtx-graph-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.mtx-graph-input{width:100%;padding:10px 14px;border:1px solid #cbd5e1;border-radius:8px;font-family:JetBrains Mono,Consolas,monospace;font-size:14px;transition:all .2s ease;background:#f8fafc}.mtx-graph-input:focus{border-color:#3b82f6;background:#fff;outline:none;box-shadow:0 0 0 3px #3b82f626}.mtx-graph-domains{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.mtx-graph-domain-group{display:flex;align-items:center;gap:8px;background:#f1f5f9;padding:6px 10px;border-radius:6px;border:1px solid #e2e8f0}.mtx-graph-domain-label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-right:4px}.mtx-graph-domain-separator{font-size:12px;color:#94a3b8}.mtx-graph-domain-input{width:60px;padding:4px 8px;border:1px solid #cbd5e1;border-radius:4px;font-size:13px;text-align:center;transition:border-color .2s}.mtx-graph-domain-input:focus{border-color:#3b82f6;outline:none}.mtx-graph-render text{font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;fill:#64748b}.mtx-graph-render .domain{stroke:#cbd5e1}.mtx-graph-render{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.mtx-matrix-grid-selector{display:flex;flex-direction:column;align-items:center;padding:10px;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;margin-bottom:10px;width:fit-content}.mtx-matrix-grid-label{font-size:12px;margin-bottom:5px;font-weight:600;color:#555;min-height:1.5em}.mtx-matrix-grid-squares{display:flex;flex-direction:column;gap:2px}.mtx-matrix-grid-row{display:flex;gap:2px}.mtx-matrix-grid-cell{width:12px;height:12px;background:#fff;border:1px solid #ccc;cursor:pointer}.mtx-matrix-grid-cell.is-active{background:#3b82f6;border-color:#2563eb}:root{--mtx-primary: #3b82f6;--mtx-primary-hover: #2563eb;--mtx-primary-light: #eff6ff;--mtx-bg: #ffffff;--mtx-toolbar-bg: #fafbfc;--mtx-border: #d4d4d8;--mtx-hover: #f4f4f5;--mtx-text: #18181b;--mtx-text-secondary: #52525b;--mtx-text-muted: #a1a1aa;--mtx-success: #22c55e;--mtx-warning: #f59e0b;--mtx-danger: #ef4444;--mtx-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mtx-font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--mtx-min-height: 200px;--mtx-max-height: none;--mtx-radius: 6px;--mtx-radius-sm: 4px}.mtx-editor{position:relative;border:1px solid var(--mtx-border);border-radius:6px;background:var(--mtx-bg);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;overflow:hidden;font-family:var(--mtx-font);transition:box-shadow .15s ease,border-color .15s ease}.mtx-editor:focus-within{border-color:var(--mtx-primary);box-shadow:0 0 0 2px #3b82f626,0 1px 3px #0000000f}.mtx-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:1px;padding:4px 6px;background:var(--mtx-toolbar-bg);border-bottom:1px solid var(--mtx-border);user-select:none;min-height:40px}.mtx-toolbar-group{display:flex;align-items:center;gap:1px}.mtx-toolbar-mode-switch{display:inline-flex;align-items:center;padding:2px;border:1px solid var(--mtx-border);border-radius:999px;background:#fff;gap:2px}.mtx-toolbar-mode-btn{border:none;background:transparent;color:var(--mtx-text-secondary);font-size:12px;font-weight:600;line-height:1;padding:7px 10px;border-radius:999px;cursor:pointer;transition:all .12s ease}.mtx-toolbar-mode-btn:hover{background:var(--mtx-hover);color:var(--mtx-text)}.mtx-toolbar-mode-btn.is-active{background:var(--mtx-primary-light);color:var(--mtx-primary)}.mtx-toolbar-divider{width:1px;height:20px;background:var(--mtx-border);margin:0 4px;flex-shrink:0}.mtx-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;transition:all .12s ease;position:relative}.mtx-toolbar-btn:hover{background:var(--mtx-hover);color:var(--mtx-text)}.mtx-toolbar-btn.is-active{background:var(--mtx-primary-light);color:var(--mtx-primary)}.mtx-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.mtx-toolbar-btn:disabled:hover{background:transparent}.mtx-toolbar-btn:active:not(:disabled){transform:scale(.96)}.mtx-toolbar-btn[data-tooltip]{position:relative}.mtx-toolbar-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);padding:6px 10px;background:#1e293b;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;border-radius:6px;opacity:0;visibility:hidden;transition:all .15s ease;pointer-events:none;z-index:1000;box-shadow:0 4px 12px #00000026}.mtx-toolbar-btn[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%) translateY(4px);border-width:4px;border-style:solid;border-color:#1e293b transparent transparent transparent;opacity:0;visibility:hidden;transition:all .15s ease;pointer-events:none;z-index:1000}.mtx-toolbar-btn[data-tooltip]:hover:after,.mtx-toolbar-btn[data-tooltip]:hover:before{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.mtx-toolbar-btn:focus-visible,.mtx-toolbar-mode-btn:focus-visible,.mtx-toolbar-select:focus-visible,.mtx-math-toolbar__action-btn:focus-visible,.mtx-symbol-palette__close:focus-visible,.mtx-symbol-palette__item:focus-visible,.mtx-template-card:focus-visible,.mtx-modal-close:focus-visible,.mtx-btn:focus-visible,.mtx-width-unit:focus-visible,.mtx-color-picker-input:focus-visible,.mtx-align-btn:focus-visible,.mtx-btn-sm:focus-visible,.mtx-image-dialog__tab:focus-visible,.mtx-image-dialog__close:focus-visible,.mtx-image-edit-dialog__btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.mtx-toolbar-btn--wide{width:34px}.mtx-toolbar-btn--accent{color:var(--mtx-primary)}.mtx-toolbar-btn--accent:hover{background:var(--mtx-primary-light);color:var(--mtx-primary)}.mtx-toolbar-btn--accent-secondary{color:#8b5cf6}.mtx-toolbar-btn--accent-secondary:hover{background:#f5f3ff;color:#7c3aed}.mtx-toolbar-btn svg{flex-shrink:0}.mtx-toolbar-select{height:30px;padding:0 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--mtx-text-secondary);font-size:13px;font-family:inherit;cursor:pointer;transition:all .12s ease;outline:none}.mtx-toolbar-select:hover{background:var(--mtx-hover);color:var(--mtx-text)}.mtx-toolbar-select:focus{background:#fff;border-color:var(--mtx-primary);color:var(--mtx-text)}.mtx-font-select{min-width:130px}.mtx-font-size-select{min-width:70px}.mtx-color-btn{padding:4px}.mtx-color-picker{width:0;height:0;opacity:0;position:absolute;pointer-events:none}.mtx-highlight{background-color:#fef08a;padding:2px 4px;border-radius:2px;transition:background-color .15s ease}p[data-indent],h1[data-indent],h2[data-indent],h3[data-indent],h4[data-indent],p.tt-indent,h1.tt-indent,h2.tt-indent,h3.tt-indent,h4.tt-indent,li[data-indent]{margin-left:0}p[data-indent="1"],h1[data-indent="1"],h2[data-indent="1"],h3[data-indent="1"],h4[data-indent="1"],li[data-indent="1"]{margin-left:24px}p[data-indent="2"],h1[data-indent="2"],h2[data-indent="2"],h3[data-indent="2"],h4[data-indent="2"],p.tt-indent-2,h1.tt-indent-2,h2.tt-indent-2,h3.tt-indent-2,h4.tt-indent-2,li.tt-indent-2,li[data-indent="2"]{margin-left:48px}p[data-indent="3"],h1[data-indent="3"],h2[data-indent="3"],h3[data-indent="3"],h4[data-indent="3"],p.tt-indent-3,h1.tt-indent-3,h2.tt-indent-3,h3.tt-indent-3,h4.tt-indent-3,li.tt-indent-3,li[data-indent="3"]{margin-left:72px}p[data-indent="4"],h1[data-indent="4"],h2[data-indent="4"],h3[data-indent="4"],h4[data-indent="4"],li[data-indent="4"]{margin-left:96px}p[data-indent="5"],h1[data-indent="5"],h2[data-indent="5"],h3[data-indent="5"],h4[data-indent="5"],li[data-indent="5"]{margin-left:120px}p[data-indent="6"],h1[data-indent="6"],h2[data-indent="6"],h3[data-indent="6"],h4[data-indent="6"],li[data-indent="6"]{margin-left:144px}p[data-indent="7"],h1[data-indent="7"],h2[data-indent="7"],h3[data-indent="7"],h4[data-indent="7"],li[data-indent="7"]{margin-left:168px}p[data-indent="8"],h1[data-indent="8"],h2[data-indent="8"],h3[data-indent="8"],h4[data-indent="8"],li[data-indent="8"]{margin-left:192px}p[data-indent="9"],h1[data-indent="9"],h2[data-indent="9"],h3[data-indent="9"],h4[data-indent="9"],li[data-indent="9"]{margin-left:216px}p[data-indent="10"],h1[data-indent="10"],h2[data-indent="10"],h3[data-indent="10"],h4[data-indent="10"],li[data-indent="10"]{margin-left:240px}p[data-indent],p.tt-indent{margin-left:0;text-indent:0}p[data-indent="1"]{margin-left:0;text-indent:24px}p[data-indent="2"],p.tt-indent-2{margin-left:0;text-indent:48px}p[data-indent="3"],p.tt-indent-3{margin-left:0;text-indent:72px}p[data-indent="4"]{margin-left:0;text-indent:96px}p[data-indent="5"]{margin-left:0;text-indent:120px}p[data-indent="6"]{margin-left:0;text-indent:144px}p[data-indent="7"]{margin-left:0;text-indent:168px}p[data-indent="8"]{margin-left:0;text-indent:192px}p[data-indent="9"]{margin-left:0;text-indent:216px}p[data-indent="10"]{margin-left:0;text-indent:240px}.mtx-task-list{list-style:none;padding-left:0;margin:.6em 0}.mtx-task-item{display:flex;align-items:flex-start;gap:8px;margin:.3em 0}.mtx-task-item>label{display:inline-flex;align-items:center;padding-top:2px}.mtx-task-item>div{flex:1;min-width:0}.mtx-task-item input[type=checkbox]{width:14px;height:14px}.mtx-word-count{display:flex;gap:16px;padding:6px 12px;font-size:11px;color:#64748b;border-top:1px solid #e2e8f0;background:#f8fafc;font-family:Segoe UI,system-ui,sans-serif}.mtx-word-count span{font-weight:500}.mtx-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:mtx-fade-in .15s ease}@keyframes mtx-fade-in{0%{opacity:0}to{opacity:1}}.mtx-modal-dialog{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;min-width:400px;max-width:90vw;max-height:90vh;overflow:hidden;animation:mtx-slide-up .2s ease}@keyframes mtx-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mtx-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.mtx-modal-title{margin:0;font-size:16px;font-weight:600;color:#1e293b;font-family:Segoe UI,system-ui,sans-serif}.mtx-modal-close{width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.mtx-modal-close:hover{background:#e2e8f0;color:#1e293b}.mtx-modal-dialog:focus-visible,.mtx-image-dialog:focus-visible,.mtx-image-edit-dialog:focus-visible{outline:2px solid rgba(37,99,235,.6);outline-offset:2px}.mtx-modal-body{padding:20px;max-height:calc(90vh - 140px);overflow-y:auto}.mtx-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #e2e8f0;background:#f8fafc}.mtx-form-group{margin-bottom:16px}.mtx-form-group:last-child{margin-bottom:0}.mtx-form-label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#475569;font-family:Segoe UI,system-ui,sans-serif}.mtx-required{color:#ef4444}.mtx-form-hint{font-weight:400;color:#94a3b8;font-size:11px;margin-left:4px}.mtx-form-input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;font-family:inherit;color:#1e293b;background:#fff;transition:all .12s ease;outline:none}.mtx-form-input:hover{border-color:#94a3b8}.mtx-form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.mtx-form-input::placeholder{color:#94a3b8}.mtx-input-error{border-color:#ef4444!important}.mtx-input-error:focus{box-shadow:0 0 0 3px #ef44441a!important}.mtx-form-error{margin-top:6px;font-size:12px;color:#ef4444;font-family:Segoe UI,system-ui,sans-serif}.mtx-form-checkbox{margin-top:8px}.mtx-checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569;cursor:pointer;user-select:none}.mtx-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.mtx-btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;font-family:Segoe UI,system-ui,sans-serif;cursor:pointer;transition:all .12s ease;outline:none}.mtx-btn-primary{background:#3b82f6;color:#fff}.mtx-btn-primary:hover{background:#2563eb;box-shadow:0 2px 8px #3b82f64d}.mtx-btn-primary:active{transform:scale(.98);box-shadow:0 1px 4px #3b82f633}.mtx-btn-secondary{background:#e2e8f0;color:#475569}.mtx-btn-secondary:hover{background:#cbd5e1;color:#1e293b}.mtx-btn-secondary:active{transform:scale(.98)}.mtx-btn-danger{background:#fee2e2;color:#dc2626}.mtx-btn-danger:hover{background:#fecaca;color:#b91c1c}.mtx-btn-danger:active{transform:scale(.98)}.mtx-link-dialog{min-width:450px}.mtx-insert-table-dialog{min-width:400px}.mtx-table-templates-dialog{min-width:600px;max-width:800px}.mtx-templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;max-height:400px;overflow-y:auto;padding:8px}.mtx-template-dialog-hint{margin:0 0 12px;font-size:13px;color:#64748b}.mtx-template-card{appearance:none;width:100%;padding:0;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s ease;overflow:hidden;background:#fff;text-align:left}.mtx-template-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633;transform:translateY(-2px)}.mtx-template-preview{padding:12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.mtx-template-table{display:table;width:100%;border-collapse:collapse;font-size:8px}.mtx-template-row{display:table-row}.mtx-template-cell{display:table-cell;width:33%;height:20px;background:#fff;padding:4px}.mtx-template-header{background:#e2e8f0}.mtx-template-light .mtx-template-header{background:#f1f5f9}.mtx-template-dark .mtx-template-header{background:#1e293b;color:#fff}.mtx-template-blue .mtx-template-header{background:#3b82f6;color:#fff}.mtx-template-striped .mtx-template-row:nth-child(2n) .mtx-template-cell{background:#f8fafc}.mtx-template-minimal .mtx-template-cell{border:none;border-bottom:1px solid #cbd5e1}.mtx-template-info{padding:12px}.mtx-template-name{margin:0 0 4px;font-size:14px;font-weight:600;color:#1e293b}.mtx-template-description{margin:0;font-size:12px;color:#64748b}.mtx-number-input-wrapper{display:flex;align-items:center;gap:0}.mtx-number-btn{width:36px;height:38px;border:1px solid #cbd5e1;background:#f8fafc;color:#475569;font-size:18px;font-weight:600;cursor:pointer;transition:all .12s ease;display:flex;align-items:center;justify-content:center}.mtx-number-btn:first-child{border-radius:6px 0 0 6px;border-right:none}.mtx-number-btn:last-child{border-radius:0 6px 6px 0;border-left:none}.mtx-number-btn:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.mtx-number-btn:disabled{opacity:.4;cursor:not-allowed}.mtx-number-input{width:60px!important;text-align:center;border-radius:0!important;border-left:none!important;border-right:none!important;-moz-appearance:textfield}.mtx-number-input::-webkit-outer-spin-button,.mtx-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mtx-table-preview{margin-top:16px;padding:16px;background:#f1f5f9;border-radius:6px}.mtx-table-preview-label{font-size:12px;font-weight:600;color:#64748b;margin-bottom:12px;text-align:center}.mtx-table-preview-grid{display:grid;gap:2px;max-width:200px;margin:0 auto}.mtx-preview-cell{aspect-ratio:1;background:#cbd5e1;border:1px solid #94a3b8;border-radius:2px}.mtx-preview-header{background:#3b82f6;border-color:#2563eb}.mtx-cell-properties-dialog{min-width:400px}.mtx-width-input-wrapper{display:flex;gap:8px}.mtx-width-input{flex:1}.mtx-width-unit{width:70px;padding:10px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;outline:none}.mtx-width-unit:hover{border-color:#94a3b8}.mtx-width-unit:focus{border-color:#3b82f6}.mtx-color-input-wrapper{display:flex;gap:8px}.mtx-color-picker-input{width:50px;height:38px;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;background:#fff}.mtx-color-text-input{flex:1}.mtx-align-buttons{display:flex;gap:4px}.mtx-align-btn{flex:1;height:40px;border:1px solid #cbd5e1;background:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .12s ease}.mtx-align-btn:hover{background:#f8fafc;color:#1e293b;border-color:#94a3b8}.mtx-align-btn.is-active{background:#3b82f6;border-color:#2563eb;color:#fff}.mtx-table-menu-overlay{position:fixed;inset:0;width:100vw;height:100vh;border:none;padding:0;z-index:1000;background:transparent;cursor:default}.mtx-table-menu-dropdown{position:fixed;z-index:1000}.mtx-toolbar-btn--dropdown{width:20px;padding:0 2px}.mtx-toolbar-btn--dropdown svg{width:12px;height:12px}.mtx-table-menu{position:absolute;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;min-width:220px;padding:8px 0;animation:mtx-slide-down .15s ease;overflow:hidden}@keyframes mtx-slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mtx-table-menu-group{padding:4px 0;border-bottom:1px solid #e2e8f0}.mtx-table-menu-label{padding:6px 16px 4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.mtx-table-menu-group:last-child{border-bottom:none}.mtx-table-menu-item{width:100%;padding:10px 16px;border:none;background:transparent;display:flex;align-items:center;gap:12px;font-size:13px;color:#475569;cursor:pointer;transition:all .12s ease;text-align:left}.mtx-table-menu-item:hover{background:#f1f5f9;color:#1e293b}.mtx-table-menu-item.is-active{background:#eff6ff;color:#1d4ed8;font-weight:600}.mtx-table-menu-item--danger{color:#dc2626}.mtx-table-menu-item--danger:hover{background:#fee2e2;color:#b91c1c}.mtx-table-menu-icon{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center}.mtx-table{border-collapse:collapse;width:100%;margin:12px 0;table-layout:fixed;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #dbe4ef}.mtx-table td,.mtx-table th{border:1px solid #cbd5e1;padding:8px 12px;min-width:50px;position:relative;vertical-align:top;transition:background-color .12s ease,box-shadow .12s ease}.mtx-table th{background:#f1f5f9;font-weight:600;text-align:left}.mtx-table td:first-child,.mtx-table th:first-child{border-left-width:1px}.mtx-table tr:first-child td,.mtx-table tr:first-child th{border-top-width:1px}.mtx-table tbody tr:nth-child(2n) td{background-image:linear-gradient(to bottom,#f8fafc59,#f8fafc59)}.mtx-table.mtx-table--plain{box-shadow:0 0 0 1px #dbe4ef}.mtx-table.mtx-table--light th{background:#f8fafc;color:#334155}.mtx-table.mtx-table--dark{box-shadow:0 0 0 1px #1e293b}.mtx-table.mtx-table--dark th{background:#1e293b;color:#f8fafc;border-color:#334155}.mtx-table.mtx-table--blue{box-shadow:0 0 0 1px #93c5fd}.mtx-table.mtx-table--blue th{background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff;border-color:#2563eb}.mtx-table.mtx-table--blue tbody tr:nth-child(2n) td,.mtx-table.mtx-table--striped tbody tr:nth-child(2n) td{background:#f8fbff}.mtx-table.mtx-table--minimal{box-shadow:none}.mtx-table.mtx-table--minimal td,.mtx-table.mtx-table--minimal th{border-left:none;border-right:none}@media (max-width: 640px){.mtx-modal-dialog{min-width:calc(100vw - 32px);max-width:calc(100vw - 32px)}.mtx-link-dialog,.mtx-insert-table-dialog,.mtx-cell-properties-dialog{min-width:calc(100vw - 32px)}.mtx-modal-footer{flex-wrap:wrap}.mtx-btn{flex:1;min-width:100px}.mtx-table-menu{left:16px!important;right:16px!important;min-width:auto!important}}.mtx-math-toolbar{display:flex;align-items:center;gap:4px;padding:3px 6px;background:#f5f5f5;border-bottom:1px solid #ccc;user-select:none;min-height:36px}.mtx-math-toolbar__label{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:#555;text-transform:uppercase;padding:0 6px;height:24px;background:#e0e0e0;border:1px solid #ccc;border-radius:3px;margin-right:4px}.mtx-math-toolbar__search-wrap{display:inline-flex;align-items:center;flex-shrink:0}.mtx-math-toolbar__search{width:140px;height:26px;padding:0 10px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:12px;outline:none}.mtx-math-toolbar__search::placeholder{color:#94a3b8}.mtx-math-toolbar__search:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa2e}.mtx-math-toolbar__buttons{display:flex;align-items:center;gap:1px;flex-wrap:nowrap;overflow-x:auto;flex:1;min-width:0;padding-bottom:2px}.mtx-math-toolbar__section{display:inline-flex;align-items:center;gap:2px;padding-right:6px;margin-right:6px;border-right:1px solid #d6d6d6;flex-shrink:0}.mtx-math-toolbar__section-toggle{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#475569;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;flex-shrink:0}.mtx-math-toolbar__section-toggle:hover{background:#f8fafc;border-color:#94a3b8;color:#1e293b}.mtx-math-toolbar__section-toggle.is-active{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.mtx-math-toolbar__section-toggle svg{transition:transform .15s ease}.mtx-math-toolbar__section-toggle.is-active svg{transform:rotate(180deg)}.mtx-math-toolbar__section:last-child{margin-right:0;padding-right:0;border-right:none}.mtx-math-toolbar__section-label{display:inline-flex;align-items:center;height:22px;padding:0 6px;margin-right:3px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.mtx-math-toolbar__section-divider{width:1px;height:20px;margin:0 3px;background:#cbd5e1;flex-shrink:0}.mtx-math-toolbar__empty{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;color:#64748b;font-size:12px;font-style:italic}.mtx-math-toolbar__buttons::-webkit-scrollbar{height:3px;background:transparent}.mtx-math-toolbar__buttons::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.mtx-math-btn{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 2px;border:1px solid transparent;border-radius:2px;background:transparent;color:#333;cursor:pointer;font-size:13px;font-weight:400;font-family:Times New Roman,serif;transition:all .1s ease}.mtx-math-btn:hover{background:#e8e8e8;border-color:#aaa;color:#000;box-shadow:0 1px 1px #0000001a}.mtx-math-btn:active{background:#d0d0d0;border-color:#888;box-shadow:inset 0 1px 1px #0000001a;transform:scale(.96)}.mtx-math-btn__label{line-height:1}.mtx-math-toolbar__actions{display:flex;align-items:center;gap:4px;margin-left:auto;padding-left:6px;border-left:1px solid #ccc;flex-shrink:0}.mtx-math-toolbar__action-btn{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:1px solid #aaa;border-radius:2px;background:#fff;color:#444;cursor:pointer;font-size:11px;font-weight:600;font-family:Segoe UI,system-ui,sans-serif;transition:all .1s ease}.mtx-math-toolbar__action-btn:hover{background:#f0f0f0;border-color:#888;color:#222}.mtx-symbol-palette{position:absolute;top:100%;right:8px;z-index:100;width:360px;max-height:420px;background:#fff;border:1px solid var(--mtx-border);border-radius:8px;box-shadow:0 10px 40px #0000001f,0 2px 10px #00000014;overflow:hidden;animation:mtx-fadeIn .15s ease}@keyframes mtx-fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mtx-symbol-palette__header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--mtx-border);background:#f9fafb}.mtx-symbol-palette__title{font-size:13px;font-weight:600;color:var(--mtx-text)}.mtx-symbol-palette__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;font-size:16px;line-height:1}.mtx-symbol-palette__close:hover{background:#fee2e2;color:#ef4444}.mtx-symbol-palette__search{display:block;width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--mtx-border);font-size:13px;font-family:var(--mtx-font);background:#fff;outline:none}.mtx-symbol-palette__search:focus{background:#eff6ff}.mtx-symbol-palette__search::placeholder{color:#94a3b8}.mtx-symbol-palette__body{overflow-y:auto;max-height:330px;padding:8px}.mtx-symbol-palette__category{margin-bottom:8px}.mtx-symbol-palette__category-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--mtx-text-secondary);padding:4px 4px 6px}.mtx-symbol-palette__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:2px}.mtx-symbol-palette__item{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--mtx-text);cursor:pointer;font-size:16px;font-family:"Cambria Math",serif;transition:all .1s ease}.mtx-symbol-palette__item:hover{background:var(--mtx-primary-light);border-color:var(--mtx-primary);color:var(--mtx-primary);transform:scale(1.1)}.mtx-content{position:relative}.mtx-content .tiptap{padding:16px 20px;min-height:var(--mtx-min-height, 200px);outline:none;font-size:15px;line-height:1.7;color:var(--mtx-text)}.mtx-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#94a3b8;font-style:italic;pointer-events:none;float:left;height:0}.mtx-content .tiptap h1{font-size:1.8em;font-weight:700;margin:.6em 0 .4em;color:#0f172a;line-height:1.3;letter-spacing:-.02em}.mtx-content .tiptap h2{font-size:1.4em;font-weight:600;margin:.5em 0 .3em;color:#1e293b;line-height:1.35}.mtx-content .tiptap h3{font-size:1.15em;font-weight:600;margin:.5em 0 .3em;color:#334155;line-height:1.4}.mtx-content .tiptap ul,.mtx-content .tiptap ol{padding-left:24px;margin:.5em 0}.mtx-content .tiptap li{margin:.15em 0}.mtx-content .tiptap li p{margin:0}.mtx-content .tiptap a{color:var(--mtx-primary);text-decoration:underline;text-decoration-color:#3b82f64d;text-underline-offset:2px;cursor:pointer;transition:text-decoration-color .15s}.mtx-content .tiptap a:hover{text-decoration-color:var(--mtx-primary)}.mtx-content .tiptap blockquote{border-left:3px solid var(--mtx-primary);padding:8px 16px;margin:.8em 0;background:#eff6ff;border-radius:0 6px 6px 0;color:#1e40af;font-style:italic}.mtx-content .tiptap p[data-indent],.mtx-content .tiptap h1[data-indent],.mtx-content .tiptap h2[data-indent],.mtx-content .tiptap h3[data-indent],.mtx-content .tiptap h4[data-indent],.mtx-content .tiptap p.tt-indent,.mtx-content .tiptap h1.tt-indent,.mtx-content .tiptap h2.tt-indent,.mtx-content .tiptap h3.tt-indent,.mtx-content .tiptap h4.tt-indent,.mtx-content .tiptap li[data-indent]{position:relative}.mtx-math-btn--recent{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.mtx-math-btn--recent:hover{background:#dbeafe;border-color:#93c5fd}.mtx-content .tiptap p[data-indent="1"],.mtx-content .tiptap h1[data-indent="1"],.mtx-content .tiptap h2[data-indent="1"],.mtx-content .tiptap h3[data-indent="1"],.mtx-content .tiptap h4[data-indent="1"],.mtx-content .tiptap p.tt-indent-1,.mtx-content .tiptap h1.tt-indent-1,.mtx-content .tiptap h2.tt-indent-1,.mtx-content .tiptap h3.tt-indent-1,.mtx-content .tiptap h4.tt-indent-1,.mtx-content .tiptap li.tt-indent-1{margin-left:2em}.mtx-content .tiptap p[data-indent="2"],.mtx-content .tiptap h1[data-indent="2"],.mtx-content .tiptap h2[data-indent="2"],.mtx-content .tiptap h3[data-indent="2"],.mtx-content .tiptap h4[data-indent="2"],.mtx-content .tiptap p.tt-indent-2,.mtx-content .tiptap h1.tt-indent-2,.mtx-content .tiptap h2.tt-indent-2,.mtx-content .tiptap h3.tt-indent-2,.mtx-content .tiptap h4.tt-indent-2,.mtx-content .tiptap li.tt-indent-2{margin-left:4em}.mtx-content .tiptap p[data-indent="3"],.mtx-content .tiptap h1[data-indent="3"],.mtx-content .tiptap h2[data-indent="3"],.mtx-content .tiptap h3[data-indent="3"],.mtx-content .tiptap h4[data-indent="3"],.mtx-content .tiptap p.tt-indent-3,.mtx-content .tiptap h1.tt-indent-3,.mtx-content .tiptap h2.tt-indent-3,.mtx-content .tiptap h3.tt-indent-3,.mtx-content .tiptap h4.tt-indent-3,.mtx-content .tiptap li.tt-indent-3{margin-left:6em}.mtx-content .tiptap p[data-indent="4"],.mtx-content .tiptap h1[data-indent="4"],.mtx-content .tiptap h2[data-indent="4"],.mtx-content .tiptap h3[data-indent="4"],.mtx-content .tiptap h4[data-indent="4"],.mtx-content .tiptap p.tt-indent-4,.mtx-content .tiptap h1.tt-indent-4,.mtx-content .tiptap h2.tt-indent-4,.mtx-content .tiptap h3.tt-indent-4,.mtx-content .tiptap h4.tt-indent-4,.mtx-content .tiptap li.tt-indent-4{margin-left:8em}.mtx-content .tiptap p[data-indent="5"],.mtx-content .tiptap h1[data-indent="5"],.mtx-content .tiptap h2[data-indent="5"],.mtx-content .tiptap h3[data-indent="5"],.mtx-content .tiptap h4[data-indent="5"],.mtx-content .tiptap p.tt-indent-5,.mtx-content .tiptap h1.tt-indent-5,.mtx-content .tiptap h2.tt-indent-5,.mtx-content .tiptap h3.tt-indent-5,.mtx-content .tiptap h4.tt-indent-5,.mtx-content .tiptap li.tt-indent-5{margin-left:10em}.mtx-content .tiptap p[data-indent="6"],.mtx-content .tiptap h1[data-indent="6"],.mtx-content .tiptap h2[data-indent="6"],.mtx-content .tiptap h3[data-indent="6"],.mtx-content .tiptap h4[data-indent="6"],.mtx-content .tiptap p.tt-indent-6,.mtx-content .tiptap h1.tt-indent-6,.mtx-content .tiptap h2.tt-indent-6,.mtx-content .tiptap h3.tt-indent-6,.mtx-content .tiptap h4.tt-indent-6,.mtx-content .tiptap li.tt-indent-6{margin-left:12em}.mtx-content .tiptap p[data-indent="7"],.mtx-content .tiptap h1[data-indent="7"],.mtx-content .tiptap h2[data-indent="7"],.mtx-content .tiptap h3[data-indent="7"],.mtx-content .tiptap h4[data-indent="7"],.mtx-content .tiptap p.tt-indent-7,.mtx-content .tiptap h1.tt-indent-7,.mtx-content .tiptap h2.tt-indent-7,.mtx-content .tiptap h3.tt-indent-7,.mtx-content .tiptap h4.tt-indent-7,.mtx-content .tiptap li.tt-indent-7{margin-left:14em}.mtx-content .tiptap p[data-indent],.mtx-content .tiptap p.tt-indent{margin-left:0;text-indent:0}.mtx-content .tiptap p[data-indent="1"],.mtx-content .tiptap p.tt-indent-1{margin-left:0;text-indent:2em}.mtx-content .tiptap p[data-indent="2"],.mtx-content .tiptap p.tt-indent-2{margin-left:0;text-indent:4em}.mtx-content .tiptap p[data-indent="3"],.mtx-content .tiptap p.tt-indent-3{margin-left:0;text-indent:6em}.mtx-content .tiptap p[data-indent="4"],.mtx-content .tiptap p.tt-indent-4{margin-left:0;text-indent:8em}.mtx-content .tiptap p[data-indent="5"],.mtx-content .tiptap p.tt-indent-5{margin-left:0;text-indent:10em}.mtx-content .tiptap p[data-indent="6"],.mtx-content .tiptap p.tt-indent-6{margin-left:0;text-indent:12em}.mtx-content .tiptap p[data-indent="7"],.mtx-content .tiptap p.tt-indent-7{margin-left:0;text-indent:14em}.mtx-content .tiptap code{background:#f1f5f9;color:#e11d48;padding:1px 5px;border-radius:3px;font-size:.9em;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace}.mtx-content .tiptap pre{background:#1e293b;color:#e2e8f0;padding:16px;border-radius:6px;overflow-x:auto;margin:.8em 0;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.85em;line-height:1.6}.mtx-content .tiptap pre code{background:none;color:inherit;padding:0;border-radius:0;font-size:inherit}.mtx-content .tiptap table{border-collapse:collapse;width:100%;margin:.8em 0;border-radius:6px;overflow:hidden}.mtx-content .tiptap table td,.mtx-content .tiptap table th{border:1px solid #e2e8f0;padding:8px 12px;text-align:left;min-width:80px;vertical-align:top}.mtx-content .tiptap table th{background:#f1f5f9;font-weight:600;color:#334155;font-size:.9em;text-transform:uppercase;letter-spacing:.03em}.mtx-content .tiptap table tr:hover td{background:#f8fafc}.mtx-content .tiptap hr{border:none;border-top:2px solid #e2e8f0;margin:1.5em 0}.mtx-content .tiptap figure.mtx-image-figure{margin:.5em 0;text-align:center;position:relative;display:inline-block;width:fit-content;max-width:100%}.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper{position:relative;display:inline-block;line-height:0;user-select:none;backface-visibility:hidden}.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper.is-dragging{z-index:20}.mtx-content .tiptap figure.mtx-image-figure{transition:margin .18s ease,transform .18s ease}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--dragging,.mtx-content .tiptap figure.mtx-image-figure.mtx-image--dragging .mtx-image-wrapper{transition:none}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--snap-animating,.mtx-content .tiptap figure.mtx-image-figure.mtx-image--snap-animating .mtx-image-wrapper{transition:margin .18s ease,transform .18s ease}.mtx-content .tiptap figure.mtx-image-figure img{max-width:100%;height:auto;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:box-shadow .2s ease}.mtx-content .tiptap figure.mtx-image-figure:hover img{box-shadow:0 4px 8px #00000026}.mtx-content .tiptap figure.mtx-image-figure figcaption{text-align:center;font-size:.875rem;color:#64748b;margin-top:.5em;padding:.25em .5em;background:#f1f5f9;border-radius:4px}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--left{float:left;margin-right:1.5em;margin-bottom:1em;clear:none}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--right{float:right;margin-left:1.5em;margin-bottom:1em;clear:none}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--center{display:block;margin-left:auto;margin-right:auto;clear:both}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--full{display:block;width:100%!important;margin:1em 0;clear:both}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--full img{width:100%}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--dragging{opacity:.92}.mtx-content .tiptap figure.mtx-image-figure.mtx-image-snap-preview--left{box-shadow:-6px 0 #2563eb59}.mtx-content .tiptap figure.mtx-image-figure.mtx-image-snap-preview--center{box-shadow:0 0 0 2px #2563eb47}.mtx-content .tiptap figure.mtx-image-figure.mtx-image-snap-preview--right{box-shadow:6px 0 #2563eb59}.mtx-image-drag-guide{position:absolute;top:0;left:0;width:0;height:100%;border-left:2px dashed rgba(37,99,235,.5);pointer-events:none;z-index:100}.mtx-image-drag-zone{position:absolute;top:0;left:0;width:100%;height:100%;background:#2563eb0f;border-radius:0;pointer-events:none;z-index:99}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--selected,.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper.mtx-image--selected{outline:2px solid var(--mtx-primary);outline-offset:2px}.mtx-resize-handle{position:absolute;width:10px;height:10px;background:var(--mtx-primary);border:2px solid white;border-radius:50%;cursor:pointer;pointer-events:auto;box-shadow:0 1px 3px #0000004d;transition:transform .15s ease;z-index:12;padding:0;appearance:none}.mtx-image-resize-overlay{position:absolute;inset:0;background-color:#3b82f61a;border:2px dashed var(--mtx-primary);pointer-events:none;z-index:9}.mtx-resize-handle:hover{transform:scale(1.3)}.mtx-resize-handle--nw{top:-5px;left:-5px;cursor:nw-resize}.mtx-resize-handle--ne{top:-5px;right:-5px;cursor:ne-resize}.mtx-resize-handle--sw{bottom:-5px;left:-5px;cursor:sw-resize}.mtx-resize-handle--se{bottom:-5px;right:-5px;cursor:se-resize}.mtx-resize-handle--n{top:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.mtx-resize-handle--e{top:50%;right:-5px;transform:translateY(-50%);cursor:ew-resize}.mtx-resize-handle--s{bottom:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.mtx-resize-handle--w{top:50%;left:-5px;transform:translateY(-50%);cursor:ew-resize}.mtx-image-node-view{display:inline-block;max-width:100%;position:relative}.mtx-content .tiptap:after{content:"";display:table;clear:both}.mtx-math-inline,.mtx-math-block{display:inline-block;position:relative}.mtx-math-inline math-field,.mtx-math-block math-field{border:1px solid transparent;border-radius:4px;outline:none;transition:all .15s ease;font-size:1.05em;background:transparent;--selection-background-color: rgba(59, 130, 246, .2)}.mtx-math-inline math-field:focus,.mtx-math-block math-field:focus{border-color:var(--mtx-primary);background:#eff6ff;box-shadow:0 0 0 2px #3b82f61a}.mtx-math-block{display:block;text-align:center;margin:12px 0;padding:12px;background:#f8fafc;border-radius:6px;border:1px dashed #cbd5e1}.mtx-math-block math-field{font-size:1.2em}.mtx-math-edit-btn{position:absolute;background:#2563eb;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;z-index:10;display:flex;align-items:center;gap:4px;box-shadow:0 2px 4px #0003;transition:all .15s ease}.mtx-math-edit-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 6px #00000040}.mtx-math-inline .mtx-math-edit-btn{right:-28px;top:50%;transform:translateY(-50%)}.mtx-math-block .mtx-math-edit-btn{right:8px;top:8px}.ProseMirror-selectednode .mtx-math-inline,.ProseMirror-selectednode .mtx-math-block{outline:2px solid var(--mtx-primary);outline-offset:2px;border-radius:4px}.mtx-content::-webkit-scrollbar{width:6px}.mtx-content::-webkit-scrollbar-track{background:transparent}.mtx-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.mtx-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 640px){.mtx-toolbar-mode-switch{order:-1;margin-bottom:4px}.mtx-toolbar{gap:0;padding:3px 4px}.mtx-toolbar-btn{width:28px;height:28px}.mtx-toolbar-divider{margin:0 2px}.mtx-math-toolbar__buttons{gap:1px;flex-wrap:wrap;justify-content:center}.mtx-math-toolbar__section{padding-right:4px;margin-right:4px}.mtx-math-toolbar__section-toggle{padding:0 6px}.mtx-math-toolbar{padding:4px;min-width:unset;width:calc(100% - 20px);flex-wrap:wrap}.mtx-math-toolbar__search-wrap{order:3;width:100%}.mtx-math-toolbar__search{width:100%}.mtx-math-btn{min-width:26px;height:26px;font-size:11px}.mtx-symbol-palette{width:300px}.mtx-template-panel{width:340px}}math-field::part(virtual-keyboard-toggle){display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important;position:absolute!important;z-index:-1!important;opacity:0!important}.mtx-template-panel{position:absolute;top:100%;right:8px;z-index:100;width:520px;max-height:520px;background:#fff;border:1px solid var(--mtx-border);border-radius:8px;box-shadow:0 10px 40px #00000026,0 2px 10px #00000014;overflow:hidden;animation:mtx-fadeIn .15s ease}.mtx-template-panel__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--mtx-border);background:linear-gradient(to bottom,#f9fafb,#f3f4f6)}.mtx-template-panel__title{font-size:13px;font-weight:600;color:var(--mtx-text)}.mtx-template-panel__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;font-size:16px;line-height:1}.mtx-template-panel__close:hover{background:#fee2e2;color:#ef4444}.mtx-template-panel__search{display:block;width:100%;padding:8px 14px;border:none;border-bottom:1px solid var(--mtx-border);font-size:13px;font-family:var(--mtx-font);background:#fff;outline:none}.mtx-template-panel__search:focus{background:#eff6ff}.mtx-template-panel__search::placeholder{color:#94a3b8}.mtx-template-panel__body{display:flex;flex-direction:row;height:320px}@media (max-width: 640px){.mtx-template-panel__body{flex-direction:column;height:400px}}.mtx-template-panel__tabs{width:160px;min-width:160px;overflow-y:auto;border-right:1px solid var(--mtx-border);background:#f9fafb;padding:4px}@media (max-width: 640px){.mtx-template-panel__tabs{width:100%;min-width:unset;height:auto;display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid var(--mtx-border);white-space:nowrap;padding:6px;gap:4px}}.mtx-template-panel__tab{display:flex;align-items:center;gap:4px;width:100%;padding:4px 6px;border:none;border-radius:4px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--mtx-font);text-align:left;transition:all .1s ease;margin-bottom:1px}@media (max-width: 640px){.mtx-template-panel__tab{width:auto;flex:0 0 auto;padding:6px 10px}}.mtx-template-panel__tab:hover{background:#f1f5f9;color:var(--mtx-text)}.mtx-template-panel__tab.is-active{background:var(--mtx-primary-light);color:var(--mtx-primary)}.mtx-template-panel__tab-icon{font-size:13px;flex-shrink:0}.mtx-template-panel__tab-label{line-height:1.2}.mtx-template-panel__content{flex:1;overflow-y:auto;padding:12px;background:#fff}.mtx-template-panel__empty{padding:20px;text-align:center;color:#94a3b8;font-size:13px}.mtx-template-panel__group{margin-bottom:8px}.mtx-template-panel__group-title{font-size:11px;font-weight:600;color:var(--mtx-text-secondary);padding:4px 4px 8px;text-transform:uppercase;letter-spacing:.04em}.mtx-template-panel__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.mtx-template-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;text-align:left;transition:all .12s ease;font-family:var(--mtx-font);min-height:52px;overflow:hidden}.mtx-template-card:hover{border-color:var(--mtx-primary);background:var(--mtx-primary-light);box-shadow:0 2px 6px #3b82f61f;transform:translateY(-1px)}.mtx-template-card__preview{font-size:13px;font-weight:500;color:var(--mtx-text);font-family:"Cambria Math","Latin Modern Math",serif;line-height:1.5;word-break:break-all;padding-bottom:4px;display:block}.mtx-template-card__label{font-size:10px;color:var(--mtx-text-muted);line-height:1.2}.mtx-template-panel__levels{display:flex;gap:2px;padding:6px 10px;border-bottom:1px solid var(--mtx-border);background:#f8fafc}.mtx-template-panel__level{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border:1px solid transparent;border-radius:20px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--mtx-font);transition:all .12s ease}.mtx-template-panel__level:hover{background:#fff;border-color:var(--mtx-border)}.mtx-template-panel__level.is-active{background:var(--mtx-primary);color:#fff;border-color:var(--mtx-primary)}.mtx-template-panel__tab-badge{font-size:9px;padding:0 4px;border-radius:3px;background:#e2e8f0;color:var(--mtx-text-secondary);font-weight:600;margin-left:auto}.mtx-template-panel__tab.is-active .mtx-template-panel__tab-badge{background:#3b82f633;color:var(--mtx-primary)}.mtx-template-panel__group-level{font-size:9px;padding:1px 5px;border-radius:3px;background:var(--mtx-primary-light);color:var(--mtx-primary);font-weight:600;margin-left:4px}.mt-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000073;backdrop-filter:blur(3px);animation:mt-fadeIn .15s ease}@keyframes mt-fadeIn{0%{opacity:0}to{opacity:1}}.mt-dialog{width:680px;max-width:96vw;max-height:92vh;background:#ececec;border-radius:6px;box-shadow:0 12px 40px #00000059,0 2px 10px #0003;overflow:hidden;display:flex;flex-direction:column;animation:mt-slideUp .2s ease;border:1px solid #888}@keyframes mt-slideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.mt-titlebar{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;background:linear-gradient(180deg,#6b9fd4,#3a75b0,#2d5f9a);color:#fff;user-select:none;flex-shrink:0}.mt-titlebar__left{display:flex;align-items:center;gap:6px}.mt-titlebar__title{font-size:12px;font-weight:600;font-family:Segoe UI,system-ui,sans-serif;text-shadow:0 1px 2px rgba(0,0,0,.4)}.mt-titlebar__close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:3px;background:#ffffff1a;color:#fff;cursor:pointer;transition:background .1s}.mt-titlebar__close:hover{background:#c42b1c}.mt-tab-bar{display:flex;align-items:stretch;gap:0;padding:3px 3px 0;background:linear-gradient(180deg,#c8d8e8,#a8bdd0);border-bottom:1px solid #7a9ab5;flex-shrink:0;flex-wrap:wrap;max-height:120px;overflow-y:auto}.mt-tab{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;min-width:48px;height:30px;border:1px solid #8aa8c0;border-bottom:none;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#d8e4ef,#b8cce0);color:#2c4a6e;cursor:pointer;font-size:12px;font-family:"Cambria Math","Latin Modern Math",Times New Roman,serif;font-weight:500;transition:all .08s ease;margin-right:-1px;position:relative;white-space:nowrap;letter-spacing:.5px}.mt-tab:hover{background:linear-gradient(180deg,#e8f0f8,#c8daf0);color:#1a3a5e}.mt-tab.is-active{background:linear-gradient(180deg,#f5f8fc,#eef3f8 30%,#e8eef5);color:#1a3a5e;border-color:#7a9ab5;border-bottom:1px solid #e8eef5;z-index:1;font-weight:600;box-shadow:0 -1px 3px #0000000f}.mt-tab__icon{font-size:13px;line-height:1}.mt-grid{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:8px 12px}.mt-grid__row{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:2px 0;flex-wrap:wrap;width:100%}.mt-grid__btn{display:inline-flex;align-items:center;justify-content:center;flex:1;min-width:50px;max-width:90px;height:44px;padding:6px 8px;border:1px solid #e2e8f0;border-radius:6px;background:linear-gradient(180deg,#fff,#f8fafc);color:#1e293b;cursor:pointer;font-size:14px;font-family:"Cambria Math","Latin Modern Math",Times New Roman,serif;line-height:1;transition:all .15s ease;user-select:none;white-space:nowrap;box-shadow:0 1px 2px #0000000a;position:relative;overflow:hidden}.mt-grid__btn:hover{background:linear-gradient(180deg,#eff6ff,#dbeafe);border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626,0 1px 2px #0000000f;transform:translateY(-1px);color:#1e40af}.mt-grid__btn:active{background:linear-gradient(180deg,#dbeafe,#bfdbfe);border-color:#2563eb;box-shadow:inset 0 1px 2px #00000014;transform:translateY(0)}.mt-grid__btn--formula{min-width:70px;max-width:120px}.mt-icon-row{display:flex;align-items:center;justify-content:center;gap:3px}.mt-ph{display:inline-block;width:11px;height:11px;border:1.5px solid #3b82f6;background:#3b82f614;border-radius:2px;margin:0 1px;transition:all .15s ease}.mt-ph--sm{width:8px;height:8px;border-width:1.5px}.mt-grid__btn:hover .mt-ph{border-color:#2563eb;background:#3b82f626}.mt-icon-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;gap:2px}.mt-icon-stack--lg{transform:scale(1.15)}.mt-icon-stack--sm{transform:scale(.7)}.mt-icon-num{padding-bottom:2px;display:flex;justify-content:center;align-items:center}.mt-icon-den{padding-top:2px;display:flex;justify-content:center;align-items:center}.mt-icon-bar{width:100%;height:1.5px;background:linear-gradient(90deg,transparent 0%,currentColor 10%,currentColor 90%,transparent 100%);opacity:.7;border-radius:1px}.mt-icon-sqrt{font-size:17px;line-height:1;transform:scaleY(1.2) translateY(1px);font-weight:300}.mt-icon-sqrt-bar{border-top:1.5px solid currentColor;padding-top:2px;margin-left:-1px;opacity:.7}.mt-icon-idx{font-size:.65em;line-height:1;font-weight:500}.mt-icon-grid{display:flex;flex-direction:column;gap:2px;margin:0 2px}.mt-icon-grid-row{display:flex;gap:2px}.mt-brak{font-weight:300;transform:scaleY(1.3);color:#475569}.mt-brak--lg{transform:scaleY(1.6)}.mt-sym{font-family:Times New Roman,serif;font-style:italic;color:#334155}.mt-sym-lg{font-size:17px;font-weight:500;color:#1e293b}.mt-sym-xl{font-size:20px;line-height:.8;color:#1e293b}.mt-sym-sm{font-size:10px}.mt-sym-fn{font-family:Times New Roman,serif;font-size:12px;font-style:italic;color:#334155}.mt-txt-icon{font-family:Segoe UI,system-ui,sans-serif;font-size:9px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.3px;padding:2px 4px;background:#f1f5f9;border-radius:3px;border:1px solid #e2e8f0}.mt-over{position:absolute;top:-6px;left:50%;transform:translate(-50%);font-size:10px;width:100%;text-align:center;color:#64748b}.mt-under{position:absolute;bottom:-5px;left:50%;transform:translate(-50%);font-size:10px;color:#64748b}.mt-editor{flex:1;min-height:100px;background:#fff;border-top:1px solid #999}.mt-editor__field{min-height:100px;padding:2px;background:#fff}.mt-editor__field math-field{--keyboard-zindex: -1 !important;--virtual-keyboard-toggle-display: none !important}.mt-editor__field:focus-within{outline:none}.mt-latex-bar{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#eef0f2;border-top:1px solid #ccc;font-size:10px;min-height:22px}.mt-latex-bar__label{font-weight:700;color:#777;font-family:Segoe UI,system-ui,sans-serif;flex-shrink:0;font-size:10px}.mt-latex-bar__code{font-family:Consolas,Fira Code,monospace;font-size:10px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-actions{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;background:linear-gradient(180deg,#e4e8ec,#d8dce0);border-top:1px solid #bbb;gap:8px}.mt-actions__hint{font-size:10px;color:#777;font-family:Segoe UI,system-ui,sans-serif}.mt-actions__hint kbd{display:inline-block;padding:1px 4px;border:1px solid #bbb;border-radius:3px;background:#f5f5f5;font-size:9px;font-family:inherit;box-shadow:0 1px #ccc}.mt-actions__buttons{display:flex;gap:6px;flex-shrink:0}.mt-actions__cancel{padding:5px 14px;border:1px solid #aaa;border-radius:4px;background:linear-gradient(180deg,#f5f5f5,#e0e0e0);color:#444;cursor:pointer;font-size:12px;font-family:Segoe UI,system-ui,sans-serif;font-weight:500;transition:all .1s}.mt-actions__cancel:hover{background:linear-gradient(180deg,#fff,#eee);border-color:#888}.mt-actions__insert{padding:5px 16px;border:1px solid #2a5a94;border-radius:4px;background:linear-gradient(180deg,#4a8ad4,#2d6bb0);color:#fff;cursor:pointer;font-size:12px;font-family:Segoe UI,system-ui,sans-serif;font-weight:600;transition:all .1s;text-shadow:0 1px 1px rgba(0,0,0,.2)}.mt-actions__insert:hover{background:linear-gradient(180deg,#5a9ae4,#3d7bc0)}.mt-actions__insert:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 700px){.mt-dialog{width:98vw;max-height:95vh;border-radius:4px}.mt-tab{min-width:36px;padding:3px 5px;font-size:11px}.mt-grid__btn{min-width:32px;height:30px;font-size:13px;padding:2px 4px}.mt-titlebar__title{font-size:11px}.mt-actions__hint{display:none}}.mt-format-bar{display:flex;align-items:center;padding:4px 6px;background:#f0f0f0;border-bottom:1px solid #bfbfbf;gap:6px}.mt-font-select{height:22px;border:1px solid #888;border-radius:2px;padding:0 4px;font-size:11px;width:140px;background:#fff;cursor:pointer;outline:none}.mt-font-select:hover{border-color:#555}.mt-format-group{display:flex;align-items:center;gap:1px;margin-right:4px;padding-right:4px;border-right:1px solid #ccc}.mt-format-group:last-child{border-right:none;margin-right:0;padding-right:0}.mt-format-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:2px;background:transparent;cursor:pointer;font-family:serif;font-size:13px;color:#333}.mt-format-btn:hover{background:#e0e0e0;border:1px solid #bbb}.mt-format-btn b{font-weight:700}.mt-format-btn i{font-style:italic}.mt-format-btn u{text-decoration:underline}.mt-color-picker{width:22px;height:22px;padding:0;border:1px solid #ccc;background:#fff;cursor:pointer}.mt-txt-icon{font-size:10px;font-weight:700;font-family:sans-serif;color:#444}.mtx-image-edit-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;z-index:9999;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.mtx-image-edit-dialog__header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e2e8f0}.mtx-image-edit-dialog__header h3{margin:0;font-size:1.25rem;color:#1e293b}.mtx-image-edit-dialog__close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#64748b;padding:4px;border-radius:4px;transition:all .15s ease}.mtx-image-edit-dialog__close:hover{background:#f1f5f9;color:#1e293b}.mtx-image-edit-dialog__body{padding:20px}.mtx-image-edit-dialog__section{margin-bottom:24px}.mtx-image-edit-dialog__section h4{margin:0 0 12px;font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.mtx-image-edit-dialog__row{margin-bottom:12px}.mtx-image-edit-dialog__row label{display:block;margin-bottom:6px;font-size:.875rem;color:#334155;font-weight:500}.mtx-image-edit-dialog__row input[type=text],.mtx-image-edit-dialog__row textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}.mtx-image-edit-dialog__row input[type=text]:focus,.mtx-image-edit-dialog__row textarea:focus{outline:none;border-color:var(--mtx-primary);box-shadow:0 0 0 3px #3b82f61a}.mtx-image-edit-dialog__checkbox-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.mtx-image-edit-dialog__checkbox-row input[type=checkbox]{width:16px;height:16px;cursor:pointer}.mtx-image-edit-dialog__checkbox-row label{margin:0;cursor:pointer;font-size:.875rem;color:#334155}.mtx-image-edit-dialog__size-presets{display:flex;gap:8px;margin-top:8px}.mtx-btn-sm{padding:6px 12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .15s ease}.mtx-btn-sm:hover{background:#e2e8f0;border-color:#cbd5e1}.mtx-image-edit-dialog__alignment-options{display:flex;gap:8px;flex-wrap:wrap}.mtx-align-btn{flex:1;min-width:60px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s ease}.mtx-align-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.mtx-align-btn.is-active{background:#eff6ff;border-color:var(--mtx-primary)}.mtx-align-btn svg{width:24px;height:24px;color:#475569}.mtx-align-btn.is-active svg{color:var(--mtx-primary)}.mtx-align-btn span{font-size:.75rem;color:#64748b;font-weight:500}.mtx-image-edit-dialog__hint{margin-top:12px;padding:10px 12px;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px}.mtx-image-edit-dialog__hint p{margin:0;font-size:.8125rem;color:#92400e}.mtx-image-edit-dialog__footer{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid #e2e8f0;background:#f8fafc;border-radius:0 0 12px 12px}.mtx-image-edit-dialog__btn{padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.mtx-image-edit-dialog__btn--reset{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.mtx-image-edit-dialog__btn--reset:hover{background:#e2e8f0}.mtx-image-edit-dialog__actions{display:flex;gap:8px}.mtx-image-edit-dialog__btn--cancel{background:#fff;color:#475569;border-color:#cbd5e1}.mtx-image-edit-dialog__btn--cancel:hover{background:#f8fafc}.mtx-image-edit-dialog__btn--apply{background:var(--mtx-primary);color:#fff;border-color:var(--mtx-primary)}.mtx-image-edit-dialog__btn--apply:hover{background:var(--mtx-primary-dark, #2563eb)}.mtx-dialog-overlay{position:fixed;inset:0;background:#00000080;z-index:9998;backdrop-filter:blur(2px)}.mtx-image-resize-handles{position:absolute;inset:0;pointer-events:none;display:none;z-index:10}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--selected .mtx-image-resize-handles,.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper.mtx-image--selected .mtx-image-resize-handles{display:block;pointer-events:auto}.mtx-resize-handle{position:absolute;width:12px;height:12px;background:var(--mtx-primary, #3b82f6);border:2px solid white;border-radius:50%;cursor:pointer;pointer-events:auto;box-shadow:0 2px 4px #0000004d;transition:transform .15s ease,background .15s ease;z-index:11}.mtx-resize-handle:hover{transform:scale(1.4);background:#2563eb}.mtx-resize-handle--nw{top:-6px;left:-6px;cursor:nwse-resize}.mtx-resize-handle--ne{top:-6px;right:-6px;cursor:nesw-resize}.mtx-resize-handle--sw{bottom:-6px;left:-6px;cursor:nesw-resize}.mtx-resize-handle--se{bottom:-6px;right:-6px;cursor:nwse-resize}.mtx-context-menu-backdrop{position:fixed;inset:0;z-index:99998;background:transparent}.mtx-image-context-menu{position:fixed;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003,0 0 0 1px #0000000d;z-index:99999;min-width:220px;max-width:280px;padding:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:mtxContextMenuFadeIn .15s ease}@keyframes mtxContextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mtx-context-menu-section{padding:4px 0}.mtx-context-menu-label{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:8px 12px 4px}.mtx-context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;color:#334155;text-align:left;transition:background .15s ease,color .15s ease}.mtx-context-menu-item:hover{background:#f1f5f9;color:#1e293b}.mtx-context-menu-item svg{flex-shrink:0;width:16px;height:16px;color:#64748b}.mtx-context-menu-item:hover svg{color:#3b82f6}.mtx-context-menu-item--danger{color:#dc2626}.mtx-context-menu-item--danger:hover{background:#fef2f2;color:#dc2626}.mtx-context-menu-item--danger:hover svg{color:#dc2626}.mtx-context-menu-divider{height:1px;background:#e2e8f0;margin:8px 0}.mtx-dialog-overlay{position:fixed;inset:0;background:#0006;z-index:9998;backdrop-filter:blur(2px)}.mtx-image-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(480px,90vw);max-height:85vh;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;z-index:9999;display:flex;flex-direction:column;overflow:hidden}.mtx-image-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.mtx-image-dialog__header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b}.mtx-image-dialog__close{background:none;border:none;font-size:18px;cursor:pointer;color:#94a3b8;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s}.mtx-image-dialog__close:hover{background:#f1f5f9;color:#334155}.mtx-image-dialog__tabs{display:flex;border-bottom:1px solid #e2e8f0;padding:0 20px;gap:4px}.mtx-image-dialog__tab{background:none;border:none;padding:10px 16px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;margin-bottom:-1px}.mtx-image-dialog__tab:hover{color:#334155}.mtx-image-dialog__tab.is-active{color:#3b82f6;border-bottom-color:#3b82f6}.mtx-image-dialog__body{padding:20px;overflow-y:auto;flex:1}.mtx-image-dialog__dropzone{border:2px dashed #cbd5e1;border-radius:10px;padding:32px;text-align:center;cursor:pointer;transition:all .2s;min-height:160px;display:flex;align-items:center;justify-content:center}.mtx-image-dialog__dropzone:hover{border-color:#3b82f6;background:#eff6ff}.mtx-image-dialog__dropzone.is-dragging{border-color:#3b82f6;background:#dbeafe;border-style:solid}.mtx-image-dialog__placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#94a3b8}.mtx-image-dialog__placeholder svg{margin-bottom:4px;opacity:.5}.mtx-image-dialog__placeholder p{margin:0;font-size:14px;color:#475569}.mtx-image-dialog__placeholder span{font-size:12px;color:#94a3b8}.mtx-image-dialog__uploading{display:flex;flex-direction:column;align-items:center;gap:12px;color:#3b82f6}.mtx-image-dialog__uploading p{margin:0;font-size:14px}.mtx-image-dialog__preview img,.mtx-image-dialog__url-preview img{max-width:100%;max-height:200px;border-radius:8px;object-fit:contain}.mtx-image-dialog__url-form{display:flex;flex-direction:column;gap:8px}.mtx-image-dialog__url-form label,.mtx-image-dialog__alt label{font-size:13px;font-weight:500;color:#475569}.mtx-image-dialog__url-row{display:flex;gap:8px}.mtx-image-dialog__url-row input,.mtx-image-dialog__alt input{flex:1;padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;outline:none;transition:border-color .15s}.mtx-image-dialog__url-row input:focus,.mtx-image-dialog__alt input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.mtx-image-dialog__url-preview{margin-top:12px;text-align:center;padding:12px;background:#f8fafc;border-radius:8px}.mtx-image-dialog__alt{margin-top:16px;display:flex;flex-direction:column;gap:6px}.mtx-image-dialog__error{margin-top:12px;padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px}.mtx-image-dialog__footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #e2e8f0}.mtx-image-dialog__btn{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;border:none}.mtx-image-dialog__btn--cancel{background:#f1f5f9;color:#475569}.mtx-image-dialog__btn--cancel:hover{background:#e2e8f0}.mtx-image-dialog__btn--insert{background:#3b82f6;color:#fff}.mtx-image-dialog__btn--insert:hover{background:#2563eb}.mtx-image-dialog__btn--insert:disabled{opacity:.5;cursor:not-allowed}
1
+ .mtx-graph-component{border:1px solid var(--mtx-border, #e2e8f0);border-radius:12px;padding:16px;background:#fff;display:inline-block;margin:16px 0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-width:100%}.mtx-graph-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.mtx-graph-input{width:100%;padding:10px 14px;border:1px solid #cbd5e1;border-radius:8px;font-family:JetBrains Mono,Consolas,monospace;font-size:14px;transition:all .2s ease;background:#f8fafc}.mtx-graph-input:focus{border-color:#3b82f6;background:#fff;outline:none;box-shadow:0 0 0 3px #3b82f626}.mtx-graph-domains{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.mtx-graph-domain-group{display:flex;align-items:center;gap:8px;background:#f1f5f9;padding:6px 10px;border-radius:6px;border:1px solid #e2e8f0}.mtx-graph-domain-label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-right:4px}.mtx-graph-domain-separator{font-size:12px;color:#94a3b8}.mtx-graph-domain-input{width:60px;padding:4px 8px;border:1px solid #cbd5e1;border-radius:4px;font-size:13px;text-align:center;transition:border-color .2s}.mtx-graph-domain-input:focus{border-color:#3b82f6;outline:none}.mtx-graph-render text{font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;fill:#64748b}.mtx-graph-render .domain{stroke:#cbd5e1}.mtx-graph-render{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.mtx-matrix-grid-selector{display:flex;flex-direction:column;align-items:center;padding:10px;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;margin-bottom:10px;width:fit-content}.mtx-matrix-grid-label{font-size:12px;margin-bottom:5px;font-weight:600;color:#555;min-height:1.5em}.mtx-matrix-grid-squares{display:flex;flex-direction:column;gap:2px}.mtx-matrix-grid-row{display:flex;gap:2px}.mtx-matrix-grid-cell{width:12px;height:12px;background:#fff;border:1px solid #ccc;cursor:pointer}.mtx-matrix-grid-cell.is-active{background:#3b82f6;border-color:#2563eb}:root{--mtx-primary: #3b82f6;--mtx-primary-hover: #2563eb;--mtx-primary-light: #eff6ff;--mtx-bg: #ffffff;--mtx-toolbar-bg: #fafbfc;--mtx-border: #d4d4d8;--mtx-hover: #f4f4f5;--mtx-text: #18181b;--mtx-text-secondary: #52525b;--mtx-text-muted: #a1a1aa;--mtx-success: #22c55e;--mtx-warning: #f59e0b;--mtx-danger: #ef4444;--mtx-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mtx-font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--mtx-min-height: 200px;--mtx-max-height: none;--mtx-radius: 6px;--mtx-radius-sm: 4px}.mtx-editor{position:relative;border:1px solid var(--mtx-border);border-radius:6px;background:var(--mtx-bg);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;overflow:hidden;font-family:var(--mtx-font);transition:box-shadow .15s ease,border-color .15s ease}.mtx-editor:focus-within{border-color:var(--mtx-primary);box-shadow:0 0 0 2px #3b82f626,0 1px 3px #0000000f}.mtx-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:1px;padding:4px 6px;background:var(--mtx-toolbar-bg);border-bottom:1px solid var(--mtx-border);user-select:none;min-height:40px}.mtx-toolbar-group{display:flex;align-items:center;gap:1px}.mtx-toolbar-mode-switch{display:inline-flex;align-items:center;padding:2px;border:1px solid var(--mtx-border);border-radius:999px;background:#fff;gap:2px}.mtx-toolbar-mode-btn{border:none;background:transparent;color:var(--mtx-text-secondary);font-size:12px;font-weight:600;line-height:1;padding:7px 10px;border-radius:999px;cursor:pointer;transition:all .12s ease}.mtx-toolbar-mode-btn:hover{background:var(--mtx-hover);color:var(--mtx-text)}.mtx-toolbar-mode-btn.is-active{background:var(--mtx-primary-light);color:var(--mtx-primary)}.mtx-toolbar-divider{width:1px;height:20px;background:var(--mtx-border);margin:0 4px;flex-shrink:0}.mtx-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;transition:all .12s ease;position:relative}.mtx-toolbar-btn:hover{background:var(--mtx-hover);color:var(--mtx-text)}.mtx-toolbar-btn.is-active{background:var(--mtx-primary-light);color:var(--mtx-primary)}.mtx-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.mtx-toolbar-btn:disabled:hover{background:transparent}.mtx-toolbar-btn:active:not(:disabled){transform:scale(.96)}.mtx-toolbar-btn[data-tooltip]{position:relative}.mtx-toolbar-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);padding:6px 10px;background:#1e293b;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;border-radius:6px;opacity:0;visibility:hidden;transition:all .15s ease;pointer-events:none;z-index:1000;box-shadow:0 4px 12px #00000026}.mtx-toolbar-btn[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%) translateY(4px);border-width:4px;border-style:solid;border-color:#1e293b transparent transparent transparent;opacity:0;visibility:hidden;transition:all .15s ease;pointer-events:none;z-index:1000}.mtx-toolbar-btn[data-tooltip]:hover:after,.mtx-toolbar-btn[data-tooltip]:hover:before{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.mtx-toolbar-btn:focus-visible,.mtx-toolbar-mode-btn:focus-visible,.mtx-toolbar-select:focus-visible,.mtx-math-toolbar__action-btn:focus-visible,.mtx-symbol-palette__close:focus-visible,.mtx-symbol-palette__item:focus-visible,.mtx-template-card:focus-visible,.mtx-modal-close:focus-visible,.mtx-btn:focus-visible,.mtx-width-unit:focus-visible,.mtx-color-picker-input:focus-visible,.mtx-align-btn:focus-visible,.mtx-btn-sm:focus-visible,.mtx-image-dialog__tab:focus-visible,.mtx-image-dialog__close:focus-visible,.mtx-image-edit-dialog__btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.mtx-toolbar-btn--wide{width:34px}.mtx-toolbar-btn--accent{color:var(--mtx-primary)}.mtx-toolbar-btn--accent:hover{background:var(--mtx-primary-light);color:var(--mtx-primary)}.mtx-toolbar-btn--accent-secondary{color:#8b5cf6}.mtx-toolbar-btn--accent-secondary:hover{background:#f5f3ff;color:#7c3aed}.mtx-toolbar-btn svg{flex-shrink:0}.mtx-toolbar-select{height:30px;padding:0 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--mtx-text-secondary);font-size:13px;font-family:inherit;cursor:pointer;transition:all .12s ease;outline:none}.mtx-toolbar-select:hover{background:var(--mtx-hover);color:var(--mtx-text)}.mtx-toolbar-select:focus{background:#fff;border-color:var(--mtx-primary);color:var(--mtx-text)}.mtx-font-select{min-width:130px}.mtx-font-size-select{min-width:70px}.mtx-color-btn{padding:4px}.mtx-color-picker{width:0;height:0;opacity:0;position:absolute;pointer-events:none}.mtx-highlight{background-color:#fef08a;padding:2px 4px;border-radius:2px;transition:background-color .15s ease}p[data-indent],h1[data-indent],h2[data-indent],h3[data-indent],h4[data-indent],p.tt-indent,h1.tt-indent,h2.tt-indent,h3.tt-indent,h4.tt-indent,li[data-indent]{margin-left:0}p[data-indent="1"],h1[data-indent="1"],h2[data-indent="1"],h3[data-indent="1"],h4[data-indent="1"],li[data-indent="1"]{margin-left:24px}p[data-indent="2"],h1[data-indent="2"],h2[data-indent="2"],h3[data-indent="2"],h4[data-indent="2"],p.tt-indent-2,h1.tt-indent-2,h2.tt-indent-2,h3.tt-indent-2,h4.tt-indent-2,li.tt-indent-2,li[data-indent="2"]{margin-left:48px}p[data-indent="3"],h1[data-indent="3"],h2[data-indent="3"],h3[data-indent="3"],h4[data-indent="3"],p.tt-indent-3,h1.tt-indent-3,h2.tt-indent-3,h3.tt-indent-3,h4.tt-indent-3,li.tt-indent-3,li[data-indent="3"]{margin-left:72px}p[data-indent="4"],h1[data-indent="4"],h2[data-indent="4"],h3[data-indent="4"],h4[data-indent="4"],li[data-indent="4"]{margin-left:96px}p[data-indent="5"],h1[data-indent="5"],h2[data-indent="5"],h3[data-indent="5"],h4[data-indent="5"],li[data-indent="5"]{margin-left:120px}p[data-indent="6"],h1[data-indent="6"],h2[data-indent="6"],h3[data-indent="6"],h4[data-indent="6"],li[data-indent="6"]{margin-left:144px}p[data-indent="7"],h1[data-indent="7"],h2[data-indent="7"],h3[data-indent="7"],h4[data-indent="7"],li[data-indent="7"]{margin-left:168px}p[data-indent="8"],h1[data-indent="8"],h2[data-indent="8"],h3[data-indent="8"],h4[data-indent="8"],li[data-indent="8"]{margin-left:192px}p[data-indent="9"],h1[data-indent="9"],h2[data-indent="9"],h3[data-indent="9"],h4[data-indent="9"],li[data-indent="9"]{margin-left:216px}p[data-indent="10"],h1[data-indent="10"],h2[data-indent="10"],h3[data-indent="10"],h4[data-indent="10"],li[data-indent="10"]{margin-left:240px}p[data-indent],p.tt-indent{margin-left:0;text-indent:0}p[data-indent="1"]{margin-left:0;text-indent:24px}p[data-indent="2"],p.tt-indent-2{margin-left:0;text-indent:48px}p[data-indent="3"],p.tt-indent-3{margin-left:0;text-indent:72px}p[data-indent="4"]{margin-left:0;text-indent:96px}p[data-indent="5"]{margin-left:0;text-indent:120px}p[data-indent="6"]{margin-left:0;text-indent:144px}p[data-indent="7"]{margin-left:0;text-indent:168px}p[data-indent="8"]{margin-left:0;text-indent:192px}p[data-indent="9"]{margin-left:0;text-indent:216px}p[data-indent="10"]{margin-left:0;text-indent:240px}.mtx-task-list{list-style:none;padding-left:0;margin:.6em 0}.mtx-task-item{display:flex;align-items:flex-start;gap:8px;margin:.3em 0}.mtx-task-item>label{display:inline-flex;align-items:center;padding-top:2px}.mtx-task-item>div{flex:1;min-width:0}.mtx-task-item input[type=checkbox]{width:14px;height:14px}.mtx-word-count{display:flex;gap:16px;padding:6px 12px;font-size:11px;color:#64748b;border-top:1px solid #e2e8f0;background:#f8fafc;font-family:Segoe UI,system-ui,sans-serif}.mtx-word-count span{font-weight:500}.mtx-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:mtx-fade-in .15s ease}@keyframes mtx-fade-in{0%{opacity:0}to{opacity:1}}.mtx-modal-dialog{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;min-width:400px;max-width:90vw;max-height:90vh;overflow:hidden;animation:mtx-slide-up .2s ease}@keyframes mtx-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mtx-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.mtx-modal-title{margin:0;font-size:16px;font-weight:600;color:#1e293b;font-family:Segoe UI,system-ui,sans-serif}.mtx-modal-close{width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.mtx-modal-close:hover{background:#e2e8f0;color:#1e293b}.mtx-modal-dialog:focus-visible,.mtx-image-dialog:focus-visible,.mtx-image-edit-dialog:focus-visible{outline:2px solid rgba(37,99,235,.6);outline-offset:2px}.mtx-modal-body{padding:20px;max-height:calc(90vh - 140px);overflow-y:auto}.mtx-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #e2e8f0;background:#f8fafc}.mtx-form-group{margin-bottom:16px}.mtx-form-group:last-child{margin-bottom:0}.mtx-form-label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#475569;font-family:Segoe UI,system-ui,sans-serif}.mtx-required{color:#ef4444}.mtx-form-hint{font-weight:400;color:#94a3b8;font-size:11px;margin-left:4px}.mtx-form-input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;font-family:inherit;color:#1e293b;background:#fff;transition:all .12s ease;outline:none}.mtx-form-input:hover{border-color:#94a3b8}.mtx-form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.mtx-form-input::placeholder{color:#94a3b8}.mtx-input-error{border-color:#ef4444!important}.mtx-input-error:focus{box-shadow:0 0 0 3px #ef44441a!important}.mtx-form-error{margin-top:6px;font-size:12px;color:#ef4444;font-family:Segoe UI,system-ui,sans-serif}.mtx-form-checkbox{margin-top:8px}.mtx-checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569;cursor:pointer;user-select:none}.mtx-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.mtx-btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;font-family:Segoe UI,system-ui,sans-serif;cursor:pointer;transition:all .12s ease;outline:none}.mtx-btn-primary{background:#3b82f6;color:#fff}.mtx-btn-primary:hover{background:#2563eb;box-shadow:0 2px 8px #3b82f64d}.mtx-btn-primary:active{transform:scale(.98);box-shadow:0 1px 4px #3b82f633}.mtx-btn-secondary{background:#e2e8f0;color:#475569}.mtx-btn-secondary:hover{background:#cbd5e1;color:#1e293b}.mtx-btn-secondary:active{transform:scale(.98)}.mtx-btn-danger{background:#fee2e2;color:#dc2626}.mtx-btn-danger:hover{background:#fecaca;color:#b91c1c}.mtx-btn-danger:active{transform:scale(.98)}.mtx-link-dialog{min-width:450px}.mtx-insert-table-dialog{min-width:400px}.mtx-table-templates-dialog{min-width:600px;max-width:800px}.mtx-templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;max-height:400px;overflow-y:auto;padding:8px}.mtx-template-dialog-hint{margin:0 0 12px;font-size:13px;color:#64748b}.mtx-template-card{appearance:none;width:100%;padding:0;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s ease;overflow:hidden;background:#fff;text-align:left}.mtx-template-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633;transform:translateY(-2px)}.mtx-template-preview{padding:12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.mtx-template-table{display:table;width:100%;border-collapse:collapse;font-size:8px}.mtx-template-row{display:table-row}.mtx-template-cell{display:table-cell;width:33%;height:20px;background:#fff;padding:4px}.mtx-template-header{background:#e2e8f0}.mtx-template-light .mtx-template-header{background:#f1f5f9}.mtx-template-dark .mtx-template-header{background:#1e293b;color:#fff}.mtx-template-blue .mtx-template-header{background:#3b82f6;color:#fff}.mtx-template-striped .mtx-template-row:nth-child(2n) .mtx-template-cell{background:#f8fafc}.mtx-template-minimal .mtx-template-cell{border:none;border-bottom:1px solid #cbd5e1}.mtx-template-info{padding:12px}.mtx-template-name{margin:0 0 4px;font-size:14px;font-weight:600;color:#1e293b}.mtx-template-description{margin:0;font-size:12px;color:#64748b}.mtx-number-input-wrapper{display:flex;align-items:center;gap:0}.mtx-number-btn{width:36px;height:38px;border:1px solid #cbd5e1;background:#f8fafc;color:#475569;font-size:18px;font-weight:600;cursor:pointer;transition:all .12s ease;display:flex;align-items:center;justify-content:center}.mtx-number-btn:first-child{border-radius:6px 0 0 6px;border-right:none}.mtx-number-btn:last-child{border-radius:0 6px 6px 0;border-left:none}.mtx-number-btn:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.mtx-number-btn:disabled{opacity:.4;cursor:not-allowed}.mtx-number-input{width:60px!important;text-align:center;border-radius:0!important;border-left:none!important;border-right:none!important;-moz-appearance:textfield}.mtx-number-input::-webkit-outer-spin-button,.mtx-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mtx-table-preview{margin-top:16px;padding:16px;background:#f1f5f9;border-radius:6px}.mtx-table-preview-label{font-size:12px;font-weight:600;color:#64748b;margin-bottom:12px;text-align:center}.mtx-table-preview-grid{display:grid;gap:2px;max-width:200px;margin:0 auto}.mtx-preview-cell{aspect-ratio:1;background:#cbd5e1;border:1px solid #94a3b8;border-radius:2px}.mtx-preview-header{background:#3b82f6;border-color:#2563eb}.mtx-cell-properties-dialog{min-width:400px}.mtx-width-input-wrapper{display:flex;gap:8px}.mtx-width-input{flex:1}.mtx-width-unit{width:70px;padding:10px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;outline:none}.mtx-width-unit:hover{border-color:#94a3b8}.mtx-width-unit:focus{border-color:#3b82f6}.mtx-color-input-wrapper{display:flex;gap:8px}.mtx-color-picker-input{width:50px;height:38px;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;background:#fff}.mtx-color-text-input{flex:1}.mtx-align-buttons{display:flex;gap:4px}.mtx-align-btn{flex:1;height:40px;border:1px solid #cbd5e1;background:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .12s ease}.mtx-align-btn:hover{background:#f8fafc;color:#1e293b;border-color:#94a3b8}.mtx-align-btn.is-active{background:#3b82f6;border-color:#2563eb;color:#fff}.mtx-table-menu-overlay{position:fixed;inset:0;width:100vw;height:100vh;border:none;padding:0;z-index:1000;background:transparent;cursor:default}.mtx-table-menu-dropdown{position:fixed;z-index:1000;left:var(--mtx-dropdown-x, 0);top:var(--mtx-dropdown-y, 0)}.mtx-toolbar-btn--dropdown{width:20px;padding:0 2px}.mtx-toolbar-btn--dropdown svg{width:12px;height:12px}.mtx-table-menu{position:absolute;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;min-width:220px;padding:8px 0;animation:mtx-slide-down .15s ease;overflow:hidden}@keyframes mtx-slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mtx-table-menu-group{padding:4px 0;border-bottom:1px solid #e2e8f0}.mtx-table-menu-label{padding:6px 16px 4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.mtx-table-menu-group:last-child{border-bottom:none}.mtx-table-menu-item{width:100%;padding:10px 16px;border:none;background:transparent;display:flex;align-items:center;gap:12px;font-size:13px;color:#475569;cursor:pointer;transition:all .12s ease;text-align:left}.mtx-table-menu-item:hover{background:#f1f5f9;color:#1e293b}.mtx-table-menu-item.is-active{background:#eff6ff;color:#1d4ed8;font-weight:600}.mtx-table-menu-item--danger{color:#dc2626}.mtx-table-menu-item--danger:hover{background:#fee2e2;color:#b91c1c}.mtx-table-menu-icon{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center}.mtx-table{border-collapse:collapse;width:100%;margin:12px 0;table-layout:fixed;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #dbe4ef}.mtx-table td,.mtx-table th{border:1px solid #cbd5e1;padding:8px 12px;min-width:50px;position:relative;vertical-align:top;transition:background-color .12s ease,box-shadow .12s ease}.mtx-table th{background:#f1f5f9;font-weight:600;text-align:left}.mtx-table td:first-child,.mtx-table th:first-child{border-left-width:1px}.mtx-table tr:first-child td,.mtx-table tr:first-child th{border-top-width:1px}.ProseMirror .selectedCell{background:#3b82f626!important;border-color:#3b82f6!important;border-style:dashed!important;box-shadow:inset 0 0 0 1px #3b82f64d!important}.mtx-table.mtx-table--plain{box-shadow:0 0 0 1px #dbe4ef}.mtx-table.mtx-table--light th{background:#f8fafc;color:#334155}.mtx-table.mtx-table--dark{box-shadow:0 0 0 1px #1e293b}.mtx-table.mtx-table--dark th{background:#1e293b;color:#f8fafc;border-color:#334155}.mtx-table.mtx-table--blue{box-shadow:0 0 0 1px #93c5fd}.mtx-table.mtx-table--blue th{background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff;border-color:#2563eb}.mtx-table.mtx-table--minimal{box-shadow:none}.mtx-table.mtx-table--minimal td,.mtx-table.mtx-table--minimal th{border-left:none;border-right:none}.ProseMirror table,.ProseMirror table td,.ProseMirror table th{position:relative}.ProseMirror table td:not(:last-child):after,.ProseMirror table th:not(:last-child):after{content:"";position:absolute;right:-1px;top:0;bottom:0;width:3px;background:#3b82f64d;cursor:col-resize;z-index:5;transition:background .15s ease,width .15s ease;pointer-events:auto}.ProseMirror table td:not(:last-child):hover:after,.ProseMirror table th:not(:last-child):hover:after{background:#3b82f6;width:2px}.ProseMirror table:focus-within td:not(:last-child):after,.ProseMirror table:focus-within th:not(:last-child):after{background:#3b82f640}.ProseMirror table:focus-within td:not(:last-child):hover:after,.ProseMirror table:focus-within th:not(:last-child):hover:after{background:#3b82f6;width:2px}.ProseMirror table .column-resize-handle{position:absolute;top:0;bottom:0;width:12px;background:transparent;cursor:col-resize;z-index:10;transition:background .15s ease;transform:translate(-50%)}.ProseMirror table .column-resize-handle:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:#3b82f666;transform:translate(-50%);transition:all .15s ease;border-radius:1px}.ProseMirror table .column-resize-handle:hover{background:#3b82f60d}.ProseMirror table .column-resize-handle:hover:after{background:#3b82f6;width:3px}.ProseMirror table .column-resize-handle.is-active{background:#3b82f61a}.ProseMirror table .column-resize-handle.is-active:after{background:#2563eb;width:3px}.mtx-table-figure{display:inline-block;position:relative;max-width:100%}.mtx-table-figure.mtx-table--selected{outline:2px solid #3b82f6;outline-offset:2px}.ProseMirror table[style*="margin-left: auto"][style*="margin-right: auto"],.ProseMirror .tableWrapper[data-align=center]>table,.ProseMirror .tableWrapper[style*="margin-left: auto"][style*="margin-right: auto"]>table{margin-left:auto;margin-right:auto}.ProseMirror table[style*="margin-left: auto"]:not([style*="margin-right: auto"]),.ProseMirror .tableWrapper[data-align=right]>table,.ProseMirror .tableWrapper[style*="margin-left: auto"]:not([style*="margin-right: auto"])>table{margin-left:auto;margin-right:0}.mtx-table-align-left{display:block;text-align:left;margin-left:0;margin-right:auto}.mtx-table-align-center{display:block;text-align:center;margin-left:auto;margin-right:auto}.mtx-table-align-right{display:block;text-align:right;margin-left:auto;margin-right:0}.ProseMirror .tableWrapper[data-align=center]{margin-left:auto;margin-right:auto}.ProseMirror .tableWrapper[data-align=right]{margin-left:auto;margin-right:0}.ProseMirror .tableWrapper[data-align=left]{margin-left:0;margin-right:auto}.mtx-table-wrapper{position:relative;display:inline-block;max-width:100%}.mtx-table-resize-handles{position:absolute;inset:0;pointer-events:none;z-index:100}.mtx-table-resize-overlay{position:fixed;inset:0;z-index:9999;cursor:inherit}.mtx-table-resize-handle{position:absolute;z-index:20;pointer-events:auto;opacity:0;transition:opacity .15s ease,background .15s ease}.mtx-table--selected .mtx-table-resize-handle{opacity:1}.mtx-table-resize-handle--column{top:0;width:8px;height:100%;background:#3b82f626;cursor:col-resize;transform:translate(-50%);border-radius:2px}.mtx-table-resize-handle--column:hover,.mtx-table-resize-handle--column.is-active{background:#3b82f6;width:4px}.mtx-table-resize-handle--row{left:0;width:100%;height:8px;background:#3b82f626;cursor:row-resize;transform:translateY(-50%);border-radius:2px}.mtx-table-resize-handle--row:hover,.mtx-table-resize-handle--row.is-active{background:#3b82f6;height:4px}.mtx-table-resize-handle--corner{bottom:-8px;right:-8px;width:14px;height:14px;background:#3b82f6;border:2px solid white;border-radius:50%;cursor:nwse-resize;box-shadow:0 2px 4px #0003;transition:opacity .15s ease,transform .15s ease,background .15s ease}.mtx-table--selected .mtx-table-resize-handle--corner{opacity:1}.mtx-table-resize-handle--corner:hover{transform:scale(1.2);background:#2563eb}@media (max-width: 640px){.mtx-modal-dialog{min-width:calc(100vw - 32px);max-width:calc(100vw - 32px)}.mtx-link-dialog,.mtx-insert-table-dialog,.mtx-cell-properties-dialog{min-width:calc(100vw - 32px)}.mtx-modal-footer{flex-wrap:wrap}.mtx-btn{flex:1;min-width:100px}.mtx-table-menu{left:16px!important;right:16px!important;min-width:auto!important}}.mtx-math-toolbar{display:flex;align-items:center;gap:4px;padding:3px 6px;background:#f5f5f5;border-bottom:1px solid #ccc;user-select:none;min-height:36px}.mtx-math-toolbar__label{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:#555;text-transform:uppercase;padding:0 6px;height:24px;background:#e0e0e0;border:1px solid #ccc;border-radius:3px;margin-right:4px}.mtx-math-toolbar__search-wrap{display:inline-flex;align-items:center;flex-shrink:0}.mtx-math-toolbar__search{width:140px;height:26px;padding:0 10px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:12px;outline:none}.mtx-math-toolbar__search::placeholder{color:#94a3b8}.mtx-math-toolbar__search:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa2e}.mtx-math-toolbar__buttons{display:flex;align-items:center;gap:1px;flex-wrap:nowrap;overflow-x:auto;flex:1;min-width:0;padding-bottom:2px}.mtx-math-toolbar__section{display:inline-flex;align-items:center;gap:2px;padding-right:6px;margin-right:6px;border-right:1px solid #d6d6d6;flex-shrink:0}.mtx-math-toolbar__section-toggle{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#475569;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;flex-shrink:0}.mtx-math-toolbar__section-toggle:hover{background:#f8fafc;border-color:#94a3b8;color:#1e293b}.mtx-math-toolbar__section-toggle.is-active{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.mtx-math-toolbar__section-toggle svg{transition:transform .15s ease}.mtx-math-toolbar__section-toggle.is-active svg{transform:rotate(180deg)}.mtx-math-toolbar__section:last-child{margin-right:0;padding-right:0;border-right:none}.mtx-math-toolbar__section-label{display:inline-flex;align-items:center;height:22px;padding:0 6px;margin-right:3px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.mtx-math-toolbar__section-divider{width:1px;height:20px;margin:0 3px;background:#cbd5e1;flex-shrink:0}.mtx-math-toolbar__empty{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;color:#64748b;font-size:12px;font-style:italic}.mtx-math-toolbar__buttons::-webkit-scrollbar{height:3px;background:transparent}.mtx-math-toolbar__buttons::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.mtx-math-btn{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 2px;border:1px solid transparent;border-radius:2px;background:transparent;color:#333;cursor:pointer;font-size:13px;font-weight:400;font-family:Times New Roman,serif;transition:all .1s ease}.mtx-math-btn:hover{background:#e8e8e8;border-color:#aaa;color:#000;box-shadow:0 1px 1px #0000001a}.mtx-math-btn:active{background:#d0d0d0;border-color:#888;box-shadow:inset 0 1px 1px #0000001a;transform:scale(.96)}.mtx-math-btn__label{line-height:1}.mtx-math-toolbar__actions{display:flex;align-items:center;gap:4px;margin-left:auto;padding-left:6px;border-left:1px solid #ccc;flex-shrink:0}.mtx-math-toolbar__action-btn{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:1px solid #aaa;border-radius:2px;background:#fff;color:#444;cursor:pointer;font-size:11px;font-weight:600;font-family:Segoe UI,system-ui,sans-serif;transition:all .1s ease}.mtx-math-toolbar__action-btn:hover{background:#f0f0f0;border-color:#888;color:#222}.mtx-symbol-palette{position:absolute;top:100%;right:8px;z-index:100;width:360px;max-height:420px;background:#fff;border:1px solid var(--mtx-border);border-radius:8px;box-shadow:0 10px 40px #0000001f,0 2px 10px #00000014;overflow:hidden;animation:mtx-fadeIn .15s ease}@keyframes mtx-fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mtx-symbol-palette__header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--mtx-border);background:#f9fafb}.mtx-symbol-palette__title{font-size:13px;font-weight:600;color:var(--mtx-text)}.mtx-symbol-palette__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;font-size:16px;line-height:1}.mtx-symbol-palette__close:hover{background:#fee2e2;color:#ef4444}.mtx-symbol-palette__search{display:block;width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--mtx-border);font-size:13px;font-family:var(--mtx-font);background:#fff;outline:none}.mtx-symbol-palette__search:focus{background:#eff6ff}.mtx-symbol-palette__search::placeholder{color:#94a3b8}.mtx-symbol-palette__body{overflow-y:auto;max-height:330px;padding:8px}.mtx-symbol-palette__category{margin-bottom:8px}.mtx-symbol-palette__category-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--mtx-text-secondary);padding:4px 4px 6px}.mtx-symbol-palette__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:2px}.mtx-symbol-palette__item{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--mtx-text);cursor:pointer;font-size:16px;font-family:"Cambria Math",serif;transition:all .1s ease}.mtx-symbol-palette__item:hover{background:var(--mtx-primary-light);border-color:var(--mtx-primary);color:var(--mtx-primary);transform:scale(1.1)}.mtx-content{position:relative}.mtx-content .tiptap{padding:16px 20px;min-height:var(--mtx-min-height, 200px);outline:none;font-size:15px;line-height:1.7;color:var(--mtx-text);white-space:pre-wrap}.mtx-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#94a3b8;font-style:italic;pointer-events:none;float:left;height:0}.mtx-content .tiptap h1{font-size:1.8em;font-weight:700;margin:.6em 0 .4em;color:#0f172a;line-height:1.3;letter-spacing:-.02em}.mtx-content .tiptap h2{font-size:1.4em;font-weight:600;margin:.5em 0 .3em;color:#1e293b;line-height:1.35}.mtx-content .tiptap h3{font-size:1.15em;font-weight:600;margin:.5em 0 .3em;color:#334155;line-height:1.4}.mtx-content .tiptap ul,.mtx-content .tiptap ol{padding-left:24px;margin:.5em 0}.mtx-content .tiptap li{margin:.15em 0}.mtx-content .tiptap li p{margin:0}.mtx-content .tiptap a{color:var(--mtx-primary);text-decoration:underline;text-decoration-color:#3b82f64d;text-underline-offset:2px;cursor:pointer;transition:text-decoration-color .15s}.mtx-content .tiptap a:hover{text-decoration-color:var(--mtx-primary)}.mtx-content .tiptap blockquote{border-left:3px solid var(--mtx-primary);padding:8px 16px;margin:.8em 0;background:#eff6ff;border-radius:0 6px 6px 0;color:#1e40af;font-style:italic}.mtx-content .tiptap p[data-indent],.mtx-content .tiptap h1[data-indent],.mtx-content .tiptap h2[data-indent],.mtx-content .tiptap h3[data-indent],.mtx-content .tiptap h4[data-indent],.mtx-content .tiptap p.tt-indent,.mtx-content .tiptap h1.tt-indent,.mtx-content .tiptap h2.tt-indent,.mtx-content .tiptap h3.tt-indent,.mtx-content .tiptap h4.tt-indent,.mtx-content .tiptap li[data-indent]{position:relative}.mtx-math-btn--recent{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.mtx-math-btn--recent:hover{background:#dbeafe;border-color:#93c5fd}.mtx-content .tiptap p[data-indent="1"],.mtx-content .tiptap h1[data-indent="1"],.mtx-content .tiptap h2[data-indent="1"],.mtx-content .tiptap h3[data-indent="1"],.mtx-content .tiptap h4[data-indent="1"],.mtx-content .tiptap p.tt-indent-1,.mtx-content .tiptap h1.tt-indent-1,.mtx-content .tiptap h2.tt-indent-1,.mtx-content .tiptap h3.tt-indent-1,.mtx-content .tiptap h4.tt-indent-1,.mtx-content .tiptap li.tt-indent-1{margin-left:2em}.mtx-content .tiptap p[data-indent="2"],.mtx-content .tiptap h1[data-indent="2"],.mtx-content .tiptap h2[data-indent="2"],.mtx-content .tiptap h3[data-indent="2"],.mtx-content .tiptap h4[data-indent="2"],.mtx-content .tiptap p.tt-indent-2,.mtx-content .tiptap h1.tt-indent-2,.mtx-content .tiptap h2.tt-indent-2,.mtx-content .tiptap h3.tt-indent-2,.mtx-content .tiptap h4.tt-indent-2,.mtx-content .tiptap li.tt-indent-2{margin-left:4em}.mtx-content .tiptap p[data-indent="3"],.mtx-content .tiptap h1[data-indent="3"],.mtx-content .tiptap h2[data-indent="3"],.mtx-content .tiptap h3[data-indent="3"],.mtx-content .tiptap h4[data-indent="3"],.mtx-content .tiptap p.tt-indent-3,.mtx-content .tiptap h1.tt-indent-3,.mtx-content .tiptap h2.tt-indent-3,.mtx-content .tiptap h3.tt-indent-3,.mtx-content .tiptap h4.tt-indent-3,.mtx-content .tiptap li.tt-indent-3{margin-left:6em}.mtx-content .tiptap p[data-indent="4"],.mtx-content .tiptap h1[data-indent="4"],.mtx-content .tiptap h2[data-indent="4"],.mtx-content .tiptap h3[data-indent="4"],.mtx-content .tiptap h4[data-indent="4"],.mtx-content .tiptap p.tt-indent-4,.mtx-content .tiptap h1.tt-indent-4,.mtx-content .tiptap h2.tt-indent-4,.mtx-content .tiptap h3.tt-indent-4,.mtx-content .tiptap h4.tt-indent-4,.mtx-content .tiptap li.tt-indent-4{margin-left:8em}.mtx-content .tiptap p[data-indent="5"],.mtx-content .tiptap h1[data-indent="5"],.mtx-content .tiptap h2[data-indent="5"],.mtx-content .tiptap h3[data-indent="5"],.mtx-content .tiptap h4[data-indent="5"],.mtx-content .tiptap p.tt-indent-5,.mtx-content .tiptap h1.tt-indent-5,.mtx-content .tiptap h2.tt-indent-5,.mtx-content .tiptap h3.tt-indent-5,.mtx-content .tiptap h4.tt-indent-5,.mtx-content .tiptap li.tt-indent-5{margin-left:10em}.mtx-content .tiptap p[data-indent="6"],.mtx-content .tiptap h1[data-indent="6"],.mtx-content .tiptap h2[data-indent="6"],.mtx-content .tiptap h3[data-indent="6"],.mtx-content .tiptap h4[data-indent="6"],.mtx-content .tiptap p.tt-indent-6,.mtx-content .tiptap h1.tt-indent-6,.mtx-content .tiptap h2.tt-indent-6,.mtx-content .tiptap h3.tt-indent-6,.mtx-content .tiptap h4.tt-indent-6,.mtx-content .tiptap li.tt-indent-6{margin-left:12em}.mtx-content .tiptap p[data-indent="7"],.mtx-content .tiptap h1[data-indent="7"],.mtx-content .tiptap h2[data-indent="7"],.mtx-content .tiptap h3[data-indent="7"],.mtx-content .tiptap h4[data-indent="7"],.mtx-content .tiptap p.tt-indent-7,.mtx-content .tiptap h1.tt-indent-7,.mtx-content .tiptap h2.tt-indent-7,.mtx-content .tiptap h3.tt-indent-7,.mtx-content .tiptap h4.tt-indent-7,.mtx-content .tiptap li.tt-indent-7{margin-left:14em}.mtx-content .tiptap p[data-indent],.mtx-content .tiptap p.tt-indent{margin-left:0;text-indent:0}.mtx-content .tiptap p[data-indent="1"],.mtx-content .tiptap p.tt-indent-1{margin-left:0;text-indent:2em}.mtx-content .tiptap p[data-indent="2"],.mtx-content .tiptap p.tt-indent-2{margin-left:0;text-indent:4em}.mtx-content .tiptap p[data-indent="3"],.mtx-content .tiptap p.tt-indent-3{margin-left:0;text-indent:6em}.mtx-content .tiptap p[data-indent="4"],.mtx-content .tiptap p.tt-indent-4{margin-left:0;text-indent:8em}.mtx-content .tiptap p[data-indent="5"],.mtx-content .tiptap p.tt-indent-5{margin-left:0;text-indent:10em}.mtx-content .tiptap p[data-indent="6"],.mtx-content .tiptap p.tt-indent-6{margin-left:0;text-indent:12em}.mtx-content .tiptap p[data-indent="7"],.mtx-content .tiptap p.tt-indent-7{margin-left:0;text-indent:14em}.mtx-content .tiptap code{background:#f1f5f9;color:#e11d48;padding:1px 5px;border-radius:3px;font-size:.9em;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace}.mtx-content .tiptap pre{background:#1e293b;color:#e2e8f0;padding:16px;border-radius:6px;overflow-x:auto;margin:.8em 0;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.85em;line-height:1.6}.mtx-content .tiptap pre code{background:none;color:inherit;padding:0;border-radius:0;font-size:inherit}.mtx-content .tiptap pre .hljs-keyword{color:#c678dd}.mtx-content .tiptap pre .hljs-string{color:#98c379}.mtx-content .tiptap pre .hljs-number{color:#d19a66}.mtx-content .tiptap pre .hljs-comment{color:#5c6370;font-style:italic}.mtx-content .tiptap pre .hljs-function{color:#61afef}.mtx-content .tiptap pre .hljs-variable{color:#e06c75}.mtx-content .tiptap pre .hljs-operator{color:#56b6c2}.mtx-content .tiptap pre .hljs-class{color:#e5c07b}.mtx-content .tiptap pre .hljs-title{color:#61afef}.mtx-content .tiptap pre .hljs-params{color:#e06c75}.mtx-content .tiptap pre .hljs-built_in{color:#56b6c2}.mtx-content .tiptap pre .hljs-type{color:#e5c07b}.mtx-content .tiptap pre .hljs-literal{color:#d19a66}.mtx-content .tiptap pre .hljs-tag{color:#e06c75}.mtx-content .tiptap pre .hljs-attr{color:#d19a66}.mtx-content .tiptap pre .hljs-attribute{color:#98c379}.mtx-content .tiptap pre .hljs-symbol,.mtx-content .tiptap pre .hljs-bullet{color:#d19a66}.mtx-content .tiptap pre .hljs-link{color:#61afef}.mtx-content .tiptap pre .hljs-emphasis{font-style:italic}.mtx-content .tiptap pre .hljs-strong{font-weight:700}.mtx-content .tiptap pre .hljs-quote{color:#5c6370}.mtx-details{border:1px solid #e2e8f0;border-radius:8px;margin:1em 0;overflow:hidden;background:#f8fafc}.mtx-details-summary{padding:.75em 1em;background:#f1f5f9;cursor:pointer;font-weight:600;color:#334155;user-select:none;list-style:none;position:relative}.mtx-details-summary::-webkit-details-marker{display:none}.mtx-details-summary:before{content:"▶";display:inline-block;margin-right:.5em;transition:transform .2s ease;font-size:.8em}.mtx-details[open]>.mtx-details-summary:before{transform:rotate(90deg)}.mtx-details-summary:hover{background:#e2e8f0}.mtx-details-content{padding:1em;border-top:1px solid #e2e8f0;background:#fff}.mtx-details-content>*:first-child{margin-top:0}.mtx-details-content>*:last-child{margin-bottom:0}.mtx-content .tiptap table{border-collapse:collapse;width:100%;margin:.8em 0;border-radius:6px;overflow:hidden}.mtx-content .tiptap table td,.mtx-content .tiptap table th{border:1px solid #e2e8f0;padding:8px 12px;text-align:left;min-width:80px;vertical-align:top}.mtx-content .tiptap table th{background:#f1f5f9;font-weight:600;color:#334155;font-size:.9em;text-transform:uppercase;letter-spacing:.03em}.mtx-content .tiptap table tr:hover td{background:#f8fafc}.mtx-content .tiptap hr{border:none;border-top:2px solid #e2e8f0;margin:1.5em 0}.mtx-content .tiptap figure.mtx-image-figure{margin:.5em 0;text-align:center;position:relative;display:inline-block;width:fit-content;max-width:100%}.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper{position:relative;display:inline-block;line-height:0;user-select:none;backface-visibility:hidden}.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper.is-dragging{z-index:20}.mtx-content .tiptap figure.mtx-image-figure{transition:margin .18s ease,transform .18s ease}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--dragging,.mtx-content .tiptap figure.mtx-image-figure.mtx-image--dragging .mtx-image-wrapper{transition:none}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--snap-animating,.mtx-content .tiptap figure.mtx-image-figure.mtx-image--snap-animating .mtx-image-wrapper{transition:margin .18s ease,transform .18s ease}.mtx-content .tiptap figure.mtx-image-figure img{max-width:100%;height:auto;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:box-shadow .2s ease}.mtx-content .tiptap figure.mtx-image-figure:hover img{box-shadow:0 4px 8px #00000026}.mtx-content .tiptap figure.mtx-image-figure figcaption{text-align:center;font-size:.875rem;color:#64748b;margin-top:.5em;padding:.25em .5em;background:#f1f5f9;border-radius:4px}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--left{float:left;margin-right:1.5em;margin-bottom:1em;clear:none}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--right{float:right;margin-left:1.5em;margin-bottom:1em;clear:none}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--center{display:block;margin-left:auto;margin-right:auto;clear:both}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--full{display:block;width:100%!important;margin:1em 0;clear:both}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--full img{width:100%}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--dragging{opacity:.92}.mtx-content .tiptap figure.mtx-image-figure.mtx-image-snap-preview--left{box-shadow:-6px 0 #2563eb59}.mtx-content .tiptap figure.mtx-image-figure.mtx-image-snap-preview--center{box-shadow:0 0 0 2px #2563eb47}.mtx-content .tiptap figure.mtx-image-figure.mtx-image-snap-preview--right{box-shadow:6px 0 #2563eb59}.mtx-image-drag-guide{position:absolute;top:0;left:0;width:0;height:100%;border-left:2px dashed rgba(37,99,235,.5);pointer-events:none;z-index:100}.mtx-image-drag-zone{position:absolute;top:0;left:0;width:100%;height:100%;background:#2563eb0f;border-radius:0;pointer-events:none;z-index:99}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--selected,.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper.mtx-image--selected{outline:2px solid var(--mtx-primary);outline-offset:2px}.mtx-resize-handle{position:absolute;width:10px;height:10px;background:var(--mtx-primary);border:2px solid white;border-radius:50%;cursor:pointer;pointer-events:auto;box-shadow:0 1px 3px #0000004d;transition:transform .15s ease;z-index:12;padding:0;appearance:none}.mtx-image-resize-overlay{position:absolute;inset:0;background-color:#3b82f61a;border:2px dashed var(--mtx-primary);pointer-events:none;z-index:9}.mtx-resize-handle:hover{transform:scale(1.3)}.mtx-resize-handle--nw{top:-5px;left:-5px;cursor:nw-resize}.mtx-resize-handle--ne{top:-5px;right:-5px;cursor:ne-resize}.mtx-resize-handle--sw{bottom:-5px;left:-5px;cursor:sw-resize}.mtx-resize-handle--se{bottom:-5px;right:-5px;cursor:se-resize}.mtx-resize-handle--n{top:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.mtx-resize-handle--e{top:50%;right:-5px;transform:translateY(-50%);cursor:ew-resize}.mtx-resize-handle--s{bottom:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.mtx-resize-handle--w{top:50%;left:-5px;transform:translateY(-50%);cursor:ew-resize}.mtx-image-node-view{display:inline-block;max-width:100%;position:relative}.mtx-content .tiptap:after{content:"";display:table;clear:both}.mtx-math-inline,.mtx-math-block{display:inline-block;position:relative}.mtx-math-inline math-field,.mtx-math-block math-field{border:1px solid transparent;border-radius:4px;outline:none;transition:all .15s ease;font-size:1.05em;background:transparent;--selection-background-color: rgba(59, 130, 246, .2)}.mtx-math-inline math-field:focus,.mtx-math-block math-field:focus{border-color:var(--mtx-primary);background:#eff6ff;box-shadow:0 0 0 2px #3b82f61a}.mtx-math-block{display:block;text-align:center;margin:12px 0;padding:12px;background:#f8fafc;border-radius:6px;border:1px dashed #cbd5e1}.mtx-math-block math-field{font-size:1.2em}.mtx-math-edit-btn{position:absolute;background:#2563eb;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;z-index:10;display:flex;align-items:center;gap:4px;box-shadow:0 2px 4px #0003;transition:all .15s ease}.mtx-math-edit-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 6px #00000040}.mtx-math-inline .mtx-math-edit-btn{right:-28px;top:50%;transform:translateY(-50%)}.mtx-math-block .mtx-math-edit-btn{right:8px;top:8px}.ProseMirror-selectednode .mtx-math-inline,.ProseMirror-selectednode .mtx-math-block{outline:2px solid var(--mtx-primary);outline-offset:2px;border-radius:4px}.mtx-content::-webkit-scrollbar{width:6px}.mtx-content::-webkit-scrollbar-track{background:transparent}.mtx-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.mtx-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 640px){.mtx-toolbar-mode-switch{order:-1;margin-bottom:4px}.mtx-toolbar{gap:0;padding:3px 4px}.mtx-toolbar-btn{width:28px;height:28px}.mtx-toolbar-divider{margin:0 2px}.mtx-math-toolbar__buttons{gap:1px;flex-wrap:wrap;justify-content:center}.mtx-math-toolbar__section{padding-right:4px;margin-right:4px}.mtx-math-toolbar__section-toggle{padding:0 6px}.mtx-math-toolbar{padding:4px;min-width:unset;width:calc(100% - 20px);flex-wrap:wrap}.mtx-math-toolbar__search-wrap{order:3;width:100%}.mtx-math-toolbar__search{width:100%}.mtx-math-btn{min-width:26px;height:26px;font-size:11px}.mtx-symbol-palette{width:300px}.mtx-template-panel{width:340px}}math-field::part(virtual-keyboard-toggle){display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important;position:absolute!important;z-index:-1!important;opacity:0!important}.mtx-template-panel{position:absolute;top:100%;right:8px;z-index:100;width:520px;max-height:520px;background:#fff;border:1px solid var(--mtx-border);border-radius:8px;box-shadow:0 10px 40px #00000026,0 2px 10px #00000014;overflow:hidden;animation:mtx-fadeIn .15s ease}.mtx-template-panel__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--mtx-border);background:linear-gradient(to bottom,#f9fafb,#f3f4f6)}.mtx-template-panel__title{font-size:13px;font-weight:600;color:var(--mtx-text)}.mtx-template-panel__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;font-size:16px;line-height:1}.mtx-template-panel__close:hover{background:#fee2e2;color:#ef4444}.mtx-template-panel__search{display:block;width:100%;padding:8px 14px;border:none;border-bottom:1px solid var(--mtx-border);font-size:13px;font-family:var(--mtx-font);background:#fff;outline:none}.mtx-template-panel__search:focus{background:#eff6ff}.mtx-template-panel__search::placeholder{color:#94a3b8}.mtx-template-panel__body{display:flex;flex-direction:row;height:320px}@media (max-width: 640px){.mtx-template-panel__body{flex-direction:column;height:400px}}.mtx-template-panel__tabs{width:160px;min-width:160px;overflow-y:auto;border-right:1px solid var(--mtx-border);background:#f9fafb;padding:4px}@media (max-width: 640px){.mtx-template-panel__tabs{width:100%;min-width:unset;height:auto;display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid var(--mtx-border);white-space:nowrap;padding:6px;gap:4px}}.mtx-template-panel__tab{display:flex;align-items:center;gap:4px;width:100%;padding:4px 6px;border:none;border-radius:4px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--mtx-font);text-align:left;transition:all .1s ease;margin-bottom:1px}@media (max-width: 640px){.mtx-template-panel__tab{width:auto;flex:0 0 auto;padding:6px 10px}}.mtx-template-panel__tab:hover{background:#f1f5f9;color:var(--mtx-text)}.mtx-template-panel__tab.is-active{background:var(--mtx-primary-light);color:var(--mtx-primary)}.mtx-template-panel__tab-icon{font-size:13px;flex-shrink:0}.mtx-template-panel__tab-label{line-height:1.2}.mtx-template-panel__content{flex:1;overflow-y:auto;padding:12px;background:#fff}.mtx-template-panel__empty{padding:20px;text-align:center;color:#94a3b8;font-size:13px}.mtx-template-panel__group{margin-bottom:8px}.mtx-template-panel__group-title{font-size:11px;font-weight:600;color:var(--mtx-text-secondary);padding:4px 4px 8px;text-transform:uppercase;letter-spacing:.04em}.mtx-template-panel__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.mtx-template-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;text-align:left;transition:all .12s ease;font-family:var(--mtx-font);min-height:52px;overflow:hidden}.mtx-template-card:hover{border-color:var(--mtx-primary);background:var(--mtx-primary-light);box-shadow:0 2px 6px #3b82f61f;transform:translateY(-1px)}.mtx-template-card__preview{font-size:13px;font-weight:500;color:var(--mtx-text);font-family:"Cambria Math","Latin Modern Math",serif;line-height:1.5;word-break:break-all;padding-bottom:4px;display:block}.mtx-template-card__label{font-size:10px;color:var(--mtx-text-muted);line-height:1.2}.mtx-template-panel__levels{display:flex;gap:2px;padding:6px 10px;border-bottom:1px solid var(--mtx-border);background:#f8fafc}.mtx-template-panel__level{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border:1px solid transparent;border-radius:20px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--mtx-font);transition:all .12s ease}.mtx-template-panel__level:hover{background:#fff;border-color:var(--mtx-border)}.mtx-template-panel__level.is-active{background:var(--mtx-primary);color:#fff;border-color:var(--mtx-primary)}.mtx-template-panel__tab-badge{font-size:9px;padding:0 4px;border-radius:3px;background:#e2e8f0;color:var(--mtx-text-secondary);font-weight:600;margin-left:auto}.mtx-template-panel__tab.is-active .mtx-template-panel__tab-badge{background:#3b82f633;color:var(--mtx-primary)}.mtx-template-panel__group-level{font-size:9px;padding:1px 5px;border-radius:3px;background:var(--mtx-primary-light);color:var(--mtx-primary);font-weight:600;margin-left:4px}.mt-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000073;backdrop-filter:blur(3px);animation:mt-fadeIn .15s ease}@keyframes mt-fadeIn{0%{opacity:0}to{opacity:1}}.mt-dialog{width:680px;max-width:96vw;max-height:92vh;background:#ececec;border-radius:6px;box-shadow:0 12px 40px #00000059,0 2px 10px #0003;overflow:hidden;display:flex;flex-direction:column;animation:mt-slideUp .2s ease;border:1px solid #888}@keyframes mt-slideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.mt-titlebar{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;background:linear-gradient(180deg,#6b9fd4,#3a75b0,#2d5f9a);color:#fff;user-select:none;flex-shrink:0}.mt-titlebar__left{display:flex;align-items:center;gap:6px}.mt-titlebar__title{font-size:12px;font-weight:600;font-family:Segoe UI,system-ui,sans-serif;text-shadow:0 1px 2px rgba(0,0,0,.4)}.mt-titlebar__close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:3px;background:#ffffff1a;color:#fff;cursor:pointer;transition:background .1s}.mt-titlebar__close:hover{background:#c42b1c}.mt-tab-bar{display:flex;align-items:stretch;gap:0;padding:3px 3px 0;background:linear-gradient(180deg,#c8d8e8,#a8bdd0);border-bottom:1px solid #7a9ab5;flex-shrink:0;flex-wrap:wrap;max-height:120px;overflow-y:auto}.mt-tab{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;min-width:48px;height:30px;border:1px solid #8aa8c0;border-bottom:none;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#d8e4ef,#b8cce0);color:#2c4a6e;cursor:pointer;font-size:12px;font-family:"Cambria Math","Latin Modern Math",Times New Roman,serif;font-weight:500;transition:all .08s ease;margin-right:-1px;position:relative;white-space:nowrap;letter-spacing:.5px}.mt-tab:hover{background:linear-gradient(180deg,#e8f0f8,#c8daf0);color:#1a3a5e}.mt-tab.is-active{background:linear-gradient(180deg,#f5f8fc,#eef3f8 30%,#e8eef5);color:#1a3a5e;border-color:#7a9ab5;border-bottom:1px solid #e8eef5;z-index:1;font-weight:600;box-shadow:0 -1px 3px #0000000f}.mt-tab__icon{font-size:13px;line-height:1}.mt-grid{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:8px 12px}.mt-grid__row{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:2px 0;flex-wrap:wrap;width:100%}.mt-grid__btn{display:inline-flex;align-items:center;justify-content:center;flex:1;min-width:50px;max-width:90px;height:44px;padding:6px 8px;border:1px solid #e2e8f0;border-radius:6px;background:linear-gradient(180deg,#fff,#f8fafc);color:#1e293b;cursor:pointer;font-size:14px;font-family:"Cambria Math","Latin Modern Math",Times New Roman,serif;line-height:1;transition:all .15s ease;user-select:none;white-space:nowrap;box-shadow:0 1px 2px #0000000a;position:relative;overflow:hidden}.mt-grid__btn:hover{background:linear-gradient(180deg,#eff6ff,#dbeafe);border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626,0 1px 2px #0000000f;transform:translateY(-1px);color:#1e40af}.mt-grid__btn:active{background:linear-gradient(180deg,#dbeafe,#bfdbfe);border-color:#2563eb;box-shadow:inset 0 1px 2px #00000014;transform:translateY(0)}.mt-grid__btn--formula{min-width:70px;max-width:120px}.mt-icon-row{display:flex;align-items:center;justify-content:center;gap:3px}.mt-ph{display:inline-block;width:11px;height:11px;border:1.5px solid #3b82f6;background:#3b82f614;border-radius:2px;margin:0 1px;transition:all .15s ease}.mt-ph--sm{width:8px;height:8px;border-width:1.5px}.mt-grid__btn:hover .mt-ph{border-color:#2563eb;background:#3b82f626}.mt-icon-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;gap:2px}.mt-icon-stack--lg{transform:scale(1.15)}.mt-icon-stack--sm{transform:scale(.7)}.mt-icon-num{padding-bottom:2px;display:flex;justify-content:center;align-items:center}.mt-icon-den{padding-top:2px;display:flex;justify-content:center;align-items:center}.mt-icon-bar{width:100%;height:1.5px;background:linear-gradient(90deg,transparent 0%,currentColor 10%,currentColor 90%,transparent 100%);opacity:.7;border-radius:1px}.mt-icon-sqrt{font-size:17px;line-height:1;transform:scaleY(1.2) translateY(1px);font-weight:300}.mt-icon-sqrt-bar{border-top:1.5px solid currentColor;padding-top:2px;margin-left:-1px;opacity:.7}.mt-icon-idx{font-size:.65em;line-height:1;font-weight:500}.mt-icon-grid{display:flex;flex-direction:column;gap:2px;margin:0 2px}.mt-icon-grid-row{display:flex;gap:2px}.mt-brak{font-weight:300;transform:scaleY(1.3);color:#475569}.mt-brak--lg{transform:scaleY(1.6)}.mt-sym{font-family:Times New Roman,serif;font-style:italic;color:#334155}.mt-sym-lg{font-size:17px;font-weight:500;color:#1e293b}.mt-sym-xl{font-size:20px;line-height:.8;color:#1e293b}.mt-sym-sm{font-size:10px}.mt-sym-fn{font-family:Times New Roman,serif;font-size:12px;font-style:italic;color:#334155}.mt-txt-icon{font-family:Segoe UI,system-ui,sans-serif;font-size:9px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.3px;padding:2px 4px;background:#f1f5f9;border-radius:3px;border:1px solid #e2e8f0}.mt-over{position:absolute;top:-6px;left:50%;transform:translate(-50%);font-size:10px;width:100%;text-align:center;color:#64748b}.mt-under{position:absolute;bottom:-5px;left:50%;transform:translate(-50%);font-size:10px;color:#64748b}.mt-editor{flex:1;min-height:100px;background:#fff;border-top:1px solid #999}.mt-editor__field{min-height:100px;padding:2px;background:#fff}.mt-editor__field math-field{--keyboard-zindex: -1 !important;--virtual-keyboard-toggle-display: none !important}.mt-editor__field:focus-within{outline:none}.mt-latex-bar{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#eef0f2;border-top:1px solid #ccc;font-size:10px;min-height:22px}.mt-latex-bar__label{font-weight:700;color:#777;font-family:Segoe UI,system-ui,sans-serif;flex-shrink:0;font-size:10px}.mt-latex-bar__code{font-family:Consolas,Fira Code,monospace;font-size:10px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-actions{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;background:linear-gradient(180deg,#e4e8ec,#d8dce0);border-top:1px solid #bbb;gap:8px}.mt-actions__hint{font-size:10px;color:#777;font-family:Segoe UI,system-ui,sans-serif}.mt-actions__hint kbd{display:inline-block;padding:1px 4px;border:1px solid #bbb;border-radius:3px;background:#f5f5f5;font-size:9px;font-family:inherit;box-shadow:0 1px #ccc}.mt-actions__buttons{display:flex;gap:6px;flex-shrink:0}.mt-actions__cancel{padding:5px 14px;border:1px solid #aaa;border-radius:4px;background:linear-gradient(180deg,#f5f5f5,#e0e0e0);color:#444;cursor:pointer;font-size:12px;font-family:Segoe UI,system-ui,sans-serif;font-weight:500;transition:all .1s}.mt-actions__cancel:hover{background:linear-gradient(180deg,#fff,#eee);border-color:#888}.mt-actions__insert{padding:5px 16px;border:1px solid #2a5a94;border-radius:4px;background:linear-gradient(180deg,#4a8ad4,#2d6bb0);color:#fff;cursor:pointer;font-size:12px;font-family:Segoe UI,system-ui,sans-serif;font-weight:600;transition:all .1s;text-shadow:0 1px 1px rgba(0,0,0,.2)}.mt-actions__insert:hover{background:linear-gradient(180deg,#5a9ae4,#3d7bc0)}.mt-actions__insert:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 700px){.mt-dialog{width:98vw;max-height:95vh;border-radius:4px}.mt-tab{min-width:36px;padding:3px 5px;font-size:11px}.mt-grid__btn{min-width:32px;height:30px;font-size:13px;padding:2px 4px}.mt-titlebar__title{font-size:11px}.mt-actions__hint{display:none}}.mt-format-bar{display:flex;align-items:center;padding:4px 6px;background:#f0f0f0;border-bottom:1px solid #bfbfbf;gap:6px}.mt-font-select{height:22px;border:1px solid #888;border-radius:2px;padding:0 4px;font-size:11px;width:140px;background:#fff;cursor:pointer;outline:none}.mt-font-select:hover{border-color:#555}.mt-format-group{display:flex;align-items:center;gap:1px;margin-right:4px;padding-right:4px;border-right:1px solid #ccc}.mt-format-group:last-child{border-right:none;margin-right:0;padding-right:0}.mt-format-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:2px;background:transparent;cursor:pointer;font-family:serif;font-size:13px;color:#333}.mt-format-btn:hover{background:#e0e0e0;border:1px solid #bbb}.mt-format-btn b{font-weight:700}.mt-format-btn i{font-style:italic}.mt-format-btn u{text-decoration:underline}.mt-color-picker{width:22px;height:22px;padding:0;border:1px solid #ccc;background:#fff;cursor:pointer}.mt-txt-icon{font-size:10px;font-weight:700;font-family:sans-serif;color:#444}.mtx-image-edit-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;z-index:9999;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.mtx-image-edit-dialog__header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e2e8f0}.mtx-image-edit-dialog__header h3{margin:0;font-size:1.25rem;color:#1e293b}.mtx-image-edit-dialog__close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#64748b;padding:4px;border-radius:4px;transition:all .15s ease}.mtx-image-edit-dialog__close:hover{background:#f1f5f9;color:#1e293b}.mtx-image-edit-dialog__body{padding:20px}.mtx-image-edit-dialog__section{margin-bottom:24px}.mtx-image-edit-dialog__section h4{margin:0 0 12px;font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.mtx-image-edit-dialog__row{margin-bottom:12px}.mtx-image-edit-dialog__row label{display:block;margin-bottom:6px;font-size:.875rem;color:#334155;font-weight:500}.mtx-image-edit-dialog__row input[type=text],.mtx-image-edit-dialog__row textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}.mtx-image-edit-dialog__row input[type=text]:focus,.mtx-image-edit-dialog__row textarea:focus{outline:none;border-color:var(--mtx-primary);box-shadow:0 0 0 3px #3b82f61a}.mtx-image-edit-dialog__checkbox-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.mtx-image-edit-dialog__checkbox-row input[type=checkbox]{width:16px;height:16px;cursor:pointer}.mtx-image-edit-dialog__checkbox-row label{margin:0;cursor:pointer;font-size:.875rem;color:#334155}.mtx-image-edit-dialog__size-presets{display:flex;gap:8px;margin-top:8px}.mtx-btn-sm{padding:6px 12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .15s ease}.mtx-btn-sm:hover{background:#e2e8f0;border-color:#cbd5e1}.mtx-image-edit-dialog__alignment-options{display:flex;gap:8px;flex-wrap:wrap}.mtx-align-btn{flex:1;min-width:60px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s ease}.mtx-align-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.mtx-align-btn.is-active{background:#eff6ff;border-color:var(--mtx-primary)}.mtx-align-btn svg{width:24px;height:24px;color:#475569}.mtx-align-btn.is-active svg{color:var(--mtx-primary)}.mtx-align-btn span{font-size:.75rem;color:#64748b;font-weight:500}.mtx-image-edit-dialog__hint{margin-top:12px;padding:10px 12px;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px}.mtx-image-edit-dialog__hint p{margin:0;font-size:.8125rem;color:#92400e}.mtx-image-edit-dialog__footer{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid #e2e8f0;background:#f8fafc;border-radius:0 0 12px 12px}.mtx-image-edit-dialog__btn{padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.mtx-image-edit-dialog__btn--reset{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.mtx-image-edit-dialog__btn--reset:hover{background:#e2e8f0}.mtx-image-edit-dialog__actions{display:flex;gap:8px}.mtx-image-edit-dialog__btn--cancel{background:#fff;color:#475569;border-color:#cbd5e1}.mtx-image-edit-dialog__btn--cancel:hover{background:#f8fafc}.mtx-image-edit-dialog__btn--apply{background:var(--mtx-primary);color:#fff;border-color:var(--mtx-primary)}.mtx-image-edit-dialog__btn--apply:hover{background:var(--mtx-primary-dark, #2563eb)}.mtx-dialog-overlay{position:fixed;inset:0;background:#00000080;z-index:9998;backdrop-filter:blur(2px)}.mtx-image-resize-handles{position:absolute;inset:0;pointer-events:none;display:none;z-index:10}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--selected .mtx-image-resize-handles,.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper.mtx-image--selected .mtx-image-resize-handles{display:block;pointer-events:auto}.mtx-resize-handle{position:absolute;width:12px;height:12px;background:var(--mtx-primary, #3b82f6);border:2px solid white;border-radius:50%;cursor:pointer;pointer-events:auto;box-shadow:0 2px 4px #0000004d;transition:transform .15s ease,background .15s ease;z-index:11}.mtx-resize-handle:hover{transform:scale(1.4);background:#2563eb}.mtx-resize-handle--nw{top:-6px;left:-6px;cursor:nwse-resize}.mtx-resize-handle--ne{top:-6px;right:-6px;cursor:nesw-resize}.mtx-resize-handle--sw{bottom:-6px;left:-6px;cursor:nesw-resize}.mtx-resize-handle--se{bottom:-6px;right:-6px;cursor:nwse-resize}.mtx-context-menu-backdrop{position:fixed;inset:0;z-index:99998;background:transparent}.mtx-image-context-menu{position:fixed;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003,0 0 0 1px #0000000d;z-index:99999;min-width:220px;max-width:280px;padding:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:mtxContextMenuFadeIn .15s ease}@keyframes mtxContextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mtx-context-menu-section{padding:4px 0}.mtx-context-menu-label{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:8px 12px 4px}.mtx-context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;color:#334155;text-align:left;transition:background .15s ease,color .15s ease}.mtx-context-menu-item:hover{background:#f1f5f9;color:#1e293b}.mtx-context-menu-item svg{flex-shrink:0;width:16px;height:16px;color:#64748b}.mtx-context-menu-item:hover svg{color:#3b82f6}.mtx-context-menu-item--danger{color:#dc2626}.mtx-context-menu-item--danger:hover{background:#fef2f2;color:#dc2626}.mtx-context-menu-item--danger:hover svg{color:#dc2626}.mtx-context-menu-divider{height:1px;background:#e2e8f0;margin:8px 0}.mtx-dialog-overlay{position:fixed;inset:0;background:#0006;z-index:9998;backdrop-filter:blur(2px)}.mtx-image-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(480px,90vw);max-height:85vh;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;z-index:9999;display:flex;flex-direction:column;overflow:hidden}.mtx-image-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.mtx-image-dialog__header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b}.mtx-image-dialog__close{background:none;border:none;font-size:18px;cursor:pointer;color:#94a3b8;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s}.mtx-image-dialog__close:hover{background:#f1f5f9;color:#334155}.mtx-image-dialog__tabs{display:flex;border-bottom:1px solid #e2e8f0;padding:0 20px;gap:4px}.mtx-image-dialog__tab{background:none;border:none;padding:10px 16px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;margin-bottom:-1px}.mtx-image-dialog__tab:hover{color:#334155}.mtx-image-dialog__tab.is-active{color:#3b82f6;border-bottom-color:#3b82f6}.mtx-image-dialog__body{padding:20px;overflow-y:auto;flex:1}.mtx-image-dialog__dropzone{border:2px dashed #cbd5e1;border-radius:10px;padding:32px;text-align:center;cursor:pointer;transition:all .2s;min-height:160px;display:flex;align-items:center;justify-content:center}.mtx-image-dialog__dropzone:hover{border-color:#3b82f6;background:#eff6ff}.mtx-image-dialog__dropzone.is-dragging{border-color:#3b82f6;background:#dbeafe;border-style:solid}.mtx-image-dialog__placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#94a3b8}.mtx-image-dialog__placeholder svg{margin-bottom:4px;opacity:.5}.mtx-image-dialog__placeholder p{margin:0;font-size:14px;color:#475569}.mtx-image-dialog__placeholder span{font-size:12px;color:#94a3b8}.mtx-image-dialog__uploading{display:flex;flex-direction:column;align-items:center;gap:12px;color:#3b82f6}.mtx-image-dialog__uploading p{margin:0;font-size:14px}.mtx-image-dialog__preview img,.mtx-image-dialog__url-preview img{max-width:100%;max-height:200px;border-radius:8px;object-fit:contain}.mtx-image-dialog__url-form{display:flex;flex-direction:column;gap:8px}.mtx-image-dialog__url-form label,.mtx-image-dialog__alt label{font-size:13px;font-weight:500;color:#475569}.mtx-image-dialog__url-row{display:flex;gap:8px}.mtx-image-dialog__url-row input,.mtx-image-dialog__alt input{flex:1;padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;outline:none;transition:border-color .15s}.mtx-image-dialog__url-row input:focus,.mtx-image-dialog__alt input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.mtx-image-dialog__url-preview{margin-top:12px;text-align:center;padding:12px;background:#f8fafc;border-radius:8px}.mtx-image-dialog__alt{margin-top:16px;display:flex;flex-direction:column;gap:6px}.mtx-image-dialog__error{margin-top:12px;padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px}.mtx-image-dialog__footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #e2e8f0}.mtx-image-dialog__btn{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;border:none}.mtx-image-dialog__btn--cancel{background:#f1f5f9;color:#475569}.mtx-image-dialog__btn--cancel:hover{background:#e2e8f0}.mtx-image-dialog__btn--insert{background:#3b82f6;color:#fff}.mtx-image-dialog__btn--insert:hover{background:#2563eb}.mtx-image-dialog__btn--insert:disabled{opacity:.5;cursor:not-allowed}