.mermaid-viewer-overlay{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:9999;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;overflow:hidden}.mermaid-viewer-pane{background-color:var(--color-bg-code-light);border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,.2);width:90vw;height:90vh;height:90dvh;display:flex;flex-direction:column;overflow:hidden}.dark .mermaid-viewer-pane{background-color:var(--color-bg-code-dark)}.mermaid-viewer-toolbar{display:grid;grid-template-columns:repeat(4,36px);grid-gap:4px;padding:8px;background-color:var(--color-bg-code-light);border-bottom:1px solid var(--color-border-light);align-self:flex-end;z-index:10}.dark .mermaid-viewer-toolbar{background-color:var(--color-bg-code-dark);border-bottom-color:var(--color-border-dark)}.mermaid-viewer-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--color-border-light);border-radius:6px;background-color:transparent;color:var(--color-text-secondary-light);font-size:16px;line-height:1;cursor:pointer;user-select:none;pointer-events:all;transition:background-color 200ms ease,color 200ms ease,border-color 200ms ease}.mermaid-viewer-btn svg{display:block;flex-shrink:0;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dark .mermaid-viewer-btn{border-color:var(--color-border-dark);color:var(--color-text-secondary-dark)}.mermaid-viewer-btn:hover{background-color:var(--color-bg-hover-light)}.dark .mermaid-viewer-btn:hover{background-color:var(--color-bg-hover-active-dark)}.mermaid-viewer-btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.dark .mermaid-viewer-btn:focus-visible{outline-color:var(--color-brand-dark)}.mermaid-viewer-close:hover{background-color:var(--color-error-bg-light);border-color:var(--color-error-border-light);color:var(--color-error-text-light)}.dark .mermaid-viewer-close:hover{background-color:var(--color-error-bg-dark);border-color:var(--color-error-border-dark);color:var(--color-error-text-dark)}.mermaid-viewer-svg-wrapper{flex:1;overflow:hidden;position:relative;cursor:grab}.mermaid-viewer-svg-wrapper:active{cursor:grabbing}.mermaid-viewer-minimap{position:absolute;bottom:12px;right:12px;width:200px;height:130px;border-radius:8px;background-color:var(--color-bg-code-light);border:1px solid var(--color-border-light);overflow:hidden;z-index:10}.dark .mermaid-viewer-minimap{background-color:var(--color-bg-code-dark);border-color:var(--color-border-dark)}.mermaid-viewer-minimap svg{width:100%;height:100%;pointer-events:none}.mermaid-viewer-minimap rect{pointer-events:none}@media(max-width:768px){.mermaid-viewer-minimap{width:160px;height:100px}}.mermaid-viewer-svg-wrapper svg{image-rendering:crisp-edges;shape-rendering:geometricPrecision}pre.mermaid>svg .node.mermaid-node-highlighted :is(rect,circle,ellipse,polygon,path),.mermaid-viewer-svg-wrapper svg .node.mermaid-node-highlighted :is(rect,circle,ellipse,polygon,path){stroke:var(--color-brand)!important;stroke-width:2px!important}pre.mermaid>svg .node.mermaid-node-highlighted,.mermaid-viewer-svg-wrapper svg .node.mermaid-node-highlighted{filter:drop-shadow(1px 2px 3px var(--color-brand))!important}.dark pre.mermaid>svg .node.mermaid-node-highlighted :is(rect,circle,ellipse,polygon,path),.dark .mermaid-viewer-svg-wrapper svg .node.mermaid-node-highlighted :is(rect,circle,ellipse,polygon,path){stroke:var(--color-brand-dark)!important}.dark pre.mermaid>svg .node.mermaid-node-highlighted,.dark .mermaid-viewer-svg-wrapper svg .node.mermaid-node-highlighted{filter:drop-shadow(1px 2px 3px var(--color-brand-dark))!important}pre.mermaid:has(>svg){position:relative}pre.mermaid>svg{cursor:zoom-in}pre.mermaid:has(>svg)::after{content:'Click to expand';position:absolute;top:8px;right:8px;z-index:1;padding:4px 8px;border-radius:4px;background-color:var(--color-text-primary-light);color:var(--color-bg-code-light);font-size:.75rem;line-height:1.4;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 120ms ease}.dark pre.mermaid:has(>svg)::after{background-color:var(--color-text-primary-dark);color:var(--color-bg-code-dark)}pre.mermaid:has(>svg):hover::after,pre.mermaid:has(>svg):focus-within::after{opacity:.9;visibility:visible}pre.mermaid>svg:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.dark pre.mermaid>svg:focus-visible{outline-color:var(--color-brand-dark)}@media(max-width:480px){pre.mermaid:has(>svg)::after{top:6px;right:6px;padding:3px 6px;font-size:.7rem}}@media(prefers-reduced-motion:reduce){.mermaid-viewer-btn{transition:none}pre.mermaid:has(>svg)::after{transition:none}}