/* components/cabinet-prose.css — текст, собранный из Markdown моделью.
 *
 * Общее для ответов ИИ в чате (.aud-msg__bubble) и текста лекций (.lec-body):
 * и то и другое приходит из одного рендерера, patterns/cabinet/js/markdown.js.
 * Размер шрифта и ширину колонки задаёт носитель, здесь только ритм блоков.
 *
 * --settings-accent (фирменный оранжевый экранов кабинета) должен быть задан
 * выше по дереву — см. .reclaim-audience в pages/cabinet-audience.css.
 */

.cb-prose > :first-child {
	margin-top: 0;
}

.cb-prose > :last-child {
	margin-bottom: 0;
}

.cb-prose p {
	margin: 0 0 0.7rem;
}

.cb-prose h3,
.cb-prose h4,
.cb-prose h5,
.cb-prose h6 {
	margin: 1.4rem 0 0.5rem;
	font-family: var( --font-display );
	font-weight: 800;
	line-height: 1.3;
}

.cb-prose h3 {
	font-size: 1.1em;
}

.cb-prose h4,
.cb-prose h5,
.cb-prose h6 {
	font-size: 1em;
}

.cb-prose ul,
.cb-prose ol {
	margin: 0 0 0.7rem;
	padding-left: 1.2rem;
}

.cb-prose li {
	margin-bottom: 0.3rem;
}

.cb-prose a {
	color: var( --settings-accent );
	font-weight: 650;
	text-underline-offset: 0.16em;
}

.cb-prose a:hover,
.cb-prose a:focus-visible {
	color: color-mix( in srgb, var( --settings-accent ) 78%, #1b1430 );
}

.cb-prose code {
	padding: 0.18rem 0.45rem;
	border-radius: 6px;
	background: color-mix( in srgb, var( --ink ) 6%, transparent );
	font-size: 0.86em;
	font-weight: 600;
}

.cb-prose pre {
	overflow-x: auto;
	margin: 0 0 0.7rem;
	padding: 0.75rem 0.9rem;
	border-radius: 8px;
	background: var( --pre-bg );
	color: var( --pre-ink );
}

.cb-prose pre code {
	padding: 0;
	background: none;
	color: inherit;
	font-size: 0.85em;
	font-weight: 400;
	line-height: 1.55;
}

.cb-prose blockquote {
	margin: 0 0 0.7rem;
	padding-left: 0.8rem;
	border-left: 3px solid color-mix( in srgb, var( --settings-accent ) 35%, transparent );
	color: var( --muted );
}

.cb-prose hr {
	margin: 1.2rem 0;
	border: 0;
	border-top: 1px solid color-mix( in srgb, var( --ink ) 8%, transparent );
}

.cb-prose table {
	display: block;
	width: 100%;
	margin: 0 0 0.7rem;
	overflow-x: auto;
	border-collapse: collapse;
	font-size: 0.9em;
}

.cb-prose th,
.cb-prose td {
	padding: 0.45rem 0.6rem;
	border: 1px solid color-mix( in srgb, var( --ink ) 12%, transparent );
	text-align: left;
	vertical-align: top;
}

.cb-prose th {
	background: color-mix( in srgb, var( --ink ) 4%, transparent );
	font-weight: 700;
}

.cb-prose .md-figure {
	margin: 1rem 0;
	text-align: center;
}

.cb-prose .md-figure img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border-radius: 8px;
}

.cb-prose .md-figure figcaption {
	margin-top: 0.4rem;
	color: var( --muted );
	font-size: 0.82em;
	line-height: 1.35;
}

/* Формулы (KaTeX) */
.cb-prose .katex-display {
	margin: 0.8rem 0;
	overflow-x: auto;
	overflow-y: hidden;
}

.cb-prose .katex {
	font-size: 1.05em;
}

.cb-prose .md-math {
	white-space: pre-wrap;
}
