#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 .label { font-family: Rajdhani, system-ui, sans-serif; color: rgb(15, 23, 42); }
#docs-mermaid-1 .cluster-label text { fill: rgb(15, 23, 42); }
#docs-mermaid-1 .cluster-label span { color: rgb(15, 23, 42); }
#docs-mermaid-1 .cluster-label span p { background-color: transparent; }
#docs-mermaid-1 .label text, #docs-mermaid-1 span { fill: rgb(15, 23, 42); color: rgb(15, 23, 42); }
#docs-mermaid-1 .node rect, #docs-mermaid-1 .node circle, #docs-mermaid-1 .node ellipse, #docs-mermaid-1 .node polygon, #docs-mermaid-1 .node path { fill: rgb(255, 255, 255); stroke: rgb(124, 58, 237); stroke-width: 1px; }
#docs-mermaid-1 .rough-node .label text, #docs-mermaid-1 .node .label text, #docs-mermaid-1 .image-shape .label, #docs-mermaid-1 .icon-shape .label { text-anchor: middle; }
#docs-mermaid-1 .node .katex path { fill: rgb(0, 0, 0); stroke: rgb(0, 0, 0); stroke-width: 1px; }
#docs-mermaid-1 .rough-node .label, #docs-mermaid-1 .node .label, #docs-mermaid-1 .image-shape .label, #docs-mermaid-1 .icon-shape .label { text-align: center; }
#docs-mermaid-1 .node.clickable { cursor: pointer; }
#docs-mermaid-1 .root .anchor path { stroke-width: 0; stroke: rgb(71, 85, 105); fill: rgb(71, 85, 105) !important; }
#docs-mermaid-1 .arrowheadPath { fill: rgba(255, 255, 255, 0); }
#docs-mermaid-1 .edgePath .path { stroke: rgb(71, 85, 105); stroke-width: 1px; }
#docs-mermaid-1 .flowchart-link { stroke: rgb(71, 85, 105); fill: none; }
#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 .labelBkg { background-color: rgba(241, 245, 249, 0.5); }
#docs-mermaid-1 .cluster rect { fill: transparent; stroke: rgb(215, 224, 235); stroke-width: 1px; }
#docs-mermaid-1 .cluster text { fill: rgb(15, 23, 42); }
#docs-mermaid-1 .cluster span { color: rgb(15, 23, 42); }
#docs-mermaid-1 div.mermaidTooltip { position: absolute; text-align: center; max-width: 200px; padding: 2px; font-family: Rajdhani, system-ui, sans-serif; font-size: 12px; background: rgb(241, 245, 249); border: 1px solid rgb(215, 224, 235); border-radius: 2px; pointer-events: none; z-index: 100; }
#docs-mermaid-1 .flowchartTitleText { text-anchor: middle; font-size: 18px; fill: rgb(15, 23, 42); }
#docs-mermaid-1 rect.text { fill: none; stroke-width: 0; }
#docs-mermaid-1 .icon-shape, #docs-mermaid-1 .image-shape { background-color: rgb(241, 245, 249); text-align: center; }
#docs-mermaid-1 .icon-shape p, #docs-mermaid-1 .image-shape p { background-color: rgb(241, 245, 249); padding: 2px; }
#docs-mermaid-1 .icon-shape .label rect, #docs-mermaid-1 .image-shape .label rect { opacity: 0.5; background-color: rgb(241, 245, 249); fill: rgb(241, 245, 249); }
#docs-mermaid-1 .label-icon { display: inline-block; height: 1em; overflow: visible; vertical-align: -0.125em; }
#docs-mermaid-1 .node .label-icon path { fill: currentcolor; stroke: revert; stroke-width: revert; }
#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; }
