.vs-mermaid-canvas{position:relative;width:100%;min-height:180px;display:flex;align-items:center;justify-content:center}.vs-mermaid-canvas.is-ready{min-height:0;flex-direction:column;align-items:stretch}.vs-mermaid-svg{width:100%;display:flex;overflow-x:auto;overscroll-behavior-x:contain}.vs-mermaid-svg svg{max-width:100%;height:auto;display:block;margin:0 auto;flex:none;width:100%;min-width:var(--vs-mmd-min,0)}.vs-mermaid-svg.is-scrollable{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}.vs-mermaid-hint{align-self:flex-end;margin-top:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--vs-t3)}.vs-mermaid-skeleton{width:100%;height:220px;background:linear-gradient(90deg,var(--vs-well) 0,rgba(62,245,139,.06) 50%,var(--vs-well) 100%);background-size:200% 100%;animation:vs-mermaid-shimmer 1.6s ease-in-out infinite}@keyframes vs-mermaid-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.vs-mermaid-canvas.is-animated :is(.node,.cluster,.actor,.note,.section,.task,.pieCircle,.slice,.mindmap-node,.timeline-node){animation:vs-mermaid-fade .45s ease-out both}.vs-mermaid-canvas.is-animated :is(.edgePath,.flowchart-link,.messageLine0,.messageLine1,.edgeLabel,.edgeLabels){animation:vs-mermaid-fade .6s ease-out .3s both}.vs-mermaid-canvas.is-animated .node:nth-child(2){animation-delay:.05s}.vs-mermaid-canvas.is-animated .node:nth-child(3){animation-delay:.1s}.vs-mermaid-canvas.is-animated .node:nth-child(4){animation-delay:.15s}.vs-mermaid-canvas.is-animated .node:nth-child(5){animation-delay:.2s}.vs-mermaid-canvas.is-animated .node:nth-child(6){animation-delay:.25s}.vs-mermaid-canvas.is-animated .node:nth-child(n+7){animation-delay:.3s}@keyframes vs-mermaid-fade{0%{opacity:0}to{opacity:1}}.vs-mermaid-svg .node :is(rect,circle,polygon,path,ellipse){transition:filter .2s,stroke-width .2s}.vs-mermaid-svg .node:hover :is(rect,circle,polygon,path,ellipse){filter:drop-shadow(0 0 6px rgba(62,245,139,.45));stroke-width:2px}.vs-mermaid-desc{margin:16px 0 0;font-family:var(--sans);font-size:.92rem;line-height:1.6;color:var(--vs-t2)}.vs-mermaid-error{margin:0;padding:28px 12px;text-align:center;font-family:var(--mono);font-size:12px;color:var(--vs-t3)}.vs-mermaid-tools{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin-top:16px}.vs-mermaid-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:1px solid var(--vs-line);background:hsla(0,0%,100%,.02);color:var(--vs-t2);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.vs-mermaid-btn:hover:not(:disabled){color:var(--vs-t1);border-color:var(--phosphor);background:rgba(62,245,139,.06)}.vs-mermaid-btn:focus-visible{outline:2px solid var(--phosphor);outline-offset:2px}.vs-mermaid-btn:disabled{opacity:.35;cursor:default}.vs-mermaid-overlay{position:fixed;inset:0;z-index:90;background:rgba(4,5,6,.86);backdrop-filter:blur(4px)}.vs-mermaid-dialog{position:fixed;z-index:91;inset:4vh 4vw;display:flex;flex-direction:column;background:var(--ink);border:1px solid var(--vs-line);box-shadow:0 30px 80px rgba(0,0,0,.6)}.vs-mermaid-dialog:focus{outline:none}.vs-mermaid-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--vs-line)}.vs-mermaid-dialog-title{margin:0;font-family:var(--sans);font-size:.95rem;font-weight:600;color:var(--vs-t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vs-mermaid-dialog-actions{display:flex;align-items:center;gap:6px;flex:none}.vs-mermaid-zoom{min-width:46px;text-align:center;font-family:var(--mono);font-size:11px;color:var(--vs-t2)}.vs-mermaid-dialog-body{flex:1;min-height:0;overflow:auto;padding:24px;display:flex}.vs-mermaid-dialog-svg{margin:auto;flex:none}.vs-mermaid-dialog-svg svg{width:100%!important;height:100%!important;max-width:none!important}@media (max-width:640px){.vs-mermaid-dialog{inset:0;border:none}.vs-mermaid-dialog-body{padding:12px}}@media (prefers-reduced-motion:reduce){.vs-mermaid-skeleton{animation:none}}