erl-mathtextx-editor 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +251 -0
  3. package/dist/CellPropertiesDialogImpl-CgWcr4bD.js +101 -0
  4. package/dist/ContentViewer-DcvxXP9t.js +43 -0
  5. package/dist/ImageInsertDialog-Di0MXcC2.js +222 -0
  6. package/dist/InsertTableDialogImpl-CKirXRqE.js +100 -0
  7. package/dist/LinkDialogImpl-BSz0F-xG.js +136 -0
  8. package/dist/MathTextXEditor.d.ts +8 -0
  9. package/dist/TableTemplatesDialogImpl-DrdqLQLH.js +64 -0
  10. package/dist/TemplatePanel-BE_UfzYM.js +710 -0
  11. package/dist/assets/erl-mathtextx-editor.css +1 -0
  12. package/dist/assets/viewer.css +1 -0
  13. package/dist/components/CellPropertiesDialog.d.ts +4 -0
  14. package/dist/components/CellPropertiesDialogImpl.d.ts +14 -0
  15. package/dist/components/GraphComponent.d.ts +3 -0
  16. package/dist/components/ImageContextMenu.d.ts +18 -0
  17. package/dist/components/ImageEditDialog.d.ts +25 -0
  18. package/dist/components/ImageInsertDialog.d.ts +14 -0
  19. package/dist/components/ImageNodeView.d.ts +3 -0
  20. package/dist/components/InsertTableDialog.d.ts +4 -0
  21. package/dist/components/InsertTableDialogImpl.d.ts +7 -0
  22. package/dist/components/LinkDialog.d.ts +4 -0
  23. package/dist/components/LinkDialogImpl.d.ts +18 -0
  24. package/dist/components/TableMenu.d.ts +21 -0
  25. package/dist/components/TableTemplatesDialog.d.ts +4 -0
  26. package/dist/components/TableTemplatesDialogImpl.d.ts +15 -0
  27. package/dist/components/WordCount.d.ts +6 -0
  28. package/dist/components/__tests__/WordCount.test.d.ts +1 -0
  29. package/dist/components/tableTemplateStyles.d.ts +2 -0
  30. package/dist/components/useDialogA11y.d.ts +6 -0
  31. package/dist/components/wordCountUtils.d.ts +3 -0
  32. package/dist/core/__tests__/serializer.test.d.ts +1 -0
  33. package/dist/core/extensions.d.ts +9 -0
  34. package/dist/core/serializer.d.ts +24 -0
  35. package/dist/erl-mathtextx-editor.js +30 -0
  36. package/dist/erl-mathtextx-editor.umd.cjs +3508 -0
  37. package/dist/extensions/GraphExtension.d.ts +9 -0
  38. package/dist/index-CLGg8QXp.js +8700 -0
  39. package/dist/index-DYxMVo98.js +4599 -0
  40. package/dist/index.d.ts +33 -0
  41. package/dist/math/MathNodes.d.ts +11 -0
  42. package/dist/math/MathTypeDialog.d.ts +8 -0
  43. package/dist/math/MatrixGridSelector.d.ts +5 -0
  44. package/dist/math/SymbolPalette.d.ts +5 -0
  45. package/dist/math/TemplatePanel.d.ts +5 -0
  46. package/dist/mathlive-BwNIIOwE.js +14488 -0
  47. package/dist/templates/index.d.ts +17 -0
  48. package/dist/tiptap-BhJ7Fu9S.js +17927 -0
  49. package/dist/toolbar/MainToolbar.d.ts +14 -0
  50. package/dist/toolbar/MathToolbar.d.ts +7 -0
  51. package/dist/types/index.d.ts +73 -0
  52. package/dist/utils/exportUtils.d.ts +19 -0
  53. package/dist/utils/pasteHandler.d.ts +17 -0
  54. package/dist/viewer/ContentViewer.d.ts +29 -0
  55. package/dist/viewer/index.d.ts +2 -0
  56. package/dist/viewer/styles.d.ts +0 -0
  57. package/dist/viewer-deps-xNPNdmbe.js +12141 -0
  58. package/dist/viewer-styles.d.ts +1 -0
  59. package/dist/viewer-styles.js +1 -0
  60. package/dist/viewer.d.ts +2 -0
  61. package/dist/viewer.js +4 -0
  62. package/package.json +132 -0
