/* М.Круг — Markdown в сообщениях (public/markdown.js) и панель форматирования (public/markdown-ui.js) */
.md{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;max-width:100%}
.md>*{margin:0}
.md>*+*{margin-top:6px}
.message .md>p:first-child{margin-top:3px}
.md p{margin:0}
.md p+p{margin-top:6px}
.md .md-h{margin:8px 0 2px;line-height:1.25;font-weight:750;color:var(--text)}
.md>.md-h:first-child{margin-top:3px}
.md h1.md-h{font-size:1.4em}.md h2.md-h{font-size:1.25em}.md h3.md-h{font-size:1.12em}
.md h4.md-h,.md h5.md-h,.md h6.md-h{font-size:1em}.md h6.md-h{color:var(--muted)}
.md strong{font-weight:750}
.md a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:2px}
.md a:hover{text-decoration-color:currentColor}
.md .md-mark{padding:0 2px;border-radius:3px;background:color-mix(in srgb,#e3b341 38%,transparent);color:inherit}
.md .md-hr{border:0;border-top:1px solid var(--border);margin:10px 0}
/* цитаты */
.md .md-quote{margin:4px 0;padding:3px 0 3px 11px;border-left:3px solid color-mix(in srgb,var(--muted) 70%,transparent);color:color-mix(in srgb,var(--text) 86%,var(--muted))}
.md .md-quote .md-quote{margin:4px 0 2px}
/* списки */
.md .md-list{margin:3px 0;padding-left:1.45em;white-space:normal}
.md .md-list li{white-space:pre-wrap;margin:1px 0}
.md .md-list li>.md-list{margin:1px 0}
.md ul.md-list{list-style:disc}.md ul.md-list ul.md-list{list-style:circle}.md ul.md-list ul.md-list ul.md-list{list-style:square}
.md ol.md-list{list-style:decimal}.md ol.md-list ol.md-list{list-style:lower-alpha}
.md li::marker{color:var(--muted)}
.md .md-list.md-tasks{padding-left:.2em}
.md li.md-task{list-style:none;display:flex;gap:8px;align-items:flex-start}
.md .md-task-text{min-width:0;flex:1}
.md .md-check{flex:none;width:15px;height:15px;margin-top:.2em;border:2px solid var(--muted);border-radius:4px;position:relative}
.md .md-check.on{background:var(--accent);border-color:var(--accent)}
.md .md-check.on::after{content:"";position:absolute;left:3.5px;top:0;width:4px;height:8px;border:solid var(--on-accent,#fff);border-width:0 2px 2px 0;transform:rotate(45deg)}
.md li.md-task.done>.md-task-text{color:var(--muted)}
/* код */
.message .md code.md-code,.md code.md-code{padding:1px 5px;border-radius:5px;background:color-mix(in srgb,var(--text) 9%,transparent);font:0.9em/1.4 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;white-space:pre-wrap}
.md .md-pre{position:relative;margin:4px 0;padding:9px 40px 9px 11px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--bg) 70%,transparent);max-width:min(720px,100%);overflow:hidden}
.md .md-pre[data-lang]{padding-top:26px}
.message .md .md-pre code.md-block,.md .md-pre code.md-block{display:block;margin:0;padding:0;border-radius:0;background:transparent;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;white-space:pre;overflow-x:auto;max-width:100%;tab-size:4;color:var(--text)}
.md .md-lang{position:absolute;left:11px;top:6px;font:600 11px/1.4 ui-monospace,Consolas,monospace;color:var(--muted);text-transform:lowercase;letter-spacing:.02em}
.md .md-copy{position:absolute;top:4px;right:4px;width:28px;height:28px;padding:0;display:grid;place-items:center;border-radius:7px;background:transparent;color:var(--muted);opacity:.55;transition:opacity .15s,background .15s}
.md .md-pre:hover .md-copy,.md .md-copy:focus-visible{opacity:1}
.md .md-copy:hover{background:var(--hover);color:var(--text)}
.md .md-copy.copied{color:var(--green);opacity:1}
.md .md-copy .ui-icon{width:15px;height:15px}
@media (hover:none){.md .md-copy{opacity:.85}}
/* таблицы */
.md .md-table-wrap{max-width:100%;overflow-x:auto;margin:4px 0;border:1px solid var(--border);border-radius:9px;width:fit-content}
.md .md-table{border-collapse:collapse;font-size:13.5px;white-space:normal}
.md .md-table th,.md .md-table td{padding:6px 11px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;white-space:pre-wrap;overflow-wrap:normal;word-break:normal;min-width:48px}
.md .md-table th+th,.md .md-table td+td{border-left:1px solid var(--border)}
.md .md-table tbody tr:last-child td{border-bottom:0}
.md .md-table th{font-weight:700;background:color-mix(in srgb,var(--text) 6%,transparent)}
.md .md-table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--text) 3%,transparent)}
/* картинки ![…](…) */
.md .md-image{display:inline-block;vertical-align:top;max-width:min(360px,100%);margin:2px 0;line-height:0;border-radius:9px;overflow:hidden;cursor:zoom-in;text-decoration:none}
.md .md-image img{display:block;max-width:100%;max-height:320px;object-fit:contain}
.md .md-image.broken{line-height:inherit;cursor:pointer;text-decoration:underline}
/* спойлер внутри блоков (основные правила — v32.css) */
.md .md-spoiler{padding:0 2px}
.md .md-spoiler:not(.open) .md-code,.md .md-spoiler:not(.open) a{background:transparent}
.md .md-spoiler:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

