:root{--mermaid-bg:#fbfcfd;--mermaid-bg-soft:rgba(15, 118, 110, 0.06);--mermaid-border:rgba(15, 23, 42, 0.11);--mermaid-shadow:0 8px 24px rgba(15, 23, 42, 0.055);--mermaid-text:#1f2937;--mermaid-muted:#64748b;--mermaid-line:#64748b;--mermaid-node-bg:#ffffff;--mermaid-node-border:#0f766e;--mermaid-node-alt:#eff6ff;--mermaid-edge-label-bg:#f8fafc;--mermaid-cluster-bg:rgba(15, 118, 110, 0.055);--mermaid-cluster-border:rgba(15, 118, 110, 0.28);--mermaid-font:"Inter","Open Sans","PingFang SC","Microsoft YaHei",sans-serif}[data-theme=dark]{--mermaid-bg:#151a20;--mermaid-bg-soft:rgba(94, 234, 212, 0.08);--mermaid-border:rgba(226, 232, 240, 0.14);--mermaid-shadow:none;--mermaid-text:#dbe4ee;--mermaid-muted:#9aa7b5;--mermaid-line:#94a3b8;--mermaid-node-bg:#1d2530;--mermaid-node-border:#5eead4;--mermaid-node-alt:rgba(147, 197, 253, 0.12);--mermaid-edge-label-bg:#151a20;--mermaid-cluster-bg:rgba(94, 234, 212, 0.075);--mermaid-cluster-border:rgba(94, 234, 212, 0.28)}#article-container .mermaid-wrap{position:relative;margin:1.35rem 0 1.75rem;padding:18px 20px;max-height:min(76vh,760px);overflow:auto;border:1px solid var(--mermaid-border);border-radius:8px;background:linear-gradient(180deg,var(--mermaid-bg-soft),transparent 92px),var(--mermaid-bg);box-shadow:var(--mermaid-shadow);text-align:center;cursor:zoom-in;scrollbar-color:color-mix(in srgb,var(--mermaid-node-border) 38%,transparent) transparent;scrollbar-width:thin}#article-container .mermaid-wrap:focus-visible{outline:2px solid var(--mermaid-node-border);outline-offset:3px}#article-container .mermaid-wrap::-webkit-scrollbar{height:8px}#article-container .mermaid-wrap::-webkit-scrollbar-track{background:0 0}#article-container .mermaid-wrap::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--mermaid-node-border) 32%,transparent)}#article-container .mermaid-wrap>svg{display:block;max-width:100%!important;height:auto!important;margin:0 auto;color:var(--mermaid-text);font-family:var(--mermaid-font)!important}#article-container .mermaid-wrap>svg[width]{width:auto!important}#article-container .mermaid-wrap>svg[style*=max-width]{max-width:100%!important}#article-container .mermaid-wrap svg,#article-container .mermaid-wrap svg *{letter-spacing:0!important}#article-container .mermaid-wrap svg .cluster-label,#article-container .mermaid-wrap svg .edgeLabel,#article-container .mermaid-wrap svg .label,#article-container .mermaid-wrap svg .loopText,#article-container .mermaid-wrap svg .messageText,#article-container .mermaid-wrap svg .nodeLabel,#article-container .mermaid-wrap svg text,#article-container .mermaid-wrap svg text.actor{color:var(--mermaid-text)!important;fill:var(--mermaid-text)!important;font-family:var(--mermaid-font)!important;font-size:14px!important;line-height:1.45!important}#article-container .mermaid-wrap svg .node circle,#article-container .mermaid-wrap svg .node ellipse,#article-container .mermaid-wrap svg .node path,#article-container .mermaid-wrap svg .node polygon,#article-container .mermaid-wrap svg .node rect{fill:var(--mermaid-node-bg)!important;stroke:var(--mermaid-node-border)!important;stroke-width:1.3px!important}#article-container .mermaid-wrap svg .node.default circle,#article-container .mermaid-wrap svg .node.default ellipse,#article-container .mermaid-wrap svg .node.default path,#article-container .mermaid-wrap svg .node.default polygon,#article-container .mermaid-wrap svg .node.default rect{fill:var(--mermaid-node-alt)!important}#article-container .mermaid-wrap svg .edgePath .path,#article-container .mermaid-wrap svg .flowchart-link,#article-container .mermaid-wrap svg .messageLine0,#article-container .mermaid-wrap svg .messageLine1,#article-container .mermaid-wrap svg .relationshipLine,#article-container .mermaid-wrap svg .transition,#article-container .mermaid-wrap svg line{stroke:var(--mermaid-line)!important;stroke-width:1.4px!important}#article-container .mermaid-wrap svg .arrowheadPath,#article-container .mermaid-wrap svg marker path{fill:var(--mermaid-line)!important;stroke:var(--mermaid-line)!important}#article-container .mermaid-wrap svg .edgeLabel,#article-container .mermaid-wrap svg .edgeLabel p,#article-container .mermaid-wrap svg .labelBkg,#article-container .mermaid-wrap svg .labelBox{background:var(--mermaid-edge-label-bg)!important;fill:var(--mermaid-edge-label-bg)!important}#article-container .mermaid-wrap svg .cluster path,#article-container .mermaid-wrap svg .cluster polygon,#article-container .mermaid-wrap svg .cluster rect{fill:var(--mermaid-cluster-bg)!important;stroke:var(--mermaid-cluster-border)!important;stroke-width:1px!important}#article-container .mermaid-wrap svg .actor-bottom,#article-container .mermaid-wrap svg .actor-top,#article-container .mermaid-wrap svg path.actor,#article-container .mermaid-wrap svg rect.actor{fill:var(--mermaid-node-bg)!important;stroke:var(--mermaid-node-border)!important}#article-container .mermaid-wrap svg .activation0,#article-container .mermaid-wrap svg .activation1,#article-container .mermaid-wrap svg .activation2,#article-container .mermaid-wrap svg .loopLine,#article-container .mermaid-wrap svg .note{fill:var(--mermaid-node-alt)!important;stroke:var(--mermaid-cluster-border)!important}#article-container .mermaid-wrap svg .grid .tick text,#article-container .mermaid-wrap svg .section,#article-container .mermaid-wrap svg .task,#article-container .mermaid-wrap svg .taskText,#article-container .mermaid-wrap svg .today{color:var(--mermaid-text)!important;fill:var(--mermaid-text)!important}#article-container .mermaid-wrap svg .grid .tick line,#article-container .mermaid-wrap svg .grid path{stroke:color-mix(in srgb,var(--mermaid-line) 45%,transparent)!important}.fancybox__container{--fancybox-svg-bg:#fbfcfd;--fancybox-svg-bg-soft:rgba(15, 118, 110, 0.055);--fancybox-svg-border:rgba(226, 232, 240, 0.72);--fancybox-svg-shadow:0 18px 46px rgba(0, 0, 0, 0.22)}.fancybox__container img.f-panzoom__content:is([src^="data:image/svg+xml"],[src*=".svg"]){box-sizing:border-box;padding:clamp(12px,2vw,28px);border:1px solid var(--fancybox-svg-border);border-radius:8px;background:linear-gradient(180deg,var(--fancybox-svg-bg-soft),transparent 110px),var(--fancybox-svg-bg);box-shadow:var(--fancybox-svg-shadow)}.fancybox__container .f-thumbs img:is([src^="data:image/svg+xml"],[src*=".svg"]){padding:4px;background:var(--fancybox-svg-bg);object-fit:contain}@media (max-width:768px){#article-container .mermaid-wrap{margin-right:-2px;margin-left:-2px;padding:14px 12px}#article-container .mermaid-wrap svg .cluster-label,#article-container .mermaid-wrap svg .edgeLabel,#article-container .mermaid-wrap svg .label,#article-container .mermaid-wrap svg .loopText,#article-container .mermaid-wrap svg .messageText,#article-container .mermaid-wrap svg .nodeLabel,#article-container .mermaid-wrap svg text,#article-container .mermaid-wrap svg text.actor{font-size:13px!important}.fancybox__container img.f-panzoom__content:is([src^="data:image/svg+xml"],[src*=".svg"]){padding:12px}}