@@ -0,0 +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 .tick line{stroke:#e2e8f0}.mtx-graph-render{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.mtx-matrix-grid-selector{display:flex;flex-direction:column;align-items:center;padding:10px;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;margin-bottom:10px;width:fit-content}.mtx-matrix-grid-label{font-size:12px;margin-bottom:5px;font-weight:600;color:#555;min-height:1.5em}.mtx-matrix-grid-squares{display:flex;flex-direction:column;gap:2px}.mtx-matrix-grid-row{display:flex;gap:2px}.mtx-matrix-grid-cell{width:12px;height:12px;background:#fff;border:1px solid #ccc;cursor:pointer}.mtx-matrix-grid-cell.is-active{background:#3b82f6;border-color:#2563eb}:root{--mtx-primary: #3b82f6;--mtx-primary-hover: #2563eb;--mtx-primary-light: #eff6ff;--mtx-bg: #ffffff;--mtx-toolbar-bg: #fafbfc;--mtx-border: #d4d4d8;--mtx-hover: #f4f4f5;--mtx-text: #18181b;--mtx-text-secondary: #52525b;--mtx-text-muted: #a1a1aa;--mtx-success: #22c55e;--mtx-warning: #f59e0b;--mtx-danger: #ef4444;--mtx-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mtx-font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--mtx-min-height: 200px;--mtx-max-height: none;--mtx-radius: 6px;--mtx-radius-sm: 4px}.mtx-editor{position:relative;border:1px solid var(--mtx-border);border-radius:6px;background:var(--mtx-bg);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;overflow:hidden;font-family:var(--mtx-font);transition:box-shadow .15s ease,border-color .15s ease}.mtx-editor:focus-within{border-color:var(--mtx-primary);box-shadow:0 0 0 2px #3b82f626,0 1px 3px #0000000f}.mtx-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:1px;padding:4px 6px;background:var(--mtx-toolbar-bg);border-bottom:1px solid var(--mtx-border);-webkit-user-select:none;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: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"],p.tt-indent-1,h1.tt-indent-1,h2.tt-indent-1,h3.tt-indent-1,h4.tt-indent-1,li.tt-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"],p.tt-indent-4,h1.tt-indent-4,h2.tt-indent-4,h3.tt-indent-4,h4.tt-indent-4,li.tt-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"],p.tt-indent-5,h1.tt-indent-5,h2.tt-indent-5,h3.tt-indent-5,h4.tt-indent-5,li.tt-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"],p.tt-indent-6,h1.tt-indent-6,h2.tt-indent-6,h3.tt-indent-6,h4.tt-indent-6,li.tt-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"],p.tt-indent-7,h1.tt-indent-7,h2.tt-indent-7,h3.tt-indent-7,h4.tt-indent-7,li.tt-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"],p.tt-indent-8,h1.tt-indent-8,h2.tt-indent-8,h3.tt-indent-8,h4.tt-indent-8,li.tt-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"],p.tt-indent-9,h1.tt-indent-9,h2.tt-indent-9,h3.tt-indent-9,h4.tt-indent-9,li.tt-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"],p.tt-indent-10,h1.tt-indent-10,h2.tt-indent-10,h3.tt-indent-10,h4.tt-indent-10,li.tt-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"],p.tt-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"],p.tt-indent-4{margin-left:0;text-indent:96px}p[data-indent="5"],p.tt-indent-5{margin-left:0;text-indent:120px}p[data-indent="6"],p.tt-indent-6{margin-left:0;text-indent:144px}p[data-indent="7"],p.tt-indent-7{margin-left:0;text-indent:168px}p[data-indent="8"],p.tt-indent-8{margin-left:0;text-indent:192px}p[data-indent="9"],p.tt-indent-9{margin-left:0;text-indent:216px}p[data-indent="10"],p.tt-indent-10{margin-left:0;text-indent:240px}p[data-text-align=center],h1[data-text-align=center],h2[data-text-align=center],h3[data-text-align=center],h4[data-text-align=center]{text-align:center}p[data-text-align=right],h1[data-text-align=right],h2[data-text-align=right],h3[data-text-align=right],h4[data-text-align=right]{text-align:right}p[data-text-align=justify],h1[data-text-align=justify],h2[data-text-align=justify],h3[data-text-align=justify],h4[data-text-align=justify]{text-align:justify}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-task-item[data-checked=true]>div{color:#64748b;text-decoration:line-through}.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;top:0;right:0;bottom:0;left: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;-webkit-user-select:none;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-secondary{background:#e2e8f0;color:#475569}.mtx-btn-secondary:hover{background:#cbd5e1;color:#1e293b}.mtx-btn-danger{background:#fee2e2;color:#dc2626}.mtx-btn-danger:hover{background:#fecaca;color:#b91c1c}.mtx-link-dialog{min-width:450px}.mtx-insert-table-dialog{min-width:400px}.mtx-table-templates-dialog{min-width:600px;max-width:800px}.mtx-templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;max-height:400px;overflow-y:auto;padding:8px}.mtx-template-dialog-hint{margin:0 0 12px;font-size:13px;color:#64748b}.mtx-template-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:0;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s ease;overflow:hidden;background:#fff;text-align:left}.mtx-template-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633;transform:translateY(-2px)}.mtx-template-preview{padding:12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.mtx-template-table{display:table;width:100%;border-collapse:collapse;font-size:8px}.mtx-template-row{display:table-row}.mtx-template-cell{display:table-cell;width:33%;height:20px;background:#fff;padding:4px}.mtx-template-header{background:#e2e8f0}.mtx-template-light .mtx-template-header{background:#f1f5f9}.mtx-template-dark .mtx-template-header{background:#1e293b;color:#fff}.mtx-template-blue .mtx-template-header{background:#3b82f6;color:#fff}.mtx-template-striped .mtx-template-row:nth-child(2n) .mtx-template-cell{background:#f8fafc}.mtx-template-minimal .mtx-template-cell{border:none;border-bottom:1px solid #cbd5e1}.mtx-template-info{padding:12px}.mtx-template-name{margin:0 0 4px;font-size:14px;font-weight:600;color:#1e293b}.mtx-template-description{margin:0;font-size:12px;color:#64748b}.mtx-number-input-wrapper{display:flex;align-items:center;gap:0}.mtx-number-btn{width:36px;height:38px;border:1px solid #cbd5e1;background:#f8fafc;color:#475569;font-size:18px;font-weight:600;cursor:pointer;transition:all .12s ease;display:flex;align-items:center;justify-content:center}.mtx-number-btn:first-child{border-radius:6px 0 0 6px;border-right:none}.mtx-number-btn:last-child{border-radius:0 6px 6px 0;border-left:none}.mtx-number-btn:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.mtx-number-btn:disabled{opacity:.4;cursor:not-allowed}.mtx-number-input{width:60px!important;text-align:center;border-radius:0!important;border-left:none!important;border-right:none!important;-moz-appearance:textfield}.mtx-number-input::-webkit-outer-spin-button,.mtx-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mtx-table-preview{margin-top:16px;padding:16px;background:#f1f5f9;border-radius:6px}.mtx-table-preview-label{font-size:12px;font-weight:600;color:#64748b;margin-bottom:12px;text-align:center}.mtx-table-preview-grid{display:grid;gap:2px;max-width:200px;margin:0 auto}.mtx-preview-cell{aspect-ratio:1;background:#cbd5e1;border:1px solid #94a3b8;border-radius:2px}.mtx-preview-header{background:#3b82f6;border-color:#2563eb}.mtx-cell-properties-dialog{min-width:400px}.mtx-width-input-wrapper{display:flex;gap:8px}.mtx-width-input{flex:1}.mtx-width-unit{width:70px;padding:10px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;outline:none}.mtx-width-unit:hover{border-color:#94a3b8}.mtx-width-unit:focus{border-color:#3b82f6}.mtx-color-input-wrapper{display:flex;gap:8px}.mtx-color-picker-input{width:50px;height:38px;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;background:#fff}.mtx-color-text-input{flex:1}.mtx-align-buttons{display:flex;gap:4px}.mtx-align-btn{flex:1;height:40px;border:1px solid #cbd5e1;background:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .12s ease}.mtx-align-btn:hover{background:#f8fafc;color:#1e293b;border-color:#94a3b8}.mtx-align-btn.is-active{background:#3b82f6;border-color:#2563eb;color:#fff}.mtx-table-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;border:none;padding:0;z-index:1000;background:transparent;cursor:default}.mtx-table-menu-dropdown{position:fixed;z-index:1000}.mtx-toolbar-btn--dropdown{width:20px;padding:0 2px}.mtx-toolbar-btn--dropdown svg{width:12px;height:12px}.mtx-table-menu{position:absolute;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;min-width:220px;padding:8px 0;animation:mtx-slide-down .15s ease;overflow:hidden}@keyframes mtx-slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mtx-table-menu-group{padding:4px 0;border-bottom:1px solid #e2e8f0}.mtx-table-menu-label{padding:6px 16px 4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.mtx-table-menu-group:last-child{border-bottom:none}.mtx-table-menu-item{width:100%;padding:10px 16px;border:none;background:transparent;display:flex;align-items:center;gap:12px;font-size:13px;color:#475569;cursor:pointer;transition:all .12s ease;text-align:left}.mtx-table-menu-item:hover{background:#f1f5f9;color:#1e293b}.mtx-table-menu-item.is-active{background:#eff6ff;color:#1d4ed8;font-weight:600}.mtx-table-menu-item--danger{color:#dc2626}.mtx-table-menu-item--danger:hover{background:#fee2e2;color:#b91c1c}.mtx-table-menu-icon{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center}.mtx-table{border-collapse:collapse;width:100%;margin:12px 0;table-layout:fixed;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #dbe4ef}.mtx-table td,.mtx-table th{border:1px solid #cbd5e1;padding:8px 12px;min-width:50px;position:relative;vertical-align:top;transition:background-color .12s ease,box-shadow .12s ease}.mtx-table th{background:#f1f5f9;font-weight:600;text-align:left}.mtx-table td:first-child,.mtx-table th:first-child{border-left-width:1px}.mtx-table tr:first-child td,.mtx-table tr:first-child th{border-top-width:1px}.mtx-table .selectedCell{background:#3b82f61a;border-color:#3b82f6;border-style:dashed;box-shadow:inset 0 0 0 1px #3b82f64d}.mtx-table tbody tr:nth-child(2n) td{background-image:linear-gradient(to bottom,#f8fafc59,#f8fafc59)}.mtx-table.mtx-table--plain{box-shadow:0 0 0 1px #dbe4ef}.mtx-table.mtx-table--light th{background:#f8fafc;color:#334155}.mtx-table.mtx-table--dark{box-shadow:0 0 0 1px #1e293b}.mtx-table.mtx-table--dark th{background:#1e293b;color:#f8fafc;border-color:#334155}.mtx-table.mtx-table--blue{box-shadow:0 0 0 1px #93c5fd}.mtx-table.mtx-table--blue th{background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff;border-color:#2563eb}.mtx-table.mtx-table--blue tbody tr:nth-child(2n) td,.mtx-table.mtx-table--striped tbody tr:nth-child(2n) td{background:#f8fbff}.mtx-table.mtx-table--minimal{box-shadow:none}.mtx-table.mtx-table--minimal td,.mtx-table.mtx-table--minimal th{border-left:none;border-right:none}.mtx-table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:transparent;cursor:col-resize;z-index:10}.mtx-table .column-resize-handle:hover{background:#3b82f6}@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;-webkit-user-select:none;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}.mtx-math-btn__label{line-height:1}.mtx-math-toolbar__actions{display:flex;align-items:center;gap:4px;margin-left:auto;padding-left:6px;border-left:1px solid #ccc;flex-shrink:0}.mtx-math-toolbar__action-btn{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:1px solid #aaa;border-radius:2px;background:#fff;color:#444;cursor:pointer;font-size:11px;font-weight:600;font-family:Segoe UI,system-ui,sans-serif;transition:all .1s ease}.mtx-math-toolbar__action-btn:hover{background:#f0f0f0;border-color:#888;color:#222}.mtx-symbol-palette{position:absolute;top:100%;right:8px;z-index:100;width:360px;max-height:420px;background:#fff;border:1px solid var(--mtx-border);border-radius:8px;box-shadow:0 10px 40px #0000001f,0 2px 10px #00000014;overflow:hidden;animation:mtx-fadeIn .15s ease}@keyframes mtx-fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mtx-symbol-palette__header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--mtx-border);background:#f9fafb}.mtx-symbol-palette__title{font-size:13px;font-weight:600;color:var(--mtx-text)}.mtx-symbol-palette__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;font-size:16px;line-height:1}.mtx-symbol-palette__close:hover{background:#fee2e2;color:#ef4444}.mtx-symbol-palette__search{display:block;width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--mtx-border);font-size:13px;font-family:var(--mtx-font);background:#fff;outline:none}.mtx-symbol-palette__search:focus{background:#eff6ff}.mtx-symbol-palette__search::placeholder{color:#94a3b8}.mtx-symbol-palette__body{overflow-y:auto;max-height:330px;padding:8px}.mtx-symbol-palette__category{margin-bottom:8px}.mtx-symbol-palette__category-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--mtx-text-secondary);padding:4px 4px 6px}.mtx-symbol-palette__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:2px}.mtx-symbol-palette__item{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--mtx-text);cursor:pointer;font-size:16px;font-family:"Cambria Math",serif;transition:all .1s ease}.mtx-symbol-palette__item:hover{background:var(--mtx-primary-light);border-color:var(--mtx-primary);color:var(--mtx-primary);transform:scale(1.1)}.mtx-content{position:relative}.mtx-content .tiptap{padding:16px 20px;min-height:var(--mtx-min-height, 200px);outline:none;font-size:15px;line-height:1.7;color:var(--mtx-text)}.mtx-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#94a3b8;font-style:italic;pointer-events:none;float:left;height:0}.mtx-content .tiptap h1{font-size:1.8em;font-weight:700;margin:.6em 0 .4em;color:#0f172a;line-height:1.3;letter-spacing:-.02em}.mtx-content .tiptap h2{font-size:1.4em;font-weight:600;margin:.5em 0 .3em;color:#1e293b;line-height:1.35}.mtx-content .tiptap h3{font-size:1.15em;font-weight:600;margin:.5em 0 .3em;color:#334155;line-height:1.4}.mtx-content .tiptap ul,.mtx-content .tiptap ol{padding-left:24px;margin:.5em 0}.mtx-content .tiptap li{margin:.15em 0}.mtx-content .tiptap li p{margin:0}.mtx-content .tiptap a{color:var(--mtx-primary);text-decoration:underline;text-decoration-color:#3b82f64d;text-underline-offset:2px;cursor:pointer;transition:text-decoration-color .15s}.mtx-content .tiptap a:hover{text-decoration-color:var(--mtx-primary)}.mtx-content .tiptap blockquote{border-left:3px solid var(--mtx-primary);padding:8px 16px;margin:.8em 0;background:#eff6ff;border-radius:0 6px 6px 0;color:#1e40af;font-style:italic}.mtx-content .tiptap p[data-indent],.mtx-content .tiptap h1[data-indent],.mtx-content .tiptap h2[data-indent],.mtx-content .tiptap h3[data-indent],.mtx-content .tiptap h4[data-indent],.mtx-content .tiptap p.tt-indent,.mtx-content .tiptap h1.tt-indent,.mtx-content .tiptap h2.tt-indent,.mtx-content .tiptap h3.tt-indent,.mtx-content .tiptap h4.tt-indent,.mtx-content .tiptap li[data-indent]{position:relative}.mtx-math-btn--recent{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.mtx-math-btn--recent:hover{background:#dbeafe;border-color:#93c5fd}.mtx-content .tiptap p[data-indent="1"],.mtx-content .tiptap h1[data-indent="1"],.mtx-content .tiptap h2[data-indent="1"],.mtx-content .tiptap h3[data-indent="1"],.mtx-content .tiptap h4[data-indent="1"],.mtx-content .tiptap p.tt-indent-1,.mtx-content .tiptap h1.tt-indent-1,.mtx-content .tiptap h2.tt-indent-1,.mtx-content .tiptap h3.tt-indent-1,.mtx-content .tiptap h4.tt-indent-1,.mtx-content .tiptap li.tt-indent-1{margin-left:2em}.mtx-content .tiptap p[data-indent="2"],.mtx-content .tiptap h1[data-indent="2"],.mtx-content .tiptap h2[data-indent="2"],.mtx-content .tiptap h3[data-indent="2"],.mtx-content .tiptap h4[data-indent="2"],.mtx-content .tiptap p.tt-indent-2,.mtx-content .tiptap h1.tt-indent-2,.mtx-content .tiptap h2.tt-indent-2,.mtx-content .tiptap h3.tt-indent-2,.mtx-content .tiptap h4.tt-indent-2,.mtx-content .tiptap li.tt-indent-2{margin-left:4em}.mtx-content .tiptap p[data-indent="3"],.mtx-content .tiptap h1[data-indent="3"],.mtx-content .tiptap h2[data-indent="3"],.mtx-content .tiptap h3[data-indent="3"],.mtx-content .tiptap h4[data-indent="3"],.mtx-content .tiptap p.tt-indent-3,.mtx-content .tiptap h1.tt-indent-3,.mtx-content .tiptap h2.tt-indent-3,.mtx-content .tiptap h3.tt-indent-3,.mtx-content .tiptap h4.tt-indent-3,.mtx-content .tiptap li.tt-indent-3{margin-left:6em}.mtx-content .tiptap p[data-indent="4"],.mtx-content .tiptap h1[data-indent="4"],.mtx-content .tiptap h2[data-indent="4"],.mtx-content .tiptap h3[data-indent="4"],.mtx-content .tiptap h4[data-indent="4"],.mtx-content .tiptap p.tt-indent-4,.mtx-content .tiptap h1.tt-indent-4,.mtx-content .tiptap h2.tt-indent-4,.mtx-content .tiptap h3.tt-indent-4,.mtx-content .tiptap h4.tt-indent-4,.mtx-content .tiptap li.tt-indent-4{margin-left:8em}.mtx-content .tiptap p[data-indent="5"],.mtx-content .tiptap h1[data-indent="5"],.mtx-content .tiptap h2[data-indent="5"],.mtx-content .tiptap h3[data-indent="5"],.mtx-content .tiptap h4[data-indent="5"],.mtx-content .tiptap p.tt-indent-5,.mtx-content .tiptap h1.tt-indent-5,.mtx-content .tiptap h2.tt-indent-5,.mtx-content .tiptap h3.tt-indent-5,.mtx-content .tiptap h4.tt-indent-5,.mtx-content .tiptap li.tt-indent-5{margin-left:10em}.mtx-content .tiptap p[data-indent="6"],.mtx-content .tiptap h1[data-indent="6"],.mtx-content .tiptap h2[data-indent="6"],.mtx-content .tiptap h3[data-indent="6"],.mtx-content .tiptap h4[data-indent="6"],.mtx-content .tiptap p.tt-indent-6,.mtx-content .tiptap h1.tt-indent-6,.mtx-content .tiptap h2.tt-indent-6,.mtx-content .tiptap h3.tt-indent-6,.mtx-content .tiptap h4.tt-indent-6,.mtx-content .tiptap li.tt-indent-6{margin-left:12em}.mtx-content .tiptap p[data-indent="7"],.mtx-content .tiptap h1[data-indent="7"],.mtx-content .tiptap h2[data-indent="7"],.mtx-content .tiptap h3[data-indent="7"],.mtx-content .tiptap h4[data-indent="7"],.mtx-content .tiptap p.tt-indent-7,.mtx-content .tiptap h1.tt-indent-7,.mtx-content .tiptap h2.tt-indent-7,.mtx-content .tiptap h3.tt-indent-7,.mtx-content .tiptap h4.tt-indent-7,.mtx-content .tiptap li.tt-indent-7{margin-left:14em}.mtx-content .tiptap p[data-indent],.mtx-content .tiptap p.tt-indent{margin-left:0;text-indent:0}.mtx-content .tiptap p[data-indent="1"],.mtx-content .tiptap p.tt-indent-1{margin-left:0;text-indent:2em}.mtx-content .tiptap p[data-indent="2"],.mtx-content .tiptap p.tt-indent-2{margin-left:0;text-indent:4em}.mtx-content .tiptap p[data-indent="3"],.mtx-content .tiptap p.tt-indent-3{margin-left:0;text-indent:6em}.mtx-content .tiptap p[data-indent="4"],.mtx-content .tiptap p.tt-indent-4{margin-left:0;text-indent:8em}.mtx-content .tiptap p[data-indent="5"],.mtx-content .tiptap p.tt-indent-5{margin-left:0;text-indent:10em}.mtx-content .tiptap p[data-indent="6"],.mtx-content .tiptap p.tt-indent-6{margin-left:0;text-indent:12em}.mtx-content .tiptap p[data-indent="7"],.mtx-content .tiptap p.tt-indent-7{margin-left:0;text-indent:14em}.mtx-content .tiptap code{background:#f1f5f9;color:#e11d48;padding:1px 5px;border-radius:3px;font-size:.9em;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace}.mtx-content .tiptap pre{background:#1e293b;color:#e2e8f0;padding:16px;border-radius:6px;overflow-x:auto;margin:.8em 0;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.85em;line-height:1.6}.mtx-content .tiptap pre code{background:none;color:inherit;padding:0;border-radius:0;font-size:inherit}.mtx-content .tiptap table{border-collapse:collapse;width:100%;margin:.8em 0;border-radius:6px;overflow:hidden}.mtx-content .tiptap table td,.mtx-content .tiptap table th{border:1px solid #e2e8f0;padding:8px 12px;text-align:left;min-width:80px;vertical-align:top}.mtx-content .tiptap table th{background:#f1f5f9;font-weight:600;color:#334155;font-size:.9em;text-transform:uppercase;letter-spacing:.03em}.mtx-content .tiptap table tr:hover td{background:#f8fafc}.mtx-content .tiptap hr{border:none;border-top:2px solid #e2e8f0;margin:1.5em 0}.mtx-content .tiptap figure.mtx-image-figure{margin:.5em 0;text-align:center;position:relative;display:inline-block;width:fit-content;max-width:100%}.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper{position:relative;display:inline-block;line-height:0;-webkit-user-select:none;user-select:none;backface-visibility:hidden}.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper.is-dragging{z-index:20}.mtx-content .tiptap figure.mtx-image-figure{transition:margin .18s ease,transform .18s ease}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--dragging,.mtx-content .tiptap figure.mtx-image-figure.mtx-image--dragging .mtx-image-wrapper{transition:none}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--snap-animating,.mtx-content .tiptap figure.mtx-image-figure.mtx-image--snap-animating .mtx-image-wrapper{transition:margin .18s ease,transform .18s ease}.mtx-content .tiptap figure.mtx-image-figure img{max-width:100%;height:auto;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:box-shadow .2s ease}.mtx-content .tiptap figure.mtx-image-figure:hover img{box-shadow:0 4px 8px #00000026}.mtx-content .tiptap figure.mtx-image-figure figcaption{text-align:center;font-size:.875rem;color:#64748b;margin-top:.5em;padding:.25em .5em;background:#f1f5f9;border-radius:4px}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--left{float:left;margin-right:1.5em;margin-bottom:1em;clear:none}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--right{float:right;margin-left:1.5em;margin-bottom:1em;clear:none}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--center{display:block;margin-left:auto;margin-right:auto;clear:both}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--full{display:block;width:100%!important;margin:1em 0;clear:both}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--full img{width:100%}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--dragging{opacity:.92}.mtx-content .tiptap figure.mtx-image-figure.mtx-image-snap-preview--left{box-shadow:-6px 0 #2563eb59}.mtx-content .tiptap figure.mtx-image-figure.mtx-image-snap-preview--center{box-shadow:0 0 0 2px #2563eb47}.mtx-content .tiptap figure.mtx-image-figure.mtx-image-snap-preview--right{box-shadow:6px 0 #2563eb59}.mtx-image-drag-guide{position:absolute;top:0;left:0;width:0;height:100%;border-left:2px dashed rgba(37,99,235,.5);pointer-events:none;z-index:100}.mtx-image-drag-zone{position:absolute;top:0;left:0;width:100%;height:100%;background:#2563eb0f;border-radius:0;pointer-events:none;z-index:99}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--selected,.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper.mtx-image--selected{outline:2px solid var(--mtx-primary);outline-offset:2px}.mtx-resize-handle{position:absolute;width:10px;height:10px;background:var(--mtx-primary);border:2px solid white;border-radius:50%;cursor:pointer;pointer-events:auto;box-shadow:0 1px 3px #0000004d;transition:transform .15s ease;z-index:12;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.mtx-image-resize-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#3b82f61a;border:2px dashed var(--mtx-primary);pointer-events:none;z-index:9}.mtx-resize-handle:hover{transform:scale(1.3)}.mtx-resize-handle--nw{top:-5px;left:-5px;cursor:nw-resize}.mtx-resize-handle--ne{top:-5px;right:-5px;cursor:ne-resize}.mtx-resize-handle--sw{bottom:-5px;left:-5px;cursor:sw-resize}.mtx-resize-handle--se{bottom:-5px;right:-5px;cursor:se-resize}.mtx-resize-handle--n{top:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.mtx-resize-handle--e{top:50%;right:-5px;transform:translateY(-50%);cursor:ew-resize}.mtx-resize-handle--s{bottom:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.mtx-resize-handle--w{top:50%;left:-5px;transform:translateY(-50%);cursor:ew-resize}.mtx-image-node-view{display:inline-block;max-width:100%;position:relative}.mtx-content .tiptap:after{content:"";display:table;clear:both}.mtx-math-inline,.mtx-math-block{display:inline-block;position:relative}.mtx-math-inline math-field,.mtx-math-block math-field{border:1px solid transparent;border-radius:4px;outline:none;transition:all .15s ease;font-size:1.05em;background:transparent;--selection-background-color: rgba(59, 130, 246, .2)}.mtx-math-inline math-field:focus,.mtx-math-block math-field:focus{border-color:var(--mtx-primary);background:#eff6ff;box-shadow:0 0 0 2px #3b82f61a}.mtx-math-block{display:block;text-align:center;margin:12px 0;padding:12px;background:#f8fafc;border-radius:6px;border:1px dashed #cbd5e1}.mtx-math-block math-field{font-size:1.2em}.mtx-math-edit-btn{position:absolute;background:#2563eb;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;z-index:10;display:flex;align-items:center;gap:4px;box-shadow:0 2px 4px #0003;transition:all .15s ease}.mtx-math-edit-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 6px #00000040}.mtx-math-inline .mtx-math-edit-btn{right:-28px;top:50%;transform:translateY(-50%)}.mtx-math-block .mtx-math-edit-btn{right:8px;top:8px}.ProseMirror-selectednode .mtx-math-inline,.ProseMirror-selectednode .mtx-math-block{outline:2px solid var(--mtx-primary);outline-offset:2px;border-radius:4px}.mtx-content::-webkit-scrollbar{width:6px}.mtx-content::-webkit-scrollbar-track{background:transparent}.mtx-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.mtx-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 640px){.mtx-toolbar-mode-switch{order:-1;margin-bottom:4px}.mtx-toolbar{gap:0;padding:3px 4px}.mtx-toolbar-btn{width:28px;height:28px}.mtx-toolbar-divider{margin:0 2px}.mtx-math-toolbar__buttons{gap:1px;flex-wrap:wrap;justify-content:center}.mtx-math-toolbar__section{padding-right:4px;margin-right:4px}.mtx-math-toolbar__section-toggle{padding:0 6px}.mtx-math-toolbar{padding:4px;min-width:unset;width:calc(100% - 20px);flex-wrap:wrap}.mtx-math-toolbar__search-wrap{order:3;width:100%}.mtx-math-toolbar__search{width:100%}.mtx-math-btn{min-width:26px;height:26px;font-size:11px}.mtx-symbol-palette{width:300px}.mtx-template-panel{width:340px}}.ML__keyboard,.ML__keyboard-toggle,div[class*=ML__keyboard],.ML__virtual-keyboard-toggle,[data-keyboard-wrapper],math-field::part(virtual-keyboard-toggle),[part=virtual-keyboard-toggle],button[part=virtual-keyboard-toggle],.ML__virtual-keyboard-toggle-glyph,.MLK__backdrop,.MLK__container,ml-virtual-keyboard{display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important;position:absolute!important;z-index:-1!important;opacity:0!important}.mtx-template-panel{position:absolute;top:100%;right:8px;z-index:100;width:520px;max-height:520px;background:#fff;border:1px solid var(--mtx-border);border-radius:8px;box-shadow:0 10px 40px #00000026,0 2px 10px #00000014;overflow:hidden;animation:mtx-fadeIn .15s ease}.mtx-template-panel__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--mtx-border);background:linear-gradient(to bottom,#f9fafb,#f3f4f6)}.mtx-template-panel__title{font-size:13px;font-weight:600;color:var(--mtx-text)}.mtx-template-panel__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;font-size:16px;line-height:1}.mtx-template-panel__close:hover{background:#fee2e2;color:#ef4444}.mtx-template-panel__search{display:block;width:100%;padding:8px 14px;border:none;border-bottom:1px solid var(--mtx-border);font-size:13px;font-family:var(--mtx-font);background:#fff;outline:none}.mtx-template-panel__search:focus{background:#eff6ff}.mtx-template-panel__search::placeholder{color:#94a3b8}.mtx-template-panel__body{display:flex;flex-direction:row;height:320px}@media (max-width: 640px){.mtx-template-panel__body{flex-direction:column;height:400px}}.mtx-template-panel__tabs{width:160px;min-width:160px;overflow-y:auto;border-right:1px solid var(--mtx-border);background:#f9fafb;padding:4px}@media (max-width: 640px){.mtx-template-panel__tabs{width:100%;min-width:unset;height:auto;display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid var(--mtx-border);white-space:nowrap;padding:6px;gap:4px}}.mtx-template-panel__tab{display:flex;align-items:center;gap:4px;width:100%;padding:4px 6px;border:none;border-radius:4px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--mtx-font);text-align:left;transition:all .1s ease;margin-bottom:1px}@media (max-width: 640px){.mtx-template-panel__tab{width:auto;flex:0 0 auto;padding:6px 10px}}.mtx-template-panel__tab:hover{background:#f1f5f9;color:var(--mtx-text)}.mtx-template-panel__tab.is-active{background:var(--mtx-primary-light);color:var(--mtx-primary)}.mtx-template-panel__tab-icon{font-size:13px;flex-shrink:0}.mtx-template-panel__tab-label{line-height:1.2}.mtx-template-panel__content{flex:1;overflow-y:auto;padding:12px;background:#fff}.mtx-template-panel__empty{padding:20px;text-align:center;color:#94a3b8;font-size:13px}.mtx-template-panel__group{margin-bottom:8px}.mtx-template-panel__group-title{font-size:11px;font-weight:600;color:var(--mtx-text-secondary);padding:4px 4px 8px;text-transform:uppercase;letter-spacing:.04em}.mtx-template-panel__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.mtx-template-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;text-align:left;transition:all .12s ease;font-family:var(--mtx-font);min-height:52px;overflow:hidden}.mtx-template-card:hover{border-color:var(--mtx-primary);background:var(--mtx-primary-light);box-shadow:0 2px 6px #3b82f61f;transform:translateY(-1px)}.mtx-template-card__preview{font-size:13px;font-weight:500;color:var(--mtx-text);font-family:"Cambria Math","Latin Modern Math",serif;line-height:1.5;word-break:break-all;padding-bottom:4px;display:block}.mtx-template-card__label{font-size:10px;color:var(--mtx-text-muted);line-height:1.2}.mtx-template-panel__levels{display:flex;gap:2px;padding:6px 10px;border-bottom:1px solid var(--mtx-border);background:#f8fafc}.mtx-template-panel__level{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border:1px solid transparent;border-radius:20px;background:transparent;color:var(--mtx-text-secondary);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--mtx-font);transition:all .12s ease}.mtx-template-panel__level:hover{background:#fff;border-color:var(--mtx-border)}.mtx-template-panel__level.is-active{background:var(--mtx-primary);color:#fff;border-color:var(--mtx-primary)}.mtx-template-panel__tab-badge{font-size:9px;padding:0 4px;border-radius:3px;background:#e2e8f0;color:var(--mtx-text-secondary);font-weight:600;margin-left:auto}.mtx-template-panel__tab.is-active .mtx-template-panel__tab-badge{background:#3b82f633;color:var(--mtx-primary)}.mtx-template-panel__group-level{font-size:9px;padding:1px 5px;border-radius:3px;background:var(--mtx-primary-light);color:var(--mtx-primary);font-weight:600;margin-left:4px}.mt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(3px);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;-webkit-user-select:none;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;-webkit-user-select:none;user-select:none;white-space:nowrap;box-shadow:0 1px 2px #0000000a;position:relative;overflow:hidden}.mt-grid__btn:hover{background:linear-gradient(180deg,#eff6ff,#dbeafe);border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626,0 1px 2px #0000000f;transform:translateY(-1px);color:#1e40af}.mt-grid__btn:active{background:linear-gradient(180deg,#dbeafe,#bfdbfe);border-color:#2563eb;box-shadow:inset 0 1px 2px #00000014;transform:translateY(0)}.mt-grid__btn--formula{min-width:70px;max-width:120px}.mt-icon-row{display:flex;align-items:center;justify-content:center;gap:3px}.mt-ph{display:inline-block;width:11px;height:11px;border:1.5px solid #3b82f6;background:#3b82f614;border-radius:2px;margin:0 1px;transition:all .15s ease}.mt-ph--sm{width:8px;height:8px;border-width:1.5px}.mt-grid__btn:hover .mt-ph{border-color:#2563eb;background:#3b82f626}.mt-icon-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;gap:2px}.mt-icon-stack--lg{transform:scale(1.15)}.mt-icon-stack--sm{transform:scale(.7)}.mt-icon-num{padding-bottom:2px;display:flex;justify-content:center;align-items:center}.mt-icon-den{padding-top:2px;display:flex;justify-content:center;align-items:center}.mt-icon-bar{width:100%;height:1.5px;background:linear-gradient(90deg,transparent 0%,currentColor 10%,currentColor 90%,transparent 100%);opacity:.7;border-radius:1px}.mt-icon-sqrt{font-size:17px;line-height:1;transform:scaleY(1.2) translateY(1px);font-weight:300}.mt-icon-sqrt-bar{border-top:1.5px solid currentColor;padding-top:2px;margin-left:-1px;opacity:.7}.mt-icon-idx{font-size:.65em;line-height:1;font-weight:500}.mt-icon-grid{display:flex;flex-direction:column;gap:2px;margin:0 2px}.mt-icon-grid-row{display:flex;gap:2px}.mt-brak{font-weight:300;transform:scaleY(1.3);color:#475569}.mt-brak--lg{transform:scaleY(1.6)}.mt-sym{font-family:Times New Roman,serif;font-style:italic;color:#334155}.mt-sym-lg{font-size:17px;font-weight:500;color:#1e293b}.mt-sym-xl{font-size:20px;line-height:.8;color:#1e293b}.mt-sym-sm{font-size:10px}.mt-sym-fn{font-family:Times New Roman,serif;font-size:12px;font-style:italic;color:#334155}.mt-txt-icon{font-family:Segoe UI,system-ui,sans-serif;font-size:9px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.3px;padding:2px 4px;background:#f1f5f9;border-radius:3px;border:1px solid #e2e8f0}.mt-over{position:absolute;top:-6px;left:50%;transform:translate(-50%);font-size:10px;width:100%;text-align:center;color:#64748b}.mt-under{position:absolute;bottom:-5px;left:50%;transform:translate(-50%);font-size:10px;color:#64748b}.mt-editor{flex:1;min-height:100px;background:#fff;border-top:1px solid #999}.mt-editor__field{min-height:100px;padding:2px;background:#fff}.mt-editor__field math-field{--keyboard-zindex: -1 !important;--virtual-keyboard-toggle-display: none !important}.mt-editor__field:focus-within{outline:none}.mt-latex-bar{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#eef0f2;border-top:1px solid #ccc;font-size:10px;min-height:22px}.mt-latex-bar__label{font-weight:700;color:#777;font-family:Segoe UI,system-ui,sans-serif;flex-shrink:0;font-size:10px}.mt-latex-bar__code{font-family:Consolas,Fira Code,monospace;font-size:10px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-actions{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;background:linear-gradient(180deg,#e4e8ec,#d8dce0);border-top:1px solid #bbb;gap:8px}.mt-actions__hint{font-size:10px;color:#777;font-family:Segoe UI,system-ui,sans-serif}.mt-actions__hint kbd{display:inline-block;padding:1px 4px;border:1px solid #bbb;border-radius:3px;background:#f5f5f5;font-size:9px;font-family:inherit;box-shadow:0 1px #ccc}.mt-actions__buttons{display:flex;gap:6px;flex-shrink:0}.mt-actions__cancel{padding:5px 14px;border:1px solid #aaa;border-radius:4px;background:linear-gradient(180deg,#f5f5f5,#e0e0e0);color:#444;cursor:pointer;font-size:12px;font-family:Segoe UI,system-ui,sans-serif;font-weight:500;transition:all .1s}.mt-actions__cancel:hover{background:linear-gradient(180deg,#fff,#eee);border-color:#888}.mt-actions__insert{padding:5px 16px;border:1px solid #2a5a94;border-radius:4px;background:linear-gradient(180deg,#4a8ad4,#2d6bb0);color:#fff;cursor:pointer;font-size:12px;font-family:Segoe UI,system-ui,sans-serif;font-weight:600;transition:all .1s;text-shadow:0 1px 1px rgba(0,0,0,.2)}.mt-actions__insert:hover{background:linear-gradient(180deg,#5a9ae4,#3d7bc0)}.mt-actions__insert:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 700px){.mt-dialog{width:98vw;max-height:95vh;border-radius:4px}.mt-tab{min-width:36px;padding:3px 5px;font-size:11px}.mt-grid__btn{min-width:32px;height:30px;font-size:13px;padding:2px 4px}.mt-titlebar__title{font-size:11px}.mt-actions__hint{display:none}}.mt-font-serif{font-family:Times New Roman,Times,serif!important}.mt-font-sans{font-family:Arial,Helvetica,sans-serif!important}.mt-font-mono{font-family:Courier New,Courier,monospace!important}.mt-font-arabic{font-family:Amiri,Scheherazade,Traditional Arabic,serif!important;direction:rtl}.mt-font-cjk{font-family:SimSun,Noto Sans CJK SC,sans-serif!important}.mt-font-korean{font-family:Malgun Gothic,Noto Sans CJK KR,sans-serif!important}.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;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:9998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mtx-image-resize-handles{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;display:none;z-index:10}.mtx-content .tiptap figure.mtx-image-figure.mtx-image--selected .mtx-image-resize-handles,.mtx-content .tiptap figure.mtx-image-figure .mtx-image-wrapper.mtx-image--selected .mtx-image-resize-handles{display:block;pointer-events:auto}.mtx-resize-handle{position:absolute;width:12px;height:12px;background:var(--mtx-primary, #3b82f6);border:2px solid white;border-radius:50%;cursor:pointer;pointer-events:auto;box-shadow:0 2px 4px #0000004d;transition:transform .15s ease,background .15s ease;z-index:11}.mtx-resize-handle:hover{transform:scale(1.4);background:#2563eb}.mtx-resize-handle--nw{top:-6px;left:-6px;cursor:nwse-resize}.mtx-resize-handle--ne{top:-6px;right:-6px;cursor:nesw-resize}.mtx-resize-handle--sw{bottom:-6px;left:-6px;cursor:nesw-resize}.mtx-resize-handle--se{bottom:-6px;right:-6px;cursor:nwse-resize}.mtx-context-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99998;background:transparent}.mtx-image-context-menu{position:fixed;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003,0 0 0 1px #0000000d;z-index:99999;min-width:220px;max-width:280px;padding:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:mtxContextMenuFadeIn .15s ease}@keyframes mtxContextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mtx-context-menu-section{padding:4px 0}.mtx-context-menu-label{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:8px 12px 4px}.mtx-context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;color:#334155;text-align:left;transition:background .15s ease,color .15s ease}.mtx-context-menu-item:hover{background:#f1f5f9;color:#1e293b}.mtx-context-menu-item svg{flex-shrink:0;width:16px;height:16px;color:#64748b}.mtx-context-menu-item:hover svg{color:#3b82f6}.mtx-context-menu-item--danger{color:#dc2626}.mtx-context-menu-item--danger:hover{background:#fef2f2;color:#dc2626}.mtx-context-menu-item--danger:hover svg{color:#dc2626}.mtx-context-menu-divider{height:1px;background:#e2e8f0;margin:8px 0}.mtx-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:9998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mtx-image-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(480px,90vw);max-height:85vh;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;z-index:9999;display:flex;flex-direction:column;overflow:hidden}.mtx-image-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.mtx-image-dialog__header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b}.mtx-image-dialog__close{background:none;border:none;font-size:18px;cursor:pointer;color:#94a3b8;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s}.mtx-image-dialog__close:hover{background:#f1f5f9;color:#334155}.mtx-image-dialog__tabs{display:flex;border-bottom:1px solid #e2e8f0;padding:0 20px;gap:4px}.mtx-image-dialog__tab{background:none;border:none;padding:10px 16px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;margin-bottom:-1px}.mtx-image-dialog__tab:hover{color:#334155}.mtx-image-dialog__tab.is-active{color:#3b82f6;border-bottom-color:#3b82f6}.mtx-image-dialog__body{padding:20px;overflow-y:auto;flex:1}.mtx-image-dialog__dropzone{border:2px dashed #cbd5e1;border-radius:10px;padding:32px;text-align:center;cursor:pointer;transition:all .2s;min-height:160px;display:flex;align-items:center;justify-content:center}.mtx-image-dialog__dropzone:hover{border-color:#3b82f6;background:#eff6ff}.mtx-image-dialog__dropzone.is-dragging{border-color:#3b82f6;background:#dbeafe;border-style:solid}.mtx-image-dialog__placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#94a3b8}.mtx-image-dialog__placeholder svg{margin-bottom:4px;opacity:.5}.mtx-image-dialog__placeholder p{margin:0;font-size:14px;color:#475569}.mtx-image-dialog__placeholder span{font-size:12px;color:#94a3b8}.mtx-image-dialog__uploading{display:flex;flex-direction:column;align-items:center;gap:12px;color:#3b82f6}.mtx-image-dialog__uploading p{margin:0;font-size:14px}.mtx-image-dialog__preview img,.mtx-image-dialog__url-preview img{max-width:100%;max-height:200px;border-radius:8px;object-fit:contain}.mtx-image-dialog__url-form{display:flex;flex-direction:column;gap:8px}.mtx-image-dialog__url-form label,.mtx-image-dialog__alt label{font-size:13px;font-weight:500;color:#475569}.mtx-image-dialog__url-row{display:flex;gap:8px}.mtx-image-dialog__url-row input,.mtx-image-dialog__alt input{flex:1;padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;outline:none;transition:border-color .15s}.mtx-image-dialog__url-row input:focus,.mtx-image-dialog__alt input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.mtx-image-dialog__url-preview{margin-top:12px;text-align:center;padding:12px;background:#f8fafc;border-radius:8px}.mtx-image-dialog__alt{margin-top:16px;display:flex;flex-direction:column;gap:6px}.mtx-image-dialog__error{margin-top:12px;padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px}.mtx-image-dialog__footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #e2e8f0}.mtx-image-dialog__btn{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;border:none}.mtx-image-dialog__btn--cancel{background:#f1f5f9;color:#475569}.mtx-image-dialog__btn--cancel:hover{background:#e2e8f0}.mtx-image-dialog__btn--insert{background:#3b82f6;color:#fff}.mtx-image-dialog__btn--insert:hover{background:#2563eb}.mtx-image-dialog__btn--insert:disabled{opacity:.5;cursor:not-allowed}