.cv-msg-assistant:has(.cv-markdown) { white-space:normal; }
.cv-markdown { line-height:1.75; min-width:0; overflow-wrap:anywhere; }
.cv-markdown > :first-child { margin-top:0; }
.cv-markdown > :last-child { margin-bottom:0; }
.cv-markdown p { margin:0 0 1em; white-space:pre-line; }
.cv-markdown h3, .cv-markdown h4, .cv-markdown h5 { margin:1.5em 0 .6em; color:var(--cv-ink); font-family:var(--cv-font-head); font-size:1.03em; font-weight:500; letter-spacing:-.015em; }
.cv-markdown h3 { font-size:1.15em; }
.cv-markdown ul, .cv-markdown ol { margin:.5em 0 1em; padding-left:1.5em; }
.cv-markdown ul { list-style:disc; }
.cv-markdown ol { list-style:decimal; }
.cv-markdown li { padding-left:.15em; margin:.35em 0; }
.cv-markdown strong { font-weight:650; }
.cv-markdown em { font-style:italic; }
.cv-markdown code { font-family:var(--font-mono, ui-monospace, monospace); font-size:.88em; background:var(--cv-soft); border-radius:5px; padding:.15em .35em; }
.cv-markdown pre { padding:16px; margin:1em 0; max-width:100%; overflow-x:auto; background:var(--cv-soft); border:1px solid var(--cv-line); border-radius:12px; white-space:pre; }
.cv-markdown pre code { padding:0; background:none; }
.cv-markdown blockquote { margin:1em 0; padding:4px 0 4px 16px; border-left:3px solid var(--cv-line); color:var(--cv-muted); white-space:pre-line; }
.cv-table-wrap { max-width:100%; overflow-x:auto; margin:1em 0; border:1px solid var(--cv-line); border-radius:10px; }
.cv-table-wrap:focus-visible { outline:3px solid var(--cv-accent); outline-offset:3px; }
.cv-markdown table { border-collapse:collapse; width:100%; font-size:.92em; text-align:left; }
.cv-markdown th, .cv-markdown td { border-bottom:1px solid var(--cv-line); padding:10px 14px; min-width:100px; vertical-align:top; }
.cv-markdown th { background:var(--cv-soft); font-weight:600; }
.cv-markdown tr:last-child td { border-bottom:0; }
.cv-markdown a { text-underline-offset:3px; }
@media (max-width:600px) { .cv-markdown th, .cv-markdown td { padding:8px 10px; } }
