pre.mermaid.no-code-style{display:flex;justify-content:center;background:0 0!important;border:none!important;box-shadow:none!important;padding:0!important;margin:2em 0!important}.mermaid{display:inline-block;max-width:100%;overflow-x:auto}:root{--mermaid-theme-bg:var(--background, #18181a);--mermaid-theme-accent:var(--accent, #00ffae);--mermaid-theme-text:#fff}.mermaid .node rect,.mermaid .node circle,.mermaid .node ellipse,.mermaid .node polygon,.mermaid .entityBox,.mermaid .basic.label-container,.mermaid .row-rect-odd path,.mermaid .pieCircle,.mermaid .pieOuterCircle{fill:var(--mermaid-theme-bg)!important;stroke:var(--mermaid-theme-accent)!important;stroke-width:2px!important}.mermaid .nodeLabel,.mermaid .nodeLabel p,.mermaid .label text,.mermaid .label,.mermaid .edgeLabel,.mermaid .edgeLabel p,.mermaid .pieTitleText,.mermaid .slice,.mermaid .legend text,.mermaid .classTitleText,.mermaid .titleText,.mermaid .taskText,.mermaid .sectionTitle,.mermaid .messageText,.mermaid .actor-box,.mermaid .labelText,.mermaid .loopText{fill:var(--mermaid-theme-text)!important;color:var(--mermaid-theme-text)!important;stroke:none!important;background:0 0!important;font-size:1em!important;font-weight:500!important;letter-spacing:normal!important;word-break:normal!important;white-space:pre-line!important}.mermaid .edgeLabel,.mermaid .edgeLabel p,.mermaid .edgeLabel rect,.mermaid .labelBkg,.mermaid .relationshipLabelBox,.mermaid .label-container,.mermaid .row-rect-odd path{background:0 0!important;fill:none!important;stroke:none!important;opacity:1!important}.mermaid .edgePath path,.mermaid .flowchart-link,.mermaid .arrowheadPath,.mermaid .marker,.mermaid .relation,.mermaid .divider,.mermaid .transition,.mermaid .relationshipLine{stroke:var(--mermaid-theme-accent)!important;fill:var(--mermaid-theme-accent)!important;color:var(--mermaid-theme-accent)!important}.mermaid .flowchart-link,.mermaid .edgePath path{stroke-width:2px!important;stroke-linecap:round!important;stroke-linejoin:round!important}.mermaid .cluster rect{fill:var(--mermaid-theme-bg)!important;stroke:var(--mermaid-theme-accent)!important}.mermaid .node,.mermaid .label{background:0 0!important}.mermaid foreignobject div,.mermaid foreignobject span,.mermaid foreignobject p{background:0 0!important}.mermaid .error,.mermaid .label,.mermaid .edgeLabel{max-width:400px;min-width:0;width:auto!important;overflow-wrap:break-word!important;white-space:pre-line!important;text-align:center!important;margin:0 auto!important;padding:.2em .5em!important;border-radius:4px!important}.mermaid .error{color:#fff!important;background:#d32f2f!important;border:1px solid #d32f2f!important;font-size:1em!important;font-weight:600!important}.mermaid .actor,.mermaid .actor.actor-top,.mermaid .actor.actor-bottom{fill:var(--mermaid-theme-bg)!important;stroke:var(--mermaid-theme-accent)!important}.mermaid .actor-box,.mermaid .actor text,.mermaid .actor tspan{fill:var(--mermaid-theme-text)!important;color:var(--mermaid-theme-text)!important}.mermaid .actor-line{stroke:var(--mermaid-theme-accent)!important}.mermaid .messageLine0,.mermaid .messageLine1,.mermaid .messageLine2,.mermaid .messageLine3{stroke:var(--mermaid-theme-accent)!important;fill:none!important}.mermaid .messageText,.mermaid .labelText,.mermaid .loopText{fill:var(--mermaid-theme-text)!important;color:var(--mermaid-theme-text)!important}.mermaid .labelBox{fill:var(--mermaid-theme-bg)!important;stroke:var(--mermaid-theme-accent)!important}.mermaid .marker,.mermaid .arrowheadPath{fill:var(--mermaid-theme-accent)!important;stroke:var(--mermaid-theme-accent)!important}.mermaid marker path,.mermaid marker polygon,.mermaid marker line,.mermaid marker{fill:var(--mermaid-theme-accent)!important;stroke:var(--mermaid-theme-accent)!important}.mermaid path,.mermaid polyline,.mermaid line{marker-end:url(#arrowhead)!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-width:2px!important}.mermaid .arrowheadPath{stroke-width:2px!important;stroke-linecap:round!important;stroke-linejoin:round!important}.mermaid .flowchart-label,.mermaid .flowchart-label text,.mermaid .flowchart-label tspan{fill:var(--mermaid-theme-text)!important;color:var(--mermaid-theme-text)!important;background:0 0!important;font-size:1em!important;font-weight:500!important;white-space:pre-line!important}.mermaid .flowchart-link,.mermaid .edgePath path{stroke:var(--mermaid-theme-accent)!important;stroke-width:2px!important;stroke-linecap:round!important;stroke-linejoin:round!important;fill:none!important}.mermaid .node rect,.mermaid .node polygon,.mermaid .node ellipse,.mermaid .node circle{fill:var(--mermaid-theme-bg)!important;stroke:var(--mermaid-theme-accent)!important;stroke-width:2px!important;rx:6px!important;ry:6px!important}.mermaid .node,.mermaid .nodeLabel,.mermaid .nodeLabel p{background:0 0!important;fill:var(--mermaid-theme-text)!important;color:var(--mermaid-theme-text)!important;font-size:1em!important;font-weight:500!important;white-space:pre-line!important}.mermaid .cluster rect{fill:var(--mermaid-theme-bg)!important;stroke:var(--mermaid-theme-accent)!important;stroke-width:2px!important}.mermaid .labelBkg,.mermaid .relationshipLabelBox,.mermaid .label-container{background:0 0!important;fill:none!important;stroke:none!important}.mermaid svg{max-width:100%!important;height:auto!important;display:block;margin:0 auto}.mermaid .note,.mermaid .noteText,.mermaid .noteText tspan{fill:var(--mermaid-theme-text)!important;color:var(--mermaid-theme-text)!important;background:0 0!important}.mermaid .note{fill:var(--mermaid-theme-bg)!important;stroke:var(--mermaid-theme-accent)!important;stroke-width:2px!important;rx:6px!important;ry:6px!important;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}.mermaid .state-start,.mermaid .state-end,.mermaid .state,.mermaid .stateLabel,.mermaid .stateLabel text,.mermaid .stateLabel tspan{fill:var(--mermaid-theme-text)!important;color:var(--mermaid-theme-text)!important;background:0 0!important;font-size:1em!important;font-weight:500!important;white-space:pre-line!important}.mermaid .state-transition,.mermaid .stateDiagram-v2 .edgePath path,.mermaid .stateDiagram-v2 .transition{stroke:var(--mermaid-theme-accent)!important;stroke-width:2px!important;stroke-linecap:round!important;stroke-linejoin:round!important;fill:none!important}