/* Mermaid diagrams (mermaid_view.js) */
.mmd{margin:var(--sp-3) 0;border:1px solid var(--line);border-radius:var(--r12);background:var(--bg);overflow:hidden;max-width:100%}
.mmd-bar{display:flex;align-items:center;gap:var(--sp-h);padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--line-soft);background:var(--bg-2)}
.mmd-gap{flex:1}
.mmd-b{all:unset;box-sizing:border-box;display:grid;place-items:center;width:26px;height:26px;border-radius:var(--r8);color:var(--fg-3);cursor:pointer}
.mmd-b:hover{background:var(--bg-3);color:var(--fg)}
.mmd-b:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.mmd-b.on{background:var(--accent-soft);color:var(--accent-deep)}
.mmd-b .i{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mmd-view{position:relative;overflow:hidden;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;min-height:60px;background:var(--bg)}
.mmd-view.drag{cursor:grabbing}
.mmd-view>svg{position:absolute;left:0;top:0;transform-origin:0 0;max-width:none!important;display:block}
.mmd-view .mmd-link{cursor:pointer}
.mmd-view .mmd-link:hover>:is(rect,polygon,circle,ellipse,path),.mmd-view .mmd-link:focus-visible>:is(rect,polygon,circle,ellipse,path){stroke:var(--accent)!important;stroke-width:2px!important}
.mmd-view .mmd-link:focus{outline:none}
.mmd-src{display:none;margin:0!important;border:0!important;border-top:1px solid var(--line-soft)!important;border-radius:0!important;max-height:320px;overflow:auto;padding:var(--sp-3);font:var(--fs-2)/1.5 var(--mono);background:var(--bg-2);white-space:pre}
.mmd-src.on{display:block}
.mmd-msg{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3);font-size:var(--fs-3);color:var(--fg-3)}
.mmd.err .mmd-msg b{color:var(--err);font-weight:600}
.mmd.err .mmd-msg span{font:var(--fs-2)/1.5 var(--mono);white-space:pre-wrap;color:var(--fg-2)}
.mmd-ov{position:fixed;inset:0;z-index:80;background:var(--bg);display:flex;flex-direction:column}
.mmd-ov .mmd-bar{padding:var(--sp-2) var(--sp-3)}
.mmd-ov .mmd-view{flex:1}
