pre.mermaid {
  background: #ffffff;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 16px;
  padding: 1.1rem 1.1rem 0.95rem;
  margin: 1.4rem 0;
  overflow-x: auto;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

pre.mermaid[data-processed="true"] {
  padding: 1.1rem;
}

pre.mermaid svg {
  display: block;
  margin: 0 auto;
  height: auto;
}

pre.mermaid .label,
pre.mermaid .nodeLabel,
pre.mermaid .edgeLabel {
  font-weight: 500;
  letter-spacing: 0;
}

pre.mermaid .edgeLabel rect {
  rx: 6;
  ry: 6;
}

pre.mermaid .node rect,
pre.mermaid .node polygon,
pre.mermaid .node circle,
pre.mermaid .node ellipse,
pre.mermaid .node path,
pre.mermaid .cluster rect,
pre.mermaid .edgeLabel rect {
  filter: none;
}

pre.mermaid .flowchart-link,
pre.mermaid .messageLine0,
pre.mermaid .messageLine1,
pre.mermaid .relation,
pre.mermaid .transition {
  stroke-width: 1.7px;
}

pre.mermaid .cluster-label text,
pre.mermaid .cluster span,
pre.mermaid .cluster foreignObject {
  font-weight: 600;
  letter-spacing: 0;
}

html[data-theme="dark"] pre.mermaid {
  background: #0f172a;
  border-color: rgba(71, 85, 105, 0.7);
  box-shadow: 0 10px 28px rgba(2, 6, 23, 0.22);
}
