.chat-markdown { white-space: normal; min-width: 0; overflow-wrap: anywhere; }
.chat-markdown > :first-child { margin-top: 0; }
.chat-markdown > :last-child { margin-bottom: 0; }
.chat-markdown p, .chat-markdown ul, .chat-markdown ol, .chat-markdown blockquote { margin: .65em 0; }
.chat-markdown h1, .chat-markdown h2, .chat-markdown h3, .chat-markdown h4 { margin: 1em 0 .5em; line-height: 1.3; }
.chat-markdown h1 { font-size: 1.5em; }
.chat-markdown h2 { font-size: 1.3em; }
.chat-markdown h3 { font-size: 1.15em; }
.chat-markdown ul, .chat-markdown ol { padding-left: 1.7em; }
.chat-markdown li + li { margin-top: .25em; }
.chat-markdown code { font-family: ui-monospace, Consolas, monospace; font-size: .92em; background: var(--raised); border-radius: 4px; padding: .12em .3em; }
.chat-markdown pre { max-width: 100%; overflow-x: auto; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--raised); white-space: pre; overflow-wrap: normal; }
.chat-markdown pre code { padding: 0; background: transparent; }
.chat-markdown blockquote { border-left: 3px solid var(--blue); padding-left: 1em; color: var(--muted); }
.chat-markdown a { color: var(--blue); }
.chat-table-scroll { max-width: 100%; overflow-x: auto; margin: .8em 0; }
.chat-markdown table { border-collapse: collapse; width: 100%; font-size: inherit; }
.chat-markdown th, .chat-markdown td { border: 1px solid var(--line); padding: 8px 12px; text-align: left; min-width: 90px; }
.chat-markdown th { background: var(--raised); font-weight: 700; }
.chat-markdown hr { border: 0; border-top: 1px solid var(--line); margin: 1em 0; }
