/* Markdown layout. Shared visual primitives live in app.css. */
.markdown-body { min-width:0; overflow-wrap:anywhere; color:var(--ink); }
.markdown-body>:first-child { margin-top:0; }
.markdown-body>:last-child { margin-bottom:0; }
.markdown-body p { color:inherit; line-height:1.85; margin:0 0 1em; }
.markdown-body h1 { font-size:var(--text-title); }
.markdown-body h2 { font-size:var(--text-heading); }
.markdown-body h3 { font-size:var(--text-subheading); }
.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4 { margin:1.4em 0 .6em; line-height:1.4; }
.markdown-body ul,.markdown-body ol { padding-left:1.6em; }
.markdown-body li { margin:.35em 0; }
.markdown-body blockquote { margin:1em 0; padding:var(--space-1) var(--space-4); border-left:3px solid var(--border-strong); background:var(--surface-soft); color:var(--muted); }
.markdown-body pre { max-width:100%; overflow:auto; background:var(--ink); color:var(--surface-soft); border-radius:var(--radius-control); padding:var(--space-4); font-size:var(--text-small); line-height:1.65; white-space:pre; }
.markdown-body code { font-family:ui-monospace,monospace; font-size:.9em; background:var(--surface-soft); padding:2px 5px; border-radius:var(--radius-small); }
.markdown-body pre code { background:none; color:inherit; padding:0; }
.markdown-body table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; margin:1em 0; }
.markdown-body th,.markdown-body td { padding:var(--space-2) var(--space-3); min-width:0; border:1px solid var(--line); }
.markdown-body hr { border:0; border-top:1px solid var(--line); margin:1.5em 0; }
.markdown-controls { display:flex; gap:var(--space-3); align-items:start; flex-wrap:wrap; margin-top:var(--space-2); }
.markdown-controls button { margin:0; padding:var(--space-2) var(--space-3); background:var(--surface-soft); color:var(--ink); font-size:var(--text-xs); }
.markdown-controls details { font-size:var(--text-xs); flex:1; min-width:160px; }
.markdown-controls summary { cursor:pointer; padding:var(--space-2) 0; color:var(--muted); }
.markdown-controls pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; background:var(--surface-soft); padding:var(--space-3); border-radius:var(--radius-control); }
.markdown-preview { padding:var(--space-4); border:1px solid var(--line); border-radius:var(--radius-control); margin-top:var(--space-3); background:var(--surface); }
.artifact-content { margin:var(--space-6) 0; line-height:1.85; }
.artifact-content:empty { display:none; }
.markdown-body .math.block { display:block; overflow-x:auto; max-width:100%; margin:1.2em 0; padding:var(--space-3) 2px; text-align:center; font-size:1.15em; }
.markdown-body .math.inline { font-size:1.05em; }
.markdown-body .math math { font-family:'LetsAI Math',math; }
.markdown-body .math-error { color:var(--danger); white-space:pre-wrap; overflow-wrap:anywhere; font-size:var(--text-small); }
.markdown-body .math.block math { min-width:max-content; }
@font-face { font-family:'LetsAI Math'; src:url('vendor/math/STIXTwoMath-Regular.ttf') format('truetype'); font-display:swap; }
.markdown-body pre.mermaid,.post-body pre.mermaid{display:block;margin:20px 0;padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px;text-align:center;overflow-x:auto;white-space:pre}.markdown-body pre.mermaid svg,.post-body pre.mermaid svg{max-width:100%;height:auto}@media(max-width:650px){.markdown-body pre.mermaid,.post-body pre.mermaid{padding:12px}}
