.ProseMirror {
  pre {
    background: #1e293b;
    color: #e2e8f0;
    font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, 'Liberation Mono', Menlo, monospace;
    padding: 1rem 1.25rem;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.6;
    overflow-x: auto;
    margin: 1rem 0;
    position: relative;

    code {
      background: none;
      color: inherit;
      padding: 0;
      font-size: inherit;
      border-radius: 0;
    }
  }
}

// Lowlight / highlight.js 语法高亮主题
.hljs-comment,
.hljs-quote {
  color: #6b7280;
  font-style: italic;
}

.hljs-doctag,
.hljs-keyword,
.hljs-formula {
  color: #c678dd;
}

.hljs-section,
.hljs-name,
.hljs-selector-tag,
.hljs-deletion,
.hljs-subst {
  color: #e06c75;
}

.hljs-literal {
  color: #56b6c2;
}

.hljs-string,
.hljs-regexp,
.hljs-addition,
.hljs-attribute,
.hljs-meta .hljs-string {
  color: #98c379;
}

.hljs-attr,
.hljs-variable,
.hljs-template-variable,
.hljs-type,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-number {
  color: #d19a66;
}

.hljs-symbol,
.hljs-bullet,
.hljs-link,
.hljs-meta,
.hljs-selector-id,
.hljs-title {
  color: #61aeee;
}

.hljs-built_in,
.hljs-title.class_,
.hljs-class .hljs-title {
  color: #e6c07b;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-strong {
  font-weight: bold;
}

.hljs-link {
  text-decoration: underline;
}

// 代码块语言标签 (可选)
.ProseMirror pre::before {
  content: attr(data-language);
  position: absolute;
  top: 0;
  right: 0;
  padding: 4px 10px;
  font-size: 11px;
  color: #94a3b8;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 0 8px 0 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-family: inherit;
}

// 浅色主题适配
[data-theme='light'] .ProseMirror pre,
.mdxApp:not(.themeDark) .ProseMirror pre {
  background: #f8fafc;
  border: 1px solid #e2e8f0;

  code {
    color: #1e293b;
  }
}

[data-theme='light'],
.mdxApp:not(.themeDark) {
  .hljs-comment,
  .hljs-quote {
    color: #6b7280;
  }

  .hljs-keyword,
  .hljs-doctag {
    color: #8b5cf6;
  }

  .hljs-string,
  .hljs-regexp,
  .hljs-addition {
    color: #059669;
  }

  .hljs-number,
  .hljs-attr {
    color: #d97706;
  }

  .hljs-title,
  .hljs-section {
    color: #2563eb;
  }

  .hljs-name,
  .hljs-selector-tag {
    color: #dc2626;
  }

  .hljs-built_in,
  .hljs-title.class_ {
    color: #ca8a04;
  }
}
