@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 +1 -1
- package/dist/domternal-theme.css +1 -1
- package/dist/domternal-theme.expanded.css +100 -3
- package/package.json +1 -1
- package/src/_base.scss +2 -1
- package/src/_color-palette.scss +10 -0
- package/src/_details.scss +3 -2
- package/src/_emoji-picker.scss +15 -0
- package/src/_image.scss +5 -0
- package/src/_link-popover.scss +5 -0
- package/src/_mention.scss +5 -0
- package/src/_table-controls.scss +25 -0
- package/src/_toolbar.scss +10 -0
- package/src/index.scss +41 -0
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
|
-
- **
|
|
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
|
package/dist/domternal-theme.css
CHANGED
|
@@ -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:
|
|
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
package/src/_base.scss
CHANGED
package/src/_color-palette.scss
CHANGED
|
@@ -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
package/src/_emoji-picker.scss
CHANGED
|
@@ -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
package/src/_link-popover.scss
CHANGED
package/src/_mention.scss
CHANGED
package/src/_table-controls.scss
CHANGED
|
@@ -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
|
+
}
|