erl-mathtextx-editor 0.1.10 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,38 @@ All notable changes to `erl-mathtextx-editor` will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.2.0] - 2026-05-13
9
+
10
+ ### Added
11
+
12
+ - **🏆 Olimpiade Toolbar Mode** — Toolbar khusus untuk olimpiade/kompetisi matematika
13
+ - Mode switch 3 opsi: Basic / Advanced / Olimpiade
14
+ - Toolbar minimal: Undo/Redo, Bold/Italic/Underline, Paragraph/H1/H2, Lists, Math Formula, Block Math
15
+ - Math Toolbar khusus olimpiade: Basic, Relation, Set (extended), Greek, Structure
16
+ - Block Math button untuk insert display-style math node langsung
17
+ - **Block Math Direct Insert** — Prop `onInsertBlockMath` untuk insert block math tanpa dialog
18
+ - **Empty Inline Math Visibility** — Empty math fields sekarang terlihat sebagai kotak dashed abu-abu
19
+ - `min-width: 50px`, `min-height: 26px` untuk empty math inline
20
+
21
+ ### Fixed
22
+
23
+ - **Math Node Serialization** — Perbaikan kritis: DOMPurify strip `latex` attribute
24
+ - `addAttributes` sekarang render sebagai `data-latex` / `data-display` (bukan `latex` / `display`)
25
+ - `data-display` ditambahkan ke `ALLOWED_ATTR` di DOMPurify
26
+ - Math nodes persist saat tab switch editor ↔ viewer
27
+ - **MathTypeDialog Enter Conflict** — Enter tidak lagi submit dialog
28
+ - Solusi: `\sqrt` + Enter → MathLive auto-convert ke √, dialog tetap terbuka
29
+ - Submit hanya via klik tombol "Sisipkan"
30
+ - **ESLint Cleanup** — Fixed `let` → `const` di MathFieldView, fixed regex escape di MathTypeDialog
31
+ - **Edit Button Overlap** — Tombol Edit pada math node hanya muncul saat hover, hilang saat focus
32
+
33
+ ### Changed
34
+
35
+ - **Toolbar Cleanup** — Advanced mode jadi lebih ringkas
36
+ - Image editing (Edit, Wrap) dipindah ke right-click context menu
37
+ - Table operation buttons dipindah ke Table Operations dropdown
38
+ - **Ctrl+M** — Insert inline math langsung (tanpa dialog MathType)
39
+
8
40
  ## [0.1.9] - 2026-04-01
9
41
 
10
42
  ### Fixed
package/README.md CHANGED
@@ -11,10 +11,11 @@ Embeddable visual math editor widget untuk CMS dan platform edukasi. User tidak
11
11
 
12
12
  ## ✨ Fitur Utama
13
13
 
14
- - 🎯 **Visual Math Keyboard** — Klik simbol, operator, template formula
14
+ - 🎯 **Visual Math Input** — Insert math langsung inline tanpa dialog (Ctrl+M)
15
15
  - 📝 **Rich Text Editor** — Bold, italic, tables, lists, links, images
16
- - 🧮 **Equation Editor** — Dialog MathType-style dengan tab, grid, KaTeX preview
16
+ - 🧮 **Equation Editor** — Dialog MathType-style dengan tab, grid, KaTeX preview (Edit existing math)
17
17
  - 📋 **100+ Formula Templates** — Algebra, calculus, trigonometry, chemistry, matrix
18
+ - 🏆 **Mode Olimpiade** — Toolbar khusus untuk kompetisi matematika dengan simbol set, Greek letters, NT/Combo
18
19
  - 🖼️ **Free-form Image Drag** — Drag gambar ke posisi bebas (pixel-perfect)
19
20
  - 📄 **DOCX Import** — Import file .docx via mammoth.js (toolbar + drag-drop)
20
21
  - 🗂️ **Google Docs Paste** — Paste dari Google Docs (equations + document) auto-cleaned
@@ -187,6 +188,35 @@ export default App
187
188
 
188
189
  ---
189
190
 
