.mermaid {
  --mermaid-target-width: 980px;
  background: #fafafa;
  border: 1px solid #ccd;
  border-radius: 8px;
  padding: 1em 1.2em;
  margin: 1.5em 0;
  overflow-x: auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.mermaid svg {
  display: block;
  width: min(100%, var(--mermaid-target-width)) !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 auto;
  flex: 0 0 auto;
}

.mermaid.mermaid-wide {
  --mermaid-target-width: 1180px;
}

.mermaid.mermaid-tall {
  --mermaid-target-width: 760px;
}

@media (max-width: 980px) {
  .mermaid {
    padding: 0.85em 0.9em;
  }

  .mermaid svg {
    width: 100% !important;
  }
}
