@domternal/theme 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,60 +1,39 @@
1
1
  # @domternal/theme
2
2
 
3
- Light and dark themes for the Domternal editor with 70+ CSS custom properties for full visual control.
3
+ [![Version](https://img.shields.io/npm/v/@domternal/theme.svg)](https://www.npmjs.com/package/@domternal/theme)
4
+ [![MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/domternal/domternal/blob/main/LICENSE)
4
5
 
5
- Part of the [Domternal](https://github.com/domternal/domternal) toolkit. Full docs at [domternal.dev](https://domternal.dev).
6
+ A lightweight, extensible rich text editor toolkit built on <u>[ProseMirror](https://prosemirror.net/)</u>. Framework-agnostic headless core with first-class Angular support.
7
+ 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
8
 
7
- ## Installation
9
+ ## Links
8
10
 
9
- ```bash
10
- npm install @domternal/theme
11
- ```
11
+ <u>[Website](https://domternal.dev)</u> &nbsp;&nbsp;&nbsp;•&nbsp;&nbsp;&nbsp; <u>[Documentation](https://domternal.dev/v1/introduction)</u> &nbsp;&nbsp;&nbsp;•&nbsp;&nbsp;&nbsp; <u>[StackBlitz (Vanilla TS)](https://stackblitz.com/edit/domternal-vanilla-full-example)</u> &nbsp;&nbsp;&nbsp;•&nbsp;&nbsp;&nbsp; <u>[StackBlitz (Angular)](https://stackblitz.com/edit/domternal-angular-full-example)</u>
12
12
 
13
- ## Usage
13
+ ## Features
14
14
 
15
- ### CSS Import
15
+ See <u>[Packages & Bundle Size](https://domternal.dev/v1/packages)</u> for a full breakdown of all packages and what each one includes.
16
16
 
17
- Import the pre-built CSS file in your JavaScript or HTML:
17
+ - **Headless core** - use with any framework or vanilla JS/TS
18
+ - **Angular components** - editor, toolbar, bubble menu, floating menu, emoji picker (signals, OnPush, zoneless-ready)
19
+ - **57 extensions across 10 packages** - 23 nodes, 9 marks, and 25 behavior extensions
20
+ - **140+ chainable commands** - `editor.chain().focus().toggleBold().run()`
21
+ - **Full table support** - cell merging, column resize, row/column controls, cell toolbar, all free and MIT licensed
22
+ - **Tree-shakeable** - import only what you use, your bundler strips the rest
23
+ - **~38 KB gzipped** (own code), <u>[~108 KB total](https://domternal.dev/v1/packages)</u> with ProseMirror
24
+ - **TypeScript first** - 100% typed, zero `any`
25
+ - **4,400+ tests** - 2,687 unit tests and 1,796 E2E tests across 37 Playwright specs
26
+ - **Light and dark theme** - 70+ CSS custom properties for full visual control
27
+ - **Inline styles export** - `getHTML({ styled: true })` produces inline CSS ready for email clients, CMS, and Google Docs
28
+ - **SSR helpers** - `generateHTML`, `generateJSON`, `generateText` for server-side rendering
18
29
 
19
- ```ts
20
- import '@domternal/theme';
21
- ```
30
+ ## Documentation
22
31
 
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
- ```
32
+ - <u>[Getting Started](https://domternal.dev/v1/getting-started)</u> - install and create your first editor
33
+ - <u>[Introduction](https://domternal.dev/v1/introduction)</u> - core concepts, architecture, and design decisions
34
+ - <u>[Packages & Bundle Size](https://domternal.dev/v1/packages)</u> - what each package includes and bundle size breakdown
35
+ - <u>[Blog](https://domternal.dev/blog)</u>
57
36
 
58
37
  ## License
59
38
 
60
- [MIT](https://github.com/domternal/domternal/blob/main/LICENSE)
39
+ <u>[MIT](https://github.com/domternal/domternal/blob/main/LICENSE)</u>
@@ -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 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}}
@@ -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: #d73a49;
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: #e36209;
42
- --dm-syntax-comment: #6a737d;
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;
@@ -265,45 +265,20 @@ img.ProseMirror-separator {
265
265
  opacity: 1;
266
266
  }
267
267
  }
268
- .dm-editor .ProseMirror p {
269
- margin: 0.4em 0;
270
- }
271
- .dm-editor .ProseMirror p:last-child {
272
- margin-bottom: 0;
273
- }
274
268
  .dm-editor .ProseMirror h1,
275
269
  .dm-editor .ProseMirror h2,
276
270
  .dm-editor .ProseMirror h3,
277
271
  .dm-editor .ProseMirror h4,
278
272
  .dm-editor .ProseMirror h5,
279
273
  .dm-editor .ProseMirror h6 {
280
- margin: 1.5em 0 0.5em;
281
- font-weight: 700;
282
274
  line-height: 1.25;
283
275
  }
284
- .dm-editor .ProseMirror h1:first-child,
285
- .dm-editor .ProseMirror h2:first-child,
286
- .dm-editor .ProseMirror h3:first-child,
287
- .dm-editor .ProseMirror h4:first-child,
288
- .dm-editor .ProseMirror h5:first-child,
289
- .dm-editor .ProseMirror h6:first-child {
290
- margin-top: 0;
291
- }
292
- .dm-editor .ProseMirror h1 {
293
- font-size: 2em;
294
- }
295
- .dm-editor .ProseMirror h2 {
296
- font-size: 1.5em;
297
- }
298
276
  .dm-editor .ProseMirror h3 {
299
277
  font-size: 1.25em;
300
278
  }
301
279
  .dm-editor .ProseMirror h4 {
302
280
  font-size: 1.1em;
303
281
  }
304
- .dm-editor .ProseMirror h5 {
305
- font-size: 1em;
306
- }
307
282
  .dm-editor .ProseMirror h6 {
308
283
  font-size: 0.9em;
309
284
  color: var(--dm-muted, #666);
@@ -338,11 +313,8 @@ img.ProseMirror-separator {
338
313
  .dm-editor .ProseMirror blockquote {
339
314
  border-left: var(--dm-blockquote-border);
340
315
  color: var(--dm-blockquote-color);
341
- margin: 0.75em 0;
342
- padding: 0.25em 0 0.25em 1em;
343
- }
344
- .dm-editor .ProseMirror blockquote p {
345
- margin-top: 0;
316
+ margin: 0.5em 0;
317
+ padding: 0.1em 0 0.1em 0.8em;
346
318
  }
347
319
  .dm-editor .ProseMirror ul,
348
320
  .dm-editor .ProseMirror ol {
@@ -357,21 +329,6 @@ img.ProseMirror-separator {
357
329
  .dm-editor .ProseMirror ol li > p {
358
330
  margin: 0.1em 0;
359
331
  }
360
- .dm-editor .ProseMirror ol {
361
- list-style-type: decimal;
362
- }
363
- .dm-editor .ProseMirror ul {
364
- list-style-type: disc;
365
- }
366
- .dm-editor .ProseMirror ul ul,
367
- .dm-editor .ProseMirror ol ul {
368
- list-style-type: circle;
369
- }
370
- .dm-editor .ProseMirror ul ul ul,
371
- .dm-editor .ProseMirror ol ul ul,
372
- .dm-editor .ProseMirror ol ol ul {
373
- list-style-type: square;
374
- }
375
332
  .dm-editor .ProseMirror hr {
376
333
  border: none;
377
334
  border-top: 2px solid var(--dm-hr-color);
@@ -379,8 +336,6 @@ img.ProseMirror-separator {
379
336
  }
380
337
  .dm-editor .ProseMirror a {
381
338
  color: var(--dm-link-color);
382
- text-decoration: underline;
383
- cursor: pointer;
384
339
  }
385
340
  .dm-editor .ProseMirror a:hover {
386
341
  color: var(--dm-link-hover-color);
@@ -980,6 +935,53 @@ img.ProseMirror-separator {
980
935
  text-underline-offset: 2px;
981
936
  }
982
937
 
938
+ .dm-mention-suggestion {
939
+ position: absolute;
940
+ z-index: 100;
941
+ min-width: 12rem;
942
+ max-width: 20rem;
943
+ padding: 0.25rem;
944
+ background: var(--dm-surface, #f8f9fa);
945
+ border: 1px solid var(--dm-border-color, #e0e0e0);
946
+ border-radius: 0.25rem;
947
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
948
+ animation: dm-fade-in 0.2s ease;
949
+ }
950
+
951
+ .dm-mention-suggestion-item {
952
+ display: flex;
953
+ align-items: center;
954
+ gap: 0.5rem;
955
+ width: 100%;
956
+ padding: 0.375rem 0.5rem;
957
+ border: none;
958
+ border-radius: 0.25rem;
959
+ background: transparent;
960
+ color: var(--dm-text, #1a1a1a);
961
+ cursor: pointer;
962
+ font-size: 0.8125rem;
963
+ line-height: 1.4;
964
+ text-align: left;
965
+ transition: background-color 0.1s;
966
+ }
967
+ .dm-mention-suggestion-item:hover, .dm-mention-suggestion-item--selected {
968
+ background: var(--dm-hover, rgba(0, 0, 0, 0.06));
969
+ }
970
+
971
+ .dm-mention-suggestion-label {
972
+ overflow: hidden;
973
+ text-overflow: ellipsis;
974
+ white-space: nowrap;
975
+ }
976
+
977
+ .dm-mention-suggestion-empty {
978
+ padding: 0.5rem;
979
+ text-align: center;
980
+ color: var(--dm-text, #1a1a1a);
981
+ opacity: 0.5;
982
+ font-size: 0.8125rem;
983
+ }
984
+
983
985
  .dm-editor .ProseMirror img[style*="float: left"], .dm-editor .ProseMirror img[style*="float: right"] {
984
986
  max-width: 60%;
985
987
  }
@@ -1722,7 +1724,8 @@ img.ProseMirror-separator {
1722
1724
 
1723
1725
  .dm-theme-light,
1724
1726
  .dm-theme-light .dm-editor,
1725
- .dm-theme-light .dm-toolbar {
1727
+ .dm-theme-light .dm-toolbar,
1728
+ .dm-theme-light .dm-table-controls-dropdown {
1726
1729
  --dm-bg: #ffffff;
1727
1730
  --dm-text: #1a1a1a;
1728
1731
  --dm-muted: #999999;
@@ -1738,12 +1741,12 @@ img.ProseMirror-separator {
1738
1741
  --dm-code-surface: #f5f5f5;
1739
1742
  --dm-code-color: #d63384;
1740
1743
  --dm-highlight-bg: #fff3cd;
1741
- --dm-syntax-keyword: #d73a49;
1744
+ --dm-syntax-keyword: #c72031;
1742
1745
  --dm-syntax-entity: #6f42c1;
1743
1746
  --dm-syntax-constant: #005cc5;
1744
1747
  --dm-syntax-string: #032f62;
1745
- --dm-syntax-variable: #e36209;
1746
- --dm-syntax-comment: #6a737d;
1748
+ --dm-syntax-variable: #d35400;
1749
+ --dm-syntax-comment: #57606a;
1747
1750
  --dm-syntax-tag: #22863a;
1748
1751
  --dm-syntax-addition: #22863a;
1749
1752
  --dm-syntax-addition-bg: #f0fff4;
@@ -1756,7 +1759,9 @@ img.ProseMirror-separator {
1756
1759
  .dm-theme-dark .dm-toolbar,
1757
1760
  .dm-theme-dark .dm-bubble-menu,
1758
1761
  .dm-theme-dark .dm-emoji-picker,
1759
- .dm-theme-dark .dm-emoji-suggestion {
1762
+ .dm-theme-dark .dm-emoji-suggestion,
1763
+ .dm-theme-dark .dm-mention-suggestion,
1764
+ .dm-theme-dark .dm-table-controls-dropdown {
1760
1765
  --dm-color-scheme: dark;
1761
1766
  --dm-bg: #1e1e1e;
1762
1767
  --dm-text: #e0e0e0;
@@ -1794,7 +1799,9 @@ img.ProseMirror-separator {
1794
1799
  .dm-theme-auto .dm-toolbar,
1795
1800
  .dm-theme-auto .dm-bubble-menu,
1796
1801
  .dm-theme-auto .dm-emoji-picker,
1797
- .dm-theme-auto .dm-emoji-suggestion {
1802
+ .dm-theme-auto .dm-emoji-suggestion,
1803
+ .dm-theme-auto .dm-mention-suggestion,
1804
+ .dm-theme-auto .dm-table-controls-dropdown {
1798
1805
  --dm-color-scheme: dark;
1799
1806
  --dm-bg: #1e1e1e;
1800
1807
  --dm-text: #e0e0e0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domternal/theme",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
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/_content.scss CHANGED
@@ -6,18 +6,6 @@
6
6
  // =============================================================================
7
7
 
8
8
  .dm-editor .ProseMirror {
9
- // ---------------------------------------------------------------------------
10
- // Paragraphs
11
- // ---------------------------------------------------------------------------
12
-
13
- p {
14
- margin: 0.4em 0;
15
-
16
- &:last-child {
17
- margin-bottom: 0;
18
- }
19
- }
20
-
21
9
  // ---------------------------------------------------------------------------
22
10
  // Headings
23
11
  // ---------------------------------------------------------------------------
@@ -28,21 +16,7 @@
28
16
  h4,
29
17
  h5,
30
18
  h6 {
31
- margin: 1.5em 0 0.5em;
32
- font-weight: 700;
33
19
  line-height: 1.25;
34
-
35
- &:first-child {
36
- margin-top: 0;
37
- }
38
- }
39
-
40
- h1 {
41
- font-size: 2em;
42
- }
43
-
44
- h2 {
45
- font-size: 1.5em;
46
20
  }
47
21
 
48
22
  h3 {
@@ -53,10 +27,6 @@
53
27
  font-size: 1.1em;
54
28
  }
55
29
 
56
- h5 {
57
- font-size: 1em;
58
- }
59
-
60
30
  h6 {
61
31
  font-size: 0.9em;
62
32
  color: var(--dm-muted, #666);
@@ -107,12 +77,8 @@
107
77
  blockquote {
108
78
  border-left: var(--dm-blockquote-border);
109
79
  color: var(--dm-blockquote-color);
110
- margin: 0.75em 0;
111
- padding: 0.25em 0 0.25em 1em;
112
-
113
- p {
114
- margin-top: 0;
115
- }
80
+ margin: 0.5em 0;
81
+ padding: 0.1em 0 0.1em 0.8em;
116
82
  }
117
83
 
118
84
  // ---------------------------------------------------------------------------
@@ -133,26 +99,6 @@
133
99
  }
134
100
  }
135
101
 
136
- ol {
137
- list-style-type: decimal;
138
- }
139
-
140
- ul {
141
- list-style-type: disc;
142
- }
143
-
144
- // Nested lists
145
- ul ul,
146
- ol ul {
147
- list-style-type: circle;
148
- }
149
-
150
- ul ul ul,
151
- ol ul ul,
152
- ol ol ul {
153
- list-style-type: square;
154
- }
155
-
156
102
  // ---------------------------------------------------------------------------
157
103
  // Horizontal rule
158
104
  // ---------------------------------------------------------------------------
@@ -169,9 +115,6 @@
169
115
 
170
116
  a {
171
117
  color: var(--dm-link-color);
172
- text-decoration: underline;
173
- cursor: pointer;
174
-
175
118
  &:hover {
176
119
  color: var(--dm-link-hover-color);
177
120
  }
package/src/_mention.scss CHANGED
@@ -23,3 +23,54 @@
23
23
  text-underline-offset: 2px;
24
24
  }
25
25
  }
26
+
27
+ // ─── Inline Suggestion Dropdown ─────────────────────────────────────────────
28
+
29
+ .dm-mention-suggestion {
30
+ position: absolute;
31
+ z-index: 100;
32
+ min-width: 12rem;
33
+ max-width: 20rem;
34
+ padding: 0.25rem;
35
+ background: var(--dm-surface, #f8f9fa);
36
+ border: 1px solid var(--dm-border-color, #e0e0e0);
37
+ border-radius: 0.25rem;
38
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
39
+ animation: dm-fade-in 0.2s ease;
40
+ }
41
+
42
+ .dm-mention-suggestion-item {
43
+ display: flex;
44
+ align-items: center;
45
+ gap: 0.5rem;
46
+ width: 100%;
47
+ padding: 0.375rem 0.5rem;
48
+ border: none;
49
+ border-radius: 0.25rem;
50
+ background: transparent;
51
+ color: var(--dm-text, #1a1a1a);
52
+ cursor: pointer;
53
+ font-size: 0.8125rem;
54
+ line-height: 1.4;
55
+ text-align: left;
56
+ transition: background-color 0.1s;
57
+
58
+ &:hover,
59
+ &--selected {
60
+ background: var(--dm-hover, rgba(0, 0, 0, 0.06));
61
+ }
62
+ }
63
+
64
+ .dm-mention-suggestion-label {
65
+ overflow: hidden;
66
+ text-overflow: ellipsis;
67
+ white-space: nowrap;
68
+ }
69
+
70
+ .dm-mention-suggestion-empty {
71
+ padding: 0.5rem;
72
+ text-align: center;
73
+ color: var(--dm-text, #1a1a1a);
74
+ opacity: 0.5;
75
+ font-size: 0.8125rem;
76
+ }
@@ -74,12 +74,12 @@
74
74
  // ---------------------------------------------------------------------------
75
75
  // Syntax highlighting (CodeBlockLowlight)
76
76
  // ---------------------------------------------------------------------------
77
- --dm-syntax-keyword: #d73a49;
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: #e36209;
82
- --dm-syntax-comment: #6a737d;
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;
@@ -51,7 +51,9 @@
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-mention-suggestion,
56
+ .dm-theme-dark .dm-table-controls-dropdown {
55
57
  @include dark-tokens;
56
58
  }
57
59
 
@@ -62,7 +64,9 @@
62
64
  .dm-theme-auto .dm-toolbar,
63
65
  .dm-theme-auto .dm-bubble-menu,
64
66
  .dm-theme-auto .dm-emoji-picker,
65
- .dm-theme-auto .dm-emoji-suggestion {
67
+ .dm-theme-auto .dm-emoji-suggestion,
68
+ .dm-theme-auto .dm-mention-suggestion,
69
+ .dm-theme-auto .dm-table-controls-dropdown {
66
70
  @include dark-tokens;
67
71
  }
68
72
  }
@@ -23,12 +23,12 @@
23
23
  --dm-highlight-bg: #fff3cd;
24
24
 
25
25
  // Syntax highlighting
26
- --dm-syntax-keyword: #d73a49;
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: #e36209;
31
- --dm-syntax-comment: #6a737d;
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
  }