/* Mermaid diagram fixes for light and dark themes */

/* Force black text on all Mermaid elements in light mode */
[data-md-color-scheme="default"] .mermaid text,
[data-md-color-scheme="default"] .mermaid .nodeLabel,
[data-md-color-scheme="default"] .mermaid .edgeLabel,
[data-md-color-scheme="default"] .mermaid .label,
[data-md-color-scheme="default"] .mermaid span,
[data-md-color-scheme="default"] .mermaid .cluster-label,
[data-md-color-scheme="default"] .mermaid .messageText,
[data-md-color-scheme="default"] .mermaid .loopText,
[data-md-color-scheme="default"] .mermaid .noteText,
[data-md-color-scheme="default"] .mermaid .labelText,
[data-md-color-scheme="default"] .mermaid tspan {
    fill: #000000 !important;
    color: #000000 !important;
}

/* Force white text on all Mermaid elements in dark mode */
[data-md-color-scheme="slate"] .mermaid text,
[data-md-color-scheme="slate"] .mermaid .nodeLabel,
[data-md-color-scheme="slate"] .mermaid .edgeLabel,
[data-md-color-scheme="slate"] .mermaid .label,
[data-md-color-scheme="slate"] .mermaid span,
[data-md-color-scheme="slate"] .mermaid .cluster-label,
[data-md-color-scheme="slate"] .mermaid .messageText,
[data-md-color-scheme="slate"] .mermaid .loopText,
[data-md-color-scheme="slate"] .mermaid .noteText,
[data-md-color-scheme="slate"] .mermaid .labelText,
[data-md-color-scheme="slate"] .mermaid tspan {
    fill: #ffffff !important;
    color: #ffffff !important;
}

/* Node backgrounds in light mode */
[data-md-color-scheme="default"] .mermaid .node rect,
[data-md-color-scheme="default"] .mermaid .node polygon,
[data-md-color-scheme="default"] .mermaid .node circle {
    fill: #e3f2fd !important;
    stroke: #1976d2 !important;
}

/* Node backgrounds in dark mode */
[data-md-color-scheme="slate"] .mermaid .node rect,
[data-md-color-scheme="slate"] .mermaid .node polygon,
[data-md-color-scheme="slate"] .mermaid .node circle {
    fill: #1e3a5f !important;
    stroke: #64b5f6 !important;
}

/* Cluster/subgraph backgrounds in light mode */
[data-md-color-scheme="default"] .mermaid .cluster rect {
    fill: #f5f5f5 !important;
    stroke: #9e9e9e !important;
}

/* Cluster/subgraph backgrounds in dark mode */
[data-md-color-scheme="slate"] .mermaid .cluster rect {
    fill: #2d2d2d !important;
    stroke: #666666 !important;
}

/* Edge/arrow colors in light mode */
[data-md-color-scheme="default"] .mermaid .edgePath path,
[data-md-color-scheme="default"] .mermaid .flowchart-link {
    stroke: #333333 !important;
}

[data-md-color-scheme="default"] .mermaid .arrowheadPath {
    fill: #333333 !important;
}

/* Edge/arrow colors in dark mode */
[data-md-color-scheme="slate"] .mermaid .edgePath path,
[data-md-color-scheme="slate"] .mermaid .flowchart-link {
    stroke: #aaaaaa !important;
}

[data-md-color-scheme="slate"] .mermaid .arrowheadPath {
    fill: #aaaaaa !important;
}

/* Sequence diagram specific fixes */
[data-md-color-scheme="default"] .mermaid .actor {
    fill: #e3f2fd !important;
    stroke: #1976d2 !important;
}

[data-md-color-scheme="slate"] .mermaid .actor {
    fill: #1e3a5f !important;
    stroke: #64b5f6 !important;
}

/* Note boxes */
[data-md-color-scheme="default"] .mermaid .note {
    fill: #fff9c4 !important;
    stroke: #fbc02d !important;
}

[data-md-color-scheme="slate"] .mermaid .note {
    fill: #5d4e37 !important;
    stroke: #fbc02d !important;
}
