.flow{--flow-fg:#1f2937;--flow-muted:#5b6474;--flow-node:#ffffff;--flow-border:#8a94a6;--flow-line:#8f9aab;--flow-label:#3f4856;--flow-bg:#f6f8fb;--flow-accent:var(--color-primary-600, #0b5bd3);--flow-accent-soft:rgba(11, 91, 211, 0.08);--flow-decision:#b45309;--flow-decision-soft:#fff7ed;--flow-stop:#b42318;--flow-stop-soft:#fef3f2;--flow-retry:#6d28d9;--flow-retry-soft:#f5f3ff;--flow-lw:1.6px;--flow-gap:64px;margin:1.5rem 0 1rem;padding:1.1rem 1rem .9rem;border:1px solid #e5e9f0;border-radius:12px;background:var(--flow-bg);color:var(--flow-fg);container-type:inline-size}.dark .flow{--flow-fg:#e6e9ef;--flow-muted:#a3acba;--flow-node:#20252e;--flow-border:#6f7a8c;--flow-line:#6c7789;--flow-label:#c3cad6;--flow-bg:#161a20;--flow-accent:var(--color-primary-400, #5aa9ff);--flow-accent-soft:rgba(90, 169, 255, 0.12);--flow-decision:#f5a524;--flow-decision-soft:#2a2114;--flow-stop:#f97066;--flow-stop-soft:#2b1715;--flow-retry:#b69cff;--flow-retry-soft:#221d33;border-color:#262c36}.flow ol{list-style:none;margin:0!important;padding:0!important}.flow li{margin:0!important}.flow p{margin:0!important;line-height:1.4!important}.flow-row{display:grid;grid-template-columns:minmax(0,1.2fr)var(--flow-gap)minmax(0,1fr);align-items:stretch}.flow-c1{grid-column:1}.flow-c2{grid-column:2}.flow-c3{grid-column:3}.flow-cell{display:flex;flex-direction:column}.flow-cell::before,.flow-cell::after{content:"";flex:1;background:linear-gradient(var(--flow-line),var(--flow-line))50%/var(--flow-lw)100% no-repeat}.flow-row--split>.flow-cell::after{display:none}.flow-node{position:relative;padding:.5rem .8rem .55rem;border:1.5px solid var(--flow-border);border-radius:10px;background:var(--flow-node);text-align:center;font-size:.8rem;line-height:1.35}.flow-title{font-weight:650;font-size:.9rem;line-height:1.3}.flow-desc{margin-top:.15rem!important;color:var(--flow-muted)}.flow-code{margin-top:.3rem!important;font-size:.72rem;color:var(--flow-muted);overflow-wrap:anywhere}.flow-code code,.flow-desc code,.flow-note code{padding:0 .25em;border-radius:4px;background:rgba(127,127,127,.12);font-size:.95em}.flow-node--start,.flow-node--end{border-radius:999px;border-color:var(--flow-accent);background:var(--flow-accent-soft);padding-left:1.2rem;padding-right:1.2rem}.flow-node--decision{border-color:var(--flow-decision);border-style:solid;background:var(--flow-decision-soft)}.flow-diamond{display:inline-block;width:.55em;height:.55em;margin-right:.45em;border:1.5px solid var(--flow-decision);transform:rotate(45deg)translateY(-.12em)}.flow-node--stop{border-color:var(--flow-stop);border-style:dashed;background:var(--flow-stop-soft)}.flow-node--skip{border-color:var(--flow-border);border-style:dashed;background:var(--flow-node)}.flow-node--stop .flow-title{color:var(--flow-stop)}.flow-badge{display:inline-block;margin-top:.35rem!important;padding:.05rem .55rem;border:1px solid var(--flow-retry);border-radius:999px;background:var(--flow-retry-soft);color:var(--flow-retry);font-size:.72rem;font-weight:600}.flow-badge-icon{font-weight:700}.flow .flow-note{align-self:center;margin:0 auto!important;padding:.2rem .7rem;border:1px dashed var(--flow-border);border-radius:999px;background:var(--flow-node);color:var(--flow-muted);font-size:.75rem;text-align:center;width:fit-content;max-width:100%}.flow-link{position:relative;height:30px}.flow-link::before{content:"";position:absolute;left:calc(50% - var(--flow-lw)/2);top:0;bottom:6px;width:var(--flow-lw);background:var(--flow-line)}.flow-link::after{content:"";position:absolute;left:calc(50% - 5px);bottom:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid var(--flow-line)}.flow-link--plain{height:18px}.flow-link--plain::before{bottom:0}.flow-link--plain::after{display:none}.flow-link-label,.flow-line-label{position:absolute;color:var(--flow-label);font-size:.72rem;font-weight:600;line-height:1;white-space:nowrap}.flow-narrow-only{display:none}.flow-link-label{left:calc(50% + 8px);top:50%;transform:translateY(-60%)}.flow-line-label{left:50%;bottom:calc(50% + 5px);transform:translateX(-50%)}.flow-arrow-right,.flow-split-h,.flow-split-turn{position:relative}.flow-arrow-right::before,.flow-split-h::before{content:"";position:absolute;top:calc(50% - var(--flow-lw)/2);left:0;right:0;height:var(--flow-lw);background:var(--flow-line)}.flow-arrow-right::before{right:6px}.flow-arrow-right::after{content:"";position:absolute;right:0;top:calc(50% - 5px);border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid var(--flow-line)}.flow-split-turn::before{content:"";position:absolute;top:calc(50% - var(--flow-lw)/2);left:0;width:calc(50% + var(--flow-lw)/2);bottom:0;border-top:var(--flow-lw)solid var(--flow-line);border-right:var(--flow-lw)solid var(--flow-line);border-top-right-radius:8px}.flow-exit{display:flex;flex-direction:column;justify-content:center}.flow-exit .flow-node{font-size:.78rem}.flow-branch{display:flex;flex-direction:column}.flow-fill{position:relative;flex:1;min-height:10px}.flow-fill::before{content:"";position:absolute;left:calc(50% - var(--flow-lw)/2);top:0;bottom:0;width:var(--flow-lw);background:var(--flow-line)}.flow-merge{position:relative;height:14px}.flow-merge--1::before{content:"";position:absolute;left:calc(50% - var(--flow-lw)/2);top:0;bottom:0;width:var(--flow-lw);background:var(--flow-line)}.flow-merge--1::after,.flow-merge--2::after{content:"";position:absolute;bottom:0;height:var(--flow-lw);background:var(--flow-line)}.flow-merge--1::after{left:50%;right:0}.flow-merge--2::after{left:0;right:0}.flow-merge--3::before{content:"";position:absolute;left:0;top:0;width:calc(50% + var(--flow-lw)/2);bottom:0;border-bottom:var(--flow-lw)solid var(--flow-line);border-right:var(--flow-lw)solid var(--flow-line);border-bottom-right-radius:8px}.flow-say{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.flow-caption{margin-top:.9rem;font-size:.82rem;color:var(--flow-muted)}@container(max-width:560px){.flow-row {
    display: block;
  }

  .flow-arrow-right,
  .flow-split-h,
  .flow-split-turn,
  .flow-merge,
  .flow-fill {
    display: none;
  }

  .flow-say {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
    margin: 0.5rem 0 0.25rem !important;
    color: var(--flow-label);
    font-size: 0.75rem;
    font-weight: 700;
  }

  .flow-exit,
  .flow-branch {
    margin-left: 1rem;
    padding-left: 0.75rem;
    border-left: var(--flow-lw) dashed var(--flow-line);
  }

  .flow-branch {
    margin-top: 0.4rem;
    padding-bottom: 0.3rem;
  }

  .flow-branch .flow-branch-steps > li:first-child > .flow-link {
    display: none;
  }

  .flow-narrow-only {
    display: block;
  }

  .flow-row--split + .flow-row > .flow-link {
    margin-top: 0.4rem;
  }
}