.diagram{margin:2.5rem 0;}
.diagram figcaption{margin-top:1rem;font-size:.8rem;}
.flow-chart{font:400 .875rem/1.5 var(--sans-text);}
.flow-accordion{border-bottom:1px solid var(--rule);}
.flow-accordion > summary{padding:1rem 0;cursor:pointer;color:var(--text);}
.flow-accordion[open] > summary{font-weight:700;}
.flow-accordion__body{padding-bottom:1.25rem;}
.flow-help{font-size:.8rem;color:var(--text-2);margin:0 0 1rem;}
.flow-scroll{overflow:auto;border:1px solid var(--rule);background:var(--surface);scrollbar-gutter:stable;}
.flow-canvas{position:relative;margin-inline:auto;}
.flow-canvas svg{position:absolute;inset:0;color:var(--text-2);}
.flow-node{position:absolute;padding:16px;border:1px solid var(--text-2);border-radius:2px;background:var(--surface);color:var(--text);font:400 13px/21px var(--mono);text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;cursor:pointer;}
.flow-node:hover,.flow-node[aria-pressed="true"]{background:var(--highlight);color:var(--highlight-ink);border-color:var(--highlight-ink);}
.flow-edge-label{font:12px var(--sans-text);fill:var(--text);paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round;}
.flow-detail{padding:1rem;border-bottom:1px solid var(--rule);}
.flow-detail p{white-space:pre-wrap;overflow-wrap:anywhere;}
.flow-detail button{float:right;border:0;background:none;color:var(--text);text-decoration:underline;cursor:pointer;}
.flow-connections{margin-top:1rem;font-size:.8rem;color:var(--text-2);}
.flow-connections summary{cursor:pointer;}
.flow-connections li{margin-bottom:.75rem;overflow-wrap:anywhere;}
