@charset "UTF-8";
.dm-editor {
  --dm-bg: #ffffff;
  --dm-text: #1a1a1a;
  --dm-muted: #6b7280;
  --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-scrollbar-thumb: rgba(0, 0, 0, 0.18);
  --dm-scrollbar-thumb-hover: rgba(0, 0, 0, 0.28);
  --dm-z-handle: 25;
  --dm-z-popover: 50;
  --dm-block-handle-gutter: 3rem;
  --dm-block-handle-left: 0.25rem;
  --dm-block-inline-padding: 0.375rem;
  --dm-block-children-indent: calc(1.5 * var(--dm-editor-font-size, 1rem));
  --dm-popover-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.22), 0 4px 10px -2px rgba(0, 0, 0, 0.12);
  --dm-code-surface: #f0f0f0;
  --dm-code-color: inherit;
  --dm-block-bg-gray: #f1f1ef;
  --dm-block-bg-brown: #f3eeee;
  --dm-block-bg-orange: #f8ecdf;
  --dm-block-bg-yellow: #faf3dd;
  --dm-block-bg-green: #eef3ed;
  --dm-block-bg-blue: #e9f3f7;
  --dm-block-bg-purple: #f6f3f8;
  --dm-block-bg-pink: #f9f2f5;
  --dm-block-bg-red: #faecec;
  --dm-block-text-gray: #787774;
  --dm-block-text-brown: #976d57;
  --dm-block-text-orange: #cc782f;
  --dm-block-text-yellow: #c29343;
  --dm-block-text-green: #548164;
  --dm-block-text-blue: #487ca5;
  --dm-block-text-purple: #8a67ab;
  --dm-block-text-pink: #b35488;
  --dm-block-text-red: #c4554d;
  --dm-block-selected-halo: rgba(112, 207, 248, 0.25);
  --dm-block-context-active-bg: rgba(55, 53, 47, 0.06);
  --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-padding-top-extra: 0.5rem;
  --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-details-border: 1px solid var(--dm-border-color);
  --dm-details-bg: var(--dm-surface);
  --dm-details-summary-font-weight: 600;
  --dm-task-checkbox-left: -1.15em;
  --dm-task-checkbox-top: 0.45em;
}

.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;
}

:root {
  --dm-toc-tick-h1-width: 18px;
  --dm-toc-tick-h2-width: 12px;
  --dm-toc-tick-h3-width: 8px;
  --dm-toc-tick-h4-width: 6px;
  --dm-toc-tick-h5-width: 5px;
  --dm-toc-tick-h6-width: 4px;
  --dm-toc-tick-height: 2px;
  --dm-toc-tick-radius: 1px;
  --dm-toc-tick-gap: 10px;
  --dm-toc-tick-color: rgba(55, 53, 47, 0.4);
  --dm-toc-tick-hover-color: rgba(55, 53, 47, 0.7);
  --dm-toc-tick-active-color: rgba(55, 53, 47, 0.95);
  --dm-toc-padding-block: 12px;
  --dm-toc-padding-inline: 8px;
  --dm-toc-right-offset: 24px;
  --dm-toc-z-index: 10;
  --dm-toc-editor-top: 1rem;
  --dm-toc-page-offset: 8px;
  --dm-toc-card-bg: rgba(255, 255, 255, 0.98);
  --dm-toc-card-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  --dm-toc-card-radius: 6px;
  --dm-toc-card-border: 1px solid rgba(0, 0, 0, 0.06);
  --dm-toc-card-min-width: 180px;
  --dm-toc-card-max-width: 260px;
  --dm-toc-card-padding-block: 6px;
  --dm-toc-card-offset: 8px;
  --dm-toc-card-transition: 180ms;
  --dm-toc-row-padding-block: 4px;
  --dm-toc-row-padding-inline-start: 12px;
  --dm-toc-row-padding-inline-end: 16px;
  --dm-toc-row-indent: 14px;
  --dm-toc-row-color: rgba(55, 53, 47, 0.7);
  --dm-toc-row-hover-bg: rgba(0, 0, 0, 0.04);
  --dm-toc-row-active-color: rgba(55, 53, 47, 0.95);
  --dm-toc-row-active-weight: 600;
  --dm-toc-row-font-size: 13px;
  --dm-toc-row-line-height: 1.4;
  --dm-toc-block-bg: rgba(0, 0, 0, 0.02);
  --dm-toc-block-border: 1px solid rgba(0, 0, 0, 0.08);
  --dm-toc-block-radius: 6px;
  --dm-toc-block-padding-block: 12px;
  --dm-toc-block-padding-inline: 16px;
  --dm-toc-block-margin-block: 1rem;
  --dm-toc-block-empty-color: rgba(55, 53, 47, 0.5);
  --dm-toc-block-empty-font-style: italic;
  --dm-toc-block-link-color: rgba(55, 53, 47, 0.8);
  --dm-toc-block-link-hover-color: rgba(55, 53, 47, 1);
  --dm-toc-block-link-hover-bg: rgba(0, 0, 0, 0.04);
  --dm-toc-block-link-active-color: rgba(55, 53, 47, 0.95);
  --dm-toc-block-link-active-weight: 600;
  --dm-toc-block-link-padding-block: 4px;
  --dm-toc-block-link-padding-inline: 8px;
  --dm-toc-block-link-indent: 16px;
  --dm-toc-block-link-radius: 3px;
  --dm-toc-block-link-font-size: 0.9375rem;
  --dm-toc-block-link-line-height: 1.5;
}

.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: transparent;
}

.ProseMirror-hideselection *::-moz-selection {
  background: transparent;
}

.ProseMirror-hideselection {
  caret-color: transparent;
}

.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: transparent !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);
  color-scheme: var(--dm-color-scheme, light);
}
.dm-editor > div:has(> .ProseMirror) {
  overflow: hidden;
  border-radius: inherit;
}
.dm-editor .ProseMirror {
  padding: var(--dm-editor-padding);
  padding-top: calc(var(--dm-editor-padding-top, var(--dm-editor-padding)) + var(--dm-editor-padding-top-extra, 0px));
  min-height: 6rem;
}
.dm-editor .ProseMirror:focus-visible {
  outline: none;
}
.dm-editor:focus-within {
  box-shadow: var(--dm-editor-focus-ring, var(--dm-editor-shadow, none));
}
.dm-editor .ProseMirror ::selection {
  background: var(--dm-selection);
}

.dm-toolbar + .dm-editor {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-top: none;
}

@keyframes dm-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
[class^=dm-][hidden]:not([hidden=until-found i]),
[class*=" dm-"][hidden]:not([hidden=until-found i]),
[class^=dm-] [hidden]:not([hidden=until-found i]),
[class*=" dm-"] [hidden]:not([hidden=until-found i]) {
  display: none !important;
}

.dm-editor .ProseMirror :where(p, h1, h2, h3, h4, h5, h6) {
  padding-inline: var(--dm-block-inline-padding);
}
.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 h5 {
  font-size: 1em;
}
.dm-editor .ProseMirror h6 {
  font-size: 0.9em;
  color: var(--dm-muted, #6b7280);
}
.dm-editor .ProseMirror code {
  background: var(--dm-code-bg);
  color: var(--dm-code-text);
  font-family: var(--dm-code-font);
  font-size: 0.875em;
  padding: 0.15em 0.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: 0.875em;
  padding: 1em;
  border-radius: 0.375rem;
  overflow-x: auto;
  margin: 0.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: 0.5em 0;
  padding: 0.1em var(--dm-block-inline-padding) 0.1em 0.8em;
}
.dm-editor .ProseMirror ul,
.dm-editor .ProseMirror ol {
  margin: 0.75em 0;
  padding-inline: 1.5em var(--dm-block-inline-padding);
}
.dm-editor .ProseMirror li :is(ul, ol) {
  margin-block: 0.25em;
}
.dm-editor .ProseMirror ul:not([data-type=taskList]) > li,
.dm-editor .ProseMirror ol > li {
  margin: 0.25em 0;
}
.dm-editor .ProseMirror ul:not([data-type=taskList]) > li > p,
.dm-editor .ProseMirror ol > li > p {
  margin: 0.1em 0;
  padding-inline: 0.3em 0;
}
.dm-editor .ProseMirror ul:not([data-type=taskList]) > li > :not(p:first-child):not(ul):not(ol),
.dm-editor .ProseMirror ol > li > :not(p:first-child):not(ul):not(ol) {
  margin-inline-start: var(--dm-block-children-indent, 1.5rem);
  margin-top: 0.25rem;
}
.dm-editor .ProseMirror {
  --dm-list-level: 0;
}
.dm-editor .ProseMirror :is(td, th) {
  --dm-list-level: 0;
}
@container style(--dm-list-level: 0) {
  .dm-editor .ProseMirror :is(ul, ol) {
    --dm-list-level: 1;
  }
}
@container style(--dm-list-level: 1) {
  .dm-editor .ProseMirror :is(ul, ol) {
    --dm-list-level: 2;
  }
}
@container style(--dm-list-level: 2) {
  .dm-editor .ProseMirror :is(ul, ol) {
    --dm-list-level: 0;
  }
}
@container style(--dm-list-level: 0) {
  .dm-editor .ProseMirror ul:where(:not([data-type=taskList]):not(.dm-toc-block-list)) {
    list-style-type: disc;
  }
}
@container style(--dm-list-level: 1) {
  .dm-editor .ProseMirror ul:where(:not([data-type=taskList]):not(.dm-toc-block-list)) {
    list-style-type: circle;
  }
}
@container style(--dm-list-level: 2) {
  .dm-editor .ProseMirror ul:where(:not([data-type=taskList]):not(.dm-toc-block-list)) {
    list-style-type: square;
  }
}
@container style(--dm-list-level: 0) {
  .dm-editor .ProseMirror ol {
    list-style-type: decimal;
  }
}
@container style(--dm-list-level: 1) {
  .dm-editor .ProseMirror ol {
    list-style-type: lower-alpha;
  }
}
@container style(--dm-list-level: 2) {
  .dm-editor .ProseMirror ol {
    list-style-type: lower-roman;
  }
}
.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: 0.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: 0.75em 0;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.dm-editor .ProseMirror table td,
.dm-editor .ProseMirror table th {
  border: var(--dm-table-border);
  padding: 0.375em 0.625em;
  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: transparent;
  color: var(--dm-button-color);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
  font-size: 0.875rem;
  line-height: 1;
}
.dm-toolbar-button:hover {
  background: var(--dm-button-hover-bg);
}
.dm-toolbar-button--active {
  background: var(--dm-button-active-bg);
  color: var(--dm-button-active-color);
}
.dm-toolbar-button[aria-expanded=true] {
  background: var(--dm-button-hover-bg);
}
.dm-toolbar-button--disabled, .dm-toolbar-button:disabled {
  opacity: var(--dm-button-disabled-opacity);
  cursor: not-allowed;
  pointer-events: none;
}
.dm-toolbar-button:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}
.dm-toolbar-button svg {
  width: 1.125rem;
  height: 1.125rem;
}

.dm-toolbar-dropdown-trigger {
  position: relative;
  width: auto;
  padding: 0 0.375rem;
  gap: 0.125rem;
}
.dm-toolbar-dropdown-trigger[aria-expanded=true] {
  background: var(--dm-button-hover-bg);
}

.dm-toolbar-color-indicator {
  position: absolute;
  bottom: 0.15rem;
  left: 0.25rem;
  width: 1.375rem;
  height: 0.3rem;
  border-radius: 2px;
}

.dm-toolbar-trigger-label {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  font-size: 0.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: 0.625rem;
  height: 0.625rem;
  flex-shrink: 0;
}

.dm-toolbar-dropdown-wrapper {
  position: relative;
}

