.flow-frame,.flow-static{--trigger-fill:#fbe1ee;--trigger-line:#a33a74;--context-fill:#e2eef9;--context-line:#3d6fa3;--connection-fill:#eceef2;--connection-line:#5d6472;--outside-fill:#fde4dc;--outside-line:#b5532f;--surface-fill:var(--paper);--surface-line:#2a2d35;--broken:#d0342c;--untrusted:#d67200;--stopped:#109a74}.flow-frame{border-radius:inherit;overflow:hidden}.flow-frame:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}.flow-frame .flow-static{width:calc(100% - 40px);height:calc(100% - 136px);margin:auto;display:block;position:absolute;inset:72px 20px 64px}.flow-static,.flow-node-svg{font-family:Inter, var(--sans);overflow:visible}.flow-canvas{position:absolute;inset:0}.flow-defs{position:absolute}.flow-canvas .react-flow{background:0 0}.flow-canvas .react-flow__pane{cursor:grab}.flow-canvas .react-flow__pane.dragging{cursor:grabbing}.flow-canvas .react-flow__node{cursor:grab}:is(.flow-canvas .react-flow__node:has(.part-linked),.flow-canvas .react-flow__node:has(.flow-scope.linked)){cursor:pointer}.flow-canvas .react-flow__node:focus{outline:none}.flow-canvas .react-flow__node.dragging{filter:drop-shadow(0 6px 14px #16171b29)}.flow-node{position:relative}.flow-node-svg{display:block}.flow-handle{opacity:0;pointer-events:none;border:none;width:1px;min-width:0;height:1px;min-height:0}.flow-shape{stroke-width:1.5px;stroke-linejoin:round}.flow-shape-line{fill:none;stroke-width:1.5px}.flow-label{fill:var(--ink)}.flow-caption{fill:var(--ink-faint)}.flow-kind-ai .flow-shape{fill:var(--ai-fill);stroke:var(--ai-line)}.flow-kind-code .flow-shape{fill:var(--code-fill);stroke:var(--code-line)}.flow-kind-person .flow-shape{fill:var(--person-fill);stroke:var(--person-line)}.flow-kind-trigger .flow-shape{fill:var(--trigger-fill);stroke:var(--trigger-line)}.flow-kind-context .flow-shape{fill:var(--context-fill);stroke:var(--context-line)}.flow-kind-context .flow-shape-line{stroke:var(--context-line)}.flow-kind-connection .flow-shape{fill:var(--connection-fill);stroke:var(--connection-line)}.flow-kind-outside .flow-shape{fill:var(--outside-fill);stroke:var(--outside-line)}.flow-kind-surface .flow-shape{fill:var(--surface-fill);stroke:var(--surface-line)}.flow-kind-surface .flow-shape-line{stroke:var(--surface-line)}.flow-kind-part .flow-shape{fill:var(--paper);stroke:var(--edge)}.flow-kind-ai .flow-caption{fill:var(--ai-line)}.flow-kind-code .flow-caption{fill:var(--code-line)}.flow-kind-person .flow-caption{fill:var(--person-line)}.flow-kind-trigger .flow-caption{fill:var(--trigger-line)}.flow-kind-context .flow-caption{fill:var(--context-line)}.flow-kind-outside .flow-caption{fill:var(--outside-line)}.flow-tier rect{fill:var(--paper);stroke:var(--outside-line);stroke-width:1px}.flow-tier text{fill:var(--outside-line)}.flow-part.untrusted .flow-shape{stroke:var(--untrusted);stroke-width:3px}.flow-part.unstopped .flow-shape{stroke:var(--broken);stroke-width:3px}.part-link-mark circle{fill:var(--ink);stroke:var(--paper);stroke-width:2px}.part-link-mark rect{fill:none;stroke:var(--paper);stroke-width:1.6px}.part-link-mark.off circle{fill:var(--ink-faint)}.flow-static a:focus{outline:none}.flow-static a:focus-visible .flow-shape,.flow-static a:focus-visible .flow-scope-card,.react-flow__node:focus-visible .flow-shape,.react-flow__node:focus-visible .flow-scope-card,.part-target .flow-shape{stroke:var(--ink);stroke-width:3px}.part-target{filter:drop-shadow(0 0 3px #16171b80)}.flow-scope-card{fill:var(--paper);stroke:var(--rule);stroke-width:1.5px}.flow-scope.dashed .flow-scope-card{stroke:#b4bac4;stroke-dasharray:6 4}.flow-scope.depth-1 .flow-scope-card{fill:var(--wash)}.flow-scope.box .flow-scope-card{fill:var(--paper);stroke:var(--edge)}.flow-scope.hull .flow-scope-card{fill:#ffffffb8}.flow-scope.hull.depth-1 .flow-scope-card{fill:#f6f7f9e6}.flow-scope.hull{pointer-events:none}.flow-scope-name,.flow-box-name{fill:var(--ink);font-weight:700}.flow-scope-who{fill:var(--ink-faint)}.flow-box-go{fill:var(--ink-faint);font-weight:400}.flow-scope.linked:hover .flow-scope-card{stroke:var(--ink);stroke-width:2px}.flow-line{fill:none}.flow-line.solid{stroke:#5d6472;stroke-width:1.6px}.flow-line.dotted{stroke:#9aa2af;stroke-width:1.4px;stroke-dasharray:4 4}.flow-line.thick{stroke:#3e424b;stroke-width:3px;stroke-dasharray:6 4}.flow-line.carries{stroke:var(--untrusted);stroke-width:3px}.flow-line.stopped{stroke:var(--stopped);stroke-width:3px}.flow-line.broken,.flow-line.unstopped{stroke:var(--broken);stroke-width:3px}.flow-arrow.solid path{fill:#5d6472}.flow-arrow.dotted path{fill:#9aa2af}.flow-arrow.thick path{fill:#3e424b}.flow-arrow.broken path{fill:var(--broken)}.flow-arrow.carries path{fill:var(--untrusted)}.flow-arrow.stopped path{fill:var(--stopped)}.flow-arrow.cross path{fill:none;stroke:#5d6472;stroke-width:1.6px;stroke-linecap:round}.flow-label-svg{position:absolute;top:0;left:0}.flow-line-label rect{fill:var(--paper);stroke:var(--rule);stroke-width:1px}.flow-line-label text{fill:var(--ink-soft)}.flow-line-label.dotted text{fill:var(--ink-faint)}.flow-canvas :is(.flow-part,.flow-scope,.flow-note-mark,.flow-edge,.flow-label-svg){transition:opacity .15s ease-out}.react-flow.flow-lit .react-flow__node:not(.lit) :is(.flow-part,.flow-scope:not(.hull)),.react-flow.flow-lit .react-flow__node:not(.lit-note) .flow-note-mark,.react-flow.flow-lit :is(.flow-edge,.flow-label-svg):not(.lit){opacity:.25}@media (prefers-reduced-motion:reduce){.flow-canvas :is(.flow-part,.flow-scope,.flow-note-mark,.flow-edge,.flow-label-svg){transition:none}}.flow-note-icon circle{fill:var(--paper);stroke:var(--edge);stroke-width:1px}.flow-note-icon path{stroke:var(--ink-soft);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;fill:none}.flow-note-icon text{fill:var(--ink-soft);font-weight:600}.flow-note-icon.gap circle{fill:var(--person-fill);stroke:var(--person-line);stroke-width:1.5px}.flow-note-icon.gap path{stroke:var(--person-line);stroke-width:1.6px}.flow-note-icon.gap text{fill:var(--person-line)}.flow-note-mark{cursor:pointer;background:0 0;border:none;border-radius:999px;padding:0;line-height:0;position:absolute}.flow-note-mark svg{overflow:visible}.flow-note-mark:hover .flow-note-icon circle,.flow-note-mark:focus-visible .flow-note-icon circle{fill:var(--ink);stroke:var(--ink)}.flow-note-mark:hover .flow-note-icon path,.flow-note-mark:focus-visible .flow-note-icon path{stroke:var(--paper)}.flow-note-mark:focus-visible{outline:3px solid var(--ink);outline-offset:1px}.flow-note-tip{background:var(--ink);max-width:300px;color:var(--paper);font-family:var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;padding:10px 14px;font-size:13px;line-height:1.45;box-shadow:0 6px 20px #16171b33}.flow-note-tip p{margin:0}.flow-note-tip p+p{margin-top:6px}html:has(.flow-note-dialog[open]){overflow:hidden}.flow-note-dialog{background:var(--paper);width:min(480px,100vw - 32px);color:var(--ink);border:none;border-radius:22px;padding:0;box-shadow:0 0 0 1px #16171b14,0 12px 40px #16171b2e}.flow-note-dialog::backdrop{background:#16171b4d}.flow-note-box{font-family:var(--sans);padding:20px 24px 24px}.flow-note-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.flow-note-head h2{font-size:18px;font-weight:700}.flow-note-head .button{min-height:36px;padding:6px 16px;font-size:14px}.flow-note-on{color:var(--ink-faint);margin:6px 0 14px;font-size:14px}.flow-note-box p:not(.flow-note-on){white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.55}.flow-note-box p+p{margin-top:10px}.flow-controls{z-index:5;max-width:calc(100% - 24px);font-family:var(--sans);flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex;position:absolute}.flow-switches{top:12px;right:12px}.flow-zoom-controls{bottom:12px;right:12px}@media (scripting:none){.flow-controls{display:none}}.flow-pills{background:var(--paper);border-radius:999px;gap:2px;padding:3px;display:inline-flex;box-shadow:0 0 0 1px #16171b14,0 1px 3px #16171b0f}.flow-pills button,.flow-toggle{min-height:36px;color:var(--ink-soft);font:600 14px/1 var(--sans);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:6px 14px}.flow-pills button:hover{color:var(--ink);background:var(--wash)}.flow-toggle{background:var(--paper);align-items:center;gap:8px;min-height:42px;padding:6px 16px 6px 12px;display:inline-flex;box-shadow:0 0 0 1px #16171b14,0 1px 3px #16171b0f}.flow-toggle:before{content:"";background:var(--edge) radial-gradient(circle at 8px 8px, var(--paper) 5px, transparent 5.5px);border-radius:999px;width:28px;height:16px}.flow-toggle[aria-pressed=true]:before{background:var(--ink) radial-gradient(circle at 20px 8px, var(--paper) 5px, transparent 5.5px)}.flow-toggle[aria-pressed=true]{color:var(--ink)}.flow-zoom button{min-width:36px;padding:6px 10px}.flow-pills button:focus-visible,.flow-toggle:focus-visible{outline:3px solid var(--ink);outline-offset:2px}@media (max-width:600px){.flow-controls{gap:6px}.flow-switches{top:10px;right:10px}.flow-zoom-controls{bottom:10px;right:10px}.flow-pills button,.flow-toggle{padding:6px 11px;font-size:13px}}.flow-frame.compact .flow-static{width:calc(100% - 24px);height:calc(100% - 104px);inset:52px 12px}.flow-frame.compact .flow-controls{gap:6px}.flow-frame.compact .flow-switches{top:8px;right:8px}.flow-frame.compact .flow-zoom-controls{bottom:8px;right:8px}.flow-frame.compact .flow-pills button{min-height:30px;padding:4px 11px;font-size:13px}.flow-frame.compact .flow-zoom button{min-width:32px;padding:4px 8px}.flow-frame.compact .flow-toggle{min-height:36px;padding:4px 12px 4px 10px;font-size:13px}