191
+ ## 🎛️ Toolbar Modes
192
+
193
+ Editor menyediakan 3 preset toolbar yang bisa dipilih via prop `toolbarMode`:
194
+
195
+ ### Basic
196
+ Toolbar standar dengan tombol format teks dasar, insert media, dan math formula.
197
+
198
+ ### Advanced
199
+ Toolbar lengkap dengan font family, text color, alignment, table operations, superscript/subscript, chemistry formula, dan formatting lanjutan.
200
+
201
+ ### Olimpiade
202
+ Toolbar minimal untuk kompetisi matematika — hanya tombol esensial:
203
+
204
+ | Grup | Tombol |
205
+ |---|---|
206
+ | **Undo/Redo** | Undo, Redo |
207
+ | **Format** | Bold, Italic, Underline |
208
+ | **Structure** | Paragraph, H1, H2 |
209
+ | **Lists** | Bullet List, Ordered List, Outdent, Indent |
210
+ | **Math** | Math Formula (inline), Block Math |
211
+ | **Actions** | Remove Format |
212
+
213
+ **Math Toolbar** di mode Olimpiade menampilkan section khusus: Basic, Relation, Set, Greek, Structure — tanpa section Calc yang kurang relevan untuk olimpiade.
214
+
215
+ ### Custom Mode
216
+ Jika preset tidak sesuai, Anda bisa atur sendiri via `internalToolbarMode` state atau kontrol toolbar secara manual menggunakan komponen terpisah (`MainToolbar`, `MathToolbar`, `MathTypeDialog`).
217
+
218
+ ---
219
+
190
220
  ## 🧰 Image Upload
191
221
 
192
222
  Editor mendukung upload gambar dari: **Insert dialog**, **drag-drop**, **paste dari clipboard**, dan **DOCX import**. Semuanya melalui satu callback `onImageUpload`.
