/* Flowstage Motion — self-contained SVG styles. No external dependencies. */
.fsm {
  --fsm-accent: #b9a2ff;
  --fsm-pink: #e5add0;
  --fsm-wire: #555b68;
  --fsm-text: #ededf0;
  --fsm-muted: #9298a5;
  --fsm-panel: #15181e;
  display: block;
  width: 100%;
  color: var(--fsm-text);
  font-family: Inter, "Segoe UI", system-ui, sans-serif;
}
.fsm svg { display: block; width: 100%; height: auto; overflow: visible; }
.fsm .fsm-wire { fill: none; stroke: var(--fsm-wire); stroke-width: 1.4; }
.fsm .fsm-node { fill: var(--fsm-panel); stroke: var(--fsm-wire); stroke-width: 1.3; }
.fsm .fsm-label { fill: var(--fsm-muted); font-size: 10px; font-weight: 500; letter-spacing: 1.5px; text-anchor: middle; }
.fsm .fsm-mark { fill: none; stroke: var(--fsm-accent); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fsm .fsm-pulse { fill: none; stroke-width: 3; stroke-linecap: round; }
.fsm .fsm-orbit-dot { fill: var(--fsm-accent); }
.fsm .fsm-draw { fill: none; stroke: var(--fsm-accent); stroke-width: 2.2; stroke-linecap: round; }
.fsm .fsm-morph { fill: var(--fsm-panel); stroke: var(--fsm-accent); stroke-width: 1.5; }
