.mermaid{display:flex;justify-content:center;margin:2rem 0;width:100%}.mermaid svg{max-width:100%;height:auto;background:linear-gradient(145deg,#ffffffe6,#f8fafccc);border-radius:24px;padding:3rem;backdrop-filter:blur(20px);box-shadow:0 20px 40px #0000001a,0 8px 16px #0000000d,inset 0 1px #fff9;border:1px solid rgba(255,255,255,.8);overflow:visible;position:relative}.mermaid svg:before{content:"";position:absolute;inset:0;border-radius:24px;background:linear-gradient(145deg,#fff6,#ffffff1a);pointer-events:none;z-index:-1}.mermaid .node rect{fill:#fffffff2!important;stroke:#94a3b866!important;stroke-width:1.5px!important;rx:20px!important;ry:20px!important;filter:drop-shadow(0 4px 12px rgba(0,0,0,.08));transition:all .3s ease!important}.mermaid .node circle{fill:#fffffff2!important;stroke:#94a3b866!important;stroke-width:2px!important;filter:drop-shadow(0 4px 12px rgba(0,0,0,.08));transition:all .3s ease!important}.mermaid .node:nth-child(1) rect{fill:#eff6ffcc!important;stroke:#3b82f633!important}.mermaid .node:nth-child(2) rect{fill:#f0fdfacc!important;stroke:#10b98133!important}.mermaid .node:nth-child(4) rect{fill:#fef3c7cc!important;stroke:#f59e0b33!important}.mermaid text,.mermaid .label text,.mermaid .node text,.mermaid .nodeLabel text,.mermaid tspan{fill:#334155!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-size:15px!important;font-weight:600!important;text-anchor:middle!important;dominant-baseline:central!important;text-align:center!important}.mermaid foreignObject{overflow:visible!important;text-align:center!important}.mermaid foreignObject div,.mermaid foreignObject div *,.mermaid .nodeLabel,.mermaid .nodeLabel *,.mermaid .label div,.mermaid .label div *{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-size:15px!important;font-weight:600!important;color:#334155!important;line-height:1.3!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important}.mermaid .label,.mermaid .nodeLabel,.mermaid .node .label,.mermaid .node .nodeLabel{text-align:center!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important}.mermaid .label text,.mermaid .nodeLabel text,.mermaid .node .label text,.mermaid .node .nodeLabel text{text-anchor:middle!important;dominant-baseline:central!important;text-align:center!important}.mermaid p,.mermaid span,.mermaid div p,.mermaid div span{text-align:center!important;width:100%!important;margin:0!important;padding:0!important;display:block!important}.mermaid .edgePath path{stroke:#94a3b899!important;stroke-width:2px!important;stroke-linecap:round!important;stroke-linejoin:round!important;transition:all .3s ease!important}.mermaid .arrowheadPath{fill:#94a3b8b3!important;stroke:#94a3b8b3!important;stroke-width:1px!important}.mermaid .edgeLabel{text-align:center!important}.mermaid .edgeLabel rect{fill:#fffffff2!important;stroke:#94a3b84d!important;stroke-width:1px!important;rx:12px!important;ry:12px!important;filter:drop-shadow(0 2px 8px rgba(0,0,0,.06))}.mermaid .edgeLabel text{fill:#475569!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-size:13px!important;font-weight:600!important;text-anchor:middle!important;dominant-baseline:central!important}.mermaid .node{transition:all .3s ease!important;cursor:default!important}.mermaid .node:hover rect{transform:translateY(-2px);filter:drop-shadow(0 8px 20px rgba(0,0,0,.12))!important}.mermaid .node:hover circle{transform:translateY(-2px);filter:drop-shadow(0 8px 20px rgba(0,0,0,.12))!important}@media (max-width: 768px){.mermaid{margin:1.5rem 0;width:100%}.mermaid svg{padding:2rem;border-radius:20px;min-width:0;width:100%}.mermaid text,.mermaid .label text,.mermaid .nodeLabel text,.mermaid tspan{font-size:14px!important;font-weight:600!important}.mermaid foreignObject div,.mermaid .nodeLabel{font-size:14px!important;font-weight:600!important}.mermaid .edgeLabel text{font-size:12px!important;font-weight:600!important}.mermaid .node rect{rx:16px!important;ry:16px!important}}@media (max-width: 480px){.mermaid svg{padding:1.5rem;border-radius:16px}.mermaid text,.mermaid .label text,.mermaid .nodeLabel text,.mermaid tspan{font-size:13px!important}.mermaid foreignObject div,.mermaid .nodeLabel{font-size:13px!important}.mermaid .edgeLabel text{font-size:11px!important}}.mermaid,.mermaid *,.mermaid svg,.mermaid g,.mermaid foreignObject,.mermaid .label,.mermaid .nodeLabel{overflow:visible!important;clip-path:none!important;clip:none!important;max-width:none!important;white-space:nowrap!important}@media (max-width: 1024px){.mermaid{margin:2rem auto;max-width:100%}}@keyframes mermaid-fade-in{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.mermaid svg{animation:mermaid-fade-in .8s ease-out}