@@ -292,7 +322,8 @@ const handleImageUpload = async (file: File): Promise<string> => {
292
322
  | `minHeight` | `string` | `'200px'` | Minimum editor height |
293
323
  | `maxHeight` | `string` | — | Maximum editor height |
294
324
  | `autoFocus` | `boolean` | `false` | Auto-focus editor on mount |
295
- | `toolbarMode` | `'basic' \| 'advanced'` | `'basic'` | Toolbar preset |
325
+ | `toolbarMode` | `'basic' \| 'advanced' \| 'olimpiade'` | `'basic'` | Toolbar preset |
326
+ | `onInsertBlockMath` | `() => void` | — | Callback to insert a block-level math node directly |
296
327
  | `editable` | `boolean` | `true` | Set false for read-only mode |
297
328
  | `className` | `string` | — | Additional CSS class |
298
329
 
@@ -362,12 +393,11 @@ import 'erl-mathtextx-editor/viewer/styles'
362
393
  | `Ctrl+I` | Italic |
363
394
  | `Ctrl+U` | Underline |
364
395
  | `Ctrl+K` | Insert/edit link |
365
- | `Ctrl+M` | Insert inline math |
396
+ | `Ctrl+M` | Insert inline math directly (without dialog) |
366
397
  | `Ctrl+Shift+T` | Insert table |
367
398
  | `Ctrl+S` | Save document |
368
399
  | `Shift+Ctrl+V` | Paste as plain text |
369
- | `Enter` (equation editor) | Insert formula |
370
- | `Esc` (equation editor) | Close dialog |
400
+ | `Esc` (equation editor dialog) | Close dialog |
371
401
 
372
402
  ---
373
403
 
@@ -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-CakccgVO.js";
3
+ import { u as B } from "./index-D0Rzm7Tg.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-CakccgVO.js";
3
+ import { u as q } from "./index-D0Rzm7Tg.js";
4
4
  function Z({
5
5
  isOpen: U,
6
6
  onClose: w,
@@ -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-CakccgVO.js";
3
+ import { u as y } from "./index-D0Rzm7Tg.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-CakccgVO.js";
3
+ import { u as E } from "./index-D0Rzm7Tg.js";
4
4
  const S = D.memo(({
5
5
  isOpen: s,
6
6
  currentUrl: o = "",
@@ -1,6 +1,6 @@
1
1
  import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
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-CakccgVO.js";
3
+ import { u as f } from "./index-D0Rzm7Tg.js";
4
4
  const N = u.memo(({
5
5
  isOpen: r,
6
6
  initialData: n = {},
@@ -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-CakccgVO.js";
3
+ import { u as h } from "./index-D0Rzm7Tg.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-dark: #1e40af;--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}ul[data-type=taskList],.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-table-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-table-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-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 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}.ProseMirror table{position:relative}.ProseMirror table td,.ProseMirror table th{position:relative;cursor:text}.ProseMirror table td:not(:last-child):after,.ProseMirror table th:not(:last-child):after{content:"";position:absolute;right:-2px;top:0;bottom:0;width:4px;background:#3b82f626;z-index:5;transition:background .15s ease;pointer-events:none}.ProseMirror table td:not(:last-child):hover:after,.ProseMirror table th:not(:last-child):hover:after{background:#3b82f659}.ProseMirror table:focus-within td:not(:last-child):after,.ProseMirror table:focus-within th:not(:last-child):after{background:#3b82f633}.ProseMirror table:focus-within td:not(:last-child):hover:after,.ProseMirror table:focus-within th:not(:last-child):hover:after{background:#3b82f673}.ProseMirror table .column-resize-handle{position:absolute;top:0;bottom:0;width:10px;background:transparent;cursor:col-resize;z-index:20;transition:background .12s ease}.ProseMirror table .column-resize-handle:before{content:"";position:absolute;left:50%;top:4px;bottom:4px;width:1px;background:#3b82f640;transform:translate(-50%);transition:all .12s ease;border-radius:1px;pointer-events:none}.ProseMirror table .column-resize-handle:hover{background:#3b82f614}.ProseMirror table .column-resize-handle:hover:before{background:#3b82f6;width:2px}.ProseMirror table .column-resize-handle.is-active{background:#3b82f61f}.ProseMirror table .column-resize-handle.is-active:before{background:#2563eb;width:2px}.ProseMirror .column-resize-dragging{position:absolute;top:0;bottom:0;left:0;width:2px;background:#2563eb;z-index:30;pointer-events:none;box-shadow:0 0 8px #2563eb66}.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}@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-btn[data-tooltip],.mtx-math-toolbar__action-btn[data-tooltip]{position:relative}.mtx-math-btn[data-tooltip]:after,.mtx-math-toolbar__action-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(4px);padding:5px 8px;background:#1e293b;color:#fff;font-size:11px;font-weight:500;white-space:nowrap;border-radius:5px;opacity:0;visibility:hidden;transition:all .12s ease;pointer-events:none;z-index:1000;box-shadow:0 3px 10px #00000026;font-family:Segoe UI,system-ui,sans-serif}.mtx-math-btn[data-tooltip]:before,.mtx-math-toolbar__action-btn[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 2px);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 .12s ease;pointer-events:none;z-index:1000}.mtx-math-btn[data-tooltip]:hover:after,.mtx-math-btn[data-tooltip]:hover:before,.mtx-math-toolbar__action-btn[data-tooltip]:hover:after,.mtx-math-toolbar__action-btn[data-tooltip]:hover:before{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.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{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);caret-color:#2563eb;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;pointer-events:none;z-index:99}.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper:after{content:"⤡";position:absolute;bottom:8px;right:8px;width:28px;height:28px;background:#2563ebd9;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:5;box-shadow:0 2px 6px #00000026}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--selected .mtx-image-wrapper:hover:after,.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper.is-dragging:after{opacity:1}.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper:hover{outline:1.5px solid rgba(37,99,235,.25);outline-offset:2px;border-radius:2px}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--selected .mtx-image-wrapper:hover{outline-color:#2563eb80}.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper:hover img{box-shadow:0 4px 12px #0000002e}.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-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}}@media (min-width: 768px){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{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-grid__btn[data-tooltip],.mt-format-btn[data-tooltip],.mt-tab[data-tooltip]{position:relative}.mt-grid__btn[data-tooltip]:after,.mt-format-btn[data-tooltip]:after,.mt-tab[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(4px);padding:4px 8px;background:#1e293b;color:#fff;font-size:11px;font-weight:500;white-space:nowrap;border-radius:5px;opacity:0;visibility:hidden;transition:all .12s ease;pointer-events:none;z-index:1000;box-shadow:0 3px 10px #00000026;font-family:Segoe UI,system-ui,sans-serif}.mt-grid__btn[data-tooltip]:before,.mt-format-btn[data-tooltip]:before,.mt-tab[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 2px);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 .12s ease;pointer-events:none;z-index:1000}.mt-grid__btn[data-tooltip]:hover:after,.mt-grid__btn[data-tooltip]:hover:before,.mt-format-btn[data-tooltip]:hover:after,.mt-format-btn[data-tooltip]:hover:before,.mt-tab[data-tooltip]:hover:after,.mt-tab[data-tooltip]:hover:before{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.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;position:relative}.mt-editor__field{min-height:100px;padding:2px;background:#fff}.mt-editor__field math-field{--caret-color: #2563eb;--selection-background-color: rgba(59, 130, 246, .25);--selection-color: #1e40af;--placeholder-color: rgba(59, 130, 246, .35);--placeholder-background-color: rgba(59, 130, 246, .08);cursor:text}.mt-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;background:#fff;z-index:10}.mt-loading__spinner{width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:mt-spin .8s linear infinite}@keyframes mt-spin{to{transform:rotate(360deg)}}.mt-loading__text{font-size:13px;color:#64748b;font-family:Segoe UI,system-ui,sans-serif}@media (min-width: 768px){.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;flex-direction:column;gap:2px;padding:4px 10px;background:#eef0f2;border-top:1px solid #ccc;font-size:10px;min-height:22px}.mt-latex-bar__row{display:flex;align-items:center;gap:6px;min-height:18px}.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;flex:1}.mt-latex-bar__preview{padding:6px 8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;font-size:16px;text-align:center;overflow-x:auto;min-height:20px}.mt-latex-bar__error{padding:4px 8px;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:10px;font-family:Consolas,Fira Code,monospace;white-space:pre-wrap;word-break:break-all}.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-display-mode-toggle{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;color:#475569;cursor:pointer;font-size:11px;font-family:inherit;font-weight:500;transition:all .15s;white-space:nowrap}.mt-display-mode-toggle:hover{background:#e2e8f0;border-color:#94a3b8}.mt-display-mode-toggle.is-block{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.mt-display-mode-toggle__label{line-height:1}.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-overlay{position:absolute;inset:0;background-color:#3b82f61a;border:2px dashed var(--mtx-primary);pointer-events:none;z-index:9}.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-resize-handle--n{top:-6px;left:50%;transform:translate(-50%);cursor:ns-resize}.mtx-resize-handle--e{top:50%;right:-6px;transform:translateY(-50%);cursor:ew-resize}.mtx-resize-handle--s{bottom:-6px;left:50%;transform:translate(-50%);cursor:ns-resize}.mtx-resize-handle--w{top:50%;left:-6px;transform:translateY(-50%);cursor:ew-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-import-overlay{position:absolute;inset:0;background:#ffffffd9;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.mtx-import-overlay__spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:mtx-spin .8s linear infinite}@keyframes mtx-spin{to{transform:rotate(360deg)}}.mtx-import-overlay__text{font-size:14px;color:#475569;font-weight:500;font-family:Segoe UI,system-ui,sans-serif}.mtx-import-error{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:110;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:13px;font-family:Segoe UI,system-ui,sans-serif;box-shadow:0 4px 12px #0000001a;max-width:90%}.mtx-import-error__close{flex-shrink:0;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:#991b1b;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}.mtx-import-error__close:hover{background:#fecaca}.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-dark: #1e40af;--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}ul[data-type=taskList],.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-table-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-table-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-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 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}.ProseMirror table{position:relative}.ProseMirror table td,.ProseMirror table th{position:relative;cursor:text}.ProseMirror table td:not(:last-child):after,.ProseMirror table th:not(:last-child):after{content:"";position:absolute;right:-2px;top:0;bottom:0;width:4px;background:#3b82f626;z-index:5;transition:background .15s ease;pointer-events:none}.ProseMirror table td:not(:last-child):hover:after,.ProseMirror table th:not(:last-child):hover:after{background:#3b82f659}.ProseMirror table:focus-within td:not(:last-child):after,.ProseMirror table:focus-within th:not(:last-child):after{background:#3b82f633}.ProseMirror table:focus-within td:not(:last-child):hover:after,.ProseMirror table:focus-within th:not(:last-child):hover:after{background:#3b82f673}.ProseMirror table .column-resize-handle{position:absolute;top:0;bottom:0;width:10px;background:transparent;cursor:col-resize;z-index:20;transition:background .12s ease}.ProseMirror table .column-resize-handle:before{content:"";position:absolute;left:50%;top:4px;bottom:4px;width:1px;background:#3b82f640;transform:translate(-50%);transition:all .12s ease;border-radius:1px;pointer-events:none}.ProseMirror table .column-resize-handle:hover{background:#3b82f614}.ProseMirror table .column-resize-handle:hover:before{background:#3b82f6;width:2px}.ProseMirror table .column-resize-handle.is-active{background:#3b82f61f}.ProseMirror table .column-resize-handle.is-active:before{background:#2563eb;width:2px}.ProseMirror .column-resize-dragging{position:absolute;top:0;bottom:0;left:0;width:2px;background:#2563eb;z-index:30;pointer-events:none;box-shadow:0 0 8px #2563eb66}.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}@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-btn[data-tooltip],.mtx-math-toolbar__action-btn[data-tooltip]{position:relative}.mtx-math-btn[data-tooltip]:after,.mtx-math-toolbar__action-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(4px);padding:5px 8px;background:#1e293b;color:#fff;font-size:11px;font-weight:500;white-space:nowrap;border-radius:5px;opacity:0;visibility:hidden;transition:all .12s ease;pointer-events:none;z-index:1000;box-shadow:0 3px 10px #00000026;font-family:Segoe UI,system-ui,sans-serif}.mtx-math-btn[data-tooltip]:before,.mtx-math-toolbar__action-btn[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 2px);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 .12s ease;pointer-events:none;z-index:1000}.mtx-math-btn[data-tooltip]:hover:after,.mtx-math-btn[data-tooltip]:hover:before,.mtx-math-toolbar__action-btn[data-tooltip]:hover:after,.mtx-math-toolbar__action-btn[data-tooltip]:hover:before{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.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{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);caret-color:#2563eb;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;pointer-events:none;z-index:99}.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper:after{content:"⤡";position:absolute;bottom:8px;right:8px;width:28px;height:28px;background:#2563ebd9;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:5;box-shadow:0 2px 6px #00000026}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--selected .mtx-image-wrapper:hover:after,.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper.is-dragging:after{opacity:1}.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper:hover{outline:1.5px solid rgba(37,99,235,.25);outline-offset:2px;border-radius:2px}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--selected .mtx-image-wrapper:hover{outline-color:#2563eb80}.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper:hover img{box-shadow:0 4px 12px #0000002e}.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-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-inline.is-empty math-field{min-width:50px;min-height:26px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:4px}.mtx-math-inline.is-empty math-field:focus{border-color:var(--mtx-primary);background:#eff6ff;border-style:solid;box-shadow:0 0 0 2px #3b82f61a}.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}}@media (min-width: 768px){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{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-grid__btn[data-tooltip],.mt-format-btn[data-tooltip],.mt-tab[data-tooltip]{position:relative}.mt-grid__btn[data-tooltip]:after,.mt-format-btn[data-tooltip]:after,.mt-tab[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(4px);padding:4px 8px;background:#1e293b;color:#fff;font-size:11px;font-weight:500;white-space:nowrap;border-radius:5px;opacity:0;visibility:hidden;transition:all .12s ease;pointer-events:none;z-index:1000;box-shadow:0 3px 10px #00000026;font-family:Segoe UI,system-ui,sans-serif}.mt-grid__btn[data-tooltip]:before,.mt-format-btn[data-tooltip]:before,.mt-tab[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 2px);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 .12s ease;pointer-events:none;z-index:1000}.mt-grid__btn[data-tooltip]:hover:after,.mt-grid__btn[data-tooltip]:hover:before,.mt-format-btn[data-tooltip]:hover:after,.mt-format-btn[data-tooltip]:hover:before,.mt-tab[data-tooltip]:hover:after,.mt-tab[data-tooltip]:hover:before{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.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;position:relative}.mt-editor__field{min-height:100px;padding:2px;background:#fff}.mt-editor__field math-field{--caret-color: #2563eb;--selection-background-color: rgba(59, 130, 246, .25);--selection-color: #1e40af;--placeholder-color: rgba(59, 130, 246, .35);--placeholder-background-color: rgba(59, 130, 246, .08);cursor:text}.mt-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;background:#fff;z-index:10}.mt-loading__spinner{width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:mt-spin .8s linear infinite}@keyframes mt-spin{to{transform:rotate(360deg)}}.mt-loading__text{font-size:13px;color:#64748b;font-family:Segoe UI,system-ui,sans-serif}@media (min-width: 768px){.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;flex-direction:column;gap:2px;padding:4px 10px;background:#eef0f2;border-top:1px solid #ccc;font-size:10px;min-height:22px}.mt-latex-bar__row{display:flex;align-items:center;gap:6px;min-height:18px}.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;flex:1}.mt-latex-bar__preview{padding:6px 8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;font-size:16px;text-align:center;overflow-x:auto;min-height:20px}.mt-latex-bar__error{padding:4px 8px;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:10px;font-family:Consolas,Fira Code,monospace;white-space:pre-wrap;word-break:break-all}.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-display-mode-toggle{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;color:#475569;cursor:pointer;font-size:11px;font-family:inherit;font-weight:500;transition:all .15s;white-space:nowrap}.mt-display-mode-toggle:hover{background:#e2e8f0;border-color:#94a3b8}.mt-display-mode-toggle.is-block{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.mt-display-mode-toggle__label{line-height:1}.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-overlay{position:absolute;inset:0;background-color:#3b82f61a;border:2px dashed var(--mtx-primary);pointer-events:none;z-index:9}.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-resize-handle--n{top:-6px;left:50%;transform:translate(-50%);cursor:ns-resize}.mtx-resize-handle--e{top:50%;right:-6px;transform:translateY(-50%);cursor:ew-resize}.mtx-resize-handle--s{bottom:-6px;left:50%;transform:translate(-50%);cursor:ns-resize}.mtx-resize-handle--w{top:50%;left:-6px;transform:translateY(-50%);cursor:ew-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-import-overlay{position:absolute;inset:0;background:#ffffffd9;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.mtx-import-overlay__spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:mtx-spin .8s linear infinite}@keyframes mtx-spin{to{transform:rotate(360deg)}}.mtx-import-overlay__text{font-size:14px;color:#475569;font-weight:500;font-family:Segoe UI,system-ui,sans-serif}.mtx-import-error{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:110;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:13px;font-family:Segoe UI,system-ui,sans-serif;box-shadow:0 4px 12px #0000001a;max-width:90%}.mtx-import-error__close{flex-shrink:0;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:#991b1b;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}.mtx-import-error__close:hover{background:#fecaca}.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,4 +1,4 @@
1
- import { C as t, I as s, b as o, L as l, M as i, d as r, e as T, f as g, h as n, i as m, S as p, T as M, j as C, k as b, l as d, W as h, m as y, n as D, o as L, p as c, q as x, r as u, s as E, t as I, v as P, w as S, x as f, y as k } from "./index-CakccgVO.js";
1
+ import { C as t, I as s, b as o, L as l, M as i, d as r, e as T, f as g, h as n, i as m, S as p, T as M, j as C, k as b, l as d, W as h, m as y, n as D, o as L, p as c, q as x, r as u, s as E, t as I, v as P, w as S, x as f, y as k } from "./index-D0Rzm7Tg.js";
2
2
  import { C as H } from "./ContentViewer-RijJ5nlJ.js";
3
3
  export {
4
4
  t as CellPropertiesDialog,