.sp-mermaid{position:relative;margin:0;padding:clamp(20px,3vw,32px);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-2xl);overflow:hidden;--diagram-watermark: rgba(16, 24, 40, .045)}[data-theme=dark] .sp-mermaid{--diagram-watermark: rgba(249, 250, 251, .05)}.sp-mermaid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-color:var(--diagram-watermark);-webkit-mask-image:url(/images/sp-diagram-watermark-tile.svg);mask-image:url(/images/sp-diagram-watermark-tile.svg);-webkit-mask-repeat:repeat;mask-repeat:repeat;-webkit-mask-size:132px;mask-size:132px}.sp-mermaid-tools{position:absolute;top:10px;right:10px;z-index:2;display:flex;gap:6px}.sp-mermaid-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--gray-200);border-radius:8px;background:var(--white);color:var(--gray-500);cursor:pointer;opacity:.55;transition:opacity .15s ease,color .15s ease,border-color .15s ease}.sp-mermaid:hover .sp-mermaid-btn,.sp-mermaid-btn:focus-visible{opacity:1}.sp-mermaid-btn:hover{color:var(--brand-700);border-color:var(--brand-300)}.sp-mermaid-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,56px);background:color-mix(in srgb,var(--gray-950) 78%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sp-mermaid-modal-tools{position:absolute;top:12px;right:12px;z-index:2;display:flex;gap:8px}.sp-mermaid-modal-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--gray-200);border-radius:10px;background:var(--white);color:var(--gray-700);cursor:pointer;transition:color .15s ease,border-color .15s ease}.sp-mermaid-modal-btn:hover{color:var(--brand-700);border-color:var(--brand-300)}.sp-mermaid-modal-inner{position:relative;width:min(92vw,1400px);max-height:90vh;overflow:auto;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-2xl);padding:clamp(20px,3vw,40px);box-shadow:0 24px 60px #0f172a66;--diagram-watermark: rgba(16, 24, 40, .045)}[data-theme=dark] .sp-mermaid-modal-inner{--diagram-watermark: rgba(249, 250, 251, .05)}.sp-mermaid-modal-inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-color:var(--diagram-watermark);-webkit-mask-image:url(/images/sp-diagram-watermark-tile.svg);mask-image:url(/images/sp-diagram-watermark-tile.svg);-webkit-mask-repeat:repeat;mask-repeat:repeat;-webkit-mask-size:132px;mask-size:132px}.sp-mermaid-modal-svg,.sp-mermaid-modal-cap{position:relative;z-index:1}.sp-mermaid-modal-svg svg{width:100%;height:auto;display:block;margin:0 auto}.sp-mermaid-modal-cap{margin:16px 0 0;text-align:center;font-size:14px;color:var(--gray-500)}@media (prefers-reduced-motion: reduce){.sp-mermaid-modal{-webkit-backdrop-filter:none;backdrop-filter:none}}.sp-mermaid .sp-mermaid-svg{position:relative;z-index:1;overflow-x:auto}.sp-mermaid .sp-mermaid-cap{position:relative;z-index:1}.sp-mermaid svg{max-width:100%;height:auto;display:block;margin:0 auto;background:transparent}.sp-mermaid svg g.node rect,.sp-mermaid svg rect.actor,.sp-mermaid svg .actor>rect{rx:6px;ry:6px}:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.good .nodeLabel,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.good .nodeLabel *,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.good text{color:#14532d!important;fill:#14532d!important}:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.bad .nodeLabel,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.bad .nodeLabel *,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.bad text{color:#7f1d1d!important;fill:#7f1d1d!important}:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.warn .nodeLabel,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.warn .nodeLabel *,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.warn text{color:#78350f!important;fill:#78350f!important}:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.accent .nodeLabel,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.accent .nodeLabel *,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.accent text{color:#1e3a8a!important;fill:#1e3a8a!important}:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.outcome .nodeLabel,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.outcome .nodeLabel *,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.outcome text{color:#fff!important;fill:#fff!important}:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.endpoint .nodeLabel,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.endpoint .nodeLabel *,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.endpoint text{color:#e2e8f0!important;fill:#e2e8f0!important}:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.terminal .nodeLabel,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.terminal .nodeLabel *,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.terminal text{color:#dcfce7!important;fill:#dcfce7!important}:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.partial .nodeLabel,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.partial .nodeLabel *,:is(.sp-mermaid,.sp-mermaid-modal) svg g.node.partial text{color:#fef3c7!important;fill:#fef3c7!important}.sp-mermaid svg g.node{transition:translate .18s ease,filter .18s ease}.sp-mermaid svg g.node:hover{translate:0 -3px;filter:drop-shadow(0 2px 4px rgba(15,23,42,.06)) drop-shadow(0 14px 26px rgba(37,99,235,.28))}.sp-mermaid svg g.node:hover rect,.sp-mermaid svg g.node:hover path{stroke:#93c5fd}.sp-mermaid svg rect.actor{transition:filter .18s ease}.sp-mermaid svg rect.actor:hover{filter:drop-shadow(0 2px 4px rgba(15,23,42,.06)) drop-shadow(0 12px 22px rgba(37,99,235,.26));stroke:#93c5fd}@media (prefers-reduced-motion: reduce){.sp-mermaid svg g.node{transition:none}}.sp-mermaid-cap{margin-top:12px;text-align:center;font-size:13px;line-height:1.5;color:var(--gray-500)}.sp-mermaid-err{font-family:var(--font-mono);font-size:12px;color:#b91c1c}.sp-mermaid-src{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
