/* Markdown в ответах Sol. Токены с fallback — подставь реальные имена из ds. */

.md {
  font: inherit;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.md > :first-child { margin-top: 0; }
.md > :last-child { margin-bottom: 0; }

.md p { margin: 0 0 0.5em; }

/* чат не документ: h1→h3, h2→h4, h3→h5 */
.md h1, .md h2, .md h3, .md h4, .md h5, .md h6 {
  margin: 0.8em 0 0.3em;
  line-height: 1.3;
  font-weight: 600;
}
.md h1 { font-size: 1.17em; }
.md h2 { font-size: 1em; }
.md h3 { font-size: 0.83em; }
.md h4, .md h5, .md h6 { font-size: 0.83em; }
.md h6 { opacity: 0.8; }

.md ul, .md ol { margin: 0 0 0.5em; padding-left: 1.4em; }
.md li { margin: 0.15em 0; }
.md li > p { margin-bottom: 0.25em; }

.md hr {
  border: 0;
  border-top: 1px solid var(--border, rgba(255, 255, 255, 0.12));
  margin: 0.8em 0;
}

.md img { max-width: 100%; height: auto; border-radius: 4px; }

.md code {
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
  font-size: 0.9em;
}

/* блок кода */
.md-code {
  margin: 0.5em 0;
  border: 1px solid var(--border, rgba(255, 255, 255, 0.12));
  border-radius: 6px;
  overflow: hidden;
  background: var(--surface-2, #1b1b22);
}
.md-code-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5em;
  padding: 0.2em 0.6em;
  font-size: 0.75em;
  color: var(--text-dim, rgba(255, 255, 255, 0.6));
  border-bottom: 1px solid var(--border, rgba(255, 255, 255, 0.12));
}
.md-code-lang { text-transform: lowercase; letter-spacing: 0.02em; }
.md-code-copy {
  font: inherit;
  color: inherit;
  background: none;
  border: 1px solid var(--border, rgba(255, 255, 255, 0.12));
  border-radius: 4px;
  padding: 0.1em 0.6em;
  cursor: pointer;
}
.md-code-copy:hover { color: var(--text, #fff); }
.md-code-copy:focus-visible { outline: 2px solid var(--border-strong, rgba(255, 255, 255, 0.4)); outline-offset: 1px; }

.md pre {
  display: block;
  margin: 0;
  padding: 0.6em 0.8em;
  background: var(--surface-2, #1b1b22);
  overflow-x: auto;
}
.md pre > code,
.md pre > code.hljs {
  display: block;
  padding: 0;
  margin: 0;
  background: none;
  border: 0;
  border-radius: 0;
  font-size: 0.85em;
  white-space: pre;
}

.md-copy-buf { position: fixed; left: -9999px; top: 0; opacity: 0; }

/* таблицы */
.md-table-wrap { overflow-x: auto; margin: 0.5em 0; }
.md table { border-collapse: collapse; font-size: 0.92em; }
.md th, .md td {
  border: 1px solid var(--border, rgba(255, 255, 255, 0.12));
  padding: 0.25em 0.6em;
  text-align: left;
}
.md th { font-weight: 600; background: var(--surface-2, #1b1b22); }

/* цитаты: без акцента */
.md blockquote {
  margin: 0.5em 0;
  padding: 0.1em 0 0.1em 0.8em;
  border-left: 3px solid var(--border-strong, rgba(255, 255, 255, 0.25));
  color: var(--text-dim, rgba(255, 255, 255, 0.7));
}

/* ссылки — территория Sol */
.md a { color: #7c5cff; text-decoration: underline; text-underline-offset: 2px; }
.md a:hover { text-decoration-thickness: 2px; }

/* hljs: нейтральная тема, без #7c5cff */
.md .hljs-comment, .md .hljs-quote { color: #8a8a94; font-style: italic; }
.md .hljs-keyword, .md .hljs-selector-tag, .md .hljs-literal { color: #d7a86e; }
.md .hljs-string, .md .hljs-regexp, .md .hljs-addition { color: #8fbf8f; }
.md .hljs-number, .md .hljs-symbol, .md .hljs-bullet { color: #7fb2d6; }
.md .hljs-built_in, .md .hljs-type, .md .hljs-class .hljs-title { color: #7fb2d6; }
.md .hljs-title, .md .hljs-section, .md .hljs-name { color: #e0e0e0; font-weight: 600; }
.md .hljs-attr, .md .hljs-attribute, .md .hljs-variable, .md .hljs-template-variable { color: #c9a27a; }
.md .hljs-meta, .md .hljs-doctag { color: #9a9aa3; }
.md .hljs-deletion { color: #d98a8a; }
.md .hljs-emphasis { font-style: italic; }
.md .hljs-strong { font-weight: 700; }
