#docs-mermaid-2 { 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-2 .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-2 .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-2 .error-icon { fill: rgb(241, 245, 249); }
#docs-mermaid-2 .error-text { fill: rgb(71, 85, 105); stroke: rgb(71, 85, 105); }
#docs-mermaid-2 .edge-thickness-normal { stroke-width: 1px; }
#docs-mermaid-2 .edge-thickness-thick { stroke-width: 3.5px; }
#docs-mermaid-2 .edge-pattern-solid { stroke-dasharray: 0; }
#docs-mermaid-2 .edge-thickness-invisible { stroke-width: 0; fill: none; }
#docs-mermaid-2 .edge-pattern-dashed { stroke-dasharray: 3; }
#docs-mermaid-2 .edge-pattern-dotted { stroke-dasharray: 2; }
#docs-mermaid-2 .marker { fill: rgb(71, 85, 105); stroke: rgb(71, 85, 105); }
#docs-mermaid-2 .marker.cross { stroke: rgb(71, 85, 105); }
#docs-mermaid-2 svg { font-family: Rajdhani, system-ui, sans-serif; font-size: 15px; }
#docs-mermaid-2 p { margin: 0px; }
#docs-mermaid-2 .entityBox { fill: rgb(255, 255, 255); stroke: rgb(124, 58, 237); }
#docs-mermaid-2 .relationshipLabelBox { fill: rgb(241, 245, 249); opacity: 0.7; background-color: rgb(241, 245, 249); }
#docs-mermaid-2 .relationshipLabelBox rect { opacity: 0.5; }
#docs-mermaid-2 .labelBkg { background-color: rgba(241, 245, 249, 0.5); }
#docs-mermaid-2 .edgeLabel { background-color: rgb(241, 245, 249); }
#docs-mermaid-2 .edgeLabel .label rect { fill: rgb(241, 245, 249); }
#docs-mermaid-2 .edgeLabel .label text { fill: rgb(15, 23, 42); }
#docs-mermaid-2 .edgeLabel .label { fill: rgb(124, 58, 237); font-size: 14px; }
#docs-mermaid-2 .label { font-family: Rajdhani, system-ui, sans-serif; color: rgb(15, 23, 42); }
#docs-mermaid-2 .edge-pattern-dashed { stroke-dasharray: 8, 8; }
#docs-mermaid-2 .node rect, #docs-mermaid-2 .node circle, #docs-mermaid-2 .node ellipse, #docs-mermaid-2 .node polygon { fill: rgb(255, 255, 255); stroke: rgb(124, 58, 237); stroke-width: 1px; }
#docs-mermaid-2 .relationshipLine { stroke: rgb(71, 85, 105); stroke-width: 1px; fill: none; }
#docs-mermaid-2 .marker { stroke-width: 1; fill: none !important; stroke: rgb(71, 85, 105) !important; }
#docs-mermaid-2 [data-look="neo"].labelBkg { background-color: rgba(241, 245, 249, 0.5); }
#docs-mermaid-2 .node .neo-node { stroke: rgb(124, 58, 237); }
#docs-mermaid-2 [data-look="neo"].node rect, #docs-mermaid-2 [data-look="neo"].cluster rect, #docs-mermaid-2 [data-look="neo"].node polygon { stroke: url("#docs-mermaid-2-gradient"); filter: drop-shadow(rgb(185, 185, 185) 1px 2px 2px); }
#docs-mermaid-2 [data-look="neo"].swimlane.cluster rect { filter: none; }
#docs-mermaid-2 [data-look="neo"].node path { stroke: url("#docs-mermaid-2-gradient"); stroke-width: 1px; }
#docs-mermaid-2 [data-look="neo"].node .outer-path { filter: drop-shadow(rgb(185, 185, 185) 1px 2px 2px); }
#docs-mermaid-2 [data-look="neo"].node .neo-line path { stroke: rgb(124, 58, 237); filter: none; }
#docs-mermaid-2 [data-look="neo"].node circle { stroke: url("#docs-mermaid-2-gradient"); filter: drop-shadow(rgb(185, 185, 185) 1px 2px 2px); }
#docs-mermaid-2 [data-look="neo"].node circle .state-start { fill: rgb(0, 0, 0); }
#docs-mermaid-2 [data-look="neo"].icon-shape .icon { fill: url("#docs-mermaid-2-gradient"); filter: drop-shadow(rgb(185, 185, 185) 1px 2px 2px); }
#docs-mermaid-2 [data-look="neo"].icon-shape .icon-neo path { stroke: url("#docs-mermaid-2-gradient"); filter: drop-shadow(rgb(185, 185, 185) 1px 2px 2px); }
#docs-mermaid-2 :root { --mermaid-font-family: 'Rajdhani',system-ui,sans-serif; }
