@domternal/theme 0.4.0 → 0.5.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/README.md CHANGED
@@ -24,7 +24,7 @@ See <u>[Packages & Bundle Size](https://domternal.dev/v1/packages)</u> for a ful
24
24
  - **Tree-shakeable** - import only what you use, your bundler strips the rest
25
25
  - **~38 KB gzipped** (own code), <u>[~108 KB total](https://domternal.dev/v1/packages)</u> with ProseMirror
26
26
  - **TypeScript first** - 100% typed, zero `any`
27
- - **7,500+ tests** - 3,936 unit tests and 3,652 E2E tests across 76 Playwright specs
27
+ - **6,400+ tests** - 2,677 unit tests and 3,767 E2E tests across 78 Playwright specs
28
28
  - **Light and dark theme** - 70+ CSS custom properties for full visual control
29
29
  - **Inline styles export** - `getHTML({ styled: true })` produces inline CSS ready for email clients, CMS, and Google Docs
30
30
  - **SSR helpers** - `generateHTML`, `generateJSON`, `generateText` for server-side rendering
@@ -1 +1 @@
1
- .dm-editor{--dm-bg: #ffffff;--dm-text: #1a1a1a;--dm-muted: #999999;--dm-surface: #f8f9fa;--dm-border-color: #e5e7eb;--dm-hover: rgba(0, 0, 0, 0.04);--dm-active: rgba(0, 0, 0, 0.1);--dm-accent: #2563eb;--dm-accent-hover: #1d4ed8;--dm-accent-surface: rgba(37, 99, 235, 0.1);--dm-focus-color: rgba(66, 133, 244, 0.3);--dm-selection: rgba(66, 133, 244, 0.2);--dm-code-surface: #f0f0f0;--dm-code-color: inherit;--dm-editor-bg: var(--dm-bg);--dm-editor-text: var(--dm-text);--dm-editor-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--dm-editor-font-size: 1rem;--dm-editor-line-height: 1.6;--dm-editor-padding: 1rem;--dm-editor-border: 1px solid var(--dm-border-color);--dm-editor-border-radius: 0.75rem;--dm-editor-focus-ring: none;--dm-editor-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);--dm-placeholder-color: var(--dm-muted);--dm-link-color: var(--dm-accent);--dm-link-hover-color: var(--dm-accent-hover);--dm-code-bg: var(--dm-code-surface);--dm-code-text: var(--dm-code-color);--dm-code-font: "SF Mono", "Fira Code", Consolas, "Liberation Mono", Menlo, monospace;--dm-code-border-radius: 0.25rem;--dm-code-block-bg: var(--dm-code-surface);--dm-code-block-text: var(--dm-text);--dm-syntax-keyword: #c72031;--dm-syntax-entity: #6f42c1;--dm-syntax-constant: #005cc5;--dm-syntax-string: #032f62;--dm-syntax-variable: #d35400;--dm-syntax-comment: #57606a;--dm-syntax-tag: #22863a;--dm-syntax-addition: #22863a;--dm-syntax-addition-bg: #f0fff4;--dm-syntax-deletion: #b31d28;--dm-syntax-deletion-bg: #ffeef0;--dm-blockquote-border: 3px solid #6a6a6a;--dm-blockquote-color: #6a6a6a;--dm-hr-color: var(--dm-border-color);--dm-table-border: 1px solid var(--dm-border-color);--dm-table-header-bg: var(--dm-surface);--dm-table-selected-bg: rgba(66, 133, 244, 0.15);--dm-mention-bg: var(--dm-accent-surface);--dm-mention-color: var(--dm-accent);--dm-mention-border-radius: 0.25rem;--dm-highlight-bg: #fff3cd;--dm-details-border: 1px solid var(--dm-border-color);--dm-details-bg: var(--dm-surface);--dm-details-summary-font-weight: 600}.dm-toolbar{--dm-toolbar-bg: var(--dm-bg, #ffffff);--dm-toolbar-border: none;--dm-toolbar-padding: 0.375rem 0.5rem;--dm-toolbar-gap: 0.125rem;--dm-toolbar-border-radius: 0.75rem 0.75rem 0 0;--dm-button-size: 2rem;--dm-button-border-radius: 0.375rem;--dm-button-color: var(--dm-text, #374151);--dm-button-hover-bg: var(--dm-hover, rgba(0, 0, 0, 0.04));--dm-button-active-bg: var(--dm-accent-surface, rgba(37, 99, 235, 0.1));--dm-button-active-color: var(--dm-accent, #2563eb);--dm-button-disabled-opacity: 0.35;--dm-separator-color: var(--dm-border-color, #e5e7eb);--dm-separator-margin: 0.375rem}.dm-editor .ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0;outline:none}.dm-editor .ProseMirror pre{white-space:pre-wrap}.dm-editor .ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:rgba(0,0,0,0)}.ProseMirror-hideselection *::-moz-selection{background:rgba(0,0,0,0)}.ProseMirror-hideselection{caret-color:rgba(0,0,0,0)}.ProseMirror [draggable][contenteditable=false]{user-select:text}.dm-editor .ProseMirror-selectednode{outline:2px solid var(--dm-accent, #2563eb)}.dm-editor li.ProseMirror-selectednode{outline:none}.dm-editor li.ProseMirror-selectednode::after{content:"";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid var(--dm-accent, #2563eb);pointer-events:none}img.ProseMirror-separator{display:inline !important;border:none !important;margin:0 !important}.dm-editor .ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}.dm-editor .ProseMirror-gapcursor::after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid var(--dm-editor-text, #1a1a1a);animation:ProseMirror-cursor-blink 1.1s steps(2, start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}.dm-editor .ProseMirror-focused .ProseMirror-gapcursor{display:block}.dm-editor .tableWrapper{overflow-x:auto}.dm-editor table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.dm-editor td,.dm-editor th{vertical-align:top;box-sizing:border-box;position:relative}.dm-editor .column-resize-handle{position:absolute;right:-1.5px;top:0;bottom:0;width:2px;z-index:20;background-color:var(--dm-accent, #2563eb);pointer-events:none}.dm-editor .dm-mouse-drag .column-resize-handle{display:none}.dm-editor .ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.dm-editor .ProseMirror.resize-cursor.dm-mouse-drag{cursor:auto}.dm-editor .selectedCell::after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:var(--dm-table-selected-bg, rgba(66, 133, 244, 0.15));pointer-events:none}.dm-editor .selectedCell::selection,.dm-editor .selectedCell *::selection{background:rgba(0,0,0,0) !important;color:inherit !important}.dm-editor{display:block;position:relative;box-sizing:border-box;background:var(--dm-editor-bg);color:var(--dm-editor-text);font-family:var(--dm-editor-font-family);font-size:var(--dm-editor-font-size);line-height:var(--dm-editor-line-height);border:var(--dm-editor-border);border-radius:var(--dm-editor-border-radius);box-shadow:var(--dm-editor-shadow, none);overflow:hidden;color-scheme:var(--dm-color-scheme, light)}.dm-editor .ProseMirror{padding:var(--dm-editor-padding);min-height:6rem}.dm-editor .ProseMirror:focus{outline:none}.dm-editor:focus-within{box-shadow:var(--dm-editor-focus-ring, var(--dm-editor-shadow, none))}.dm-editor .ProseMirror ::selection{background:var(--dm-selection)}.dm-toolbar+.dm-editor{border-top-left-radius:0;border-top-right-radius:0;border-top:none}@keyframes dm-fade-in{from{opacity:0}to{opacity:1}}.dm-editor .ProseMirror h1,.dm-editor .ProseMirror h2,.dm-editor .ProseMirror h3,.dm-editor .ProseMirror h4,.dm-editor .ProseMirror h5,.dm-editor .ProseMirror h6{line-height:1.25}.dm-editor .ProseMirror h3{font-size:1.25em}.dm-editor .ProseMirror h4{font-size:1.1em}.dm-editor .ProseMirror h6{font-size:.9em;color:var(--dm-muted, #666)}.dm-editor .ProseMirror code{background:var(--dm-code-bg);color:var(--dm-code-text);font-family:var(--dm-code-font);font-size:.875em;padding:.15em .35em;border:1px solid var(--dm-border-color);border-radius:var(--dm-code-border-radius)}.dm-editor .ProseMirror pre{background:var(--dm-code-block-bg);color:var(--dm-code-block-text);font-family:var(--dm-code-font);font-size:.875em;padding:1em;border-radius:.375rem;overflow-x:auto;margin:.75em 0}.dm-editor .ProseMirror pre code{background:none;color:inherit;padding:0;border:none;border-radius:0;font-size:inherit}.dm-editor .ProseMirror blockquote{border-left:var(--dm-blockquote-border);color:var(--dm-blockquote-color);margin:.5em 0;padding:.1em 0 .1em .8em}.dm-editor .ProseMirror ul,.dm-editor .ProseMirror ol{margin:.75em 0;padding-left:1.5em}.dm-editor .ProseMirror ul li,.dm-editor .ProseMirror ol li{margin:.25em 0}.dm-editor .ProseMirror ul li>p,.dm-editor .ProseMirror ol li>p{margin:.1em 0}.dm-editor .ProseMirror hr{border:none;border-top:2px solid var(--dm-hr-color);margin:1.5em 0}.dm-editor .ProseMirror a{color:var(--dm-link-color)}.dm-editor .ProseMirror a:hover{color:var(--dm-link-hover-color)}.dm-editor .ProseMirror mark{color:inherit}.dm-editor .ProseMirror img{max-width:100%;height:auto;display:block;margin:.75em 0}.dm-editor .ProseMirror img.ProseMirror-selectednode{outline:2px solid var(--dm-accent, #2563eb)}.dm-editor .ProseMirror table{border:var(--dm-table-border);margin:.75em 0}.dm-editor .ProseMirror table td,.dm-editor .ProseMirror table th{border:var(--dm-table-border);padding:.5em .75em;min-width:100px}.dm-editor .ProseMirror table th{background:var(--dm-table-header-bg);font-weight:600;text-align:left}.dm-editor .ProseMirror table td>p,.dm-editor .ProseMirror table th>p{margin:0}.dm-editor .ProseMirror pre code .hljs-doctag,.dm-editor .ProseMirror pre code .hljs-keyword,.dm-editor .ProseMirror pre code .hljs-meta .hljs-keyword,.dm-editor .ProseMirror pre code .hljs-template-tag,.dm-editor .ProseMirror pre code .hljs-template-variable,.dm-editor .ProseMirror pre code .hljs-type,.dm-editor .ProseMirror pre code .hljs-variable.language_{color:var(--dm-syntax-keyword)}.dm-editor .ProseMirror pre code .hljs-title,.dm-editor .ProseMirror pre code .hljs-title.class_,.dm-editor .ProseMirror pre code .hljs-title.class_.inherited__,.dm-editor .ProseMirror pre code .hljs-title.function_{color:var(--dm-syntax-entity)}.dm-editor .ProseMirror pre code .hljs-attr,.dm-editor .ProseMirror pre code .hljs-attribute,.dm-editor .ProseMirror pre code .hljs-literal,.dm-editor .ProseMirror pre code .hljs-meta,.dm-editor .ProseMirror pre code .hljs-number,.dm-editor .ProseMirror pre code .hljs-operator,.dm-editor .ProseMirror pre code .hljs-variable,.dm-editor .ProseMirror pre code .hljs-selector-attr,.dm-editor .ProseMirror pre code .hljs-selector-class,.dm-editor .ProseMirror pre code .hljs-selector-id{color:var(--dm-syntax-constant)}.dm-editor .ProseMirror pre code .hljs-regexp,.dm-editor .ProseMirror pre code .hljs-string,.dm-editor .ProseMirror pre code .hljs-meta .hljs-string{color:var(--dm-syntax-string)}.dm-editor .ProseMirror pre code .hljs-built_in,.dm-editor .ProseMirror pre code .hljs-symbol{color:var(--dm-syntax-variable)}.dm-editor .ProseMirror pre code .hljs-comment,.dm-editor .ProseMirror pre code .hljs-code,.dm-editor .ProseMirror pre code .hljs-formula{color:var(--dm-syntax-comment)}.dm-editor .ProseMirror pre code .hljs-name,.dm-editor .ProseMirror pre code .hljs-quote,.dm-editor .ProseMirror pre code .hljs-selector-tag,.dm-editor .ProseMirror pre code .hljs-selector-pseudo{color:var(--dm-syntax-tag)}.dm-editor .ProseMirror pre code .hljs-section{color:var(--dm-syntax-constant);font-weight:bold}.dm-editor .ProseMirror pre code .hljs-bullet{color:var(--dm-syntax-tag)}.dm-editor .ProseMirror pre code .hljs-addition{color:var(--dm-syntax-addition);background-color:var(--dm-syntax-addition-bg)}.dm-editor .ProseMirror pre code .hljs-deletion{color:var(--dm-syntax-deletion);background-color:var(--dm-syntax-deletion-bg)}.dm-editor .ProseMirror pre code .hljs-emphasis{font-style:italic}.dm-editor .ProseMirror pre code .hljs-strong{font-weight:bold}.dm-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:var(--dm-toolbar-justify, flex-start);gap:var(--dm-toolbar-gap);padding:var(--dm-toolbar-padding);background:var(--dm-toolbar-bg);border:1px solid var(--dm-border-color, #e5e7eb);border-bottom:1px solid var(--dm-border-color, #e5e7eb);border-radius:var(--dm-toolbar-border-radius);box-shadow:var(--dm-editor-shadow, none)}.dm-toolbar-group{display:flex;align-items:center;gap:var(--dm-toolbar-gap)}.dm-toolbar-button{display:inline-flex;align-items:center;justify-content:center;width:var(--dm-button-size);height:var(--dm-button-size);padding:0;border:none;border-radius:var(--dm-button-border-radius);background:rgba(0,0,0,0);color:var(--dm-button-color);cursor:pointer;transition:background-color .15s,color .15s;font-size:.875rem;line-height:1}.dm-toolbar-button:hover{background:var(--dm-button-hover-bg)}.dm-toolbar-button--active{background:var(--dm-button-active-bg);color:var(--dm-button-active-color)}.dm-toolbar-button[aria-expanded=true]{background:var(--dm-button-hover-bg)}.dm-toolbar-button--disabled,.dm-toolbar-button:disabled{opacity:var(--dm-button-disabled-opacity);cursor:not-allowed;pointer-events:none}.dm-toolbar-button svg{width:1.125rem;height:1.125rem}.dm-toolbar-dropdown-trigger{position:relative;width:auto;padding:0 .375rem;gap:.125rem}.dm-toolbar-dropdown-trigger[aria-expanded=true]{background:var(--dm-button-hover-bg)}.dm-toolbar-color-indicator{position:absolute;bottom:.15rem;left:.25rem;width:1.375rem;height:.3rem;border-radius:2px}.dm-toolbar-trigger-label{display:inline-block;vertical-align:middle;text-align:center;font-size:.8125rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:2.5rem}.dm-toolbar-trigger-label svg{width:1.125rem;height:1.125rem}[data-dropdown=fontFamily] .dm-toolbar-trigger-label{width:5rem}.dm-toolbar-button .dm-dropdown-caret{width:.625rem;height:.625rem;flex-shrink:0}.dm-toolbar-dropdown-wrapper{position:relative}.dm-toolbar-dropdown-panel{position:absolute;z-index:50;display:flex;flex-direction:column;gap:.125rem;min-width:8rem;padding:.25rem;background:var(--dm-bg, #fff);border:1px solid var(--dm-border-color, #e5e7eb);border-radius:.5rem;box-shadow:0 4px 16px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.04);animation:dm-fade-in .2s ease}.dm-toolbar-dropdown-panel.dm-color-palette{padding:.5rem;border-radius:.75rem}.dm-toolbar-dropdown-panel[data-display-mode=icon]{min-width:0}.dm-toolbar-dropdown-panel[data-display-mode=icon] .dm-toolbar-dropdown-item{width:auto;padding:.375rem;justify-content:center}.dm-toolbar-dropdown-panel[data-display-mode=text]{min-width:0}.dm-toolbar-dropdown-panel[data-display-mode=text] .dm-toolbar-dropdown-item{gap:0}.dm-toolbar-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .5rem;border:none;border-radius:var(--dm-button-border-radius);background:rgba(0,0,0,0);color:var(--dm-button-color);cursor:pointer;font-size:.8125rem;line-height:1.4;text-align:left;white-space:nowrap;transition:background-color .15s}.dm-toolbar-dropdown-item:hover{background:var(--dm-button-hover-bg)}.dm-toolbar-dropdown-item--active{color:var(--dm-button-active-color);background:var(--dm-button-active-bg)}.dm-toolbar-dropdown-item svg{width:1rem;height:1rem;flex-shrink:0}.dm-toolbar-separator{width:1px;height:1.25rem;background:var(--dm-separator-color);margin:0 var(--dm-separator-margin)}.dm-color-palette{display:grid;grid-template-columns:repeat(var(--dm-palette-columns, 10), 1fr);gap:.375rem;padding:.375rem;min-width:auto;width:max-content}.dm-color-palette-reset{grid-column:1/-1;display:flex;align-items:center;gap:.375rem;width:100%;padding:.375rem .5rem;margin-bottom:.375rem;border:none;border-radius:.375rem;background:rgba(0,0,0,0);color:var(--dm-button-color, #1a1a1a);cursor:pointer;font-size:.8125rem;line-height:1.4;text-align:left;white-space:nowrap;transition:background-color .15s}.dm-color-palette-reset:hover{background:var(--dm-button-hover-bg, rgba(0, 0, 0, 0.06))}.dm-color-palette-reset svg{width:.875rem;height:.875rem;flex-shrink:0}.dm-color-swatch{position:relative;width:1.5rem;height:1.5rem;padding:0;border:1px solid rgba(0,0,0,.06);border-radius:50%;cursor:pointer;transition:transform .1s,box-shadow .1s}.dm-color-swatch:hover{transform:scale(1.15);z-index:1;box-shadow:0 0 0 2px var(--dm-toolbar-bg, #f8f9fa),0 0 0 3px var(--dm-accent, #2563eb)}.dm-color-swatch--active{box-shadow:0 0 0 2px var(--dm-toolbar-bg, #f8f9fa),0 0 0 3px var(--dm-accent, #2563eb)}.dm-color-swatch--active::after{content:"";position:absolute;inset:0;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M12 5L6.5 11 4 8.5' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' opacity='0.3'/%3E%3Cpath d='M12 5L6.5 11 4 8.5' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}.dm-theme-dark .dm-color-swatch,.dm-theme-auto .dm-color-swatch{border-color:hsla(0,0%,100%,.15)}@media(prefers-color-scheme: dark){.dm-theme-auto .dm-color-swatch{border-color:hsla(0,0%,100%,.15)}}.dm-bubble-menu{--dm-toolbar-padding: 0.25rem;--dm-toolbar-gap: 0.125rem;--dm-button-size: 1.75rem;--dm-button-border-radius: 0.25rem;--dm-button-color: var(--dm-text, #1a1a1a);--dm-button-hover-bg: var(--dm-hover, rgba(0, 0, 0, 0.06));--dm-button-active-bg: var(--dm-accent-surface, rgba(37, 99, 235, 0.1));--dm-button-active-color: var(--dm-accent, #2563eb);--dm-button-disabled-opacity: 0.4}.dm-bubble-menu .dm-toolbar-button svg{width:1rem;height:1rem}.dm-bubble-menu .dm-toolbar-separator{width:1px;height:1.125rem;background:var(--dm-separator-color, var(--dm-border-color, #e0e0e0));margin:0 .125rem;flex-shrink:0}.dm-bubble-menu{position:absolute;display:flex;align-items:center;gap:var(--dm-toolbar-gap);padding:var(--dm-toolbar-padding);background:var(--dm-bg, #fff);border:1px solid var(--dm-border-color, #e5e7eb);border-radius:.5rem;box-shadow:0 4px 16px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.04);visibility:hidden;opacity:0;z-index:50}.dm-bubble-menu[data-show]{visibility:visible;opacity:1;transition:opacity .15s ease}.dm-floating-menu{position:absolute;display:flex;flex-direction:column;gap:var(--dm-toolbar-gap);padding:var(--dm-toolbar-padding);background:var(--dm-toolbar-bg);border:var(--dm-toolbar-border);border-radius:var(--dm-button-border-radius);box-shadow:0 4px 12px rgba(0,0,0,.12);visibility:hidden;opacity:0;transition:opacity .2s ease,visibility .2s;z-index:50}.dm-floating-menu[data-show]{visibility:visible;opacity:1}.dm-link-popover{position:fixed;display:flex;align-items:center;gap:.25rem;padding:.25rem;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 4px 12px rgba(0,0,0,.12);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;visibility:hidden;opacity:0;transition:opacity .2s ease,visibility .2s;z-index:60}.dm-link-popover[data-show]{visibility:visible;opacity:1}.dm-link-popover-input{border:1px solid #e0e0e0;border-radius:.25rem;padding:.25rem .5rem;font-size:.8125rem;font-family:inherit;min-width:14rem;outline:none;background:#fff;color:#1a1a1a}.dm-link-popover-input:focus{border-color:#2563eb}.dm-link-popover-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:.25rem;background:rgba(0,0,0,0);color:#1a1a1a;cursor:pointer;transition:background-color .15s,color .15s}.dm-link-popover-btn:hover{background:rgba(0,0,0,.06)}.dm-link-popover-btn svg{width:.875rem;height:.875rem}.dm-link-popover-apply:hover{color:#2563eb}.dm-link-popover-remove:hover{color:#dc2626}.dm-link-pending{background-color:rgba(37,99,235,.12);border-radius:1px}[data-theme=dark] .dm-link-popover,.dm-theme-dark .dm-link-popover{background:#2a2a2a;border-color:#404040}[data-theme=dark] .dm-link-popover .dm-link-popover-input,.dm-theme-dark .dm-link-popover .dm-link-popover-input{background:#1a1a1a;border-color:#404040;color:#e0e0e0}[data-theme=dark] .dm-link-popover .dm-link-popover-input:focus,.dm-theme-dark .dm-link-popover .dm-link-popover-input:focus{border-color:#3b82f6}[data-theme=dark] .dm-link-popover .dm-link-popover-btn,.dm-theme-dark .dm-link-popover .dm-link-popover-btn{color:#e0e0e0}[data-theme=dark] .dm-link-popover .dm-link-popover-btn:hover,.dm-theme-dark .dm-link-popover .dm-link-popover-btn:hover{background:hsla(0,0%,100%,.1)}[data-theme=dark] .dm-link-popover .dm-link-popover-apply:hover,.dm-theme-dark .dm-link-popover .dm-link-popover-apply:hover{color:#3b82f6}@media(prefers-color-scheme: dark){.dm-theme-auto .dm-link-popover{background:#2a2a2a;border-color:#404040}.dm-theme-auto .dm-link-popover .dm-link-popover-input{background:#1a1a1a;border-color:#404040;color:#e0e0e0}.dm-theme-auto .dm-link-popover .dm-link-popover-input:focus{border-color:#3b82f6}.dm-theme-auto .dm-link-popover .dm-link-popover-btn{color:#e0e0e0}.dm-theme-auto .dm-link-popover .dm-link-popover-btn:hover{background:hsla(0,0%,100%,.1)}.dm-theme-auto .dm-link-popover .dm-link-popover-apply:hover{color:#3b82f6}}.dm-editor .ProseMirror .is-empty::before{content:attr(data-placeholder);float:left;color:var(--dm-placeholder-color);pointer-events:none;height:0}.dm-editor .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:0}.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem]{display:flex;align-items:flex-start;gap:.5em}.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem]>label{display:flex;align-items:center;flex-shrink:0;margin-top:.4em;user-select:none}.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem]>label input[type=checkbox]{width:1em;height:1em;margin:0;padding:0;cursor:pointer;accent-color:var(--dm-accent, #2563eb)}.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem]>div{flex:1;min-width:0}.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem]>div>p{margin:0}.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem][data-checked=true]>div{text-decoration:line-through;opacity:.6}.dm-editor .ProseMirror .mention{display:inline;background:var(--dm-mention-bg);color:var(--dm-mention-color);border-radius:var(--dm-mention-border-radius);padding:.1em .3em;font-weight:500;font-size:.95em;white-space:nowrap}.dm-editor .ProseMirror .mention-suggestion{text-decoration:underline;text-decoration-color:var(--dm-accent, #2563eb);text-underline-offset:2px}.dm-mention-suggestion{position:absolute;z-index:100;min-width:12rem;max-width:20rem;padding:.25rem;background:var(--dm-surface, #f8f9fa);border:1px solid var(--dm-border-color, #e0e0e0);border-radius:.25rem;box-shadow:0 4px 12px rgba(0,0,0,.12);animation:dm-fade-in .2s ease}.dm-mention-suggestion-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .5rem;border:none;border-radius:.25rem;background:rgba(0,0,0,0);color:var(--dm-text, #1a1a1a);cursor:pointer;font-size:.8125rem;line-height:1.4;text-align:left;transition:background-color .1s}.dm-mention-suggestion-item:hover,.dm-mention-suggestion-item--selected{background:var(--dm-hover, rgba(0, 0, 0, 0.06))}.dm-mention-suggestion-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-mention-suggestion-empty{padding:.5rem;text-align:center;color:var(--dm-text, #1a1a1a);opacity:.5;font-size:.8125rem}.dm-editor .ProseMirror img[style*="float: left"],.dm-editor .ProseMirror img[style*="float: right"]{max-width:60%}.dm-editor .ProseMirror .dm-image-resizable{position:relative;display:inline-block;max-width:100%;margin:.75em 0;line-height:0}.dm-editor .ProseMirror .dm-image-resizable img{display:block;max-width:100%;height:auto}.dm-editor .ProseMirror .dm-image-resizable[data-float=left]{float:left;margin:0 1em 1em 0}.dm-editor .ProseMirror .dm-image-resizable[data-float=right]{float:right;margin:0 0 1em 1em}.dm-editor .ProseMirror .dm-image-resizable[data-float=center]{display:block;width:fit-content;margin-left:auto;margin-right:auto}.dm-editor .ProseMirror .dm-image-resizable[data-float=left],.dm-editor .ProseMirror .dm-image-resizable[data-float=right]{max-width:60%;z-index:1}.dm-editor .ProseMirror .dm-image-resizable.ProseMirror-selectednode{outline:2px solid var(--dm-accent, #2563eb)}.dm-editor .ProseMirror .dm-image-resizable.ProseMirror-selectednode .dm-image-handle{display:block}.dm-editor .ProseMirror .dm-image-handle{display:none;position:absolute;width:8px;height:8px;background:var(--dm-accent, #2563eb);border:1px solid #fff;border-radius:1px;z-index:5}.dm-editor .ProseMirror .dm-image-handle-nw{top:-4px;left:-4px;cursor:nw-resize}.dm-editor .ProseMirror .dm-image-handle-ne{top:-4px;right:-4px;cursor:ne-resize}.dm-editor .ProseMirror .dm-image-handle-sw{bottom:-4px;left:-4px;cursor:sw-resize}.dm-editor .ProseMirror .dm-image-handle-se{bottom:-4px;right:-4px;cursor:se-resize}.dm-image-popover{position:fixed;display:flex;align-items:center;gap:.25rem;padding:.25rem;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 4px 12px rgba(0,0,0,.12);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;visibility:hidden;opacity:0;transition:opacity .2s ease,visibility .2s;z-index:60}.dm-image-popover[data-show]{visibility:visible;opacity:1}.dm-image-popover-input{border:1px solid #e0e0e0;border-radius:.25rem;padding:.25rem .5rem;font-size:.8125rem;font-family:inherit;min-width:14rem;outline:none;background:#fff;color:#1a1a1a}.dm-image-popover-input:focus{border-color:#2563eb}.dm-image-popover-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:.25rem;background:rgba(0,0,0,0);color:#1a1a1a;cursor:pointer;transition:background-color .15s,color .15s}.dm-image-popover-btn:hover{background:rgba(0,0,0,.06)}.dm-image-popover-btn svg{width:.875rem;height:.875rem}.dm-image-popover-apply:hover{color:#2563eb}.dm-image-popover-browse:hover{color:#2563eb}[data-theme=dark] .dm-image-popover,.dm-theme-dark .dm-image-popover{background:#2a2a2a;border-color:#404040}[data-theme=dark] .dm-image-popover .dm-image-popover-input,.dm-theme-dark .dm-image-popover .dm-image-popover-input{background:#1a1a1a;border-color:#404040;color:#e0e0e0}[data-theme=dark] .dm-image-popover .dm-image-popover-input:focus,.dm-theme-dark .dm-image-popover .dm-image-popover-input:focus{border-color:#3b82f6}[data-theme=dark] .dm-image-popover .dm-image-popover-btn,.dm-theme-dark .dm-image-popover .dm-image-popover-btn{color:#e0e0e0}[data-theme=dark] .dm-image-popover .dm-image-popover-btn:hover,.dm-theme-dark .dm-image-popover .dm-image-popover-btn:hover{background:hsla(0,0%,100%,.1)}[data-theme=dark] .dm-image-popover .dm-image-popover-apply:hover,.dm-theme-dark .dm-image-popover .dm-image-popover-apply:hover{color:#3b82f6}@media(prefers-color-scheme: dark){.dm-theme-auto .dm-image-popover{background:#2a2a2a;border-color:#404040}.dm-theme-auto .dm-image-popover .dm-image-popover-input{background:#1a1a1a;border-color:#404040;color:#e0e0e0}.dm-theme-auto .dm-image-popover .dm-image-popover-input:focus{border-color:#3b82f6}.dm-theme-auto .dm-image-popover .dm-image-popover-btn{color:#e0e0e0}.dm-theme-auto .dm-image-popover .dm-image-popover-btn:hover{background:hsla(0,0%,100%,.1)}.dm-theme-auto .dm-image-popover .dm-image-popover-apply:hover{color:#3b82f6}}.dm-editor.dm-dragover{outline:2px dashed var(--dm-accent);outline-offset:-2px}.dm-editor.dm-dragover::after{content:"";position:absolute;inset:0;background:var(--dm-accent);opacity:.05;pointer-events:none;z-index:10}.dm-editor .ProseMirror div[data-type=details]{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;border:var(--dm-details-border);border-radius:.375rem;margin:.75em 0}.dm-editor .ProseMirror div[data-type=details]>div{display:contents}.dm-editor .ProseMirror div[data-type=details]>button[type=button]{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;align-self:center;margin-right:10px;border:none;background:rgba(0,0,0,0);cursor:pointer;color:var(--dm-muted);border-radius:50%}.dm-editor .ProseMirror div[data-type=details]>button[type=button]::before{content:"";display:block;width:.4em;height:.4em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease}.dm-editor .ProseMirror div[data-type=details]>button[type=button]:hover{color:var(--dm-text);background:var(--dm-hover)}.dm-editor .ProseMirror div[data-type=details]>button[type=button]:focus{outline:none}.dm-editor .ProseMirror div[data-type=details]::before{content:"";grid-column:1/-1;grid-row:1;background:var(--dm-details-bg);border-radius:.375rem}.dm-editor .ProseMirror div[data-type=details].is-open::before{border-radius:.375rem .375rem 0 0}.dm-editor .ProseMirror div[data-type=details] summary{grid-column:1;grid-row:1;display:block;padding:.5em .5em .5em .75em;font-weight:var(--dm-details-summary-font-weight);min-height:0}.dm-editor .ProseMirror div[data-type=details] summary::-webkit-details-marker{display:none}.dm-editor .ProseMirror div[data-type=details] summary{list-style:none}.dm-editor .ProseMirror div[data-type=details] div[data-details-content]{grid-column:1/-1;grid-row:2;padding:.5em .75em;border-top:var(--dm-details-border)}.dm-editor .ProseMirror div[data-type=details].ProseMirror-selectednode{outline:none}.dm-editor .ProseMirror div[data-type=details].is-open>button[type=button]::before{transform:rotate(45deg)}.dm-editor .ProseMirror .invisible-char{color:var(--dm-invisible-char-color, var(--dm-muted, #999));pointer-events:none;user-select:none}.dm-editor .ProseMirror [data-char=space]{position:relative}.dm-editor .ProseMirror [data-char=space]::after{content:"·";position:absolute;inset:0;text-align:center;color:var(--dm-invisible-char-color, var(--dm-muted, #999));pointer-events:none}.dm-editor .ProseMirror [data-char=nbsp]{position:relative}.dm-editor .ProseMirror [data-char=nbsp]::after{content:"°";position:absolute;inset:0;text-align:center;color:var(--dm-invisible-char-color, var(--dm-muted, #999));pointer-events:none}.dm-emoji-picker{position:absolute;z-index:100;width:20rem;max-height:22rem;display:flex;flex-direction:column;background:var(--dm-surface, #f8f9fa);border:1px solid var(--dm-border-color, #e0e0e0);border-radius:.25rem;box-shadow:0 4px 12px rgba(0,0,0,.12);overflow:hidden;animation:dm-fade-in .2s ease}.dm-emoji-picker-search{flex-shrink:0;padding:.5rem;border-bottom:1px solid var(--dm-border-color, #e0e0e0)}.dm-emoji-picker-search input{width:100%;padding:.375rem .5rem;border:1px solid var(--dm-border-color, #e0e0e0);border-radius:.25rem;background:var(--dm-bg, #ffffff);color:var(--dm-text, #1a1a1a);font-size:.8125rem;outline:none;box-sizing:border-box}.dm-emoji-picker-search input:focus{border-color:var(--dm-accent, #2563eb)}.dm-emoji-picker-search input::placeholder{color:var(--dm-muted, #999999)}.dm-emoji-picker-tabs{display:flex;align-items:center;flex-shrink:0;padding:.375rem .5rem;gap:.1rem;border-bottom:1px solid var(--dm-border-color, #e0e0e0);overflow-x:auto;scrollbar-width:none}.dm-emoji-picker-tabs::-webkit-scrollbar{display:none}.dm-emoji-picker-tab{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;padding:0;border:none;border-radius:.375rem;background:rgba(0,0,0,0);cursor:pointer;font-size:1.25rem;line-height:1;opacity:.5;transition:opacity .15s,background-color .15s}.dm-emoji-picker-tab:hover{opacity:1;background:var(--dm-hover, rgba(0, 0, 0, 0.06))}.dm-emoji-picker-tab--active{opacity:1;background:var(--dm-active, rgba(0, 0, 0, 0.12))}.dm-emoji-picker-grid{flex:1;overflow-y:auto;padding:.25rem .5rem .5rem;display:grid;grid-template-columns:repeat(8, 1fr);gap:.125rem;align-content:start}.dm-emoji-picker-category-label{grid-column:1/-1;font-size:.6875rem;font-weight:600;color:var(--dm-text, #1a1a1a);opacity:.6;padding:.375rem 0 .125rem;text-transform:uppercase;letter-spacing:.03em}.dm-emoji-swatch{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:.25rem;background:rgba(0,0,0,0);cursor:pointer;font-size:1.25rem;line-height:1;transition:background-color .1s,transform .1s}.dm-emoji-swatch:hover{background:var(--dm-hover, rgba(0, 0, 0, 0.06));transform:scale(1.15)}.dm-emoji-picker-empty{grid-column:1/-1;padding:1rem;text-align:center;color:var(--dm-text, #1a1a1a);opacity:.5;font-size:.8125rem}.dm-emoji-suggestion{position:absolute;z-index:100;min-width:12rem;max-width:18rem;padding:.25rem;background:var(--dm-surface, #f8f9fa);border:1px solid var(--dm-border-color, #e0e0e0);border-radius:.25rem;box-shadow:0 4px 12px rgba(0,0,0,.12);animation:dm-fade-in .2s ease}.dm-emoji-suggestion-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .5rem;border:none;border-radius:.25rem;background:rgba(0,0,0,0);color:var(--dm-text, #1a1a1a);cursor:pointer;font-size:.8125rem;line-height:1.4;text-align:left;transition:background-color .1s}.dm-emoji-suggestion-item:hover,.dm-emoji-suggestion-item--selected{background:var(--dm-hover, rgba(0, 0, 0, 0.06))}.dm-emoji-suggestion-emoji{font-size:1.125rem;line-height:1;flex-shrink:0}.dm-emoji-suggestion-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-emoji-suggestion-empty{padding:.5rem;text-align:center;color:var(--dm-text, #1a1a1a);opacity:.5;font-size:.8125rem}.dm-editor .ProseMirror span.emoji{cursor:default;font-style:normal;padding:0 .05em}.dm-editor .ProseMirror span.emoji.ProseMirror-selectednode{outline:2px solid var(--dm-accent, #2563eb);border-radius:.15em}.dm-editor .dm-table-container{position:relative}.dm-table-col-handle,.dm-table-row-handle{position:absolute;z-index:10;display:none;align-items:center;justify-content:center;border:1px solid var(--dm-border-color, #e0e0e0);border-radius:4px;background:var(--dm-bg, #ffffff);color:var(--dm-muted, #999999);cursor:pointer;padding:0;transition:background-color .15s,color .15s,box-shadow .15s}.dm-table-col-handle:hover,.dm-table-row-handle:hover{background:var(--dm-hover, rgba(0, 0, 0, 0.06));color:var(--dm-text, #1a1a1a);box-shadow:0 1px 4px rgba(0,0,0,.1)}.dm-table-col-handle svg,.dm-table-row-handle svg{display:block}.dm-table-col-handle{width:24px;height:14px}.dm-table-row-handle{width:14px;height:24px}.dm-table-cell-handle{position:absolute;z-index:10;display:none;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--dm-accent, #2563eb);border-radius:50%;background:var(--dm-bg, #ffffff);color:var(--dm-accent, #2563eb);cursor:pointer;padding:0;box-shadow:0 1px 3px rgba(0,0,0,.08);transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s}.dm-table-cell-handle:hover{background:var(--dm-accent, #2563eb);color:#fff;border-color:var(--dm-accent, #2563eb);box-shadow:0 1px 4px color-mix(in srgb, var(--dm-accent, #2563eb) 30%, transparent)}.dm-table-cell-handle svg{display:block;width:8px;height:8px}.dm-table-cell-toolbar{position:absolute;z-index:10;display:none;align-items:center;gap:2px;padding:2px;border:1px solid var(--dm-border-color, #e0e0e0);border-radius:6px;background:var(--dm-bg, #ffffff);box-shadow:0 2px 8px rgba(0,0,0,.1);animation:dm-fade-in .12s ease}.dm-table-cell-toolbar-btn{display:flex;align-items:center;gap:1px;padding:4px 5px;border:none;border-radius:4px;background:rgba(0,0,0,0);color:var(--dm-text, #1a1a1a);cursor:pointer;transition:background-color .15s,color .15s}.dm-table-cell-toolbar-btn:hover,.dm-table-cell-toolbar-btn.dm-table-cell-toolbar-btn--open{background:var(--dm-hover, rgba(0, 0, 0, 0.06))}.dm-table-cell-toolbar-btn--active{color:var(--dm-accent, #2563eb);background:var(--dm-accent-surface, rgba(37, 99, 235, 0.1))}.dm-table-cell-toolbar-btn:disabled{opacity:.3;cursor:default;pointer-events:none}.dm-table-cell-toolbar-btn svg{display:block;flex-shrink:0}.dm-table-cell-toolbar-chevron{display:flex;align-items:center}.dm-table-cell-toolbar-sep{width:1px;height:16px;margin:0 2px;background:var(--dm-border-color, #e0e0e0)}.dm-table-cell-align-dropdown{min-width:auto;width:max-content;padding:.25rem}.dm-table-cell-align-dropdown .dm-table-align-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.3rem .5rem;border:none;border-radius:.25rem;background:rgba(0,0,0,0);color:var(--dm-text, #1a1a1a);cursor:pointer;font-size:.8125rem;white-space:nowrap;transition:background-color .15s,color .15s}.dm-table-cell-align-dropdown .dm-table-align-item:hover{background:var(--dm-hover, rgba(0, 0, 0, 0.06))}.dm-table-cell-align-dropdown .dm-table-align-item--active{color:var(--dm-accent, #2563eb);background:var(--dm-accent-surface, rgba(37, 99, 235, 0.1))}.dm-table-cell-align-dropdown .dm-table-align-item-icon{display:flex;align-items:center}.dm-table-cell-align-dropdown .dm-table-align-item-icon svg{display:block}.dm-editor .ProseMirror table td[data-text-align=center],.dm-editor .ProseMirror table th[data-text-align=center]{text-align:center}.dm-editor .ProseMirror table td[data-text-align=right],.dm-editor .ProseMirror table th[data-text-align=right]{text-align:right}.dm-editor .ProseMirror table td[data-vertical-align=middle],.dm-editor .ProseMirror table th[data-vertical-align=middle]{vertical-align:middle}.dm-editor .ProseMirror table td[data-vertical-align=bottom],.dm-editor .ProseMirror table th[data-vertical-align=bottom]{vertical-align:bottom}.dm-editor td.dm-cell-focused,.dm-editor th.dm-cell-focused{outline:1px solid var(--dm-accent, #2563eb);outline-offset:-1px}.dm-table-controls-dropdown{position:absolute;z-index:50;display:flex;flex-direction:column;gap:.125rem;min-width:10rem;padding:.25rem;background:var(--dm-bg, #fff);border:1px solid var(--dm-border-color, #e5e7eb);border-radius:.5rem;box-shadow:0 4px 16px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.04);animation:dm-fade-in .2s ease}.dm-table-controls-dropdown>button{display:flex;align-items:center;gap:.375rem;width:100%;padding:.375rem .5rem;border:none;border-radius:var(--dm-button-border-radius);background:rgba(0,0,0,0);color:var(--dm-button-color);cursor:pointer;font-size:.8125rem;line-height:1.4;text-align:left;white-space:nowrap;transition:background-color .15s}.dm-table-controls-dropdown>button:hover{background:var(--dm-button-hover-bg)}.dm-table-controls-dropdown-icon{display:flex;align-items:center;color:var(--dm-icon, #666)}.dm-table-controls-dropdown-icon svg{display:block}.dm-table-cell-dropdown{min-width:auto;width:max-content;padding:0;border-radius:.75rem}.dm-table-cell-dropdown .dm-color-palette{padding:.5rem}.dm-table-cell-dropdown-separator{height:1px;background:var(--dm-border-color, #e0e0e0);margin:.25rem 0}.dm-theme-light,.dm-theme-light .dm-editor,.dm-theme-light .dm-toolbar,.dm-theme-light .dm-table-controls-dropdown{--dm-bg: #ffffff;--dm-text: #1a1a1a;--dm-muted: #999999;--dm-surface: #f8f9fa;--dm-border-color: #e0e0e0;--dm-hover: rgba(0, 0, 0, 0.06);--dm-active: rgba(0, 0, 0, 0.12);--dm-accent: #2563eb;--dm-accent-hover: #1d4ed8;--dm-accent-surface: rgba(37, 99, 235, 0.1);--dm-focus-color: rgba(66, 133, 244, 0.3);--dm-selection: rgba(66, 133, 244, 0.2);--dm-code-surface: #f5f5f5;--dm-code-color: #d63384;--dm-highlight-bg: #fff3cd;--dm-syntax-keyword: #c72031;--dm-syntax-entity: #6f42c1;--dm-syntax-constant: #005cc5;--dm-syntax-string: #032f62;--dm-syntax-variable: #d35400;--dm-syntax-comment: #57606a;--dm-syntax-tag: #22863a;--dm-syntax-addition: #22863a;--dm-syntax-addition-bg: #f0fff4;--dm-syntax-deletion: #b31d28;--dm-syntax-deletion-bg: #ffeef0}.dm-theme-dark,.dm-theme-dark .dm-editor,.dm-theme-dark .dm-toolbar,.dm-theme-dark .dm-bubble-menu,.dm-theme-dark .dm-emoji-picker,.dm-theme-dark .dm-emoji-suggestion,.dm-theme-dark .dm-mention-suggestion,.dm-theme-dark .dm-table-controls-dropdown{--dm-color-scheme: dark;--dm-bg: #1e1e1e;--dm-text: #e0e0e0;--dm-muted: #777777;--dm-surface: #2a2a2a;--dm-border-color: #3a3a3a;--dm-hover: rgba(255, 255, 255, 0.08);--dm-active: rgba(255, 255, 255, 0.15);--dm-accent: #60a5fa;--dm-accent-hover: #93c5fd;--dm-accent-surface: rgba(96, 165, 250, 0.15);--dm-focus-color: rgba(96, 165, 250, 0.3);--dm-selection: rgba(96, 165, 250, 0.25);--dm-code-surface: #2d2d2d;--dm-code-color: inherit;--dm-highlight-bg: rgba(255, 243, 205, 0.2);--dm-blockquote-border: 3px solid #555555;--dm-blockquote-color: #a0a0a0;--dm-syntax-keyword: #ff7b72;--dm-syntax-entity: #d2a8ff;--dm-syntax-constant: #79c0ff;--dm-syntax-string: #a5d6ff;--dm-syntax-variable: #ffa657;--dm-syntax-comment: #8b949e;--dm-syntax-tag: #7ee787;--dm-syntax-addition: #aff5b4;--dm-syntax-addition-bg: #033a16;--dm-syntax-deletion: #ffdcd7;--dm-syntax-deletion-bg: #67060c}@media(prefers-color-scheme: dark){.dm-theme-auto,.dm-theme-auto .dm-editor,.dm-theme-auto .dm-toolbar,.dm-theme-auto .dm-bubble-menu,.dm-theme-auto .dm-emoji-picker,.dm-theme-auto .dm-emoji-suggestion,.dm-theme-auto .dm-mention-suggestion,.dm-theme-auto .dm-table-controls-dropdown{--dm-color-scheme: dark;--dm-bg: #1e1e1e;--dm-text: #e0e0e0;--dm-muted: #777777;--dm-surface: #2a2a2a;--dm-border-color: #3a3a3a;--dm-hover: rgba(255, 255, 255, 0.08);--dm-active: rgba(255, 255, 255, 0.15);--dm-accent: #60a5fa;--dm-accent-hover: #93c5fd;--dm-accent-surface: rgba(96, 165, 250, 0.15);--dm-focus-color: rgba(96, 165, 250, 0.3);--dm-selection: rgba(96, 165, 250, 0.25);--dm-code-surface: #2d2d2d;--dm-code-color: inherit;--dm-highlight-bg: rgba(255, 243, 205, 0.2);--dm-blockquote-border: 3px solid #555555;--dm-blockquote-color: #a0a0a0;--dm-syntax-keyword: #ff7b72;--dm-syntax-entity: #d2a8ff;--dm-syntax-constant: #79c0ff;--dm-syntax-string: #a5d6ff;--dm-syntax-variable: #ffa657;--dm-syntax-comment: #8b949e;--dm-syntax-tag: #7ee787;--dm-syntax-addition: #aff5b4;--dm-syntax-addition-bg: #033a16;--dm-syntax-deletion: #ffdcd7;--dm-syntax-deletion-bg: #67060c}}
1
+ .dm-editor{--dm-bg: #ffffff;--dm-text: #1a1a1a;--dm-muted: #999999;--dm-surface: #f8f9fa;--dm-border-color: #e5e7eb;--dm-hover: rgba(0, 0, 0, 0.04);--dm-active: rgba(0, 0, 0, 0.1);--dm-accent: #2563eb;--dm-accent-hover: #1d4ed8;--dm-accent-surface: rgba(37, 99, 235, 0.1);--dm-focus-color: rgba(66, 133, 244, 0.3);--dm-selection: rgba(66, 133, 244, 0.2);--dm-code-surface: #f0f0f0;--dm-code-color: inherit;--dm-editor-bg: var(--dm-bg);--dm-editor-text: var(--dm-text);--dm-editor-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--dm-editor-font-size: 1rem;--dm-editor-line-height: 1.6;--dm-editor-padding: 1rem;--dm-editor-border: 1px solid var(--dm-border-color);--dm-editor-border-radius: 0.75rem;--dm-editor-focus-ring: none;--dm-editor-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);--dm-placeholder-color: var(--dm-muted);--dm-link-color: var(--dm-accent);--dm-link-hover-color: var(--dm-accent-hover);--dm-code-bg: var(--dm-code-surface);--dm-code-text: var(--dm-code-color);--dm-code-font: "SF Mono", "Fira Code", Consolas, "Liberation Mono", Menlo, monospace;--dm-code-border-radius: 0.25rem;--dm-code-block-bg: var(--dm-code-surface);--dm-code-block-text: var(--dm-text);--dm-syntax-keyword: #c72031;--dm-syntax-entity: #6f42c1;--dm-syntax-constant: #005cc5;--dm-syntax-string: #032f62;--dm-syntax-variable: #d35400;--dm-syntax-comment: #57606a;--dm-syntax-tag: #22863a;--dm-syntax-addition: #22863a;--dm-syntax-addition-bg: #f0fff4;--dm-syntax-deletion: #b31d28;--dm-syntax-deletion-bg: #ffeef0;--dm-blockquote-border: 3px solid #6a6a6a;--dm-blockquote-color: #6a6a6a;--dm-hr-color: var(--dm-border-color);--dm-table-border: 1px solid var(--dm-border-color);--dm-table-header-bg: var(--dm-surface);--dm-table-selected-bg: rgba(66, 133, 244, 0.15);--dm-mention-bg: var(--dm-accent-surface);--dm-mention-color: var(--dm-accent);--dm-mention-border-radius: 0.25rem;--dm-highlight-bg: #fff3cd;--dm-details-border: 1px solid var(--dm-border-color);--dm-details-bg: var(--dm-surface);--dm-details-summary-font-weight: 600}.dm-toolbar{--dm-toolbar-bg: var(--dm-bg, #ffffff);--dm-toolbar-border: none;--dm-toolbar-padding: 0.375rem 0.5rem;--dm-toolbar-gap: 0.125rem;--dm-toolbar-border-radius: 0.75rem 0.75rem 0 0;--dm-button-size: 2rem;--dm-button-border-radius: 0.375rem;--dm-button-color: var(--dm-text, #374151);--dm-button-hover-bg: var(--dm-hover, rgba(0, 0, 0, 0.04));--dm-button-active-bg: var(--dm-accent-surface, rgba(37, 99, 235, 0.1));--dm-button-active-color: var(--dm-accent, #2563eb);--dm-button-disabled-opacity: 0.35;--dm-separator-color: var(--dm-border-color, #e5e7eb);--dm-separator-margin: 0.375rem}.dm-editor .ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0;outline:none}.dm-editor .ProseMirror pre{white-space:pre-wrap}.dm-editor .ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:rgba(0,0,0,0)}.ProseMirror-hideselection *::-moz-selection{background:rgba(0,0,0,0)}.ProseMirror-hideselection{caret-color:rgba(0,0,0,0)}.ProseMirror [draggable][contenteditable=false]{user-select:text}.dm-editor .ProseMirror-selectednode{outline:2px solid var(--dm-accent, #2563eb)}.dm-editor li.ProseMirror-selectednode{outline:none}.dm-editor li.ProseMirror-selectednode::after{content:"";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid var(--dm-accent, #2563eb);pointer-events:none}img.ProseMirror-separator{display:inline !important;border:none !important;margin:0 !important}.dm-editor .ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}.dm-editor .ProseMirror-gapcursor::after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid var(--dm-editor-text, #1a1a1a);animation:ProseMirror-cursor-blink 1.1s steps(2, start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}.dm-editor .ProseMirror-focused .ProseMirror-gapcursor{display:block}.dm-editor .tableWrapper{overflow-x:auto}.dm-editor table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.dm-editor td,.dm-editor th{vertical-align:top;box-sizing:border-box;position:relative}.dm-editor .column-resize-handle{position:absolute;right:-1.5px;top:0;bottom:0;width:2px;z-index:20;background-color:var(--dm-accent, #2563eb);pointer-events:none}.dm-editor .dm-mouse-drag .column-resize-handle{display:none}.dm-editor .ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.dm-editor .ProseMirror.resize-cursor.dm-mouse-drag{cursor:auto}.dm-editor .selectedCell::after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:var(--dm-table-selected-bg, rgba(66, 133, 244, 0.15));pointer-events:none}.dm-editor .selectedCell::selection,.dm-editor .selectedCell *::selection{background:rgba(0,0,0,0) !important;color:inherit !important}.dm-editor{display:block;position:relative;box-sizing:border-box;background:var(--dm-editor-bg);color:var(--dm-editor-text);font-family:var(--dm-editor-font-family);font-size:var(--dm-editor-font-size);line-height:var(--dm-editor-line-height);border:var(--dm-editor-border);border-radius:var(--dm-editor-border-radius);box-shadow:var(--dm-editor-shadow, none);overflow:hidden;color-scheme:var(--dm-color-scheme, light)}.dm-editor .ProseMirror{padding:var(--dm-editor-padding);min-height:6rem}.dm-editor .ProseMirror:focus-visible{outline:none}.dm-editor:focus-within{box-shadow:var(--dm-editor-focus-ring, var(--dm-editor-shadow, none))}.dm-editor .ProseMirror ::selection{background:var(--dm-selection)}.dm-toolbar+.dm-editor{border-top-left-radius:0;border-top-right-radius:0;border-top:none}@keyframes dm-fade-in{from{opacity:0}to{opacity:1}}.dm-editor .ProseMirror h1,.dm-editor .ProseMirror h2,.dm-editor .ProseMirror h3,.dm-editor .ProseMirror h4,.dm-editor .ProseMirror h5,.dm-editor .ProseMirror h6{line-height:1.25}.dm-editor .ProseMirror h3{font-size:1.25em}.dm-editor .ProseMirror h4{font-size:1.1em}.dm-editor .ProseMirror h6{font-size:.9em;color:var(--dm-muted, #666)}.dm-editor .ProseMirror code{background:var(--dm-code-bg);color:var(--dm-code-text);font-family:var(--dm-code-font);font-size:.875em;padding:.15em .35em;border:1px solid var(--dm-border-color);border-radius:var(--dm-code-border-radius)}.dm-editor .ProseMirror pre{background:var(--dm-code-block-bg);color:var(--dm-code-block-text);font-family:var(--dm-code-font);font-size:.875em;padding:1em;border-radius:.375rem;overflow-x:auto;margin:.75em 0}.dm-editor .ProseMirror pre code{background:none;color:inherit;padding:0;border:none;border-radius:0;font-size:inherit}.dm-editor .ProseMirror blockquote{border-left:var(--dm-blockquote-border);color:var(--dm-blockquote-color);margin:.5em 0;padding:.1em 0 .1em .8em}.dm-editor .ProseMirror ul,.dm-editor .ProseMirror ol{margin:.75em 0;padding-left:1.5em}.dm-editor .ProseMirror ul li,.dm-editor .ProseMirror ol li{margin:.25em 0}.dm-editor .ProseMirror ul li>p,.dm-editor .ProseMirror ol li>p{margin:.1em 0}.dm-editor .ProseMirror hr{border:none;border-top:2px solid var(--dm-hr-color);margin:1.5em 0}.dm-editor .ProseMirror a{color:var(--dm-link-color)}.dm-editor .ProseMirror a:hover{color:var(--dm-link-hover-color)}.dm-editor .ProseMirror mark{color:inherit}.dm-editor .ProseMirror img{max-width:100%;height:auto;display:block;margin:.75em 0}.dm-editor .ProseMirror img.ProseMirror-selectednode{outline:2px solid var(--dm-accent, #2563eb)}.dm-editor .ProseMirror table{border:var(--dm-table-border);margin:.75em 0}.dm-editor .ProseMirror table td,.dm-editor .ProseMirror table th{border:var(--dm-table-border);padding:.5em .75em;min-width:100px}.dm-editor .ProseMirror table th{background:var(--dm-table-header-bg);font-weight:600;text-align:left}.dm-editor .ProseMirror table td>p,.dm-editor .ProseMirror table th>p{margin:0}.dm-editor .ProseMirror pre code .hljs-doctag,.dm-editor .ProseMirror pre code .hljs-keyword,.dm-editor .ProseMirror pre code .hljs-meta .hljs-keyword,.dm-editor .ProseMirror pre code .hljs-template-tag,.dm-editor .ProseMirror pre code .hljs-template-variable,.dm-editor .ProseMirror pre code .hljs-type,.dm-editor .ProseMirror pre code .hljs-variable.language_{color:var(--dm-syntax-keyword)}.dm-editor .ProseMirror pre code .hljs-title,.dm-editor .ProseMirror pre code .hljs-title.class_,.dm-editor .ProseMirror pre code .hljs-title.class_.inherited__,.dm-editor .ProseMirror pre code .hljs-title.function_{color:var(--dm-syntax-entity)}.dm-editor .ProseMirror pre code .hljs-attr,.dm-editor .ProseMirror pre code .hljs-attribute,.dm-editor .ProseMirror pre code .hljs-literal,.dm-editor .ProseMirror pre code .hljs-meta,.dm-editor .ProseMirror pre code .hljs-number,.dm-editor .ProseMirror pre code .hljs-operator,.dm-editor .ProseMirror pre code .hljs-variable,.dm-editor .ProseMirror pre code .hljs-selector-attr,.dm-editor .ProseMirror pre code .hljs-selector-class,.dm-editor .ProseMirror pre code .hljs-selector-id{color:var(--dm-syntax-constant)}.dm-editor .ProseMirror pre code .hljs-regexp,.dm-editor .ProseMirror pre code .hljs-string,.dm-editor .ProseMirror pre code .hljs-meta .hljs-string{color:var(--dm-syntax-string)}.dm-editor .ProseMirror pre code .hljs-built_in,.dm-editor .ProseMirror pre code .hljs-symbol{color:var(--dm-syntax-variable)}.dm-editor .ProseMirror pre code .hljs-comment,.dm-editor .ProseMirror pre code .hljs-code,.dm-editor .ProseMirror pre code .hljs-formula{color:var(--dm-syntax-comment)}.dm-editor .ProseMirror pre code .hljs-name,.dm-editor .ProseMirror pre code .hljs-quote,.dm-editor .ProseMirror pre code .hljs-selector-tag,.dm-editor .ProseMirror pre code .hljs-selector-pseudo{color:var(--dm-syntax-tag)}.dm-editor .ProseMirror pre code .hljs-section{color:var(--dm-syntax-constant);font-weight:bold}.dm-editor .ProseMirror pre code .hljs-bullet{color:var(--dm-syntax-tag)}.dm-editor .ProseMirror pre code .hljs-addition{color:var(--dm-syntax-addition);background-color:var(--dm-syntax-addition-bg)}.dm-editor .ProseMirror pre code .hljs-deletion{color:var(--dm-syntax-deletion);background-color:var(--dm-syntax-deletion-bg)}.dm-editor .ProseMirror pre code .hljs-emphasis{font-style:italic}.dm-editor .ProseMirror pre code .hljs-strong{font-weight:bold}.dm-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:var(--dm-toolbar-justify, flex-start);gap:var(--dm-toolbar-gap);padding:var(--dm-toolbar-padding);background:var(--dm-toolbar-bg);border:1px solid var(--dm-border-color, #e5e7eb);border-bottom:1px solid var(--dm-border-color, #e5e7eb);border-radius:var(--dm-toolbar-border-radius);box-shadow:var(--dm-editor-shadow, none)}.dm-toolbar-group{display:flex;align-items:center;gap:var(--dm-toolbar-gap)}.dm-toolbar-button{display:inline-flex;align-items:center;justify-content:center;width:var(--dm-button-size);height:var(--dm-button-size);padding:0;border:none;border-radius:var(--dm-button-border-radius);background:rgba(0,0,0,0);color:var(--dm-button-color);cursor:pointer;transition:background-color .15s,color .15s;font-size:.875rem;line-height:1}.dm-toolbar-button:hover{background:var(--dm-button-hover-bg)}.dm-toolbar-button--active{background:var(--dm-button-active-bg);color:var(--dm-button-active-color)}.dm-toolbar-button[aria-expanded=true]{background:var(--dm-button-hover-bg)}.dm-toolbar-button--disabled,.dm-toolbar-button:disabled{opacity:var(--dm-button-disabled-opacity);cursor:not-allowed;pointer-events:none}.dm-toolbar-button:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-toolbar-button svg{width:1.125rem;height:1.125rem}.dm-toolbar-dropdown-trigger{position:relative;width:auto;padding:0 .375rem;gap:.125rem}.dm-toolbar-dropdown-trigger[aria-expanded=true]{background:var(--dm-button-hover-bg)}.dm-toolbar-color-indicator{position:absolute;bottom:.15rem;left:.25rem;width:1.375rem;height:.3rem;border-radius:2px}.dm-toolbar-trigger-label{display:inline-block;vertical-align:middle;text-align:center;font-size:.8125rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:2.5rem}.dm-toolbar-trigger-label svg{width:1.125rem;height:1.125rem}[data-dropdown=fontFamily] .dm-toolbar-trigger-label{width:5rem}.dm-toolbar-button .dm-dropdown-caret{width:.625rem;height:.625rem;flex-shrink:0}.dm-toolbar-dropdown-wrapper{position:relative}.dm-toolbar-dropdown-panel{position:absolute;z-index:50;display:flex;flex-direction:column;gap:.125rem;min-width:8rem;padding:.25rem;background:var(--dm-bg, #fff);border:1px solid var(--dm-border-color, #e5e7eb);border-radius:.5rem;box-shadow:0 4px 16px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.04);animation:dm-fade-in .2s ease}.dm-toolbar-dropdown-panel.dm-color-palette{padding:.5rem;border-radius:.75rem}.dm-toolbar-dropdown-panel[data-display-mode=icon]{min-width:0}.dm-toolbar-dropdown-panel[data-display-mode=icon] .dm-toolbar-dropdown-item{width:auto;padding:.375rem;justify-content:center}.dm-toolbar-dropdown-panel[data-display-mode=text]{min-width:0}.dm-toolbar-dropdown-panel[data-display-mode=text] .dm-toolbar-dropdown-item{gap:0}.dm-toolbar-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .5rem;border:none;border-radius:var(--dm-button-border-radius);background:rgba(0,0,0,0);color:var(--dm-button-color);cursor:pointer;font-size:.8125rem;line-height:1.4;text-align:left;white-space:nowrap;transition:background-color .15s}.dm-toolbar-dropdown-item:hover{background:var(--dm-button-hover-bg)}.dm-toolbar-dropdown-item--active{color:var(--dm-button-active-color);background:var(--dm-button-active-bg)}.dm-toolbar-dropdown-item:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-toolbar-dropdown-item svg{width:1rem;height:1rem;flex-shrink:0}.dm-toolbar-separator{width:1px;height:1.25rem;background:var(--dm-separator-color);margin:0 var(--dm-separator-margin)}.dm-color-palette{display:grid;grid-template-columns:repeat(var(--dm-palette-columns, 10), 1fr);gap:.375rem;padding:.375rem;min-width:auto;width:max-content}.dm-color-palette-reset{grid-column:1/-1;display:flex;align-items:center;gap:.375rem;width:100%;padding:.375rem .5rem;margin-bottom:.375rem;border:none;border-radius:.375rem;background:rgba(0,0,0,0);color:var(--dm-button-color, #1a1a1a);cursor:pointer;font-size:.8125rem;line-height:1.4;text-align:left;white-space:nowrap;transition:background-color .15s}.dm-color-palette-reset:hover{background:var(--dm-button-hover-bg, rgba(0, 0, 0, 0.06))}.dm-color-palette-reset:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-color-palette-reset svg{width:.875rem;height:.875rem;flex-shrink:0}.dm-color-swatch{position:relative;width:1.5rem;height:1.5rem;padding:0;border:1px solid rgba(0,0,0,.06);border-radius:50%;cursor:pointer;transition:transform .1s,box-shadow .1s}.dm-color-swatch:hover{transform:scale(1.15);z-index:1;box-shadow:0 0 0 2px var(--dm-toolbar-bg, #f8f9fa),0 0 0 3px var(--dm-accent, #2563eb)}.dm-color-swatch:focus-visible{box-shadow:0 0 0 2px var(--dm-toolbar-bg, #f8f9fa),0 0 0 3px var(--dm-accent, #2563eb)}.dm-color-swatch--active{box-shadow:0 0 0 2px var(--dm-toolbar-bg, #f8f9fa),0 0 0 3px var(--dm-accent, #2563eb)}.dm-color-swatch--active::after{content:"";position:absolute;inset:0;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M12 5L6.5 11 4 8.5' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' opacity='0.3'/%3E%3Cpath d='M12 5L6.5 11 4 8.5' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}.dm-theme-dark .dm-color-swatch,.dm-theme-auto .dm-color-swatch{border-color:hsla(0,0%,100%,.15)}@media(prefers-color-scheme: dark){.dm-theme-auto .dm-color-swatch{border-color:hsla(0,0%,100%,.15)}}.dm-bubble-menu{--dm-toolbar-padding: 0.25rem;--dm-toolbar-gap: 0.125rem;--dm-button-size: 1.75rem;--dm-button-border-radius: 0.25rem;--dm-button-color: var(--dm-text, #1a1a1a);--dm-button-hover-bg: var(--dm-hover, rgba(0, 0, 0, 0.06));--dm-button-active-bg: var(--dm-accent-surface, rgba(37, 99, 235, 0.1));--dm-button-active-color: var(--dm-accent, #2563eb);--dm-button-disabled-opacity: 0.4}.dm-bubble-menu .dm-toolbar-button svg{width:1rem;height:1rem}.dm-bubble-menu .dm-toolbar-separator{width:1px;height:1.125rem;background:var(--dm-separator-color, var(--dm-border-color, #e0e0e0));margin:0 .125rem;flex-shrink:0}.dm-bubble-menu{position:absolute;display:flex;align-items:center;gap:var(--dm-toolbar-gap);padding:var(--dm-toolbar-padding);background:var(--dm-bg, #fff);border:1px solid var(--dm-border-color, #e5e7eb);border-radius:.5rem;box-shadow:0 4px 16px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.04);visibility:hidden;opacity:0;z-index:50}.dm-bubble-menu[data-show]{visibility:visible;opacity:1;transition:opacity .15s ease}.dm-floating-menu{position:absolute;display:flex;flex-direction:column;gap:var(--dm-toolbar-gap);padding:var(--dm-toolbar-padding);background:var(--dm-toolbar-bg);border:var(--dm-toolbar-border);border-radius:var(--dm-button-border-radius);box-shadow:0 4px 12px rgba(0,0,0,.12);visibility:hidden;opacity:0;transition:opacity .2s ease,visibility .2s;z-index:50}.dm-floating-menu[data-show]{visibility:visible;opacity:1}.dm-link-popover{position:fixed;display:flex;align-items:center;gap:.25rem;padding:.25rem;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 4px 12px rgba(0,0,0,.12);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;visibility:hidden;opacity:0;transition:opacity .2s ease,visibility .2s;z-index:60}.dm-link-popover[data-show]{visibility:visible;opacity:1}.dm-link-popover-input{border:1px solid #e0e0e0;border-radius:.25rem;padding:.25rem .5rem;font-size:.8125rem;font-family:inherit;min-width:14rem;outline:none;background:#fff;color:#1a1a1a}.dm-link-popover-input:focus{border-color:#2563eb}.dm-link-popover-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:.25rem;background:rgba(0,0,0,0);color:#1a1a1a;cursor:pointer;transition:background-color .15s,color .15s}.dm-link-popover-btn:hover{background:rgba(0,0,0,.06)}.dm-link-popover-btn:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-link-popover-btn svg{width:.875rem;height:.875rem}.dm-link-popover-apply:hover{color:#2563eb}.dm-link-popover-remove:hover{color:#dc2626}.dm-link-pending{background-color:rgba(37,99,235,.12);border-radius:1px}[data-theme=dark] .dm-link-popover,.dm-theme-dark .dm-link-popover{background:#2a2a2a;border-color:#404040}[data-theme=dark] .dm-link-popover .dm-link-popover-input,.dm-theme-dark .dm-link-popover .dm-link-popover-input{background:#1a1a1a;border-color:#404040;color:#e0e0e0}[data-theme=dark] .dm-link-popover .dm-link-popover-input:focus,.dm-theme-dark .dm-link-popover .dm-link-popover-input:focus{border-color:#3b82f6}[data-theme=dark] .dm-link-popover .dm-link-popover-btn,.dm-theme-dark .dm-link-popover .dm-link-popover-btn{color:#e0e0e0}[data-theme=dark] .dm-link-popover .dm-link-popover-btn:hover,.dm-theme-dark .dm-link-popover .dm-link-popover-btn:hover{background:hsla(0,0%,100%,.1)}[data-theme=dark] .dm-link-popover .dm-link-popover-apply:hover,.dm-theme-dark .dm-link-popover .dm-link-popover-apply:hover{color:#3b82f6}@media(prefers-color-scheme: dark){.dm-theme-auto .dm-link-popover{background:#2a2a2a;border-color:#404040}.dm-theme-auto .dm-link-popover .dm-link-popover-input{background:#1a1a1a;border-color:#404040;color:#e0e0e0}.dm-theme-auto .dm-link-popover .dm-link-popover-input:focus{border-color:#3b82f6}.dm-theme-auto .dm-link-popover .dm-link-popover-btn{color:#e0e0e0}.dm-theme-auto .dm-link-popover .dm-link-popover-btn:hover{background:hsla(0,0%,100%,.1)}.dm-theme-auto .dm-link-popover .dm-link-popover-apply:hover{color:#3b82f6}}.dm-editor .ProseMirror .is-empty::before{content:attr(data-placeholder);float:left;color:var(--dm-placeholder-color);pointer-events:none;height:0}.dm-editor .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:0}.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem]{display:flex;align-items:flex-start;gap:.5em}.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem]>label{display:flex;align-items:center;flex-shrink:0;margin-top:.4em;user-select:none}.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem]>label input[type=checkbox]{width:1em;height:1em;margin:0;padding:0;cursor:pointer;accent-color:var(--dm-accent, #2563eb)}.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem]>div{flex:1;min-width:0}.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem]>div>p{margin:0}.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem][data-checked=true]>div{text-decoration:line-through;opacity:.6}.dm-editor .ProseMirror .mention{display:inline;background:var(--dm-mention-bg);color:var(--dm-mention-color);border-radius:var(--dm-mention-border-radius);padding:.1em .3em;font-weight:500;font-size:.95em;white-space:nowrap}.dm-editor .ProseMirror .mention-suggestion{text-decoration:underline;text-decoration-color:var(--dm-accent, #2563eb);text-underline-offset:2px}.dm-mention-suggestion{position:absolute;z-index:100;min-width:12rem;max-width:20rem;padding:.25rem;background:var(--dm-surface, #f8f9fa);border:1px solid var(--dm-border-color, #e0e0e0);border-radius:.25rem;box-shadow:0 4px 12px rgba(0,0,0,.12);animation:dm-fade-in .2s ease}.dm-mention-suggestion-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .5rem;border:none;border-radius:.25rem;background:rgba(0,0,0,0);color:var(--dm-text, #1a1a1a);cursor:pointer;font-size:.8125rem;line-height:1.4;text-align:left;transition:background-color .1s}.dm-mention-suggestion-item:hover,.dm-mention-suggestion-item--selected{background:var(--dm-hover, rgba(0, 0, 0, 0.06))}.dm-mention-suggestion-item:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-mention-suggestion-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-mention-suggestion-empty{padding:.5rem;text-align:center;color:var(--dm-text, #1a1a1a);opacity:.5;font-size:.8125rem}.dm-editor .ProseMirror img[style*="float: left"],.dm-editor .ProseMirror img[style*="float: right"]{max-width:60%}.dm-editor .ProseMirror .dm-image-resizable{position:relative;display:inline-block;max-width:100%;margin:.75em 0;line-height:0}.dm-editor .ProseMirror .dm-image-resizable img{display:block;max-width:100%;height:auto}.dm-editor .ProseMirror .dm-image-resizable[data-float=left]{float:left;margin:0 1em 1em 0}.dm-editor .ProseMirror .dm-image-resizable[data-float=right]{float:right;margin:0 0 1em 1em}.dm-editor .ProseMirror .dm-image-resizable[data-float=center]{display:block;width:fit-content;margin-left:auto;margin-right:auto}.dm-editor .ProseMirror .dm-image-resizable[data-float=left],.dm-editor .ProseMirror .dm-image-resizable[data-float=right]{max-width:60%;z-index:1}.dm-editor .ProseMirror .dm-image-resizable.ProseMirror-selectednode{outline:2px solid var(--dm-accent, #2563eb)}.dm-editor .ProseMirror .dm-image-resizable.ProseMirror-selectednode .dm-image-handle{display:block}.dm-editor .ProseMirror .dm-image-handle{display:none;position:absolute;width:8px;height:8px;background:var(--dm-accent, #2563eb);border:1px solid #fff;border-radius:1px;z-index:5}.dm-editor .ProseMirror .dm-image-handle-nw{top:-4px;left:-4px;cursor:nw-resize}.dm-editor .ProseMirror .dm-image-handle-ne{top:-4px;right:-4px;cursor:ne-resize}.dm-editor .ProseMirror .dm-image-handle-sw{bottom:-4px;left:-4px;cursor:sw-resize}.dm-editor .ProseMirror .dm-image-handle-se{bottom:-4px;right:-4px;cursor:se-resize}.dm-image-popover{position:fixed;display:flex;align-items:center;gap:.25rem;padding:.25rem;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 4px 12px rgba(0,0,0,.12);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;visibility:hidden;opacity:0;transition:opacity .2s ease,visibility .2s;z-index:60}.dm-image-popover[data-show]{visibility:visible;opacity:1}.dm-image-popover-input{border:1px solid #e0e0e0;border-radius:.25rem;padding:.25rem .5rem;font-size:.8125rem;font-family:inherit;min-width:14rem;outline:none;background:#fff;color:#1a1a1a}.dm-image-popover-input:focus{border-color:#2563eb}.dm-image-popover-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:.25rem;background:rgba(0,0,0,0);color:#1a1a1a;cursor:pointer;transition:background-color .15s,color .15s}.dm-image-popover-btn:hover{background:rgba(0,0,0,.06)}.dm-image-popover-btn:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-image-popover-btn svg{width:.875rem;height:.875rem}.dm-image-popover-apply:hover{color:#2563eb}.dm-image-popover-browse:hover{color:#2563eb}[data-theme=dark] .dm-image-popover,.dm-theme-dark .dm-image-popover{background:#2a2a2a;border-color:#404040}[data-theme=dark] .dm-image-popover .dm-image-popover-input,.dm-theme-dark .dm-image-popover .dm-image-popover-input{background:#1a1a1a;border-color:#404040;color:#e0e0e0}[data-theme=dark] .dm-image-popover .dm-image-popover-input:focus,.dm-theme-dark .dm-image-popover .dm-image-popover-input:focus{border-color:#3b82f6}[data-theme=dark] .dm-image-popover .dm-image-popover-btn,.dm-theme-dark .dm-image-popover .dm-image-popover-btn{color:#e0e0e0}[data-theme=dark] .dm-image-popover .dm-image-popover-btn:hover,.dm-theme-dark .dm-image-popover .dm-image-popover-btn:hover{background:hsla(0,0%,100%,.1)}[data-theme=dark] .dm-image-popover .dm-image-popover-apply:hover,.dm-theme-dark .dm-image-popover .dm-image-popover-apply:hover{color:#3b82f6}@media(prefers-color-scheme: dark){.dm-theme-auto .dm-image-popover{background:#2a2a2a;border-color:#404040}.dm-theme-auto .dm-image-popover .dm-image-popover-input{background:#1a1a1a;border-color:#404040;color:#e0e0e0}.dm-theme-auto .dm-image-popover .dm-image-popover-input:focus{border-color:#3b82f6}.dm-theme-auto .dm-image-popover .dm-image-popover-btn{color:#e0e0e0}.dm-theme-auto .dm-image-popover .dm-image-popover-btn:hover{background:hsla(0,0%,100%,.1)}.dm-theme-auto .dm-image-popover .dm-image-popover-apply:hover{color:#3b82f6}}.dm-editor.dm-dragover{outline:2px dashed var(--dm-accent);outline-offset:-2px}.dm-editor.dm-dragover::after{content:"";position:absolute;inset:0;background:var(--dm-accent);opacity:.05;pointer-events:none;z-index:10}.dm-editor .ProseMirror div[data-type=details]{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;border:var(--dm-details-border);border-radius:.375rem;margin:.75em 0}.dm-editor .ProseMirror div[data-type=details]>div{display:contents}.dm-editor .ProseMirror div[data-type=details]>button[type=button]{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;align-self:center;margin-right:10px;border:none;background:rgba(0,0,0,0);cursor:pointer;color:var(--dm-muted);border-radius:50%}.dm-editor .ProseMirror div[data-type=details]>button[type=button]::before{content:"";display:block;width:.4em;height:.4em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease}.dm-editor .ProseMirror div[data-type=details]>button[type=button]:hover{color:var(--dm-text);background:var(--dm-hover)}.dm-editor .ProseMirror div[data-type=details]>button[type=button]:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-editor .ProseMirror div[data-type=details]::before{content:"";grid-column:1/-1;grid-row:1;background:var(--dm-details-bg);border-radius:.375rem}.dm-editor .ProseMirror div[data-type=details].is-open::before{border-radius:.375rem .375rem 0 0}.dm-editor .ProseMirror div[data-type=details] summary{grid-column:1;grid-row:1;display:block;padding:.5em .5em .5em .75em;font-weight:var(--dm-details-summary-font-weight);min-height:0}.dm-editor .ProseMirror div[data-type=details] summary::-webkit-details-marker{display:none}.dm-editor .ProseMirror div[data-type=details] summary{list-style:none}.dm-editor .ProseMirror div[data-type=details] div[data-details-content]{grid-column:1/-1;grid-row:2;padding:.5em .75em;border-top:var(--dm-details-border)}.dm-editor .ProseMirror div[data-type=details].ProseMirror-selectednode{outline:none}.dm-editor .ProseMirror div[data-type=details].is-open>button[type=button]::before{transform:rotate(45deg)}.dm-editor .ProseMirror .invisible-char{color:var(--dm-invisible-char-color, var(--dm-muted, #999));pointer-events:none;user-select:none}.dm-editor .ProseMirror [data-char=space]{position:relative}.dm-editor .ProseMirror [data-char=space]::after{content:"·";position:absolute;inset:0;text-align:center;color:var(--dm-invisible-char-color, var(--dm-muted, #999));pointer-events:none}.dm-editor .ProseMirror [data-char=nbsp]{position:relative}.dm-editor .ProseMirror [data-char=nbsp]::after{content:"°";position:absolute;inset:0;text-align:center;color:var(--dm-invisible-char-color, var(--dm-muted, #999));pointer-events:none}.dm-emoji-picker{position:absolute;z-index:100;width:20rem;max-height:22rem;display:flex;flex-direction:column;background:var(--dm-surface, #f8f9fa);border:1px solid var(--dm-border-color, #e0e0e0);border-radius:.25rem;box-shadow:0 4px 12px rgba(0,0,0,.12);overflow:hidden;animation:dm-fade-in .2s ease}.dm-emoji-picker-search{flex-shrink:0;padding:.5rem;border-bottom:1px solid var(--dm-border-color, #e0e0e0)}.dm-emoji-picker-search input{width:100%;padding:.375rem .5rem;border:1px solid var(--dm-border-color, #e0e0e0);border-radius:.25rem;background:var(--dm-bg, #ffffff);color:var(--dm-text, #1a1a1a);font-size:.8125rem;outline:none;box-sizing:border-box}.dm-emoji-picker-search input:focus{border-color:var(--dm-accent, #2563eb)}.dm-emoji-picker-search input::placeholder{color:var(--dm-muted, #999999)}.dm-emoji-picker-tabs{display:flex;align-items:center;flex-shrink:0;padding:.375rem .5rem;gap:.1rem;border-bottom:1px solid var(--dm-border-color, #e0e0e0);overflow-x:auto;scrollbar-width:none}.dm-emoji-picker-tabs::-webkit-scrollbar{display:none}.dm-emoji-picker-tab{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;padding:0;border:none;border-radius:.375rem;background:rgba(0,0,0,0);cursor:pointer;font-size:1.25rem;line-height:1;opacity:.5;transition:opacity .15s,background-color .15s}.dm-emoji-picker-tab:hover{opacity:1;background:var(--dm-hover, rgba(0, 0, 0, 0.06))}.dm-emoji-picker-tab:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-emoji-picker-tab--active{opacity:1;background:var(--dm-active, rgba(0, 0, 0, 0.12))}.dm-emoji-picker-grid{flex:1;overflow-y:auto;padding:.25rem .5rem .5rem;display:grid;grid-template-columns:repeat(8, 1fr);gap:.125rem;align-content:start}.dm-emoji-picker-category-label{grid-column:1/-1;font-size:.6875rem;font-weight:600;color:var(--dm-text, #1a1a1a);opacity:.6;padding:.375rem 0 .125rem;text-transform:uppercase;letter-spacing:.03em}.dm-emoji-swatch{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:.25rem;background:rgba(0,0,0,0);cursor:pointer;font-size:1.25rem;line-height:1;transition:background-color .1s,transform .1s}.dm-emoji-swatch:hover{background:var(--dm-hover, rgba(0, 0, 0, 0.06));transform:scale(1.15)}.dm-emoji-swatch:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-emoji-picker-empty{grid-column:1/-1;padding:1rem;text-align:center;color:var(--dm-text, #1a1a1a);opacity:.5;font-size:.8125rem}.dm-emoji-suggestion{position:absolute;z-index:100;min-width:12rem;max-width:18rem;padding:.25rem;background:var(--dm-surface, #f8f9fa);border:1px solid var(--dm-border-color, #e0e0e0);border-radius:.25rem;box-shadow:0 4px 12px rgba(0,0,0,.12);animation:dm-fade-in .2s ease}.dm-emoji-suggestion-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .5rem;border:none;border-radius:.25rem;background:rgba(0,0,0,0);color:var(--dm-text, #1a1a1a);cursor:pointer;font-size:.8125rem;line-height:1.4;text-align:left;transition:background-color .1s}.dm-emoji-suggestion-item:hover,.dm-emoji-suggestion-item--selected{background:var(--dm-hover, rgba(0, 0, 0, 0.06))}.dm-emoji-suggestion-item:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-emoji-suggestion-emoji{font-size:1.125rem;line-height:1;flex-shrink:0}.dm-emoji-suggestion-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-emoji-suggestion-empty{padding:.5rem;text-align:center;color:var(--dm-text, #1a1a1a);opacity:.5;font-size:.8125rem}.dm-editor .ProseMirror span.emoji{cursor:default;font-style:normal;padding:0 .05em}.dm-editor .ProseMirror span.emoji.ProseMirror-selectednode{outline:2px solid var(--dm-accent, #2563eb);border-radius:.15em}.dm-editor .dm-table-container{position:relative}.dm-table-col-handle,.dm-table-row-handle{position:absolute;z-index:10;display:none;align-items:center;justify-content:center;border:1px solid var(--dm-border-color, #e0e0e0);border-radius:4px;background:var(--dm-bg, #ffffff);color:var(--dm-muted, #999999);cursor:pointer;padding:0;transition:background-color .15s,color .15s,box-shadow .15s}.dm-table-col-handle:hover,.dm-table-row-handle:hover{background:var(--dm-hover, rgba(0, 0, 0, 0.06));color:var(--dm-text, #1a1a1a);box-shadow:0 1px 4px rgba(0,0,0,.1)}.dm-table-col-handle:focus-visible,.dm-table-row-handle:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-table-col-handle svg,.dm-table-row-handle svg{display:block}.dm-table-col-handle{width:24px;height:14px}.dm-table-row-handle{width:14px;height:24px}.dm-table-cell-handle{position:absolute;z-index:10;display:none;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--dm-accent, #2563eb);border-radius:50%;background:var(--dm-bg, #ffffff);color:var(--dm-accent, #2563eb);cursor:pointer;padding:0;box-shadow:0 1px 3px rgba(0,0,0,.08);transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s}.dm-table-cell-handle:hover{background:var(--dm-accent, #2563eb);color:#fff;border-color:var(--dm-accent, #2563eb);box-shadow:0 1px 4px color-mix(in srgb, var(--dm-accent, #2563eb) 30%, transparent)}.dm-table-cell-handle:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-table-cell-handle svg{display:block;width:8px;height:8px}.dm-table-cell-toolbar{position:absolute;z-index:10;display:none;align-items:center;gap:2px;padding:2px;border:1px solid var(--dm-border-color, #e0e0e0);border-radius:6px;background:var(--dm-bg, #ffffff);box-shadow:0 2px 8px rgba(0,0,0,.1);animation:dm-fade-in .12s ease}.dm-table-cell-toolbar-btn{display:flex;align-items:center;gap:1px;padding:4px 5px;border:none;border-radius:4px;background:rgba(0,0,0,0);color:var(--dm-text, #1a1a1a);cursor:pointer;transition:background-color .15s,color .15s}.dm-table-cell-toolbar-btn:hover,.dm-table-cell-toolbar-btn.dm-table-cell-toolbar-btn--open{background:var(--dm-hover, rgba(0, 0, 0, 0.06))}.dm-table-cell-toolbar-btn--active{color:var(--dm-accent, #2563eb);background:var(--dm-accent-surface, rgba(37, 99, 235, 0.1))}.dm-table-cell-toolbar-btn:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-table-cell-toolbar-btn:disabled{opacity:.3;cursor:default;pointer-events:none}.dm-table-cell-toolbar-btn svg{display:block;flex-shrink:0}.dm-table-cell-toolbar-chevron{display:flex;align-items:center}.dm-table-cell-toolbar-sep{width:1px;height:16px;margin:0 2px;background:var(--dm-border-color, #e0e0e0)}.dm-table-cell-align-dropdown{min-width:auto;width:max-content;padding:.25rem}.dm-table-cell-align-dropdown .dm-table-align-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.3rem .5rem;border:none;border-radius:.25rem;background:rgba(0,0,0,0);color:var(--dm-text, #1a1a1a);cursor:pointer;font-size:.8125rem;white-space:nowrap;transition:background-color .15s,color .15s}.dm-table-cell-align-dropdown .dm-table-align-item:hover{background:var(--dm-hover, rgba(0, 0, 0, 0.06))}.dm-table-cell-align-dropdown .dm-table-align-item:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-table-cell-align-dropdown .dm-table-align-item--active{color:var(--dm-accent, #2563eb);background:var(--dm-accent-surface, rgba(37, 99, 235, 0.1))}.dm-table-cell-align-dropdown .dm-table-align-item-icon{display:flex;align-items:center}.dm-table-cell-align-dropdown .dm-table-align-item-icon svg{display:block}.dm-editor .ProseMirror table td[data-text-align=center],.dm-editor .ProseMirror table th[data-text-align=center]{text-align:center}.dm-editor .ProseMirror table td[data-text-align=right],.dm-editor .ProseMirror table th[data-text-align=right]{text-align:right}.dm-editor .ProseMirror table td[data-vertical-align=middle],.dm-editor .ProseMirror table th[data-vertical-align=middle]{vertical-align:middle}.dm-editor .ProseMirror table td[data-vertical-align=bottom],.dm-editor .ProseMirror table th[data-vertical-align=bottom]{vertical-align:bottom}.dm-editor td.dm-cell-focused,.dm-editor th.dm-cell-focused{outline:1px solid var(--dm-accent, #2563eb);outline-offset:-1px}.dm-table-controls-dropdown{position:absolute;z-index:50;display:flex;flex-direction:column;gap:.125rem;min-width:10rem;padding:.25rem;background:var(--dm-bg, #fff);border:1px solid var(--dm-border-color, #e5e7eb);border-radius:.5rem;box-shadow:0 4px 16px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.04);animation:dm-fade-in .2s ease}.dm-table-controls-dropdown>button{display:flex;align-items:center;gap:.375rem;width:100%;padding:.375rem .5rem;border:none;border-radius:var(--dm-button-border-radius);background:rgba(0,0,0,0);color:var(--dm-button-color);cursor:pointer;font-size:.8125rem;line-height:1.4;text-align:left;white-space:nowrap;transition:background-color .15s}.dm-table-controls-dropdown>button:hover{background:var(--dm-button-hover-bg)}.dm-table-controls-dropdown>button:focus-visible{outline:2px solid var(--dm-accent, #2563eb);outline-offset:1px}.dm-table-controls-dropdown-icon{display:flex;align-items:center;color:var(--dm-icon, #666)}.dm-table-controls-dropdown-icon svg{display:block}.dm-table-cell-dropdown{min-width:auto;width:max-content;padding:0;border-radius:.75rem}.dm-table-cell-dropdown .dm-color-palette{padding:.5rem}.dm-table-cell-dropdown-separator{height:1px;background:var(--dm-border-color, #e0e0e0);margin:.25rem 0}.dm-theme-light,.dm-theme-light .dm-editor,.dm-theme-light .dm-toolbar,.dm-theme-light .dm-table-controls-dropdown{--dm-bg: #ffffff;--dm-text: #1a1a1a;--dm-muted: #999999;--dm-surface: #f8f9fa;--dm-border-color: #e0e0e0;--dm-hover: rgba(0, 0, 0, 0.06);--dm-active: rgba(0, 0, 0, 0.12);--dm-accent: #2563eb;--dm-accent-hover: #1d4ed8;--dm-accent-surface: rgba(37, 99, 235, 0.1);--dm-focus-color: rgba(66, 133, 244, 0.3);--dm-selection: rgba(66, 133, 244, 0.2);--dm-code-surface: #f5f5f5;--dm-code-color: #d63384;--dm-highlight-bg: #fff3cd;--dm-syntax-keyword: #c72031;--dm-syntax-entity: #6f42c1;--dm-syntax-constant: #005cc5;--dm-syntax-string: #032f62;--dm-syntax-variable: #d35400;--dm-syntax-comment: #57606a;--dm-syntax-tag: #22863a;--dm-syntax-addition: #22863a;--dm-syntax-addition-bg: #f0fff4;--dm-syntax-deletion: #b31d28;--dm-syntax-deletion-bg: #ffeef0}.dm-theme-dark,.dm-theme-dark .dm-editor,.dm-theme-dark .dm-toolbar,.dm-theme-dark .dm-bubble-menu,.dm-theme-dark .dm-emoji-picker,.dm-theme-dark .dm-emoji-suggestion,.dm-theme-dark .dm-mention-suggestion,.dm-theme-dark .dm-table-controls-dropdown{--dm-color-scheme: dark;--dm-bg: #1e1e1e;--dm-text: #e0e0e0;--dm-muted: #777777;--dm-surface: #2a2a2a;--dm-border-color: #3a3a3a;--dm-hover: rgba(255, 255, 255, 0.08);--dm-active: rgba(255, 255, 255, 0.15);--dm-accent: #60a5fa;--dm-accent-hover: #93c5fd;--dm-accent-surface: rgba(96, 165, 250, 0.15);--dm-focus-color: rgba(96, 165, 250, 0.3);--dm-selection: rgba(96, 165, 250, 0.25);--dm-code-surface: #2d2d2d;--dm-code-color: inherit;--dm-highlight-bg: rgba(255, 243, 205, 0.2);--dm-blockquote-border: 3px solid #555555;--dm-blockquote-color: #a0a0a0;--dm-syntax-keyword: #ff7b72;--dm-syntax-entity: #d2a8ff;--dm-syntax-constant: #79c0ff;--dm-syntax-string: #a5d6ff;--dm-syntax-variable: #ffa657;--dm-syntax-comment: #8b949e;--dm-syntax-tag: #7ee787;--dm-syntax-addition: #aff5b4;--dm-syntax-addition-bg: #033a16;--dm-syntax-deletion: #ffdcd7;--dm-syntax-deletion-bg: #67060c}@media(prefers-color-scheme: dark){.dm-theme-auto,.dm-theme-auto .dm-editor,.dm-theme-auto .dm-toolbar,.dm-theme-auto .dm-bubble-menu,.dm-theme-auto .dm-emoji-picker,.dm-theme-auto .dm-emoji-suggestion,.dm-theme-auto .dm-mention-suggestion,.dm-theme-auto .dm-table-controls-dropdown{--dm-color-scheme: dark;--dm-bg: #1e1e1e;--dm-text: #e0e0e0;--dm-muted: #777777;--dm-surface: #2a2a2a;--dm-border-color: #3a3a3a;--dm-hover: rgba(255, 255, 255, 0.08);--dm-active: rgba(255, 255, 255, 0.15);--dm-accent: #60a5fa;--dm-accent-hover: #93c5fd;--dm-accent-surface: rgba(96, 165, 250, 0.15);--dm-focus-color: rgba(96, 165, 250, 0.3);--dm-selection: rgba(96, 165, 250, 0.25);--dm-code-surface: #2d2d2d;--dm-code-color: inherit;--dm-highlight-bg: rgba(255, 243, 205, 0.2);--dm-blockquote-border: 3px solid #555555;--dm-blockquote-color: #a0a0a0;--dm-syntax-keyword: #ff7b72;--dm-syntax-entity: #d2a8ff;--dm-syntax-constant: #79c0ff;--dm-syntax-string: #a5d6ff;--dm-syntax-variable: #ffa657;--dm-syntax-comment: #8b949e;--dm-syntax-tag: #7ee787;--dm-syntax-addition: #aff5b4;--dm-syntax-addition-bg: #033a16;--dm-syntax-deletion: #ffdcd7;--dm-syntax-deletion-bg: #67060c}}@media(prefers-reduced-motion: reduce){.dm-emoji-picker,.dm-emoji-suggestion,.dm-mention-suggestion,.dm-toolbar-dropdown-panel,.dm-table-controls-dropdown,.dm-table-cell-toolbar{animation:none}.dm-editor .ProseMirror-gapcursor::after{animation:none}.dm-bubble-menu[data-show],.dm-floating-menu,.dm-link-popover,.dm-image-popover,.dm-toolbar-button,.dm-toolbar-dropdown-item,.dm-color-palette-reset,.dm-color-swatch,.dm-emoji-picker-tab,.dm-emoji-swatch,.dm-emoji-suggestion-item,.dm-mention-suggestion-item,.dm-table-col-handle,.dm-table-row-handle,.dm-table-cell-handle,.dm-table-cell-toolbar-btn,.dm-table-controls-dropdown>button,.dm-table-align-item,.dm-image-popover-btn,.dm-link-popover-btn,.dm-editor .ProseMirror div[data-type=details]>button[type=button]::before{transition:none}}
@@ -241,7 +241,7 @@ img.ProseMirror-separator {
241
241
  padding: var(--dm-editor-padding);
242
242
  min-height: 6rem;
243
243
  }
244
- .dm-editor .ProseMirror:focus {
244
+ .dm-editor .ProseMirror:focus-visible {
245
245
  outline: none;
246
246
  }
247
247
  .dm-editor:focus-within {
@@ -492,6 +492,10 @@ img.ProseMirror-separator {
492
492
  cursor: not-allowed;
493
493
  pointer-events: none;
494
494
  }
495
+ .dm-toolbar-button:focus-visible {
496
+ outline: 2px solid var(--dm-accent, #2563eb);
497
+ outline-offset: 1px;
498
+ }
495
499
  .dm-toolbar-button svg {
496
500
  width: 1.125rem;
497
501
  height: 1.125rem;
@@ -605,6 +609,10 @@ img.ProseMirror-separator {
605
609
  color: var(--dm-button-active-color);
606
610
  background: var(--dm-button-active-bg);
607
611
  }
612
+ .dm-toolbar-dropdown-item:focus-visible {
613
+ outline: 2px solid var(--dm-accent, #2563eb);
614
+ outline-offset: 1px;
615
+ }
608
616
  .dm-toolbar-dropdown-item svg {
609
617
  width: 1rem;
610
618
  height: 1rem;
@@ -649,6 +657,10 @@ img.ProseMirror-separator {
649
657
  .dm-color-palette-reset:hover {
650
658
  background: var(--dm-button-hover-bg, rgba(0, 0, 0, 0.06));
651
659
  }
660
+ .dm-color-palette-reset:focus-visible {
661
+ outline: 2px solid var(--dm-accent, #2563eb);
662
+ outline-offset: 1px;
663
+ }
652
664
  .dm-color-palette-reset svg {
653
665
  width: 0.875rem;
654
666
  height: 0.875rem;
@@ -670,6 +682,9 @@ img.ProseMirror-separator {
670
682
  z-index: 1;
671
683
  box-shadow: 0 0 0 2px var(--dm-toolbar-bg, #f8f9fa), 0 0 0 3px var(--dm-accent, #2563eb);
672
684
  }
685
+ .dm-color-swatch:focus-visible {
686
+ box-shadow: 0 0 0 2px var(--dm-toolbar-bg, #f8f9fa), 0 0 0 3px var(--dm-accent, #2563eb);
687
+ }
673
688
  .dm-color-swatch--active {
674
689
  box-shadow: 0 0 0 2px var(--dm-toolbar-bg, #f8f9fa), 0 0 0 3px var(--dm-accent, #2563eb);
675
690
  }
@@ -806,6 +821,10 @@ img.ProseMirror-separator {
806
821
  .dm-link-popover-btn:hover {
807
822
  background: rgba(0, 0, 0, 0.06);
808
823
  }
824
+ .dm-link-popover-btn:focus-visible {
825
+ outline: 2px solid var(--dm-accent, #2563eb);
826
+ outline-offset: 1px;
827
+ }
809
828
  .dm-link-popover-btn svg {
810
829
  width: 0.875rem;
811
830
  height: 0.875rem;
@@ -967,6 +986,10 @@ img.ProseMirror-separator {
967
986
  .dm-mention-suggestion-item:hover, .dm-mention-suggestion-item--selected {
968
987
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
969
988
  }
989
+ .dm-mention-suggestion-item:focus-visible {
990
+ outline: 2px solid var(--dm-accent, #2563eb);
991
+ outline-offset: 1px;
992
+ }
970
993
 
971
994
  .dm-mention-suggestion-label {
972
995
  overflow: hidden;
@@ -1106,6 +1129,10 @@ img.ProseMirror-separator {
1106
1129
  .dm-image-popover-btn:hover {
1107
1130
  background: rgba(0, 0, 0, 0.06);
1108
1131
  }
1132
+ .dm-image-popover-btn:focus-visible {
1133
+ outline: 2px solid var(--dm-accent, #2563eb);
1134
+ outline-offset: 1px;
1135
+ }
1109
1136
  .dm-image-popover-btn svg {
1110
1137
  width: 0.875rem;
1111
1138
  height: 0.875rem;
@@ -1225,8 +1252,9 @@ img.ProseMirror-separator {
1225
1252
  color: var(--dm-text);
1226
1253
  background: var(--dm-hover);
1227
1254
  }
1228
- .dm-editor .ProseMirror div[data-type=details] > button[type=button]:focus {
1229
- outline: none;
1255
+ .dm-editor .ProseMirror div[data-type=details] > button[type=button]:focus-visible {
1256
+ outline: 2px solid var(--dm-accent, #2563eb);
1257
+ outline-offset: 1px;
1230
1258
  }
1231
1259
  .dm-editor .ProseMirror div[data-type=details]::before {
1232
1260
  content: "";
@@ -1366,6 +1394,10 @@ img.ProseMirror-separator {
1366
1394
  opacity: 1;
1367
1395
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
1368
1396
  }
1397
+ .dm-emoji-picker-tab:focus-visible {
1398
+ outline: 2px solid var(--dm-accent, #2563eb);
1399
+ outline-offset: 1px;
1400
+ }
1369
1401
  .dm-emoji-picker-tab--active {
1370
1402
  opacity: 1;
1371
1403
  background: var(--dm-active, rgba(0, 0, 0, 0.12));
@@ -1411,6 +1443,10 @@ img.ProseMirror-separator {
1411
1443
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
1412
1444
  transform: scale(1.15);
1413
1445
  }
1446
+ .dm-emoji-swatch:focus-visible {
1447
+ outline: 2px solid var(--dm-accent, #2563eb);
1448
+ outline-offset: 1px;
1449
+ }
1414
1450
 
1415
1451
  .dm-emoji-picker-empty {
1416
1452
  grid-column: 1/-1;
@@ -1453,6 +1489,10 @@ img.ProseMirror-separator {
1453
1489
  .dm-emoji-suggestion-item:hover, .dm-emoji-suggestion-item--selected {
1454
1490
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
1455
1491
  }
1492
+ .dm-emoji-suggestion-item:focus-visible {
1493
+ outline: 2px solid var(--dm-accent, #2563eb);
1494
+ outline-offset: 1px;
1495
+ }
1456
1496
 
1457
1497
  .dm-emoji-suggestion-emoji {
1458
1498
  font-size: 1.125rem;
@@ -1509,6 +1549,11 @@ img.ProseMirror-separator {
1509
1549
  color: var(--dm-text, #1a1a1a);
1510
1550
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
1511
1551
  }
1552
+ .dm-table-col-handle:focus-visible,
1553
+ .dm-table-row-handle:focus-visible {
1554
+ outline: 2px solid var(--dm-accent, #2563eb);
1555
+ outline-offset: 1px;
1556
+ }
1512
1557
  .dm-table-col-handle svg,
1513
1558
  .dm-table-row-handle svg {
1514
1559
  display: block;
@@ -1547,6 +1592,10 @@ img.ProseMirror-separator {
1547
1592
  border-color: var(--dm-accent, #2563eb);
1548
1593
  box-shadow: 0 1px 4px color-mix(in srgb, var(--dm-accent, #2563eb) 30%, transparent);
1549
1594
  }
1595
+ .dm-table-cell-handle:focus-visible {
1596
+ outline: 2px solid var(--dm-accent, #2563eb);
1597
+ outline-offset: 1px;
1598
+ }
1550
1599
  .dm-table-cell-handle svg {
1551
1600
  display: block;
1552
1601
  width: 8px;
@@ -1586,6 +1635,10 @@ img.ProseMirror-separator {
1586
1635
  color: var(--dm-accent, #2563eb);
1587
1636
  background: var(--dm-accent-surface, rgba(37, 99, 235, 0.1));
1588
1637
  }
1638
+ .dm-table-cell-toolbar-btn:focus-visible {
1639
+ outline: 2px solid var(--dm-accent, #2563eb);
1640
+ outline-offset: 1px;
1641
+ }
1589
1642
  .dm-table-cell-toolbar-btn:disabled {
1590
1643
  opacity: 0.3;
1591
1644
  cursor: default;
@@ -1631,6 +1684,10 @@ img.ProseMirror-separator {
1631
1684
  .dm-table-cell-align-dropdown .dm-table-align-item:hover {
1632
1685
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
1633
1686
  }
1687
+ .dm-table-cell-align-dropdown .dm-table-align-item:focus-visible {
1688
+ outline: 2px solid var(--dm-accent, #2563eb);
1689
+ outline-offset: 1px;
1690
+ }
1634
1691
  .dm-table-cell-align-dropdown .dm-table-align-item--active {
1635
1692
  color: var(--dm-accent, #2563eb);
1636
1693
  background: var(--dm-accent-surface, rgba(37, 99, 235, 0.1));
@@ -1696,6 +1753,10 @@ img.ProseMirror-separator {
1696
1753
  .dm-table-controls-dropdown > button:hover {
1697
1754
  background: var(--dm-button-hover-bg);
1698
1755
  }
1756
+ .dm-table-controls-dropdown > button:focus-visible {
1757
+ outline: 2px solid var(--dm-accent, #2563eb);
1758
+ outline-offset: 1px;
1759
+ }
1699
1760
 
1700
1761
  .dm-table-controls-dropdown-icon {
1701
1762
  display: flex;
@@ -1833,3 +1894,39 @@ img.ProseMirror-separator {
1833
1894
  --dm-syntax-deletion-bg: #67060c;
1834
1895
  }
1835
1896
  }
1897
+ @media (prefers-reduced-motion: reduce) {
1898
+ .dm-emoji-picker,
1899
+ .dm-emoji-suggestion,
1900
+ .dm-mention-suggestion,
1901
+ .dm-toolbar-dropdown-panel,
1902
+ .dm-table-controls-dropdown,
1903
+ .dm-table-cell-toolbar {
1904
+ animation: none;
1905
+ }
1906
+ .dm-editor .ProseMirror-gapcursor::after {
1907
+ animation: none;
1908
+ }
1909
+ .dm-bubble-menu[data-show],
1910
+ .dm-floating-menu,
1911
+ .dm-link-popover,
1912
+ .dm-image-popover,
1913
+ .dm-toolbar-button,
1914
+ .dm-toolbar-dropdown-item,
1915
+ .dm-color-palette-reset,
1916
+ .dm-color-swatch,
1917
+ .dm-emoji-picker-tab,
1918
+ .dm-emoji-swatch,
1919
+ .dm-emoji-suggestion-item,
1920
+ .dm-mention-suggestion-item,
1921
+ .dm-table-col-handle,
1922
+ .dm-table-row-handle,
1923
+ .dm-table-cell-handle,
1924
+ .dm-table-cell-toolbar-btn,
1925
+ .dm-table-controls-dropdown > button,
1926
+ .dm-table-align-item,
1927
+ .dm-image-popover-btn,
1928
+ .dm-link-popover-btn,
1929
+ .dm-editor .ProseMirror div[data-type=details] > button[type=button]::before {
1930
+ transition: none;
1931
+ }
1932
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domternal/theme",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Default themes and styles for Domternal editor",
5
5
  "author": "https://github.com/ThomasNowHere",
6
6
  "license": "MIT",
package/src/_base.scss CHANGED
@@ -21,7 +21,7 @@
21
21
  padding: var(--dm-editor-padding);
22
22
  min-height: 6rem;
23
23
 
24
- &:focus {
24
+ &:focus-visible {
25
25
  outline: none;
26
26
  }
27
27
  }
@@ -58,3 +58,4 @@
58
58
  from { opacity: 0; }
59
59
  to { opacity: 1; }
60
60
  }
61
+
@@ -35,6 +35,11 @@
35
35
  background: var(--dm-button-hover-bg, rgba(0, 0, 0, 0.06));
36
36
  }
37
37
 
38
+ &:focus-visible {
39
+ outline: 2px solid var(--dm-accent, #2563eb);
40
+ outline-offset: 1px;
41
+ }
42
+
38
43
  svg {
39
44
  width: 0.875rem;
40
45
  height: 0.875rem;
@@ -60,6 +65,11 @@
60
65
  0 0 0 3px var(--dm-accent, #2563eb);
61
66
  }
62
67
 
68
+ &:focus-visible {
69
+ box-shadow: 0 0 0 2px var(--dm-toolbar-bg, #f8f9fa),
70
+ 0 0 0 3px var(--dm-accent, #2563eb);
71
+ }
72
+
63
73
  // Active state — checkmark indicator
64
74
  &--active {
65
75
  box-shadow: 0 0 0 2px var(--dm-toolbar-bg, #f8f9fa),
package/src/_details.scss CHANGED
@@ -64,8 +64,9 @@
64
64
  background: var(--dm-hover);
65
65
  }
66
66
 
67
- &:focus {
68
- outline: none;
67
+ &:focus-visible {
68
+ outline: 2px solid var(--dm-accent, #2563eb);
69
+ outline-offset: 1px;
69
70
  }
70
71
  }
71
72
 
@@ -87,6 +87,11 @@
87
87
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
88
88
  }
89
89
 
90
+ &:focus-visible {
91
+ outline: 2px solid var(--dm-accent, #2563eb);
92
+ outline-offset: 1px;
93
+ }
94
+
90
95
  &--active {
91
96
  opacity: 1;
92
97
  background: var(--dm-active, rgba(0, 0, 0, 0.12));
@@ -136,6 +141,11 @@
136
141
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
137
142
  transform: scale(1.15);
138
143
  }
144
+
145
+ &:focus-visible {
146
+ outline: 2px solid var(--dm-accent, #2563eb);
147
+ outline-offset: 1px;
148
+ }
139
149
  }
140
150
 
141
151
  // "No emoji found" message
@@ -183,6 +193,11 @@
183
193
  &--selected {
184
194
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
185
195
  }
196
+
197
+ &:focus-visible {
198
+ outline: 2px solid var(--dm-accent, #2563eb);
199
+ outline-offset: 1px;
200
+ }
186
201
  }
187
202
 
188
203
  .dm-emoji-suggestion-emoji {
package/src/_image.scss CHANGED
@@ -134,6 +134,11 @@
134
134
  background: rgba(0, 0, 0, 0.06);
135
135
  }
136
136
 
137
+ &:focus-visible {
138
+ outline: 2px solid var(--dm-accent, #2563eb);
139
+ outline-offset: 1px;
140
+ }
141
+
137
142
  svg {
138
143
  width: 0.875rem;
139
144
  height: 0.875rem;
@@ -63,6 +63,11 @@
63
63
  background: rgba(0, 0, 0, 0.06);
64
64
  }
65
65
 
66
+ &:focus-visible {
67
+ outline: 2px solid var(--dm-accent, #2563eb);
68
+ outline-offset: 1px;
69
+ }
70
+
66
71
  svg {
67
72
  width: 0.875rem;
68
73
  height: 0.875rem;
package/src/_mention.scss CHANGED
@@ -59,6 +59,11 @@
59
59
  &--selected {
60
60
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
61
61
  }
62
+
63
+ &:focus-visible {
64
+ outline: 2px solid var(--dm-accent, #2563eb);
65
+ outline-offset: 1px;
66
+ }
62
67
  }
63
68
 
64
69
  .dm-mention-suggestion-label {
@@ -32,6 +32,11 @@
32
32
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
33
33
  }
34
34
 
35
+ &:focus-visible {
36
+ outline: 2px solid var(--dm-accent, #2563eb);
37
+ outline-offset: 1px;
38
+ }
39
+
35
40
  svg {
36
41
  display: block;
37
42
  }
@@ -74,6 +79,11 @@
74
79
  box-shadow: 0 1px 4px color-mix(in srgb, var(--dm-accent, #2563eb) 30%, transparent);
75
80
  }
76
81
 
82
+ &:focus-visible {
83
+ outline: 2px solid var(--dm-accent, #2563eb);
84
+ outline-offset: 1px;
85
+ }
86
+
77
87
  svg {
78
88
  display: block;
79
89
  width: 8px;
@@ -118,6 +128,11 @@
118
128
  background: var(--dm-accent-surface, rgba(37, 99, 235, 0.1));
119
129
  }
120
130
 
131
+ &:focus-visible {
132
+ outline: 2px solid var(--dm-accent, #2563eb);
133
+ outline-offset: 1px;
134
+ }
135
+
121
136
  &:disabled {
122
137
  opacity: 0.3;
123
138
  cursor: default;
@@ -169,6 +184,11 @@
169
184
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
170
185
  }
171
186
 
187
+ &:focus-visible {
188
+ outline: 2px solid var(--dm-accent, #2563eb);
189
+ outline-offset: 1px;
190
+ }
191
+
172
192
  &--active {
173
193
  color: var(--dm-accent, #2563eb);
174
194
  background: var(--dm-accent-surface, rgba(37, 99, 235, 0.1));
@@ -239,6 +259,11 @@
239
259
  &:hover {
240
260
  background: var(--dm-button-hover-bg);
241
261
  }
262
+
263
+ &:focus-visible {
264
+ outline: 2px solid var(--dm-accent, #2563eb);
265
+ outline-offset: 1px;
266
+ }
242
267
  }
243
268
  }
244
269
 
package/src/_toolbar.scss CHANGED
@@ -63,6 +63,11 @@
63
63
  pointer-events: none;
64
64
  }
65
65
 
66
+ &:focus-visible {
67
+ outline: 2px solid var(--dm-accent, #2563eb);
68
+ outline-offset: 1px;
69
+ }
70
+
66
71
  // Icon inside button
67
72
  svg {
68
73
  width: 1.125rem;
@@ -197,6 +202,11 @@
197
202
  background: var(--dm-button-active-bg);
198
203
  }
199
204
 
205
+ &:focus-visible {
206
+ outline: 2px solid var(--dm-accent, #2563eb);
207
+ outline-offset: 1px;
208
+ }
209
+
200
210
  svg {
201
211
  width: 1rem;
202
212
  height: 1rem;
package/src/index.scss CHANGED
@@ -51,3 +51,44 @@
51
51
  // 8. Themes
52
52
  @use 'themes/light';
53
53
  @use 'themes/dark';
54
+
55
+ // 9. Reduced motion — must come last to override all animation/transition rules
56
+ // =============================================================================
57
+ @media (prefers-reduced-motion: reduce) {
58
+ .dm-emoji-picker,
59
+ .dm-emoji-suggestion,
60
+ .dm-mention-suggestion,
61
+ .dm-toolbar-dropdown-panel,
62
+ .dm-table-controls-dropdown,
63
+ .dm-table-cell-toolbar {
64
+ animation: none;
65
+ }
66
+
67
+ .dm-editor .ProseMirror-gapcursor::after {
68
+ animation: none;
69
+ }
70
+
71
+ .dm-bubble-menu[data-show],
72
+ .dm-floating-menu,
73
+ .dm-link-popover,
74
+ .dm-image-popover,
75
+ .dm-toolbar-button,
76
+ .dm-toolbar-dropdown-item,
77
+ .dm-color-palette-reset,
78
+ .dm-color-swatch,
79
+ .dm-emoji-picker-tab,
80
+ .dm-emoji-swatch,
81
+ .dm-emoji-suggestion-item,
82
+ .dm-mention-suggestion-item,
83
+ .dm-table-col-handle,
84
+ .dm-table-row-handle,
85
+ .dm-table-cell-handle,
86
+ .dm-table-cell-toolbar-btn,
87
+ .dm-table-controls-dropdown > button,
88
+ .dm-table-align-item,
89
+ .dm-image-popover-btn,
90
+ .dm-link-popover-btn,
91
+ .dm-editor .ProseMirror div[data-type="details"] > button[type="button"]::before {
92
+ transition: none;
93
+ }
94
+ }