@domternal/theme 0.2.0 → 0.2.1
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 +23 -47
- package/dist/domternal-theme.css +1 -1
- package/dist/domternal-theme.expanded.css +12 -9
- package/package.json +6 -6
- package/src/_variables.scss +3 -3
- package/src/themes/_dark.scss +4 -2
- package/src/themes/_light.scss +5 -4
package/README.md
CHANGED
|
@@ -1,59 +1,35 @@
|
|
|
1
1
|
# @domternal/theme
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@domternal/theme)
|
|
4
|
+
[](https://github.com/domternal/domternal/blob/main/LICENSE)
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
A lightweight, extensible rich text editor toolkit built on [ProseMirror](https://prosemirror.net/). Framework-agnostic headless core with first-class **Angular** support. Use it headless with vanilla JS/TS, add the built-in toolbar and theme, or drop in ready-made Angular components. Fully tree-shakeable, import only what you use, unused extensions are stripped from your bundle.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
**[Website](https://domternal.dev)** · **[Documentation](https://domternal.dev/v1/introduction)** · **[StackBlitz (Vanilla TS)](https://stackblitz.com/edit/domternal-vanilla-full-example)** · **[StackBlitz (Angular)](https://stackblitz.com/edit/domternal-angular-full-example)**
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
npm install @domternal/theme
|
|
11
|
-
```
|
|
10
|
+
## Features
|
|
12
11
|
|
|
13
|
-
|
|
12
|
+
See [Packages & Bundle Size](https://domternal.dev/v1/packages) for a full breakdown of all packages and what each one includes.
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
- **Headless core** - use with any framework or vanilla JS/TS
|
|
15
|
+
- **Angular components** - editor, toolbar, bubble menu, floating menu, emoji picker (signals, OnPush, zoneless-ready)
|
|
16
|
+
- **57 extensions across 10 packages** - 23 nodes, 9 marks, and 25 behavior extensions
|
|
17
|
+
- **140+ chainable commands** - `editor.chain().focus().toggleBold().run()`
|
|
18
|
+
- **Full table support** - cell merging, column resize, row/column controls, cell toolbar, all free and MIT licensed
|
|
19
|
+
- **Tree-shakeable** - import only what you use, your bundler strips the rest
|
|
20
|
+
- **~38 KB gzipped** (own code), [~108 KB total](https://domternal.dev/v1/packages) with ProseMirror
|
|
21
|
+
- **TypeScript first** - 100% typed, zero `any`
|
|
22
|
+
- **4,200+ tests** - 2,675 unit tests and 1,550 E2E tests across 34 Playwright specs
|
|
23
|
+
- **Light and dark theme** - 70+ CSS custom properties for full visual control
|
|
24
|
+
- **Inline styles export** - `getHTML({ styled: true })` produces inline CSS ready for email clients, CMS, and Google Docs
|
|
25
|
+
- **SSR helpers** - `generateHTML`, `generateJSON`, `generateText` for server-side rendering
|
|
16
26
|
|
|
17
|
-
|
|
27
|
+
## Documentation
|
|
18
28
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
Or link to the CSS file directly:
|
|
24
|
-
|
|
25
|
-
```html
|
|
26
|
-
<link rel="stylesheet" href="node_modules/@domternal/theme/dist/domternal-theme.css" />
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### SCSS
|
|
30
|
-
|
|
31
|
-
If your project uses SCSS, use `@use` instead for access to SCSS variables and mixins:
|
|
32
|
-
|
|
33
|
-
```scss
|
|
34
|
-
@use '@domternal/theme';
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### Dark Mode
|
|
38
|
-
|
|
39
|
-
The theme automatically switches between light and dark based on the user's system preference via `prefers-color-scheme`. You can also force a mode by adding a CSS class to the editor wrapper or a parent element:
|
|
40
|
-
|
|
41
|
-
- `.dm-theme-dark` - force dark mode
|
|
42
|
-
- `.dm-theme-light` - force light mode
|
|
43
|
-
- `.dm-theme-auto` - follow system preference (default behavior)
|
|
44
|
-
|
|
45
|
-
### Customization
|
|
46
|
-
|
|
47
|
-
Override any of the 70+ CSS custom properties on `.dm-editor` to customize the look:
|
|
48
|
-
|
|
49
|
-
```css
|
|
50
|
-
.dm-editor {
|
|
51
|
-
--dm-editor-font-family: 'Inter', sans-serif;
|
|
52
|
-
--dm-editor-font-size: 16px;
|
|
53
|
-
--dm-editor-border-radius: 8px;
|
|
54
|
-
--dm-accent: #3b82f6;
|
|
55
|
-
}
|
|
56
|
-
```
|
|
29
|
+
- [Getting Started](https://domternal.dev/v1/getting-started) - install and create your first editor
|
|
30
|
+
- [Introduction](https://domternal.dev/v1/introduction) - core concepts, architecture, and design decisions
|
|
31
|
+
- [Packages & Bundle Size](https://domternal.dev/v1/packages) - what each package includes and bundle size breakdown
|
|
32
|
+
- [Blog](https://domternal.dev/blog)
|
|
57
33
|
|
|
58
34
|
## License
|
|
59
35
|
|
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: #d73a49;--dm-syntax-entity: #6f42c1;--dm-syntax-constant: #005cc5;--dm-syntax-string: #032f62;--dm-syntax-variable: #e36209;--dm-syntax-comment: #6a737d;--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 p{margin:.4em 0}.dm-editor .ProseMirror p:last-child{margin-bottom:0}.dm-editor .ProseMirror h1,.dm-editor .ProseMirror h2,.dm-editor .ProseMirror h3,.dm-editor .ProseMirror h4,.dm-editor .ProseMirror h5,.dm-editor .ProseMirror h6{margin:1.5em 0 .5em;font-weight:700;line-height:1.25}.dm-editor .ProseMirror h1:first-child,.dm-editor .ProseMirror h2:first-child,.dm-editor .ProseMirror h3:first-child,.dm-editor .ProseMirror h4:first-child,.dm-editor .ProseMirror h5:first-child,.dm-editor .ProseMirror h6:first-child{margin-top:0}.dm-editor .ProseMirror h1{font-size:2em}.dm-editor .ProseMirror h2{font-size:1.5em}.dm-editor .ProseMirror h3{font-size:1.25em}.dm-editor .ProseMirror h4{font-size:1.1em}.dm-editor .ProseMirror h5{font-size: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:.75em 0;padding:.25em 0 .25em 1em}.dm-editor .ProseMirror blockquote p{margin-top:0}.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 ol{list-style-type:decimal}.dm-editor .ProseMirror ul{list-style-type:disc}.dm-editor .ProseMirror ul ul,.dm-editor .ProseMirror ol ul{list-style-type:circle}.dm-editor .ProseMirror ul ul ul,.dm-editor .ProseMirror ol ul ul,.dm-editor .ProseMirror ol ol ul{list-style-type:square}.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);text-decoration:underline;cursor:pointer}.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-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-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: #d73a49;--dm-syntax-entity: #6f42c1;--dm-syntax-constant: #005cc5;--dm-syntax-string: #032f62;--dm-syntax-variable: #e36209;--dm-syntax-comment: #6a737d;--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-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-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{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 p{margin:.4em 0}.dm-editor .ProseMirror p:last-child{margin-bottom:0}.dm-editor .ProseMirror h1,.dm-editor .ProseMirror h2,.dm-editor .ProseMirror h3,.dm-editor .ProseMirror h4,.dm-editor .ProseMirror h5,.dm-editor .ProseMirror h6{margin:1.5em 0 .5em;font-weight:700;line-height:1.25}.dm-editor .ProseMirror h1:first-child,.dm-editor .ProseMirror h2:first-child,.dm-editor .ProseMirror h3:first-child,.dm-editor .ProseMirror h4:first-child,.dm-editor .ProseMirror h5:first-child,.dm-editor .ProseMirror h6:first-child{margin-top:0}.dm-editor .ProseMirror h1{font-size:2em}.dm-editor .ProseMirror h2{font-size:1.5em}.dm-editor .ProseMirror h3{font-size:1.25em}.dm-editor .ProseMirror h4{font-size:1.1em}.dm-editor .ProseMirror h5{font-size: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:.75em 0;padding:.25em 0 .25em 1em}.dm-editor .ProseMirror blockquote p{margin-top:0}.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 ol{list-style-type:decimal}.dm-editor .ProseMirror ul{list-style-type:disc}.dm-editor .ProseMirror ul ul,.dm-editor .ProseMirror ol ul{list-style-type:circle}.dm-editor .ProseMirror ul ul ul,.dm-editor .ProseMirror ol ul ul,.dm-editor .ProseMirror ol ol ul{list-style-type:square}.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);text-decoration:underline;cursor:pointer}.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-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-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-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}}
|
|
@@ -34,12 +34,12 @@
|
|
|
34
34
|
--dm-code-border-radius: 0.25rem;
|
|
35
35
|
--dm-code-block-bg: var(--dm-code-surface);
|
|
36
36
|
--dm-code-block-text: var(--dm-text);
|
|
37
|
-
--dm-syntax-keyword: #
|
|
37
|
+
--dm-syntax-keyword: #c72031;
|
|
38
38
|
--dm-syntax-entity: #6f42c1;
|
|
39
39
|
--dm-syntax-constant: #005cc5;
|
|
40
40
|
--dm-syntax-string: #032f62;
|
|
41
|
-
--dm-syntax-variable: #
|
|
42
|
-
--dm-syntax-comment: #
|
|
41
|
+
--dm-syntax-variable: #d35400;
|
|
42
|
+
--dm-syntax-comment: #57606a;
|
|
43
43
|
--dm-syntax-tag: #22863a;
|
|
44
44
|
--dm-syntax-addition: #22863a;
|
|
45
45
|
--dm-syntax-addition-bg: #f0fff4;
|
|
@@ -1722,7 +1722,8 @@ img.ProseMirror-separator {
|
|
|
1722
1722
|
|
|
1723
1723
|
.dm-theme-light,
|
|
1724
1724
|
.dm-theme-light .dm-editor,
|
|
1725
|
-
.dm-theme-light .dm-toolbar
|
|
1725
|
+
.dm-theme-light .dm-toolbar,
|
|
1726
|
+
.dm-theme-light .dm-table-controls-dropdown {
|
|
1726
1727
|
--dm-bg: #ffffff;
|
|
1727
1728
|
--dm-text: #1a1a1a;
|
|
1728
1729
|
--dm-muted: #999999;
|
|
@@ -1738,12 +1739,12 @@ img.ProseMirror-separator {
|
|
|
1738
1739
|
--dm-code-surface: #f5f5f5;
|
|
1739
1740
|
--dm-code-color: #d63384;
|
|
1740
1741
|
--dm-highlight-bg: #fff3cd;
|
|
1741
|
-
--dm-syntax-keyword: #
|
|
1742
|
+
--dm-syntax-keyword: #c72031;
|
|
1742
1743
|
--dm-syntax-entity: #6f42c1;
|
|
1743
1744
|
--dm-syntax-constant: #005cc5;
|
|
1744
1745
|
--dm-syntax-string: #032f62;
|
|
1745
|
-
--dm-syntax-variable: #
|
|
1746
|
-
--dm-syntax-comment: #
|
|
1746
|
+
--dm-syntax-variable: #d35400;
|
|
1747
|
+
--dm-syntax-comment: #57606a;
|
|
1747
1748
|
--dm-syntax-tag: #22863a;
|
|
1748
1749
|
--dm-syntax-addition: #22863a;
|
|
1749
1750
|
--dm-syntax-addition-bg: #f0fff4;
|
|
@@ -1756,7 +1757,8 @@ img.ProseMirror-separator {
|
|
|
1756
1757
|
.dm-theme-dark .dm-toolbar,
|
|
1757
1758
|
.dm-theme-dark .dm-bubble-menu,
|
|
1758
1759
|
.dm-theme-dark .dm-emoji-picker,
|
|
1759
|
-
.dm-theme-dark .dm-emoji-suggestion
|
|
1760
|
+
.dm-theme-dark .dm-emoji-suggestion,
|
|
1761
|
+
.dm-theme-dark .dm-table-controls-dropdown {
|
|
1760
1762
|
--dm-color-scheme: dark;
|
|
1761
1763
|
--dm-bg: #1e1e1e;
|
|
1762
1764
|
--dm-text: #e0e0e0;
|
|
@@ -1794,7 +1796,8 @@ img.ProseMirror-separator {
|
|
|
1794
1796
|
.dm-theme-auto .dm-toolbar,
|
|
1795
1797
|
.dm-theme-auto .dm-bubble-menu,
|
|
1796
1798
|
.dm-theme-auto .dm-emoji-picker,
|
|
1797
|
-
.dm-theme-auto .dm-emoji-suggestion
|
|
1799
|
+
.dm-theme-auto .dm-emoji-suggestion,
|
|
1800
|
+
.dm-theme-auto .dm-table-controls-dropdown {
|
|
1798
1801
|
--dm-color-scheme: dark;
|
|
1799
1802
|
--dm-bg: #1e1e1e;
|
|
1800
1803
|
--dm-text: #e0e0e0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domternal/theme",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Default themes and styles for Domternal editor",
|
|
5
5
|
"author": "https://github.com/ThomasNowHere",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,9 +24,6 @@
|
|
|
24
24
|
"src",
|
|
25
25
|
"index.d.ts"
|
|
26
26
|
],
|
|
27
|
-
"scripts": {
|
|
28
|
-
"build": "sass src/index.scss dist/domternal-theme.css --style=compressed --no-source-map && sass src/index.scss dist/domternal-theme.expanded.css --style=expanded --no-source-map"
|
|
29
|
-
},
|
|
30
27
|
"devDependencies": {
|
|
31
28
|
"sass": "^1.89.0"
|
|
32
29
|
},
|
|
@@ -45,5 +42,8 @@
|
|
|
45
42
|
"bugs": {
|
|
46
43
|
"url": "https://github.com/domternal/domternal/issues"
|
|
47
44
|
},
|
|
48
|
-
"homepage": "https://domternal.dev"
|
|
49
|
-
|
|
45
|
+
"homepage": "https://domternal.dev",
|
|
46
|
+
"scripts": {
|
|
47
|
+
"build": "sass src/index.scss dist/domternal-theme.css --style=compressed --no-source-map && sass src/index.scss dist/domternal-theme.expanded.css --style=expanded --no-source-map"
|
|
48
|
+
}
|
|
49
|
+
}
|
package/src/_variables.scss
CHANGED
|
@@ -74,12 +74,12 @@
|
|
|
74
74
|
// ---------------------------------------------------------------------------
|
|
75
75
|
// Syntax highlighting (CodeBlockLowlight)
|
|
76
76
|
// ---------------------------------------------------------------------------
|
|
77
|
-
--dm-syntax-keyword: #
|
|
77
|
+
--dm-syntax-keyword: #c72031;
|
|
78
78
|
--dm-syntax-entity: #6f42c1;
|
|
79
79
|
--dm-syntax-constant: #005cc5;
|
|
80
80
|
--dm-syntax-string: #032f62;
|
|
81
|
-
--dm-syntax-variable: #
|
|
82
|
-
--dm-syntax-comment: #
|
|
81
|
+
--dm-syntax-variable: #d35400;
|
|
82
|
+
--dm-syntax-comment: #57606a;
|
|
83
83
|
--dm-syntax-tag: #22863a;
|
|
84
84
|
--dm-syntax-addition: #22863a;
|
|
85
85
|
--dm-syntax-addition-bg: #f0fff4;
|
package/src/themes/_dark.scss
CHANGED
|
@@ -51,7 +51,8 @@
|
|
|
51
51
|
.dm-theme-dark .dm-toolbar,
|
|
52
52
|
.dm-theme-dark .dm-bubble-menu,
|
|
53
53
|
.dm-theme-dark .dm-emoji-picker,
|
|
54
|
-
.dm-theme-dark .dm-emoji-suggestion
|
|
54
|
+
.dm-theme-dark .dm-emoji-suggestion,
|
|
55
|
+
.dm-theme-dark .dm-table-controls-dropdown {
|
|
55
56
|
@include dark-tokens;
|
|
56
57
|
}
|
|
57
58
|
|
|
@@ -62,7 +63,8 @@
|
|
|
62
63
|
.dm-theme-auto .dm-toolbar,
|
|
63
64
|
.dm-theme-auto .dm-bubble-menu,
|
|
64
65
|
.dm-theme-auto .dm-emoji-picker,
|
|
65
|
-
.dm-theme-auto .dm-emoji-suggestion
|
|
66
|
+
.dm-theme-auto .dm-emoji-suggestion,
|
|
67
|
+
.dm-theme-auto .dm-table-controls-dropdown {
|
|
66
68
|
@include dark-tokens;
|
|
67
69
|
}
|
|
68
70
|
}
|
package/src/themes/_light.scss
CHANGED
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
--dm-highlight-bg: #fff3cd;
|
|
24
24
|
|
|
25
25
|
// Syntax highlighting
|
|
26
|
-
--dm-syntax-keyword: #
|
|
26
|
+
--dm-syntax-keyword: #c72031;
|
|
27
27
|
--dm-syntax-entity: #6f42c1;
|
|
28
28
|
--dm-syntax-constant: #005cc5;
|
|
29
29
|
--dm-syntax-string: #032f62;
|
|
30
|
-
--dm-syntax-variable: #
|
|
31
|
-
--dm-syntax-comment: #
|
|
30
|
+
--dm-syntax-variable: #d35400;
|
|
31
|
+
--dm-syntax-comment: #57606a;
|
|
32
32
|
--dm-syntax-tag: #22863a;
|
|
33
33
|
--dm-syntax-addition: #22863a;
|
|
34
34
|
--dm-syntax-addition-bg: #f0fff4;
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
|
|
39
39
|
.dm-theme-light,
|
|
40
40
|
.dm-theme-light .dm-editor,
|
|
41
|
-
.dm-theme-light .dm-toolbar
|
|
41
|
+
.dm-theme-light .dm-toolbar,
|
|
42
|
+
.dm-theme-light .dm-table-controls-dropdown {
|
|
42
43
|
@include light-tokens;
|
|
43
44
|
}
|