#docs-mermaid-1 { font-family: Rajdhani, system-ui, sans-serif; font-size: 15px; fill: rgb(15, 23, 42); }
@keyframes edge-animation-frame { 
  0% { stroke-dashoffset: 0; }
}
@keyframes dash { 
  100% { stroke-dashoffset: 0; }
}
#docs-mermaid-1 .edge-animation-slow { stroke-dashoffset: 900; animation: 50s linear 0s infinite normal none running dash; stroke-linecap: round; stroke-dasharray: 9, 5 !important; }
#docs-mermaid-1 .edge-animation-fast { stroke-dashoffset: 900; animation: 20s linear 0s infinite normal none running dash; stroke-linecap: round; stroke-dasharray: 9, 5 !important; }
#docs-mermaid-1 .error-icon { fill: rgb(241, 245, 249); }
#docs-mermaid-1 .error-text { fill: rgb(71, 85, 105); stroke: rgb(71, 85, 105); }
#docs-mermaid-1 .edge-thickness-normal { stroke-width: 1px; }
#docs-mermaid-1 .edge-thickness-thick { stroke-width: 3.5px; }
#docs-mermaid-1 .edge-pattern-solid { stroke-dasharray: 0; }
#docs-mermaid-1 .edge-thickness-invisible { stroke-width: 0; fill: none; }
#docs-mermaid-1 .edge-pattern-dashed { stroke-dasharray: 3; }
#docs-mermaid-1 .edge-pattern-dotted { stroke-dasharray: 2; }
#docs-mermaid-1 .marker { fill: rgb(71, 85, 105); stroke: rgb(71, 85, 105); }
#docs-mermaid-1 .marker.cross { stroke: rgb(71, 85, 105); }
#docs-mermaid-1 svg { font-family: Rajdhani, system-ui, sans-serif; font-size: 15px; }
#docs-mermaid-1 p { margin: 0px; }
#docs-mermaid-1 defs [id$="-barbEnd"] { fill: rgb(71, 85, 105); stroke: rgb(71, 85, 105); }
#docs-mermaid-1 g.stateGroup text { fill: rgb(124, 58, 237); stroke: none; font-size: 10px; }
#docs-mermaid-1 g.stateGroup text { fill: rgb(15, 23, 42); stroke: none; font-size: 10px; }
#docs-mermaid-1 g.stateGroup .state-title { font-weight: bolder; fill: rgb(15, 23, 42); }
#docs-mermaid-1 g.stateGroup rect { fill: rgb(255, 255, 255); stroke: rgb(124, 58, 237); }
#docs-mermaid-1 g.stateGroup line { stroke: rgb(71, 85, 105); stroke-width: 1; }
#docs-mermaid-1 .transition { stroke: rgb(71, 85, 105); stroke-width: 1; fill: none; }
#docs-mermaid-1 .stateGroup .composit { fill: transparent; border-bottom: 1px; }
#docs-mermaid-1 .stateGroup .alt-composit { fill: rgb(224, 224, 224); border-bottom: 1px; }
#docs-mermaid-1 .state-note { stroke: rgb(215, 224, 235); fill: rgb(241, 245, 249); }
#docs-mermaid-1 .state-note text { fill: rgb(71, 85, 105); stroke: none; font-size: 10px; }
#docs-mermaid-1 .stateLabel .box { stroke: none; stroke-width: 0; fill: rgb(255, 255, 255); opacity: 0.5; }
#docs-mermaid-1 .edgeLabel .label rect { fill: rgb(255, 255, 255); opacity: 0.5; }
#docs-mermaid-1 .edgeLabel { background-color: rgb(241, 245, 249); text-align: center; }
#docs-mermaid-1 .edgeLabel p { background-color: rgb(241, 245, 249); }
#docs-mermaid-1 .edgeLabel rect { opacity: 0.5; background-color: rgb(241, 245, 249); fill: rgb(241, 245, 249); }
#docs-mermaid-1 .edgeLabel .label text { fill: rgb(15, 23, 42); }
#docs-mermaid-1 .label div .edgeLabel { color: rgb(15, 23, 42); }
#docs-mermaid-1 .stateLabel text { fill: rgb(15, 23, 42); font-size: 10px; font-weight: bold; }
#docs-mermaid-1 .node circle.state-start { fill: rgb(71, 85, 105); stroke: rgb(71, 85, 105); }
#docs-mermaid-1 .node .fork-join { fill: rgb(71, 85, 105); stroke: rgb(71, 85, 105); }
#docs-mermaid-1 .node circle.state-end { fill: rgb(124, 58, 237); stroke: transparent; stroke-width: 1.5; }
#docs-mermaid-1 .end-state-inner { fill: transparent; stroke-width: 1.5; }
#docs-mermaid-1 .node rect { fill: rgb(255, 255, 255); stroke: rgb(124, 58, 237); stroke-width: 1px; }
#docs-mermaid-1 .node polygon { fill: rgb(255, 255, 255); stroke: rgb(124, 58, 237); stroke-width: 1px; }
#docs-mermaid-1 [id$="-barbEnd"] { fill: rgb(71, 85, 105); }
#docs-mermaid-1 .statediagram-cluster rect { fill: rgb(255, 255, 255); stroke: rgb(124, 58, 237); stroke-width: 1px; }
#docs-mermaid-1 .cluster-label, #docs-mermaid-1 .nodeLabel { color: rgb(15, 23, 42); }
#docs-mermaid-1 .statediagram-cluster rect.outer { rx: 5px; ry: 5px; }
#docs-mermaid-1 .statediagram-state .divider { stroke: rgb(124, 58, 237); }
#docs-mermaid-1 .statediagram-state .title-state { rx: 5px; ry: 5px; }
#docs-mermaid-1 .statediagram-cluster.statediagram-cluster .inner { fill: transparent; }
#docs-mermaid-1 .statediagram-cluster.statediagram-cluster-alt .inner { fill: rgb(241, 245, 249); }
#docs-mermaid-1 .statediagram-cluster .inner { rx: 0; ry: 0; }
#docs-mermaid-1 .statediagram-state rect.basic { rx: 5px; ry: 5px; }
#docs-mermaid-1 .statediagram-state rect.divider { stroke-dasharray: 10, 10; fill: rgb(241, 245, 249); }
#docs-mermaid-1 .note-edge { stroke-dasharray: 5; }
#docs-mermaid-1 .statediagram-note rect { fill: rgb(241, 245, 249); stroke: rgb(215, 224, 235); stroke-width: 1px; rx: 0; ry: 0; }
#docs-mermaid-1 .statediagram-note rect { fill: rgb(241, 245, 249); stroke: rgb(215, 224, 235); stroke-width: 1px; rx: 0; ry: 0; }
#docs-mermaid-1 .statediagram-note text { fill: rgb(71, 85, 105); }
#docs-mermaid-1 .statediagram-note .nodeLabel { color: rgb(71, 85, 105); }
#docs-mermaid-1 .statediagram .edgeLabel { color: red; }
#docs-mermaid-1 [id$="-dependencyStart"], #docs-mermaid-1 [id$="-dependencyEnd"] { fill: rgb(71, 85, 105); stroke: rgb(71, 85, 105); stroke-width: 1; }
#docs-mermaid-1 .statediagramTitleText { text-anchor: middle; font-size: 18px; fill: rgb(15, 23, 42); }
#docs-mermaid-1 [data-look="neo"].statediagram-cluster rect { fill: rgb(255, 255, 255); stroke: url("#docs-mermaid-1-gradient"); stroke-width: 1; }
#docs-mermaid-1 [data-look="neo"].statediagram-cluster rect.outer { rx: 5px; ry: 5px; filter: drop-shadow(rgb(185, 185, 185) 1px 2px 2px); }
#docs-mermaid-1 .node .neo-node { stroke: rgb(124, 58, 237); }
#docs-mermaid-1 [data-look="neo"].node rect, #docs-mermaid-1 [data-look="neo"].cluster rect, #docs-mermaid-1 [data-look="neo"].node polygon { stroke: url("#docs-mermaid-1-gradient"); filter: drop-shadow(rgb(185, 185, 185) 1px 2px 2px); }
#docs-mermaid-1 [data-look="neo"].swimlane.cluster rect { filter: none; }
#docs-mermaid-1 [data-look="neo"].node path { stroke: url("#docs-mermaid-1-gradient"); stroke-width: 1px; }
#docs-mermaid-1 [data-look="neo"].node .outer-path { filter: drop-shadow(rgb(185, 185, 185) 1px 2px 2px); }
#docs-mermaid-1 [data-look="neo"].node .neo-line path { stroke: rgb(124, 58, 237); filter: none; }
#docs-mermaid-1 [data-look="neo"].node circle { stroke: url("#docs-mermaid-1-gradient"); filter: drop-shadow(rgb(185, 185, 185) 1px 2px 2px); }
#docs-mermaid-1 [data-look="neo"].node circle .state-start { fill: rgb(0, 0, 0); }
#docs-mermaid-1 [data-look="neo"].icon-shape .icon { fill: url("#docs-mermaid-1-gradient"); filter: drop-shadow(rgb(185, 185, 185) 1px 2px 2px); }
#docs-mermaid-1 [data-look="neo"].icon-shape .icon-neo path { stroke: url("#docs-mermaid-1-gradient"); filter: drop-shadow(rgb(185, 185, 185) 1px 2px 2px); }
#docs-mermaid-1 :root { --mermaid-font-family: 'Rajdhani',system-ui,sans-serif; }
