.mermaid-wrap{position:relative}.mermaid{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;overflow-x:auto;min-height:120px;cursor:zoom-in}.mermaid-zoom-btn{position:absolute;top:12px;right:12px;z-index:2;padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:12px;font-family:inherit;line-height:1.4;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease,color .15s ease,border-color .15s ease}.mermaid-wrap:hover .mermaid-zoom-btn,.mermaid-zoom-btn:focus-visible{opacity:1;pointer-events:auto}.mermaid-zoom-btn:hover{color:var(--text);border-color:var(--accent-from)}.mermaid-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(4,8,14,.85);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:24px}.mermaid-overlay-content{display:flex;flex-direction:column;width:95vw;height:85vh;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.mermaid-overlay-toolbar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.mermaid-overlay-btn{min-width:32px;padding:5px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text);font-size:13px;font-family:inherit;line-height:1.4;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.mermaid-overlay-btn:hover:not(:disabled){border-color:var(--accent-from);color:var(--accent-from)}.mermaid-overlay-btn:disabled{opacity:.4;cursor:not-allowed}.mermaid-overlay-btn-close{margin-left:auto}.mermaid-overlay-zoom{min-width:48px;text-align:center;font-family:var(--font-mono);font-size:12.5px;color:var(--text-muted)}.mermaid-overlay-body{flex:1 1;min-height:0;overflow:auto;padding:16px}.mermaid svg,.mermaid-overlay-svg svg{display:block;margin:0 auto}.mermaid svg{max-width:100%;height:auto}.mermaid-error{color:var(--accent-to);font-family:var(--font-mono);font-size:13px;margin-bottom:12px;overflow-wrap:anywhere}.mermaid-error-source{background:var(--code-bg);border:1px solid var(--code-border);border-radius:var(--radius-sm);padding:12px 16px;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;color:var(--text-muted);overflow-x:auto;white-space:pre}.mermaid-caption{margin-top:12px;text-align:center;font-size:13.5px;color:var(--text-muted)}