/**
 * SaMarkdown 通用排版（跟 finance tokens；页级可用 .markdown-body / .sq-markdown-content 叠加）
 */
.sa-markdown,
.markdown-body.sa-markdown {
  color: var(--text-primary, #262626);
  font-size: 14px;
  line-height: 1.7;
  word-break: break-word;
}

.sa-markdown > *:first-child,
.markdown-body.sa-markdown > *:first-child {
  margin-top: 0;
}

.sa-markdown > *:last-child,
.markdown-body.sa-markdown > *:last-child {
  margin-bottom: 0;
}

.sa-markdown h1,
.sa-markdown h2,
.markdown-body.sa-markdown h1,
.markdown-body.sa-markdown h2 {
  margin: 1.1em 0 0.55em;
  font-weight: 700;
  line-height: 1.35;
  color: var(--text-primary, #262626);
}

.sa-markdown h3,
.markdown-body.sa-markdown h3 {
  margin: 1em 0 0.45em;
  font-weight: 650;
  font-size: 1.05em;
}

.sa-markdown h4,
.sa-markdown h5,
.sa-markdown h6,
.markdown-body.sa-markdown h4,
.markdown-body.sa-markdown h5,
.markdown-body.sa-markdown h6 {
  margin: 0.85em 0 0.4em;
  font-weight: 600;
}

.sa-markdown p,
.markdown-body.sa-markdown p {
  margin: 0.55em 0;
}

.sa-markdown ul,
.sa-markdown ol,
.markdown-body.sa-markdown ul,
.markdown-body.sa-markdown ol {
  margin: 0.55em 0;
  padding-left: 1.35em;
}

.sa-markdown li,
.markdown-body.sa-markdown li {
  margin: 0.25em 0;
}

.sa-markdown blockquote,
.markdown-body.sa-markdown blockquote {
  margin: 0.75em 0;
  padding: 0.35em 0.85em;
  border-left: 3px solid var(--primary-color, #1a56a7);
  color: var(--text-secondary, #8c8c8c);
  background: rgba(26, 86, 167, 0.04);
}

.sa-markdown a,
.markdown-body.sa-markdown a {
  color: var(--primary-color, #1a56a7);
  text-decoration: none;
}

.sa-markdown a:hover,
.markdown-body.sa-markdown a:hover {
  text-decoration: underline;
}

.sa-markdown code,
.markdown-body.sa-markdown code {
  padding: 0.1em 0.35em;
  border-radius: 4px;
  background: var(--bg-secondary, #f5f7fa);
  font-size: 0.92em;
}

.sa-markdown pre,
.markdown-body.sa-markdown pre {
  margin: 0.75em 0;
  padding: 12px 14px;
  overflow-x: auto;
  border-radius: 8px;
  background: var(--bg-secondary, #f5f7fa);
  border: 1px solid var(--border-color, #e8eaed);
}

.sa-markdown pre code,
.markdown-body.sa-markdown pre code {
  padding: 0;
  background: transparent;
}

.sa-markdown .table-wrapper,
.markdown-body.sa-markdown .table-wrapper {
  overflow-x: auto;
  margin: 0.75em 0;
  -webkit-overflow-scrolling: touch;
}

.sa-markdown table,
.markdown-body.sa-markdown table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.sa-markdown th,
.sa-markdown td,
.markdown-body.sa-markdown th,
.markdown-body.sa-markdown td {
  padding: 8px 10px;
  border: 1px solid var(--border-color, #e8eaed);
  text-align: left;
}

.sa-markdown th,
.markdown-body.sa-markdown th {
  background: var(--bg-secondary, #f5f7fa);
  font-weight: 600;
}

.sa-markdown-empty {
  color: var(--text-tertiary, #bfbfbf);
  text-align: center;
  padding: 20px;
  margin: 0;
}