/* панель форматирования над полем ввода */
.md-toolbar{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);z-index:30;display:flex;gap:2px;padding:4px;border:1px solid var(--menu-line,var(--border));border-radius:11px;background:var(--menu,var(--surface));box-shadow:0 10px 28px rgba(0,0,0,.35);max-width:calc(100vw - 24px);overflow-x:auto;scrollbar-width:none}
.md-toolbar.hidden{display:none}
.md-toolbar button{flex:none;width:34px;height:32px;padding:0;display:grid;place-items:center;border-radius:8px;background:transparent;color:var(--text)}
.md-toolbar button:hover,.md-toolbar button:focus-visible{background:var(--hover)}
.md-toolbar .ui-icon{width:17px;height:17px}
.md-toolbar .md-glyph{font:700 15px/1 Georgia,"Times New Roman",serif}
.md-toolbar i.md-glyph{font-style:italic;font-weight:600}
.md-toolbar s.md-glyph{font-weight:600}
.md-toolbar button[data-md="help"]{margin-left:4px;position:relative}
.md-toolbar button[data-md="help"]::before{content:"";position:absolute;left:-3px;top:7px;bottom:7px;width:1px;background:var(--border)}
.md-toolbar button[data-md="help"] .md-glyph{font-family:inherit;color:var(--muted)}
@media(max-width:560px){.md-toolbar{left:8px;right:8px;transform:none;justify-content:space-between}.md-toolbar button{width:36px;height:36px}}

/* подсказка и предпросмотр */
#modal[data-kind="md-help"] .modal-card,#modal[data-kind="md-preview"] .modal-card{width:min(640px,calc(100vw - 32px))}
.md-help-note{color:var(--muted);font-size:13px;line-height:1.5}
.md-help-wrap{max-height:min(58vh,520px);overflow:auto;border:1px solid var(--border);border-radius:10px;margin:12px 0 4px}
.md-help{width:100%;border-collapse:collapse;font-size:13.5px}
.md-help th{position:sticky;top:0;background:var(--surface);text-align:left;padding:8px 12px;font-size:12px;color:var(--muted);font-weight:650;border-bottom:1px solid var(--border)}
.md-help td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:top}
.md-help tr:last-child td{border-bottom:0}
.md-help td:first-child{width:48%}
.md-help td.message{display:table-cell;padding:8px 12px;background:transparent;border-radius:0}
.md-help .md-src{display:block;white-space:pre-wrap;font:12.5px/1.45 ui-monospace,Consolas,monospace;color:var(--text)}
.md-help kbd{display:inline-block;margin-top:4px;padding:1px 6px;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;font:11px/1.5 ui-monospace,Consolas,monospace;color:var(--muted)}
.md-preview{display:block;margin:12px 0 4px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;max-height:60vh;overflow:auto}
.md-preview .message-body{min-width:0}