.dm-toolbar-dropdown-panel {
  position: absolute;
  z-index: 60;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 8rem;
  padding: 0.25rem;
  background: var(--dm-bg, #fff);
  border: 1px solid var(--dm-border-color, #e5e7eb);
  border-radius: 0.5rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
  animation: dm-fade-in 0.2s ease;
}
.dm-toolbar-dropdown-panel.dm-color-palette {
  padding: 0.5rem;
  border-radius: 0.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: 0.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: 0.5rem;
  width: 100%;
  padding: 0.375rem 0.5rem;
  border: none;
  border-radius: var(--dm-button-border-radius);
  background: transparent;
  color: var(--dm-button-color);
  cursor: pointer;
  font-size: 0.8125rem;
  line-height: 1.4;
  text-align: left;
  white-space: nowrap;
  transition: background-color 0.15s;
}
.dm-toolbar-dropdown-item:hover {
  background: var(--dm-button-hover-bg);
}
.dm-toolbar-dropdown-item--active {
  color: var(--dm-button-active-color);
  background: var(--dm-button-active-bg);
}
.dm-toolbar-dropdown-item:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}
.dm-toolbar-dropdown-item svg {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

.dm-toolbar-separator {
  width: 1px;
  height: 1.25rem;
  background: var(--dm-separator-color);
  margin: 0 var(--dm-separator-margin);
}

.dm-color-palette {
  display: grid;
  grid-template-columns: repeat(var(--dm-palette-columns, 10), 1fr);
  gap: 0.375rem;
  padding: 0.375rem;
  min-width: auto;
  width: max-content;
}

.dm-color-palette-reset {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  width: 100%;
  padding: 0.375rem 0.5rem;
  margin-bottom: 0.375rem;
  border: none;
  border-radius: 0.375rem;
  background: transparent;
  color: var(--dm-button-color, #1a1a1a);
  cursor: pointer;
  font-size: 0.8125rem;
  line-height: 1.4;
  text-align: left;
  white-space: nowrap;
  transition: background-color 0.15s;
}
.dm-color-palette-reset:hover {
  background: var(--dm-button-hover-bg, rgba(0, 0, 0, 0.06));
}
.dm-color-palette-reset:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}
.dm-color-palette-reset svg {
  width: 0.875rem;
  height: 0.875rem;
  flex-shrink: 0;
}

.dm-color-swatch {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.1s, box-shadow 0.1s;
}
.dm-color-swatch:hover {
  transform: scale(1.15);
  z-index: 1;
  box-shadow: 0 0 0 2px var(--dm-toolbar-bg, #f8f9fa), 0 0 0 3px var(--dm-accent, #2563eb);
}
.dm-color-swatch:focus-visible {
  box-shadow: 0 0 0 2px var(--dm-toolbar-bg, #f8f9fa), 0 0 0 3px var(--dm-accent, #2563eb);
}
.dm-color-swatch--active {
  box-shadow: 0 0 0 2px var(--dm-toolbar-bg, #f8f9fa), 0 0 0 3px var(--dm-accent, #2563eb);
}
.dm-color-swatch--active::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M12 5L6.5 11 4 8.5' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' opacity='0.3'/%3E%3Cpath d='M12 5L6.5 11 4 8.5' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat;
}

.dm-theme-dark .dm-color-swatch,
.dm-theme-auto .dm-color-swatch {
  border-color: rgba(255, 255, 255, 0.15);
}

@media (prefers-color-scheme: dark) {
  .dm-theme-auto .dm-color-swatch {
    border-color: rgba(255, 255, 255, 0.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:not(.dm-dropdown-caret) {
  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 0.125rem;
  flex-shrink: 0;
}
.dm-bubble-menu {
  position: absolute;
  top: 0;
  left: 0;
  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: 0.5rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
  visibility: hidden;
  opacity: 0;
  z-index: 50;
}
.dm-bubble-menu[data-show] {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.15s ease;
}

.dm-floating-menu {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 16rem;
  max-height: 22rem;
  overflow-y: auto;
  padding: 0.375rem;
  background: var(--dm-toolbar-bg, var(--dm-bg, #ffffff));
  border: 1px solid var(--dm-border-color, #e5e7eb);
  border-radius: var(--dm-toolbar-border-radius, 0.5rem);
  box-shadow: var(--dm-popover-shadow, 0 10px 25px rgba(0, 0, 0, 0.08), 0 4px 10px rgba(0, 0, 0, 0.04));
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.15s ease, visibility 0.15s;
  z-index: var(--dm-z-popover, 50);
  scrollbar-width: thin;
  scrollbar-color: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18)) transparent;
}
.dm-floating-menu::-webkit-scrollbar {
  width: 6px;
}
.dm-floating-menu::-webkit-scrollbar-track {
  background: transparent;
  margin: 0.375rem 0;
}
.dm-floating-menu::-webkit-scrollbar-thumb {
  background: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18));
  border-radius: 3px;
  transition: background-color 0.15s;
}
.dm-floating-menu::-webkit-scrollbar-thumb:hover {
  background: var(--dm-scrollbar-thumb-hover, rgba(0, 0, 0, 0.28));
}
.dm-floating-menu[data-show] {
  visibility: visible;
  opacity: 1;
}
.dm-floating-menu-group-label {
  padding: 0.375rem 0.5rem 0.125rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--dm-muted, #6b7280);
  user-select: none;
}
.dm-floating-menu-group {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.dm-floating-menu-group + .dm-floating-menu-group:not(:has(+ .dm-floating-menu-group-label)) {
  margin-top: 0.25rem;
}
.dm-floating-menu-group-wrapper {
  display: flex;
  flex-direction: column;
}
.dm-floating-menu-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.3125rem 0.5rem;
  border: none;
  border-radius: var(--dm-button-border-radius, 0.375rem);
  background: transparent;
  color: var(--dm-button-color, inherit);
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition: background-color 0.12s;
}
.dm-floating-menu-item:hover:not([aria-disabled=true]), .dm-floating-menu-item:focus:not([aria-disabled=true]) {
  background: var(--dm-button-hover-bg, rgba(0, 0, 0, 0.04));
}
.dm-floating-menu-item:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: -2px;
}
.dm-floating-menu-item[aria-disabled=true], .dm-floating-menu-item:disabled {
  opacity: var(--dm-button-disabled-opacity, 0.45);
  cursor: not-allowed;
}
.dm-floating-menu-item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  color: var(--dm-editor-text, inherit);
}
.dm-floating-menu-item-icon svg {
  width: 1.125rem;
  height: 1.125rem;
}
.dm-floating-menu-item-label {
  flex: 1;
  min-width: 0;
  font-size: 0.875rem;
  color: var(--dm-editor-text, inherit);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dm-floating-menu-item-shortcut {
  flex-shrink: 0;
  padding: 0.0625rem 0.375rem;
  font-family: var(--dm-code-font, ui-monospace, monospace);
  font-size: 0.6875rem;
  color: var(--dm-muted, #6b7280);
  background: var(--dm-surface, #f8f9fa);
  border: 1px solid var(--dm-border-color, #e5e7eb);
  border-radius: 0.25rem;
  user-select: none;
}

.dm-link-popover {
  position: fixed;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem;
  background: var(--dm-bg, #ffffff);
  border: 1px solid var(--dm-border-color, rgba(0, 0, 0, 0.18));
  border-radius: 0.375rem;
  box-shadow: var(--dm-popover-shadow, 0 12px 28px -8px rgba(0, 0, 0, 0.22), 0 4px 10px -2px rgba(0, 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 0.2s ease, visibility 0.2s;
  z-index: 60;
}
.dm-link-popover[data-show] {
  visibility: visible;
  opacity: 1;
}

.dm-link-popover-input {
  min-width: 14rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--dm-border-color, rgba(0, 0, 0, 0.18));
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  font-family: inherit;
  outline: none;
  background: var(--dm-bg, #ffffff);
  color: var(--dm-text, #1a1a1a);
}
.dm-link-popover-input:focus {
  border-color: var(--dm-accent, #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: 0.25rem;
  background: transparent;
  color: var(--dm-text, #1a1a1a);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}
.dm-link-popover-btn:hover {
  background: var(--dm-hover, rgba(0, 0, 0, 0.04));
}
.dm-link-popover-btn:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}
.dm-link-popover-btn svg {
  width: 0.875rem;
  height: 0.875rem;
}

.dm-link-popover-apply:hover {
  color: var(--dm-accent, #2563eb);
}

.dm-link-popover-remove:hover {
  color: #dc2626;
}

.dm-link-pending {
  background-color: color-mix(in srgb, var(--dm-accent) 12%, transparent);
  border-radius: 1px;
}

.dm-editor--has-block-handle {
  overflow: visible;
}
.dm-editor--has-block-handle .ProseMirror {
  padding-left: var(--dm-block-handle-gutter, 4rem);
}

.dm-editor--has-block-handle .ProseMirror-selectednode,
.dm-editor--has-block-handle .ProseMirror-selectednoderange {
  position: relative;
  outline: none;
}
.dm-editor--has-block-handle .ProseMirror-selectednode::before,
.dm-editor--has-block-handle .ProseMirror-selectednoderange::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--dm-block-selected-halo, rgba(112, 207, 248, 0.25));
  box-shadow: 0 0 0 0.25rem var(--dm-block-selected-halo, rgba(112, 207, 248, 0.25));
  border-radius: 0.25rem;
  pointer-events: none;
  z-index: -1;
}

.dm-editor--has-block-handle li.ProseMirror-selectednode::after {
  display: none;
}

.dm-block-handle {
  position: absolute;
  top: 0;
  left: var(--dm-block-handle-left, 0.25rem);
  display: flex;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, visibility 0.15s;
  z-index: var(--dm-z-handle, 25);
}
.dm-block-handle[data-show] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.dm-block-handle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.5rem;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--dm-muted, #6b7280);
  cursor: pointer;
  border-radius: 3px;
  transition: background-color 0.1s, color 0.1s;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
}
.dm-block-handle-btn:hover {
  background: var(--dm-button-hover-bg, rgba(0, 0, 0, 0.04));
  color: var(--dm-editor-text, inherit);
}
.dm-block-handle-btn:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: -1px;
}
.dm-block-handle-btn svg {
  width: 1rem;
  height: 1rem;
  pointer-events: none;
}
.dm-block-handle-drag {
  cursor: grab;
}
.dm-block-handle-drag:active {
  cursor: grabbing;
}
.dm-block-handle-plus:hover {
  color: var(--dm-accent, #2563eb);
}

.dm-block-drop-indicator {
  position: absolute;
  height: 2px;
  background: var(--dm-accent, #2563eb);
  border-radius: 1px;
  pointer-events: none;
  z-index: 5;
  display: none;
  box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.15);
  transform: translateY(3px);
  transition: left 80ms ease-out, width 80ms ease-out, top 80ms ease-out, transform 80ms ease-out;
}
.dm-block-drop-indicator[data-show] {
  display: block;
}
.dm-block-drop-indicator[data-mode=nested] {
  height: 0;
  background: transparent;
  border-radius: 0;
  border-top: 2px dashed var(--dm-accent, #2563eb);
  box-shadow: none;
  transform: translateY(-2px);
}

.dm-block-handle-dragging .prosemirror-dropcursor-block,
.dm-block-handle-dragging .prosemirror-dropcursor-inline {
  display: none;
}

@media (forced-colors: active) {
  .dm-block-drop-indicator {
    background: Highlight;
    box-shadow: none;
  }
  .dm-block-drop-indicator[data-mode=nested] {
    background: transparent;
    border-top-color: Highlight;
  }
}
.dm-slash-command-menu {
  position: absolute;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 17rem;
  max-height: min(22rem, var(--dm-available-height, 100vh));
  overflow-y: auto;
  padding: 0.375rem;
  background: var(--dm-toolbar-bg, var(--dm-bg, #ffffff));
  border: 1px solid var(--dm-border-color, #e5e7eb);
  border-radius: var(--dm-toolbar-border-radius, 0.5rem);
  box-shadow: var(--dm-popover-shadow, 0 10px 25px rgba(0, 0, 0, 0.08), 0 4px 10px rgba(0, 0, 0, 0.04));
  z-index: var(--dm-z-popover, 50);
  scrollbar-width: thin;
  scrollbar-color: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18)) transparent;
}
.dm-slash-command-menu::-webkit-scrollbar {
  width: 6px;
}
.dm-slash-command-menu::-webkit-scrollbar-track {
  background: transparent;
  margin: 0.375rem 0;
}
.dm-slash-command-menu::-webkit-scrollbar-thumb {
  background: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18));
  border-radius: 3px;
  transition: background-color 0.15s;
}
.dm-slash-command-menu::-webkit-scrollbar-thumb:hover {
  background: var(--dm-scrollbar-thumb-hover, rgba(0, 0, 0, 0.28));
}

.dm-slash-command-query {
  color: var(--dm-accent, #2563eb);
}

.dm-slash-command-group-label {
  padding: 0.375rem 0.5rem 0.125rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--dm-muted, #6b7280);
  user-select: none;
}

.dm-slash-command-group {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.dm-slash-command-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.375rem 0.5rem;
  border: none;
  border-radius: var(--dm-button-border-radius, 0.375rem);
  background: transparent;
  color: var(--dm-editor-text, inherit);
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition: background-color 0.1s;
}
.dm-slash-command-item[data-selected] {
  background: var(--dm-button-hover-bg, rgba(0, 0, 0, 0.04));
}
.dm-slash-command-item:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: -2px;
}

.dm-slash-command-item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  color: var(--dm-editor-text, inherit);
}
.dm-slash-command-item-icon svg {
  width: 1.125rem;
  height: 1.125rem;
}

.dm-slash-command-item-text {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  line-height: 1.25;
}

.dm-slash-command-item-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--dm-editor-text, inherit);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dm-slash-command-item-description {
  font-size: 0.75rem;
  color: var(--dm-muted, #6b7280);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dm-slash-command-item-shortcut {
  flex-shrink: 0;
  padding: 0.0625rem 0.375rem;
  font-family: var(--dm-code-font, ui-monospace, monospace);
  font-size: 0.6875rem;
  color: var(--dm-muted, #6b7280);
  background: var(--dm-surface, #f8f9fa);
  border: 1px solid var(--dm-border-color, #e5e7eb);
  border-radius: 0.25rem;
  user-select: none;
}

.dm-slash-command-empty {
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  color: var(--dm-muted, #6b7280);
  user-select: none;
}

.dm-block-context-menu {
  position: absolute;
  display: none;
  flex-direction: column;
  min-width: 12rem;
  max-height: 20rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0.25rem;
  background: var(--dm-toolbar-bg, var(--dm-bg, #ffffff));
  border: 1px solid var(--dm-border-color, #e5e7eb);
  border-radius: var(--dm-toolbar-border-radius, 0.5rem);
  box-shadow: var(--dm-popover-shadow, 0 10px 25px rgba(0, 0, 0, 0.08), 0 4px 10px rgba(0, 0, 0, 0.04));
  z-index: var(--dm-z-popover, 50);
}
.dm-block-context-menu[data-show] {
  display: flex;
}
.dm-block-context-menu {
  scrollbar-width: thin;
  scrollbar-color: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18)) transparent;
}
.dm-block-context-menu::-webkit-scrollbar {
  width: 6px;
}
.dm-block-context-menu::-webkit-scrollbar-track {
  background: transparent;
}
.dm-block-context-menu::-webkit-scrollbar-thumb {
  background: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18));
  border-radius: 3px;
}
.dm-block-context-menu::-webkit-scrollbar-thumb:hover {
  background: var(--dm-scrollbar-thumb-hover, rgba(0, 0, 0, 0.28));
}
.dm-block-context-menu-group {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.dm-block-context-menu-group-label {
  padding: 0.5rem 0.5rem 0.125rem;
  margin-top: 0.25rem;
  border-top: 1px solid var(--dm-border-color, #e5e7eb);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--dm-muted, #6b7280);
  user-select: none;
}
.dm-block-context-menu-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.3125rem 0.5rem;
  border: none;
  border-radius: var(--dm-button-border-radius, 0.375rem);
  background: transparent;
  color: var(--dm-editor-text, inherit);
  text-align: left;
  font: inherit;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background-color 0.1s;
}
.dm-block-context-menu-item:hover, .dm-block-context-menu-item:focus-visible {
  background: var(--dm-button-hover-bg, rgba(0, 0, 0, 0.04));
}
.dm-block-context-menu-item:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: -2px;
}
.dm-block-context-menu-item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
  color: var(--dm-muted, #6b7280);
}
.dm-block-context-menu-item-icon svg {
  width: 1rem;
  height: 1rem;
}
.dm-block-context-menu-item-label {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ProseMirror .dm-block-context-active {
  background-color: var(--dm-block-context-active-bg, rgba(55, 53, 47, 0.06));
  border-radius: 0.25rem;
  box-shadow: 0 0 0 4px var(--dm-block-context-active-bg, rgba(55, 53, 47, 0.06));
  transition: background-color 0.12s ease, box-shadow 0.12s ease;
}

.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-inline-start: 1.5em;
}
.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem] {
  position: relative;
  margin: 0.25em 0;
}
.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem] > label {
  position: absolute;
  inset-inline-start: var(--dm-task-checkbox-left, -1.15em);
  top: var(--dm-task-checkbox-top, 0.45em);
  display: flex;
  align-items: center;
  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 > p {
  margin: 0.1em 0;
  padding-inline: 0.3em 0;
}
.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem] > div > :not(p:first-child):not(ul):not(ol) {
  margin-inline-start: var(--dm-block-children-indent, 1.5rem);
  margin-top: 0.25rem;
}
.dm-editor .ProseMirror ul[data-type=taskList] li[data-type=taskItem][data-checked=true] > div > p:first-child {
  text-decoration: line-through;
  opacity: 0.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: 0.1em 0.3em;
  font-weight: 500;
  font-size: 0.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;
  box-sizing: border-box;
  z-index: 100;
  min-width: 12rem;
  max-width: 20rem;
  max-height: min(22rem, var(--dm-available-height, 100vh));
  overflow-y: auto;
  padding: 0.25rem;
  background: var(--dm-surface, #f8f9fa);
  border: 1px solid var(--dm-border-color, #e0e0e0);
  border-radius: 0.25rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  animation: dm-fade-in 0.2s ease;
  scrollbar-width: thin;
  scrollbar-color: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18)) transparent;
}
.dm-mention-suggestion::-webkit-scrollbar {
  width: 6px;
}
.dm-mention-suggestion::-webkit-scrollbar-track {
  background: transparent;
  margin: 0.25rem 0;
}
.dm-mention-suggestion::-webkit-scrollbar-thumb {
  background: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18));
  border-radius: 3px;
  transition: background-color 0.15s;
}
.dm-mention-suggestion::-webkit-scrollbar-thumb:hover {
  background: var(--dm-scrollbar-thumb-hover, rgba(0, 0, 0, 0.28));
}

.dm-mention-suggestion-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.375rem 0.5rem;
  border: none;
  border-radius: 0.25rem;
  background: transparent;
  color: var(--dm-text, #1a1a1a);
  cursor: pointer;
  font-size: 0.8125rem;
  line-height: 1.4;
  text-align: left;
  transition: background-color 0.1s;
}
.dm-mention-suggestion-item:hover, .dm-mention-suggestion-item--selected {
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
}
.dm-mention-suggestion-item:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}

.dm-mention-suggestion-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dm-mention-suggestion-empty {
  padding: 0.5rem;
  text-align: center;
  color: var(--dm-text, #1a1a1a);
  opacity: 0.5;
  font-size: 0.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: 0.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[data-align] {
  display: block;
  width: fit-content;
}
.dm-editor .ProseMirror .dm-image-resizable[data-align=left] {
  margin-right: auto;
}
.dm-editor .ProseMirror .dm-image-resizable[data-align=center] {
  margin-left: auto;
  margin-right: auto;
}
.dm-editor .ProseMirror .dm-image-resizable[data-align=right] {
  margin-left: auto;
}
.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-editor.dm-notion-mode .ProseMirror .dm-image-resizable[data-float=left], .dm-editor.dm-notion-mode .ProseMirror .dm-image-resizable[data-float=right] {
  float: none;
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0.75em 0;
}
.dm-editor.dm-notion-mode .ProseMirror .dm-image-resizable[data-float=right] {
  margin-left: auto;
}

.dm-image-popover {
  position: fixed;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem;
  background: var(--dm-bg, #ffffff);
  border: 1px solid var(--dm-border-color, rgba(0, 0, 0, 0.18));
  border-radius: 0.375rem;
  box-shadow: var(--dm-popover-shadow, 0 12px 28px -8px rgba(0, 0, 0, 0.22), 0 4px 10px -2px rgba(0, 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 0.2s ease, visibility 0.2s;
  z-index: 60;
}
.dm-image-popover[data-show] {
  visibility: visible;
  opacity: 1;
}

.dm-image-popover-fields {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.dm-image-popover-input,
.dm-image-popover-alt-input {
  min-width: 14rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--dm-border-color, rgba(0, 0, 0, 0.18));
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  font-family: inherit;
  outline: none;
  background: var(--dm-bg, #ffffff);
  color: var(--dm-text, #1a1a1a);
}
.dm-image-popover-input:focus,
.dm-image-popover-alt-input:focus {
  border-color: var(--dm-accent, #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: 0.25rem;
  background: transparent;
  color: var(--dm-text, #1a1a1a);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}
.dm-image-popover-btn:hover {
  background: var(--dm-hover, rgba(0, 0, 0, 0.04));
}
.dm-image-popover-btn:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}
.dm-image-popover-btn svg {
  width: 0.875rem;
  height: 0.875rem;
}

.dm-image-popover-apply:hover,
.dm-image-popover-browse:hover {
  color: var(--dm-accent, #2563eb);
}

.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: 0.05;
  pointer-events: none;
  z-index: 10;
}

.ProseMirror[contenteditable=false] .dm-image-handle {
  display: none !important;
}

.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: 0.375rem;
  margin: 0.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: transparent;
  cursor: pointer;
  color: var(--dm-muted);
  border-radius: 50%;
}
.dm-editor .ProseMirror div[data-type=details] > button[type=button]::before {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 0.15s ease;
}
.dm-editor .ProseMirror div[data-type=details] > button[type=button]:hover {
  color: var(--dm-text);
  background: var(--dm-hover);
}
.dm-editor .ProseMirror div[data-type=details] > button[type=button]:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}
.dm-editor .ProseMirror div[data-type=details]::before {
  content: "";
  grid-column: 1/-1;
  grid-row: 1;
  background: var(--dm-details-bg);
  border-radius: 0.375rem;
}
.dm-editor .ProseMirror div[data-type=details].is-open::before {
  border-radius: 0.375rem 0.375rem 0 0;
}
.dm-editor .ProseMirror div[data-type=details] summary {
  grid-column: 1;
  grid-row: 1;
  display: block;
  padding: 0.5em 0.5em 0.5em 0.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: 0.5em 0.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 .dm-math {
  cursor: pointer;
  border-radius: 0.25rem;
  direction: ltr;
  unicode-bidi: isolate;
}
.dm-editor .dm-math.dm-math-inline {
  display: inline-block;
  padding: 0 0.1em;
}
.dm-editor .dm-math.dm-math-block {
  display: flex;
  justify-content: safe center;
  margin: 0.5rem 0;
  padding: 0.5rem;
  overflow-x: auto;
  overflow-y: hidden;
}
.dm-editor .dm-math.dm-math-empty {
  color: var(--dm-placeholder-color, #9ca3af);
  font-style: italic;
}
.dm-editor .dm-math.dm-math-error {
  color: #dc2626;
  font-family: var(--dm-code-font, monospace);
}
.dm-editor .dm-math.ProseMirror-selectednode {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 2px;
  background: color-mix(in srgb, var(--dm-accent, #2563eb) 8%, transparent);
}

.dm-math-popover {
  position: fixed;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 16rem;
  max-width: min(90vw, 32rem);
  box-sizing: border-box;
  padding: 0.5rem;
  background: var(--dm-bg, #ffffff);
  color: var(--dm-text, #1a1a1a);
  border: 1px solid var(--dm-border-color, rgba(0, 0, 0, 0.18));
  border-radius: 0.5rem;
  box-shadow: var(--dm-popover-shadow, 0 12px 28px -8px rgba(0, 0, 0, 0.22), 0 4px 10px -2px rgba(0, 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 0.2s ease, visibility 0s linear 0.2s;
  z-index: var(--dm-z-popover, 60);
}
.dm-math-popover[data-show] {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.2s ease;
}

.dm-math-popover-input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.375rem 0.5rem;
  border: 1px solid var(--dm-border-color, rgba(0, 0, 0, 0.18));
  border-radius: 0.375rem;
  background: var(--dm-bg, #ffffff);
  color: var(--dm-text, #1a1a1a);
  font-family: var(--dm-code-font, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 0.8125rem;
  line-height: 1.4;
  resize: vertical;
  outline: none;
  direction: ltr;
  unicode-bidi: isolate;
}
.dm-math-popover-input:focus {
  border-color: var(--dm-accent, #2563eb);
}

.dm-math-popover-preview {
  min-height: 1.5rem;
  max-width: 100%;
  max-height: 40vh;
  padding: 0.375rem 0.5rem;
  border-radius: 0.375rem;
  background: var(--dm-surface, rgba(0, 0, 0, 0.03));
  display: flex;
  justify-content: safe center;
  align-items: center;
  overflow: auto;
  direction: ltr;
  unicode-bidi: isolate;
}
.dm-math-popover-preview:empty::before {
  content: "Preview";
  color: var(--dm-muted, #6b7280);
  font-size: 0.75rem;
  font-style: italic;
}
.dm-math-popover-preview.dm-math-error {
  justify-content: flex-start;
  align-items: flex-start;
  color: #dc2626;
  font-family: var(--dm-code-font, monospace);
  text-align: left;
}

.dm-editor .ProseMirror .invisible-char {
  color: var(--dm-invisible-char-color, var(--dm-muted, #6b7280));
  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, #6b7280));
  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, #6b7280));
  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: 0.25rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  overflow: hidden;
  animation: dm-fade-in 0.2s ease;
}

.dm-emoji-picker-search {
  flex-shrink: 0;
  padding: 0.5rem;
  border-bottom: 1px solid var(--dm-border-color, #e0e0e0);
}
.dm-emoji-picker-search input {
  width: 100%;
  padding: 0.375rem 0.5rem;
  border: 1px solid var(--dm-border-color, #e0e0e0);
  border-radius: 0.25rem;
  background: var(--dm-bg, #ffffff);
  color: var(--dm-text, #1a1a1a);
  font-size: 0.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, #6b7280);
}

.dm-emoji-picker-tabs {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding: 0.375rem 0.5rem;
  gap: 0.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: 0.375rem;
  background: transparent;
  cursor: pointer;
  font-size: 1.25rem;
  line-height: 1;
  opacity: 0.5;
  transition: opacity 0.15s, background-color 0.15s;
}
.dm-emoji-picker-tab:hover {
  opacity: 1;
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
}
.dm-emoji-picker-tab:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}
.dm-emoji-picker-tab--active {
  opacity: 1;
  background: var(--dm-active, rgba(0, 0, 0, 0.12));
}

.dm-emoji-picker-grid {
  flex: 1;
  overflow-y: auto;
  padding: 0.25rem 0.5rem 0.5rem;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 0.125rem;
  align-content: start;
}

.dm-emoji-picker-category-label {
  grid-column: 1/-1;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--dm-text, #1a1a1a);
  opacity: 0.6;
  padding: 0.375rem 0 0.125rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.dm-emoji-swatch {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: none;
  border-radius: 0.25rem;
  background: transparent;
  cursor: pointer;
  font-size: 1.25rem;
  line-height: 1;
  transition: background-color 0.1s, transform 0.1s;
}
.dm-emoji-swatch:hover {
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
  transform: scale(1.15);
}
.dm-emoji-swatch:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}

.dm-emoji-picker-empty {
  grid-column: 1/-1;
  padding: 1rem;
  text-align: center;
  color: var(--dm-text, #1a1a1a);
  opacity: 0.5;
  font-size: 0.8125rem;
}

.dm-emoji-suggestion {
  position: absolute;
  box-sizing: border-box;
  z-index: 100;
  min-width: 12rem;
  max-width: 18rem;
  max-height: min(22rem, var(--dm-available-height, 100vh));
  overflow-y: auto;
  padding: 0.25rem;
  background: var(--dm-surface, #f8f9fa);
  border: 1px solid var(--dm-border-color, #e0e0e0);
  border-radius: 0.25rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  animation: dm-fade-in 0.2s ease;
  scrollbar-width: thin;
  scrollbar-color: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18)) transparent;
}
.dm-emoji-suggestion::-webkit-scrollbar {
  width: 6px;
}
.dm-emoji-suggestion::-webkit-scrollbar-track {
  background: transparent;
  margin: 0.25rem 0;
}
.dm-emoji-suggestion::-webkit-scrollbar-thumb {
  background: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18));
  border-radius: 3px;
  transition: background-color 0.15s;
}
.dm-emoji-suggestion::-webkit-scrollbar-thumb:hover {
  background: var(--dm-scrollbar-thumb-hover, rgba(0, 0, 0, 0.28));
}

.dm-emoji-suggestion-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.375rem 0.5rem;
  border: none;
  border-radius: 0.25rem;
  background: transparent;
  color: var(--dm-text, #1a1a1a);
  cursor: pointer;
  font-size: 0.8125rem;
  line-height: 1.4;
  text-align: left;
  transition: background-color 0.1s;
}
.dm-emoji-suggestion-item:hover, .dm-emoji-suggestion-item--selected {
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
}
.dm-emoji-suggestion-item:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}

.dm-emoji-suggestion-emoji {
  font-size: 1.125rem;
  line-height: 1;
  flex-shrink: 0;
}

.dm-emoji-suggestion-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dm-emoji-suggestion-empty {
  padding: 0.5rem;
  text-align: center;
  color: var(--dm-text, #1a1a1a);
  opacity: 0.5;
  font-size: 0.8125rem;
}

.dm-editor .ProseMirror span.emoji {
  cursor: default;
  font-style: normal;
  padding: 0 0.05em;
}
.dm-editor .ProseMirror span.emoji.ProseMirror-selectednode {
  outline: 2px solid var(--dm-accent, #2563eb);
  border-radius: 0.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, #6b7280);
  cursor: pointer;
  padding: 0;
  transition: background-color 0.15s, color 0.15s, box-shadow 0.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, 0.1);
}
.dm-table-col-handle:focus-visible,
.dm-table-row-handle:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}
.dm-table-col-handle svg,
.dm-table-row-handle svg {
  display: block;
}

.dm-table-col-handle {
  width: 24px;
  height: 14px;
}

.dm-table-row-handle {
  width: 14px;
  height: 24px;
}

.dm-table-cell-handle {
  position: absolute;
  z-index: 10;
  display: none;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border: 1px solid var(--dm-accent, #2563eb);
  border-radius: 50%;
  background: var(--dm-bg, #ffffff);
  color: var(--dm-accent, #2563eb);
  cursor: pointer;
  padding: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  transition: background-color 0.15s, color 0.15s, border-color 0.15s, box-shadow 0.15s;
}
.dm-table-cell-handle:hover {
  background: var(--dm-accent, #2563eb);
  color: #fff;
  border-color: var(--dm-accent, #2563eb);
  box-shadow: 0 1px 4px color-mix(in srgb, var(--dm-accent, #2563eb) 30%, transparent);
}
.dm-table-cell-handle:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}
.dm-table-cell-handle svg {
  display: block;
  width: 8px;
  height: 8px;
}

.dm-table-cell-toolbar {
  position: absolute;
  z-index: 10;
  display: none;
  align-items: center;
  gap: 2px;
  padding: 2px;
  border: 1px solid var(--dm-border-color, #e0e0e0);
  border-radius: 6px;
  background: var(--dm-bg, #ffffff);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  animation: dm-fade-in 0.12s ease;
}

.dm-table-cell-toolbar-btn {
  display: flex;
  align-items: center;
  gap: 1px;
  padding: 4px 5px;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--dm-text, #1a1a1a);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}
.dm-table-cell-toolbar-btn:hover, .dm-table-cell-toolbar-btn.dm-table-cell-toolbar-btn--open {
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
}
.dm-table-cell-toolbar-btn--active {
  color: var(--dm-accent, #2563eb);
  background: var(--dm-accent-surface, rgba(37, 99, 235, 0.1));
}
.dm-table-cell-toolbar-btn:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}
.dm-table-cell-toolbar-btn:disabled {
  opacity: 0.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: 0.25rem;
}
.dm-table-cell-align-dropdown .dm-table-align-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.3rem 0.5rem;
  border: none;
  border-radius: 0.25rem;
  background: transparent;
  color: var(--dm-text, #1a1a1a);
  cursor: pointer;
  font-size: 0.8125rem;
  white-space: nowrap;
  transition: background-color 0.15s, color 0.15s;
}
.dm-table-cell-align-dropdown .dm-table-align-item:hover {
  background: var(--dm-hover, rgba(0, 0, 0, 0.06));
}
.dm-table-cell-align-dropdown .dm-table-align-item:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}
.dm-table-cell-align-dropdown .dm-table-align-item--active {
  color: var(--dm-accent, #2563eb);
  background: var(--dm-accent-surface, rgba(37, 99, 235, 0.1));
}
.dm-table-cell-align-dropdown .dm-table-align-item-icon {
  display: flex;
  align-items: center;
}
.dm-table-cell-align-dropdown .dm-table-align-item-icon svg {
  display: block;
}

.dm-editor .ProseMirror table td[data-text-align=center], .dm-editor .ProseMirror table th[data-text-align=center] {
  text-align: center;
}
.dm-editor .ProseMirror table td[data-text-align=right], .dm-editor .ProseMirror table th[data-text-align=right] {
  text-align: right;
}
.dm-editor .ProseMirror table td[data-vertical-align=middle], .dm-editor .ProseMirror table th[data-vertical-align=middle] {
  vertical-align: middle;
}
.dm-editor .ProseMirror table td[data-vertical-align=bottom], .dm-editor .ProseMirror table th[data-vertical-align=bottom] {
  vertical-align: bottom;
}

.dm-editor td.dm-cell-focused,
.dm-editor th.dm-cell-focused {
  outline: 1px solid var(--dm-accent, #2563eb);
  outline-offset: -1px;
}

.dm-table-controls-dropdown {
  position: absolute;
  z-index: 50;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 10rem;
  padding: 0.25rem;
  background: var(--dm-bg, #fff);
  border: 1px solid var(--dm-border-color, #e5e7eb);
  border-radius: 0.5rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
  animation: dm-fade-in 0.2s ease;
}
.dm-table-controls-dropdown > button {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  width: 100%;
  padding: 0.375rem 0.5rem;
  border: none;
  border-radius: var(--dm-button-border-radius, 0.375rem);
  background: transparent;
  color: var(--dm-button-color, var(--dm-text));
  cursor: pointer;
  font-size: 0.8125rem;
  line-height: 1.4;
  text-align: left;
  white-space: nowrap;
  transition: background-color 0.15s;
}
.dm-table-controls-dropdown > button:hover {
  background: var(--dm-button-hover-bg, var(--dm-hover, rgba(0, 0, 0, 0.06)));
}
.dm-table-controls-dropdown > button:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}

.dm-table-controls-dropdown-icon {
  display: flex;
  align-items: center;
  color: var(--dm-icon, #666);
}
.dm-table-controls-dropdown-icon svg {
  display: block;
}

.dm-table-cell-dropdown {
  min-width: auto;
  width: max-content;
  padding: 0;
  border-radius: 0.75rem;
}
.dm-table-cell-dropdown .dm-color-palette {
  padding: 0.5rem;
}

.dm-table-cell-dropdown-separator {
  height: 1px;
  background: var(--dm-border-color, #e0e0e0);
  margin: 0.25rem 0;
}

.ProseMirror[contenteditable=false] .dm-table-col-handle,
.ProseMirror[contenteditable=false] .dm-table-row-handle,
.ProseMirror[contenteditable=false] .dm-table-cell-handle,
.ProseMirror[contenteditable=false] .dm-table-cell-toolbar {
  display: none !important;
}

.dm-editor .ProseMirror [data-bg-color=gray] {
  background-color: var(--dm-block-bg-gray);
}
.dm-editor .ProseMirror [data-bg-color=brown] {
  background-color: var(--dm-block-bg-brown);
}
.dm-editor .ProseMirror [data-bg-color=orange] {
  background-color: var(--dm-block-bg-orange);
}
.dm-editor .ProseMirror [data-bg-color=yellow] {
  background-color: var(--dm-block-bg-yellow);
}
.dm-editor .ProseMirror [data-bg-color=green] {
  background-color: var(--dm-block-bg-green);
}
.dm-editor .ProseMirror [data-bg-color=blue] {
  background-color: var(--dm-block-bg-blue);
}
.dm-editor .ProseMirror [data-bg-color=purple] {
  background-color: var(--dm-block-bg-purple);
}
.dm-editor .ProseMirror [data-bg-color=pink] {
  background-color: var(--dm-block-bg-pink);
}
.dm-editor .ProseMirror [data-bg-color=red] {
  background-color: var(--dm-block-bg-red);
}
.dm-editor .ProseMirror [data-bg-color] {
  padding-block: 0.125rem;
  border-radius: 0.25rem;
}
.dm-editor .ProseMirror li[data-type=taskItem][data-bg-color] {
  padding-block: 0;
}
.dm-editor .ProseMirror [data-text-color=gray] {
  color: var(--dm-block-text-gray);
}
.dm-editor .ProseMirror [data-text-color=brown] {
  color: var(--dm-block-text-brown);
}
.dm-editor .ProseMirror [data-text-color=orange] {
  color: var(--dm-block-text-orange);
}
.dm-editor .ProseMirror [data-text-color=yellow] {
  color: var(--dm-block-text-yellow);
}
.dm-editor .ProseMirror [data-text-color=green] {
  color: var(--dm-block-text-green);
}
.dm-editor .ProseMirror [data-text-color=blue] {
  color: var(--dm-block-text-blue);
}
.dm-editor .ProseMirror [data-text-color=purple] {
  color: var(--dm-block-text-purple);
}
.dm-editor .ProseMirror [data-text-color=pink] {
  color: var(--dm-block-text-pink);
}
.dm-editor .ProseMirror [data-text-color=red] {
  color: var(--dm-block-text-red);
}

.dm-block-color-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
}

.dm-block-color-row-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.dm-block-color-swatch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: 1px solid var(--dm-border-color, #e5e7eb);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: transform 0.08s ease, box-shadow 0.08s ease;
}
.dm-block-color-swatch:hover {
  transform: scale(1.1);
  box-shadow: 0 0 0 2px var(--dm-accent-surface, rgba(37, 99, 235, 0.15));
}
.dm-block-color-swatch:focus-visible, .dm-block-color-swatch[aria-pressed=true] {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}
.dm-block-color-swatch::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
}
.dm-block-color-swatch[data-color=null]::before {
  background: linear-gradient(to top right, transparent calc(50% - 1px), var(--dm-muted, #6b7280) calc(50% - 1px), var(--dm-muted, #6b7280) calc(50% + 1px), transparent calc(50% + 1px));
  border: 1px solid var(--dm-border-color, #e5e7eb);
}

.dm-block-color-swatch--bg[data-color=gray]::before {
  background: var(--dm-block-bg-gray);
}
.dm-block-color-swatch--bg[data-color=brown]::before {
  background: var(--dm-block-bg-brown);
}
.dm-block-color-swatch--bg[data-color=orange]::before {
  background: var(--dm-block-bg-orange);
}
.dm-block-color-swatch--bg[data-color=yellow]::before {
  background: var(--dm-block-bg-yellow);
}
.dm-block-color-swatch--bg[data-color=green]::before {
  background: var(--dm-block-bg-green);
}
.dm-block-color-swatch--bg[data-color=blue]::before {
  background: var(--dm-block-bg-blue);
}
.dm-block-color-swatch--bg[data-color=purple]::before {
  background: var(--dm-block-bg-purple);
}
.dm-block-color-swatch--bg[data-color=pink]::before {
  background: var(--dm-block-bg-pink);
}
.dm-block-color-swatch--bg[data-color=red]::before {
  background: var(--dm-block-bg-red);
}

.dm-block-color-swatch--text::before {
  content: "A";
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--dm-editor-font-family, system-ui, sans-serif);
  font-size: 0.75rem;
  font-weight: 600;
  background: var(--dm-surface, #f8f9fa);
  color: var(--dm-editor-text, #333);
}
.dm-block-color-swatch--text[data-color=gray]::before {
  color: var(--dm-block-text-gray);
}
.dm-block-color-swatch--text[data-color=brown]::before {
  color: var(--dm-block-text-brown);
}
.dm-block-color-swatch--text[data-color=orange]::before {
  color: var(--dm-block-text-orange);
}
.dm-block-color-swatch--text[data-color=yellow]::before {
  color: var(--dm-block-text-yellow);
}
.dm-block-color-swatch--text[data-color=green]::before {
  color: var(--dm-block-text-green);
}
.dm-block-color-swatch--text[data-color=blue]::before {
  color: var(--dm-block-text-blue);
}
.dm-block-color-swatch--text[data-color=purple]::before {
  color: var(--dm-block-text-purple);
}
.dm-block-color-swatch--text[data-color=pink]::before {
  color: var(--dm-block-text-pink);
}
.dm-block-color-swatch--text[data-color=red]::before {
  color: var(--dm-block-text-red);
}

.dm-editor .ProseMirror span[data-bg-color] {
  padding-block: 0;
  padding-inline: 0.2rem;
  border-radius: 0.25rem;
}

.dm-ncp-trigger {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.125rem;
}

.dm-ncp-trigger-glyph {
  font-family: var(--dm-editor-font-family, system-ui, sans-serif);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1;
  transform: translateY(2px);
}

.dm-ncp-trigger-underline {
  width: 0.875rem;
  height: 0.125rem;
  border-radius: 0.0625rem;
  background-color: transparent;
}

.dm-notion-color-picker {
  position: absolute;
  z-index: 60;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.25rem;
  background: var(--dm-surface-elevated, var(--dm-surface, #ffffff));
  color: var(--dm-editor-text, inherit);
  border: 1px solid var(--dm-border-color, #e5e7eb);
  border-radius: 0.5rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.dm-notion-color-picker:not([data-show]) {
  display: none;
}

.dm-ncp-section {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.dm-ncp-label {
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 500;
  color: var(--dm-muted, #6b7280);
  padding: 0.125rem 0.25rem;
}

.dm-ncp-grid {
  display: grid;
  grid-template-columns: repeat(5, 1.5rem);
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  justify-content: start;
}

.dm-ncp-swatch {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: 1px solid var(--dm-border-color, #e5e7eb);
  border-radius: 50%;
  background: transparent;
  color: var(--dm-editor-text, #333);
  font-family: var(--dm-editor-font-family, system-ui, sans-serif);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: transform 0.08s ease, box-shadow 0.08s ease;
}
.dm-ncp-swatch:hover {
  transform: scale(1.1);
  box-shadow: 0 0 0 2px var(--dm-accent-surface, rgba(37, 99, 235, 0.15));
}
.dm-ncp-swatch:focus-visible, .dm-ncp-swatch.dm-ncp-active {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 1px;
}

.dm-ncp-swatch--text {
  background-color: var(--dm-surface, #f8f9fa);
}
.dm-ncp-swatch--text::before {
  content: "A";
}
.dm-ncp-swatch--text[data-color=null]::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background-image: linear-gradient(to top right, transparent calc(50% - 1px), var(--dm-muted, #6b7280) calc(50% - 1px), var(--dm-muted, #6b7280) calc(50% + 1px), transparent calc(50% + 1px));
}
.dm-ncp-swatch--text[data-color=gray]::before {
  color: var(--dm-block-text-gray);
}
.dm-ncp-swatch--text[data-color=brown]::before {
  color: var(--dm-block-text-brown);
}
.dm-ncp-swatch--text[data-color=orange]::before {
  color: var(--dm-block-text-orange);
}
.dm-ncp-swatch--text[data-color=yellow]::before {
  color: var(--dm-block-text-yellow);
}
.dm-ncp-swatch--text[data-color=green]::before {
  color: var(--dm-block-text-green);
}
.dm-ncp-swatch--text[data-color=blue]::before {
  color: var(--dm-block-text-blue);
}
.dm-ncp-swatch--text[data-color=purple]::before {
  color: var(--dm-block-text-purple);
}
.dm-ncp-swatch--text[data-color=pink]::before {
  color: var(--dm-block-text-pink);
}
.dm-ncp-swatch--text[data-color=red]::before {
  color: var(--dm-block-text-red);
}

.dm-ncp-swatch--bg[data-color=null]::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background-image: linear-gradient(to top right, transparent calc(50% - 1px), var(--dm-muted, #6b7280) calc(50% - 1px), var(--dm-muted, #6b7280) calc(50% + 1px), transparent calc(50% + 1px));
}
.dm-ncp-swatch--bg[data-color=gray] {
  background-color: var(--dm-block-bg-gray);
}
.dm-ncp-swatch--bg[data-color=brown] {
  background-color: var(--dm-block-bg-brown);
}
.dm-ncp-swatch--bg[data-color=orange] {
  background-color: var(--dm-block-bg-orange);
}
.dm-ncp-swatch--bg[data-color=yellow] {
  background-color: var(--dm-block-bg-yellow);
}
.dm-ncp-swatch--bg[data-color=green] {
  background-color: var(--dm-block-bg-green);
}
.dm-ncp-swatch--bg[data-color=blue] {
  background-color: var(--dm-block-bg-blue);
}
.dm-ncp-swatch--bg[data-color=purple] {
  background-color: var(--dm-block-bg-purple);
}
.dm-ncp-swatch--bg[data-color=pink] {
  background-color: var(--dm-block-bg-pink);
}
.dm-ncp-swatch--bg[data-color=red] {
  background-color: var(--dm-block-bg-red);
}

@media (max-width: 480px) {
  .dm-notion-color-picker {
    max-width: calc(100vw - 1rem);
  }
}
.dm-toc-outline {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  z-index: var(--dm-toc-z-index, 10);
  background: transparent;
  border: 0;
  margin: 0;
  pointer-events: auto;
}
.dm-toc-outline[data-anchor=editor] {
  position: sticky;
  top: var(--dm-toc-mid-top, 50vh);
}
.dm-toc-outline[data-anchor=editor][data-bottom-visible=true] {
  top: var(--dm-toc-editor-top, 1rem);
}
.dm-toc-outline[data-anchor=editor][data-scroll-mode=container] {
  position: sticky;
  top: calc(50% - var(--dm-toc-mid-half-height, 0px));
  right: 0;
}
.dm-toc-outline[data-anchor=viewport] {
  position: fixed;
  top: 50%;
  right: var(--dm-toc-right-offset, 24px);
  transform: translateY(-50%);
}
.dm-toc-outline[data-state=hidden], .dm-toc-outline[data-viewport=mobile] {
  display: none;
}

.dm-toc-outline-shell[data-anchor=editor] {
  position: absolute;
  top: 25px;
  bottom: 25px;
  right: var(--dm-toc-page-offset, 8px);
  z-index: var(--dm-toc-z-index, 10);
  pointer-events: none;
}
.dm-toc-outline-shell[data-anchor=editor]:has(.dm-toc-outline[data-state=hidden]), .dm-toc-outline-shell[data-anchor=editor]:has(.dm-toc-outline[data-viewport=mobile]) {
  display: none;
}

.dm-toc-outline-shell[data-anchor=editor][data-mode=center] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.dm-toc-outline-shell[data-anchor=editor][data-scroll-mode=container] {
  top: 0;
  bottom: 0;
}

.dm-toc-outline-ticks {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--dm-toc-tick-gap, 10px);
  padding: var(--dm-toc-padding-block, 12px) var(--dm-toc-padding-inline, 8px);
  max-height: var(--dm-toc-ticks-max-h, 50vh);
  overflow: hidden;
}

.dm-toc-outline-tick {
  appearance: none;
  border: 0;
  margin: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
  background: var(--dm-toc-tick-color, rgba(55, 53, 47, 0.4));
  flex-shrink: 0;
  height: var(--dm-toc-tick-height, 2px);
  border-radius: var(--dm-toc-tick-radius, 1px);
  width: var(--dm-toc-tick-h3-width, 8px);
  transition: background-color 120ms ease-out, width 120ms ease-out;
}
.dm-toc-outline-tick:hover {
  background: var(--dm-toc-tick-hover-color, rgba(55, 53, 47, 0.7));
}
.dm-toc-outline-tick:focus-visible {
  background: var(--dm-toc-tick-hover-color, rgba(55, 53, 47, 0.7));
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 3px;
}
.dm-toc-outline-tick.dm-toc--active, .dm-toc-outline-tick[aria-current=location] {
  background: var(--dm-toc-tick-active-color, rgba(55, 53, 47, 0.95));
}
.dm-toc-outline-tick[data-level="1"] {
  width: var(--dm-toc-tick-h1-width, 18px);
}
.dm-toc-outline-tick[data-level="2"] {
  width: var(--dm-toc-tick-h2-width, 12px);
}
.dm-toc-outline-tick[data-level="3"] {
  width: var(--dm-toc-tick-h3-width, 8px);
}
.dm-toc-outline-tick[data-level="4"] {
  width: var(--dm-toc-tick-h4-width, 6px);
}
.dm-toc-outline-tick[data-level="5"] {
  width: var(--dm-toc-tick-h5-width, 5px);
}
.dm-toc-outline-tick[data-level="6"] {
  width: var(--dm-toc-tick-h6-width, 4px);
}

.dm-toc-outline[data-state=expanded] .dm-toc-outline-tick {
  opacity: 0;
  pointer-events: none;
}

.dm-toc-outline-card {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(calc(-50% + var(--dm-toc-card-shift-y, 0px))) translateX(var(--dm-toc-card-offset, 8px));
  min-width: var(--dm-toc-card-min-width, 180px);
  max-width: var(--dm-toc-card-max-width, 260px);
  max-height: var(--dm-toc-ticks-max-h, 50vh);
  overflow-y: auto;
  padding: var(--dm-toc-card-padding-block, 6px) 0;
  background: var(--dm-toc-card-bg, rgba(255, 255, 255, 0.98));
  border: var(--dm-toc-card-border, 1px solid rgba(0, 0, 0, 0.06));
  border-radius: var(--dm-toc-card-radius, 6px);
  box-shadow: var(--dm-toc-card-shadow, 0 8px 24px rgba(0, 0, 0, 0.08));
  scrollbar-width: thin;
  scrollbar-color: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18)) transparent;
}
.dm-toc-outline-card::-webkit-scrollbar {
  width: 6px;
}
.dm-toc-outline-card::-webkit-scrollbar-track {
  background: transparent;
  margin: 0.375rem 0;
}
.dm-toc-outline-card::-webkit-scrollbar-thumb {
  background: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18));
  border-radius: 3px;
  transition: background-color 0.15s;
}
.dm-toc-outline-card::-webkit-scrollbar-thumb:hover {
  background: var(--dm-scrollbar-thumb-hover, rgba(0, 0, 0, 0.28));
}
.dm-toc-outline-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dm-toc-card-transition, 180ms) ease-out, transform var(--dm-toc-card-transition, 180ms) ease-out;
}

.dm-toc-outline[data-state=expanded] .dm-toc-outline-card {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(calc(-50% + var(--dm-toc-card-shift-y, 0px))) translateX(0);
}

.dm-toc-outline-row {
  appearance: none;
  border: 0;
  margin: 0;
  background: transparent;
  cursor: pointer;
  text-align: start;
  font: inherit;
  font-size: var(--dm-toc-row-font-size, 13px);
  line-height: var(--dm-toc-row-line-height, 1.4);
  color: var(--dm-toc-row-color, rgba(55, 53, 47, 0.7));
  flex-shrink: 0;
  padding: var(--dm-toc-row-padding-block, 4px) var(--dm-toc-row-padding-inline-end, 16px) var(--dm-toc-row-padding-block, 4px) var(--dm-toc-row-padding-inline-start, 12px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-radius: 3px;
  transition: background-color 120ms ease-out, color 120ms ease-out;
}
.dm-toc-outline-row:hover {
  background: var(--dm-toc-row-hover-bg, rgba(0, 0, 0, 0.04));
}
.dm-toc-outline-row:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: -2px;
}
.dm-toc-outline-row.dm-toc--active, .dm-toc-outline-row[aria-current=location] {
  color: var(--dm-toc-row-active-color, rgba(55, 53, 47, 0.95));
  font-weight: var(--dm-toc-row-active-weight, 600);
}
.dm-toc-outline-row[data-level="1"] {
  padding-inline-start: var(--dm-toc-row-padding-inline-start, 12px);
}
.dm-toc-outline-row[data-level="2"] {
  padding-inline-start: calc(var(--dm-toc-row-padding-inline-start, 12px) + var(--dm-toc-row-indent, 14px));
}
.dm-toc-outline-row[data-level="3"] {
  padding-inline-start: calc(var(--dm-toc-row-padding-inline-start, 12px) + var(--dm-toc-row-indent, 14px) * 2);
}
.dm-toc-outline-row[data-level="4"] {
  padding-inline-start: calc(var(--dm-toc-row-padding-inline-start, 12px) + var(--dm-toc-row-indent, 14px) * 3);
}
.dm-toc-outline-row[data-level="5"] {
  padding-inline-start: calc(var(--dm-toc-row-padding-inline-start, 12px) + var(--dm-toc-row-indent, 14px) * 4);
}
.dm-toc-outline-row[data-level="6"] {
  padding-inline-start: calc(var(--dm-toc-row-padding-inline-start, 12px) + var(--dm-toc-row-indent, 14px) * 5);
}

.dm-toc-block {
  display: block;
  margin-block: var(--dm-toc-block-margin-block, 1rem);
  padding: var(--dm-toc-block-padding-block, 12px) var(--dm-toc-block-padding-inline, 16px);
  background: var(--dm-toc-block-bg, rgba(0, 0, 0, 0.02));
  border: var(--dm-toc-block-border, 1px solid rgba(0, 0, 0, 0.08));
  border-radius: var(--dm-toc-block-radius, 6px);
}
.dm-toc-block.ProseMirror-selectednode {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: 2px;
}

.dm-toc-block-empty {
  margin: 0;
  color: var(--dm-toc-block-empty-color, rgba(55, 53, 47, 0.5));
  font-style: var(--dm-toc-block-empty-font-style, italic);
}

.dm-toc-block-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.dm-toc-block-item {
  margin: 0;
}

.dm-toc-block-link {
  appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: var(--dm-toc-block-link-font-size, 0.9375rem);
  line-height: var(--dm-toc-block-link-line-height, 1.5);
  color: var(--dm-toc-block-link-color, rgba(55, 53, 47, 0.8));
  text-align: start;
  width: 100%;
  display: block;
  padding: var(--dm-toc-block-link-padding-block, 4px) var(--dm-toc-block-link-padding-inline, 8px);
  border-radius: var(--dm-toc-block-link-radius, 3px);
  transition: background-color 120ms ease-out, color 120ms ease-out;
}
.dm-toc-block-link:hover {
  color: var(--dm-toc-block-link-hover-color, rgb(55, 53, 47));
  background: var(--dm-toc-block-link-hover-bg, rgba(0, 0, 0, 0.04));
}
.dm-toc-block-link:focus-visible {
  outline: 2px solid var(--dm-accent, #2563eb);
  outline-offset: -2px;
}
.dm-toc-block-link.dm-toc-block-link--active, .dm-toc-block-link[aria-current=location] {
  color: var(--dm-toc-block-link-active-color, rgba(55, 53, 47, 0.95));
  font-weight: var(--dm-toc-block-link-active-weight, 600);
}
.dm-toc-block-link[data-level="1"] {
  padding-inline-start: var(--dm-toc-block-link-padding-inline, 8px);
}
.dm-toc-block-link[data-level="2"] {
  padding-inline-start: calc(var(--dm-toc-block-link-padding-inline, 8px) + var(--dm-toc-block-link-indent, 16px));
}
.dm-toc-block-link[data-level="3"] {
  padding-inline-start: calc(var(--dm-toc-block-link-padding-inline, 8px) + var(--dm-toc-block-link-indent, 16px) * 2);
}
.dm-toc-block-link[data-level="4"] {
  padding-inline-start: calc(var(--dm-toc-block-link-padding-inline, 8px) + var(--dm-toc-block-link-indent, 16px) * 3);
}
.dm-toc-block-link[data-level="5"] {
  padding-inline-start: calc(var(--dm-toc-block-link-padding-inline, 8px) + var(--dm-toc-block-link-indent, 16px) * 4);
}
.dm-toc-block-link[data-level="6"] {
  padding-inline-start: calc(var(--dm-toc-block-link-padding-inline, 8px) + var(--dm-toc-block-link-indent, 16px) * 5);
}

@media (prefers-reduced-motion: reduce) {
  .dm-toc-outline-tick,
  .dm-toc-outline-card,
  .dm-toc-outline-row,
  .dm-toc-block-link {
    transition: none;
  }
  .dm-toc-outline-card {
    transform: translateY(calc(-50% + var(--dm-toc-card-shift-y, 0px))) translateX(0);
  }
}
@media (forced-colors: active) {
  .dm-toc-outline-tick {
    background: ButtonText;
    border: 1px solid ButtonText;
  }
  .dm-toc-outline-tick.dm-toc--active, .dm-toc-outline-tick[aria-current=location] {
    background: Highlight;
    border-color: Highlight;
  }
  .dm-toc-outline-card {
    border: 1px solid ButtonText;
  }
  .dm-toc-outline-row.dm-toc--active, .dm-toc-outline-row.dm-toc-block-link--active, .dm-toc-outline-row[aria-current=location],
  .dm-toc-block-link.dm-toc--active,
  .dm-toc-block-link.dm-toc-block-link--active,
  .dm-toc-block-link[aria-current=location] {
    color: Highlight;
  }
  .dm-toc-block {
    border: 1px solid ButtonText;
  }
}
.dm-editor.dm-notion-mode {
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  --dm-notion-column-width: 44rem;
  --dm-notion-min-height: 60vh;
  max-width: none;
  margin: 0 auto;
  --dm-editor-line-height: 1.7;
  --dm-editor-padding: 0;
  --dm-block-handle-gutter: 0;
  --dm-block-handle-left: calc(
    max(50% - var(--dm-notion-column-width) * 0.5, 0px) - 2.75rem +
      var(--dm-panel-column-shift, 0px)
  );
}
.dm-editor.dm-notion-mode .ProseMirror {
  box-sizing: border-box;
  max-width: var(--dm-notion-column-width);
  margin-inline: auto;
  min-height: var(--dm-notion-min-height, 60vh);
  outline: none;
}
.dm-editor.dm-notion-mode .ProseMirror h1 {
  font-weight: 700;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}
.dm-editor.dm-notion-mode .ProseMirror h2 {
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}
.dm-editor.dm-notion-mode .ProseMirror h3 {
  font-weight: 600;
  margin-top: 1.25rem;
  margin-bottom: 0.375rem;
}
.dm-editor.dm-notion-mode .ProseMirror p {
  margin: 0.25rem 0;
}
.dm-editor.dm-notion-mode .ProseMirror td > p,
.dm-editor.dm-notion-mode .ProseMirror th > p {
  margin: 0;
}
.dm-editor.dm-notion-mode .ProseMirror > :is(ul, ol) + :is(ul, ol) {
  margin-top: 0.25em;
}
.dm-editor.dm-notion-mode .ProseMirror > :is(ul, ol):has(+ :is(ul, ol)) {
  margin-bottom: 0.25em;
}
.dm-editor.dm-notion-mode .ProseMirror td .is-empty::before,
.dm-editor.dm-notion-mode .ProseMirror th .is-empty::before {
  content: none;
}

.dm-theme-light,
.dm-theme-light .dm-editor,
.dm-theme-light .dm-toolbar,
.dm-theme-light .dm-bubble-menu,
.dm-theme-light .dm-floating-menu,
.dm-theme-light .dm-emoji-picker,
.dm-theme-light .dm-emoji-suggestion,
.dm-theme-light .dm-mention-suggestion,
.dm-theme-light .dm-table-controls-dropdown,
.dm-theme-light .dm-slash-command-menu,
.dm-theme-light .dm-block-context-menu,
.dm-theme-light .dm-link-popover,
.dm-theme-light .dm-image-popover {
  --dm-color-scheme: light;
  --dm-bg: #ffffff;
  --dm-text: #1a1a1a;
  --dm-muted: #6b7280;
  --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-scrollbar-thumb: rgba(0, 0, 0, 0.18);
  --dm-scrollbar-thumb-hover: rgba(0, 0, 0, 0.28);
  --dm-popover-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.22), 0 4px 10px -2px rgba(0, 0, 0, 0.12);
  --dm-blockquote-border: 3px solid #6a6a6a;
  --dm-blockquote-color: #6a6a6a;
  --dm-block-context-active-bg: rgba(55, 53, 47, 0.06);
  --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-block-bg-gray: #f1f1ef;
  --dm-block-bg-brown: #f3eeee;
  --dm-block-bg-orange: #f8ecdf;
  --dm-block-bg-yellow: #faf3dd;
  --dm-block-bg-green: #eef3ed;
  --dm-block-bg-blue: #e9f3f7;
  --dm-block-bg-purple: #f6f3f8;
  --dm-block-bg-pink: #f9f2f5;
  --dm-block-bg-red: #faecec;
  --dm-block-text-gray: #787774;
  --dm-block-text-brown: #976d57;
  --dm-block-text-orange: #cc782f;
  --dm-block-text-yellow: #c29343;
  --dm-block-text-green: #548164;
  --dm-block-text-blue: #487ca5;
  --dm-block-text-purple: #8a67ab;
  --dm-block-text-pink: #b35488;
  --dm-block-text-red: #c4554d;
  --dm-block-selected-halo: rgba(112, 207, 248, 0.25);
}

.dm-theme-dark,
.dm-theme-dark .dm-editor,
.dm-theme-dark .dm-toolbar,
.dm-theme-dark .dm-bubble-menu,
.dm-theme-dark .dm-floating-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-theme-dark .dm-slash-command-menu,
.dm-theme-dark .dm-block-context-menu,
.dm-theme-dark .dm-link-popover,
.dm-theme-dark .dm-image-popover {
  --dm-color-scheme: dark;
  --dm-bg: #1e1e1e;
  --dm-text: #e0e0e0;
  --dm-muted: #9ca3af;
  --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-scrollbar-thumb: rgba(255, 255, 255, 0.18);
  --dm-scrollbar-thumb-hover: rgba(255, 255, 255, 0.32);
  --dm-popover-shadow: 0 10px 25px rgba(0, 0, 0, 0.4), 0 4px 10px rgba(0, 0, 0, 0.25);
  --dm-blockquote-border: 3px solid #555555;
  --dm-blockquote-color: #a0a0a0;
  --dm-block-context-active-bg: rgba(255, 255, 255, 0.05);
  --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;
  --dm-block-bg-gray: #2f2f2f;
  --dm-block-bg-brown: #4a3228;
  --dm-block-bg-orange: #5c3b1e;
  --dm-block-bg-yellow: #564328;
  --dm-block-bg-green: #243d30;
  --dm-block-bg-blue: #143a4e;
  --dm-block-bg-purple: #3c2d49;
  --dm-block-bg-pink: #4e2c3c;
  --dm-block-bg-red: #5c1e1e;
  --dm-block-text-gray: #9b9a97;
  --dm-block-text-brown: #ba856f;
  --dm-block-text-orange: #d68a52;
  --dm-block-text-yellow: #ca9849;
  --dm-block-text-green: #6db285;
  --dm-block-text-blue: #7a9bd6;
  --dm-block-text-purple: #a877d8;
  --dm-block-text-pink: #dc6da4;
  --dm-block-text-red: #df5452;
  --dm-block-selected-halo: rgba(112, 207, 248, 0.35);
}

@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-floating-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-theme-auto .dm-slash-command-menu,
  .dm-theme-auto .dm-block-context-menu,
  .dm-theme-auto .dm-link-popover,
  .dm-theme-auto .dm-image-popover {
    --dm-color-scheme: dark;
    --dm-bg: #1e1e1e;
    --dm-text: #e0e0e0;
    --dm-muted: #9ca3af;
    --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-scrollbar-thumb: rgba(255, 255, 255, 0.18);
    --dm-scrollbar-thumb-hover: rgba(255, 255, 255, 0.32);
    --dm-popover-shadow: 0 10px 25px rgba(0, 0, 0, 0.4), 0 4px 10px rgba(0, 0, 0, 0.25);
    --dm-blockquote-border: 3px solid #555555;
    --dm-blockquote-color: #a0a0a0;
    --dm-block-context-active-bg: rgba(255, 255, 255, 0.05);
    --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;
    --dm-block-bg-gray: #2f2f2f;
    --dm-block-bg-brown: #4a3228;
    --dm-block-bg-orange: #5c3b1e;
    --dm-block-bg-yellow: #564328;
    --dm-block-bg-green: #243d30;
    --dm-block-bg-blue: #143a4e;
    --dm-block-bg-purple: #3c2d49;
    --dm-block-bg-pink: #4e2c3c;
    --dm-block-bg-red: #5c1e1e;
    --dm-block-text-gray: #9b9a97;
    --dm-block-text-brown: #ba856f;
    --dm-block-text-orange: #d68a52;
    --dm-block-text-yellow: #ca9849;
    --dm-block-text-green: #6db285;
    --dm-block-text-blue: #7a9bd6;
    --dm-block-text-purple: #a877d8;
    --dm-block-text-pink: #dc6da4;
    --dm-block-text-red: #df5452;
    --dm-block-selected-halo: rgba(112, 207, 248, 0.35);
  }
}
.dm-theme-dark .dm-toc-outline,
.dm-theme-dark.dm-toc-outline {
  --dm-toc-tick-color: rgba(255, 255, 255, 0.3);
  --dm-toc-tick-hover-color: rgba(255, 255, 255, 0.6);
  --dm-toc-tick-active-color: rgba(255, 255, 255, 0.95);
  --dm-toc-card-bg: rgba(45, 50, 56, 0.98);
  --dm-toc-card-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  --dm-toc-card-border: 1px solid rgba(255, 255, 255, 0.08);
  --dm-toc-row-color: rgba(255, 255, 255, 0.7);
  --dm-toc-row-hover-bg: rgba(255, 255, 255, 0.06);
  --dm-toc-row-active-color: rgba(255, 255, 255, 0.95);
}

.dm-theme-dark .dm-toc-block,
.dm-theme-dark.dm-toc-block {
  --dm-toc-block-bg: rgba(255, 255, 255, 0.04);
  --dm-toc-block-border: 1px solid rgba(255, 255, 255, 0.08);
  --dm-toc-block-empty-color: rgba(255, 255, 255, 0.4);
  --dm-toc-block-link-color: rgba(255, 255, 255, 0.7);
  --dm-toc-block-link-hover-color: rgba(255, 255, 255, 0.95);
  --dm-toc-block-link-hover-bg: rgba(255, 255, 255, 0.06);
  --dm-toc-block-link-active-color: rgba(255, 255, 255, 0.95);
}

@media (prefers-color-scheme: dark) {
  .dm-theme-auto .dm-toc-block,
  .dm-theme-auto.dm-toc-block {
    --dm-toc-block-bg: rgba(255, 255, 255, 0.04);
    --dm-toc-block-border: 1px solid rgba(255, 255, 255, 0.08);
    --dm-toc-block-empty-color: rgba(255, 255, 255, 0.4);
    --dm-toc-block-link-color: rgba(255, 255, 255, 0.7);
    --dm-toc-block-link-hover-color: rgba(255, 255, 255, 0.95);
    --dm-toc-block-link-hover-bg: rgba(255, 255, 255, 0.06);
    --dm-toc-block-link-active-color: rgba(255, 255, 255, 0.95);
  }
}
@media (prefers-color-scheme: dark) {
  .dm-theme-auto .dm-toc-outline,
  .dm-theme-auto.dm-toc-outline {
    --dm-toc-tick-color: rgba(255, 255, 255, 0.3);
    --dm-toc-tick-hover-color: rgba(255, 255, 255, 0.6);
    --dm-toc-tick-active-color: rgba(255, 255, 255, 0.95);
    --dm-toc-card-bg: rgba(45, 50, 56, 0.98);
    --dm-toc-card-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    --dm-toc-card-border: 1px solid rgba(255, 255, 255, 0.08);
    --dm-toc-row-color: rgba(255, 255, 255, 0.7);
    --dm-toc-row-hover-bg: rgba(255, 255, 255, 0.06);
    --dm-toc-row-active-color: rgba(255, 255, 255, 0.95);
  }
}
@media print {
  .dm-toolbar,
  .dm-toolbar-dropdown-panel,
  .dm-bubble-menu,
  .dm-floating-menu,
  .dm-block-handle,
  .dm-block-drop-indicator,
  .dm-block-context-menu,
  .dm-slash-command-menu,
  .dm-emoji-picker,
  .dm-emoji-picker-host,
  .dm-emoji-suggestion,
  .dm-mention-suggestion,
  .dm-link-popover,
  .dm-image-popover,
  .dm-math-popover,
  .dm-color-palette,
  .dm-notion-color-picker,
  .dm-toc-outline,
  .dm-toc-outline-shell,
  .dm-live-region,
  .prosemirror-dropcursor-block,
  .prosemirror-dropcursor-inline,
  .dm-editor .ProseMirror-gapcursor {
    display: none !important;
  }
  .dm-table-col-handle,
  .dm-table-row-handle,
  .dm-table-cell-handle,
  .dm-table-cell-toolbar,
  .dm-table-controls-dropdown,
  .dm-table-cell-dropdown,
  .dm-table-cell-align-dropdown,
  .dm-image-handle,
  .dm-editor .column-resize-handle {
    display: none !important;
  }
  .dm-editor .ProseMirror-selectednode,
  .dm-editor .ProseMirror-selectednoderange {
    outline: none !important;
    box-shadow: none !important;
  }
  .dm-editor .ProseMirror-selectednode::before,
  .dm-editor .ProseMirror-selectednoderange::before,
  .dm-editor li.ProseMirror-selectednode::after,
  .dm-editor .selectedCell::after {
    display: none !important;
  }
  .dm-editor .ProseMirror .invisible-char,
  .dm-editor .ProseMirror [data-char]::after,
  .dm-editor .ProseMirror .is-empty::before {
    display: none !important;
  }
  .dm-editor .ProseMirror .dm-slash-command-query,
  .dm-editor .ProseMirror .mention-suggestion,
  .dm-editor .ProseMirror .dm-link-pending,
  .dm-editor .ProseMirror .dm-block-context-active {
    transition: none !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
  }
  .dm-editor td.dm-cell-focused,
  .dm-editor th.dm-cell-focused {
    outline: none !important;
  }
  .dm-editor .ProseMirror .dm-toc-block {
    background: transparent;
    border-color: rgba(0, 0, 0, 0.2);
    --dm-toc-block-link-color: initial;
    --dm-toc-block-link-active-color: initial;
    --dm-toc-block-empty-color: initial;
  }
  .dm-editor .ProseMirror .dm-toc-block-link {
    transition: none !important;
  }
  .dm-editor .ProseMirror div[data-type=details] div[data-details-content][hidden] {
    display: block !important;
  }
  .dm-editor .ProseMirror div[data-type=details] > button[type=button] {
    display: none !important;
  }
  .dm-editor .ProseMirror pre {
    overflow: visible !important;
    white-space: pre-wrap !important;
    word-break: break-word;
  }
  .dm-editor .tableWrapper {
    overflow: visible !important;
  }
  .dm-editor .ProseMirror table {
    overflow: visible !important;
    width: 100%;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: auto !important;
  }
  .dm-editor .ProseMirror td table,
  .dm-editor .ProseMirror th table {
    width: 100% !important;
  }
  .dm-editor .ProseMirror td,
  .dm-editor .ProseMirror th {
    min-width: 0 !important;
    overflow-wrap: anywhere;
  }
  .dm-editor .ProseMirror .dm-math-block {
    overflow: visible !important;
  }
  .dm-editor > div:has(> .ProseMirror) {
    overflow: visible !important;
  }
  html,
  body {
    transition: none !important;
    background: none !important;
    color-scheme: light !important;
  }
  .dm-editor {
    --dm-color-scheme: light !important;
    --dm-bg: #ffffff !important;
    --dm-text: #1a1a1a !important;
    --dm-muted: #6b7280 !important;
    --dm-surface: #f8f9fa !important;
    --dm-border-color: #e0e0e0 !important;
    --dm-hover: rgba(0, 0, 0, 0.06) !important;
    --dm-active: rgba(0, 0, 0, 0.12) !important;
    --dm-accent: #2563eb !important;
    --dm-accent-hover: #1d4ed8 !important;
    --dm-accent-surface: rgba(37, 99, 235, 0.1) !important;
    --dm-focus-color: rgba(66, 133, 244, 0.3) !important;
    --dm-selection: rgba(66, 133, 244, 0.2) !important;
    --dm-code-surface: #f5f5f5 !important;
    --dm-code-color: #d63384 !important;
    --dm-scrollbar-thumb: rgba(0, 0, 0, 0.18) !important;
    --dm-scrollbar-thumb-hover: rgba(0, 0, 0, 0.28) !important;
    --dm-popover-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.22), 0 4px 10px -2px rgba(0, 0, 0, 0.12) !important;
    --dm-blockquote-border: 3px solid #6a6a6a !important;
    --dm-blockquote-color: #6a6a6a !important;
    --dm-block-context-active-bg: rgba(55, 53, 47, 0.06) !important;
    --dm-syntax-keyword: #c72031 !important;
    --dm-syntax-entity: #6f42c1 !important;
    --dm-syntax-constant: #005cc5 !important;
    --dm-syntax-string: #032f62 !important;
    --dm-syntax-variable: #d35400 !important;
    --dm-syntax-comment: #57606a !important;
    --dm-syntax-tag: #22863a !important;
    --dm-syntax-addition: #22863a !important;
    --dm-syntax-addition-bg: #f0fff4 !important;
    --dm-syntax-deletion: #b31d28 !important;
    --dm-syntax-deletion-bg: #ffeef0 !important;
    --dm-block-bg-gray: #f1f1ef !important;
    --dm-block-bg-brown: #f3eeee !important;
    --dm-block-bg-orange: #f8ecdf !important;
    --dm-block-bg-yellow: #faf3dd !important;
    --dm-block-bg-green: #eef3ed !important;
    --dm-block-bg-blue: #e9f3f7 !important;
    --dm-block-bg-purple: #f6f3f8 !important;
    --dm-block-bg-pink: #f9f2f5 !important;
    --dm-block-bg-red: #faecec !important;
    --dm-block-text-gray: #787774 !important;
    --dm-block-text-brown: #976d57 !important;
    --dm-block-text-orange: #cc782f !important;
    --dm-block-text-yellow: #c29343 !important;
    --dm-block-text-green: #548164 !important;
    --dm-block-text-blue: #487ca5 !important;
    --dm-block-text-purple: #8a67ab !important;
    --dm-block-text-pink: #b35488 !important;
    --dm-block-text-red: #c4554d !important;
    --dm-block-selected-halo: rgba(112, 207, 248, 0.25) !important;
    --dm-link-color: var(--dm-accent) !important;
    --dm-mention-color: var(--dm-accent) !important;
    --dm-mention-bg: var(--dm-accent-surface) !important;
    --dm-code-bg: var(--dm-code-surface) !important;
    --dm-code-block-bg: var(--dm-code-surface) !important;
    --dm-code-block-text: var(--dm-text) !important;
    --dm-table-header-bg: var(--dm-surface) !important;
    --dm-details-bg: var(--dm-surface) !important;
    --dm-code-text: currentColor !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: none !important;
    max-width: none !important;
    color: #000 !important;
    color-scheme: light !important;
  }
  .dm-editor .ProseMirror {
    padding: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
  }
  .dm-editor.dm-notion-mode .ProseMirror {
    min-height: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }
  .dm-editor .ProseMirror h1,
  .dm-editor .ProseMirror h2,
  .dm-editor .ProseMirror h3,
  .dm-editor .ProseMirror h4,
  .dm-editor .ProseMirror h5,
  .dm-editor .ProseMirror h6,
  .dm-editor .ProseMirror div[data-type=details] summary {
    break-after: avoid;
    break-inside: avoid;
  }
  .dm-editor .ProseMirror img,
  .dm-editor .ProseMirror .dm-image-resizable,
  .dm-editor .ProseMirror .dm-math-block {
    break-inside: avoid;
  }
  .dm-editor .ProseMirror img {
    max-height: calc(100vh - 6em);
    object-fit: contain;
    object-position: left center;
  }
  .dm-editor .ProseMirror .dm-image-resizable[data-align=center] img,
  .dm-editor .ProseMirror .dm-image-resizable[data-float=center] img {
    object-position: center;
  }
  .dm-editor .ProseMirror .dm-image-resizable[data-align=right] img,
  .dm-editor .ProseMirror .dm-image-resizable[data-float=right] img {
    object-position: right center;
  }
  [dir=rtl] .dm-editor .ProseMirror .dm-image-resizable:not([data-align]):not([data-float]) img,
  .dm-editor .ProseMirror[dir=rtl] .dm-image-resizable:not([data-align]):not([data-float]) img {
    object-position: right center;
  }
  .dm-editor .ProseMirror li > *:first-child:not(:last-child),
  .dm-editor .ProseMirror li[data-type=taskItem] > div > *:first-child:not(:last-child) {
    break-after: avoid;
  }
  .dm-editor .ProseMirror tr:not(:has(p + p,
  ul,
  ol,
  table,
  pre,
  blockquote,
  img,
  .dm-math-block,
  .dm-toc-block,
  [data-type=column-list],
  [data-type=details])) {
    break-inside: avoid;
  }
  .dm-editor .ProseMirror table:has(> tbody > tr > td):has(> tbody > tr:first-child > th) > tbody {
    display: contents;
  }
  .dm-editor .ProseMirror table:has(> tbody > tr > td) > tbody > tr:first-child:has(> th):not(:has(> td)):not(:has(> [rowspan])) {
    display: table-header-group;
    break-inside: avoid;
  }
  .dm-editor .ProseMirror p,
  .dm-editor .ProseMirror li {
    orphans: 2;
    widows: 2;
  }
  .dm-editor .ProseMirror pre {
    orphans: 3;
    widows: 3;
  }
  .dm-editor .ProseMirror pre,
  .dm-editor .ProseMirror code,
  .dm-editor .ProseMirror mark,
  .dm-editor .ProseMirror th,
  .dm-editor .ProseMirror td,
  .dm-editor .ProseMirror .mention,
  .dm-editor .ProseMirror [data-bg-color],
  .dm-editor .ProseMirror [data-text-color],
  .dm-editor .ProseMirror div[data-type=details] {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .dm-editor .ProseMirror input[type=checkbox] {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  body.dm-printing .dm-print-ancestor > *:not(.dm-print-ancestor):not(.dm-print-root),
  body.dm-printing > *:not(.dm-print-ancestor):not(.dm-print-root) {
    display: none !important;
  }
  body.dm-printing {
    color: #000 !important;
  }
  body.dm-printing .dm-print-ancestor,
  body.dm-printing,
  html.dm-print-ancestor {
    animation: none !important;
    transition: none !important;
    display: block !important;
    position: static !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    overflow: visible !important;
    background: none !important;
    columns: auto !important;
    transform: none !important;
    translate: none !important;
    rotate: none !important;
    scale: none !important;
    transform-style: flat !important;
    offset-path: none !important;
    perspective: none !important;
    contain: none !important;
    container-type: normal !important;
    content-visibility: visible !important;
    view-transition-name: none !important;
    will-change: auto !important;
    filter: none !important;
    backdrop-filter: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
  }
  body.dm-printing .dm-print-root {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
  :root.dm-print-ancestor,
  :root:not(.dm-print-ancestor) {
    padding-block-end: var(--dm-print-reserve-block-end, 0) !important;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dm-emoji-picker,
  .dm-emoji-suggestion,
  .dm-mention-suggestion,
  .dm-toolbar-dropdown-panel,
  .dm-table-controls-dropdown,
  .dm-table-cell-toolbar {
    animation: none;
  }
  .dm-editor .ProseMirror-gapcursor::after {
    animation: none;
  }
  .dm-bubble-menu[data-show],
  .dm-floating-menu,
  .dm-link-popover,
  .dm-image-popover,
  .dm-toolbar-button,
  .dm-toolbar-dropdown-item,
  .dm-color-palette-reset,
  .dm-color-swatch,
  .dm-emoji-picker-tab,
  .dm-emoji-swatch,
  .dm-emoji-suggestion-item,
  .dm-mention-suggestion-item,
  .dm-table-col-handle,
  .dm-table-row-handle,
  .dm-table-cell-handle,
  .dm-table-cell-toolbar-btn,
  .dm-table-controls-dropdown > button,
  .dm-table-align-item,
  .dm-image-popover-btn,
  .dm-link-popover-btn,
  .dm-block-handle,
  .dm-block-handle-btn,
  .dm-block-color-swatch,
  .dm-slash-command-item,
  .dm-block-context-menu-item,
  .dm-editor .ProseMirror div[data-type=details] > button[type=button]::before {
    transition: none;
    transform: none;
  }
}
