/* ============================================================
   wk-markdown — 消息气泡内的 Markdown 渲染样式
   遵守 AGENTS.md：全部使用 token，无硬编码颜色/间距/圆角
   ============================================================ */

.wk-markdown {
  font-size: inherit;
  line-height: 1.6;
  word-break: break-word;
  min-width: 0;
}

/* ── 段落 ── */
.wk-markdown p {
  margin: 0 0 var(--wk-sp-2) 0;
}
.wk-markdown p:last-child {
  margin-bottom: 0;
}

/* ── 标题 ── */
.wk-markdown h1,
.wk-markdown h2,
.wk-markdown h3,
.wk-markdown h4,
.wk-markdown h5,
.wk-markdown h6 {
  margin: var(--wk-sp-3) 0 var(--wk-sp-2) 0;
  font-weight: 600;
  line-height: 1.3;
  color: var(--semi-color-text-0);
}
.wk-markdown h1 {
  font-size: 1.4em;
}
.wk-markdown h2 {
  font-size: 1.25em;
}
.wk-markdown h3 {
  font-size: 1.1em;
}
.wk-markdown h4,
.wk-markdown h5,
.wk-markdown h6 {
  font-size: 1em;
}

.wk-markdown h1:first-child,
.wk-markdown h2:first-child,
.wk-markdown h3:first-child {
  margin-top: 0;
}

/* ── 列表 ── */
.wk-markdown ul,
.wk-markdown ol {
  margin: 0 0 var(--wk-sp-2) 0;
  padding-left: var(--wk-sp-5);
}
.wk-markdown li {
  margin-bottom: var(--wk-sp-1);
}
.wk-markdown li:last-child {
  margin-bottom: 0;
}

/* GFM 任务列表 */
.wk-markdown li input[type="checkbox"] {
  margin-right: var(--wk-sp-2);
  accent-color: var(--wk-brand-primary);
}

/* ── 引用块 ── */
.wk-markdown blockquote {
  margin: var(--wk-sp-2) 0;
  padding: var(--wk-sp-2) var(--wk-sp-3);
  border-left: 3px solid var(--wk-border-glow);
  background: var(--wk-ai-surface);
  border-radius: 0 var(--wk-r-sm) var(--wk-r-sm) 0;
  color: var(--semi-color-text-1);
}
.wk-markdown blockquote p {
  margin: 0;
}

/* ── 行内代码 ── */
.wk-markdown code:not(pre code) {
  padding: 2px var(--wk-sp-1);
  border-radius: var(--wk-r-xs);
  background: var(--semi-color-fill-0);
  color: var(--wk-text-accent);
  font-size: 0.875em;
  font-family: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;
  border: 1px solid var(--wk-border-subtle);
}

/* 发送气泡内行内代码：与接收气泡保持一致的语义变量 */
.wk-markdown-send code:not(pre code) {
  background: var(--semi-color-fill-0);
  color: var(--wk-text-accent);
  border-color: var(--wk-border-subtle);
}

/* ── 代码块 ── */
.wk-markdown-pre-wrapper {
  position: relative;
  margin: var(--wk-sp-2) 0;
  border-radius: var(--wk-r-md);
  overflow: hidden;
  border: 1px solid var(--wk-border-subtle);
}

.wk-markdown pre {
  margin: 0;
  padding: var(--wk-sp-3) var(--wk-sp-4);
  overflow-x: auto;
  font-size: 0.875em;
  font-family: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;
  line-height: 1.5;
  /* highlight.js 的 github-dark 主题提供背景色 */
}

.wk-markdown pre code {
  background: transparent;
  padding: 0;
  border: none;
  color: inherit;
  font-size: inherit;
}

/* ── 分隔线 ── */
.wk-markdown hr {
  margin: var(--wk-sp-3) 0;
  border: none;
  border-top: 1px solid var(--semi-color-border);
}

/* ── GFM 表格 ── */
.wk-markdown table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--wk-sp-2) 0;
  font-size: 0.875em;
  border-radius: var(--wk-r-md);
  overflow: hidden;
  border: 1px solid var(--semi-color-border);
}

.wk-markdown th,
.wk-markdown td {
  padding: var(--wk-sp-2) var(--wk-sp-3);
  text-align: left;
  border-bottom: 1px solid var(--semi-color-border);
  border-right: 1px solid var(--semi-color-border);
}
.wk-markdown th:last-child,
.wk-markdown td:last-child {
  border-right: none;
}

.wk-markdown th {
  background: var(--semi-color-fill-0);
  font-weight: 600;
  color: var(--semi-color-text-0);
}

.wk-markdown tr:last-child td {
  border-bottom: none;
}

.wk-markdown tr:hover td {
  background: var(--wk-bg-hover);
}

/* ── 链接 ── */
.wk-markdown a {
  color: var(--wk-text-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity var(--wk-dur-fast) var(--wk-ease);
}
.wk-markdown a:hover {
  opacity: 0.8;
}

/* ── 图片 ── */
.wk-markdown img {
  max-width: 100%;
  border-radius: var(--wk-r-sm);
}

/* ── @mention（消息气泡内的 mention span）── */
.wk-message-mention {
  display: inline;
  cursor: pointer;
  text-decoration: underline;
}
.wk-message-mention-send,
.wk-message-mention-recv {
  color: var(--wk-text-accent);
}

/* ── 数学公式 (KaTeX) ── */
.wk-markdown .katex-display {
  margin: var(--wk-sp-3) 0;
  overflow-x: auto;
  overflow-y: hidden;
}

.wk-markdown .katex {
  font-size: 1.1em;
}

/* 行内公式 */
.wk-markdown .math-inline {
  display: inline;
}

/* 块级公式 */
.wk-markdown .math-display {
  display: block;
  margin: var(--wk-sp-3) 0;
  text-align: center;
}

/* KaTeX 错误提示 */
.wk-markdown .katex-error {
  color: var(--wk-color-danger);
  font-size: 0.875em;
}

/* ── 流式光标（复用已有动画） ── */
.wk-markdown .wk-stream-cursor {
  display: inline-block;
  width: 2px;
  height: 1em;
  background-color: var(--wk-brand-primary);
  animation: wk-stream-blink 1s infinite;
  margin-left: 2px;
  vertical-align: text-bottom;
}

.wk-markdown.wk-markdown-send .wk-stream-cursor {
  background-color: rgba(255, 255, 255, 0.9);
}
