flow-player{--dg-ink:var(--text);--dg-ink-2:color-mix(in oklab, var(--text) 72%, var(--bg));--dg-edge:color-mix(in oklab, var(--text) 42%, var(--bg));--dg-edge-trav:color-mix(in oklab, var(--text) 66%, var(--bg));--dg-hot:var(--accent);--dg-hot-deep:color-mix(in oklab, var(--accent) 82%, var(--bg));--dg-glow-c:#ff3b3099;--dg-glow:drop-shadow(0 0 2px var(--dg-glow-c)) drop-shadow(0 0 7px #ff3b3059);--dg-glow-ink:drop-shadow(0 0 1.5px #f4ede759);display:block}.diagram-stage{background:var(--bg);border:0;border-radius:0;padding:20px 16px;position:relative;overflow-x:auto;container-type:inline-size}.diagram-svg{width:100%;height:auto;max-height:70vh;max-width:var(--max-w,none);margin-inline:auto;display:block;overflow:visible}.diagram-svg[data-layout=narrow]{max-height:none;min-width:var(--min-w,0);display:none}@container (width<=640px){.diagram-svg[data-layout=wide]{display:none}.diagram-svg[data-layout=narrow],.diagram--compact .diagram-svg[data-layout=wide]{display:block}}flow-player[data-fit=wide] .diagram-svg[data-layout=wide],flow-player[data-fit=narrow] .diagram-svg[data-layout=narrow]{display:block}flow-player[data-fit=wide] .diagram-svg[data-layout=wide]{min-width:var(--min-w,0)}flow-player[data-fit=wide] .diagram-svg[data-layout=narrow],flow-player[data-fit=narrow] .diagram-svg[data-layout=wide]{display:none}@container (width>=641px){.diagram-svg[data-layout=narrow]{max-width:var(--w,none)}}@media (width<=700px){.diagram-stage{padding:14px 8px}}.diagram-stage{--more-l:none;--more-r:none;background:var(--more-l), var(--more-r), var(--bg);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.diagram-stage[data-more-left]{--more-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 18'%3E%3Cpath d='M8 2L2 9l6 7' fill='none' stroke='%23F4EDE7' stroke-width='1.5' stroke-linecap='square'/%3E%3C/svg%3E") left 6px center / 10px 18px no-repeat, linear-gradient(to right, color-mix(in oklab, var(--text) 6%, transparent), transparent) left / 32px 100% no-repeat}.diagram-stage[data-more-right]{--more-r:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 18'%3E%3Cpath d='M2 2l6 7-6 7' fill='none' stroke='%23F4EDE7' stroke-width='1.5' stroke-linecap='square'/%3E%3C/svg%3E") right 6px center / 10px 18px no-repeat, linear-gradient(to left, color-mix(in oklab, var(--text) 6%, transparent), transparent) right / 32px 100% no-repeat}.diagram-frame{--frame-pad:0}.diagram--compact .diagram-stage{border:1px solid var(--line);padding:6px}.diagram--compact .diagram-svg{max-height:180px}.diagram--compact .token text{display:none}.halo-stop-a{stop-color:var(--dg-hot);stop-opacity:.45}.halo-stop-b{stop-color:var(--dg-hot);stop-opacity:0}.node .halo{fill:var(--halo);opacity:0;transition:opacity .3s}.node .shape{fill:var(--bg);stroke:var(--dg-ink-2);stroke-width:1.25px;transition:stroke .3s,fill .3s,stroke-width .3s}.node .shape.io{fill:var(--text-3);stroke:none}.node .shape-inner{fill:none;stroke:var(--dg-ink-2);stroke-width:1px;opacity:.55;transition:stroke .3s}.node .glyph{fill:none;stroke:var(--dg-ink-2);stroke-width:1.4px;stroke-linecap:square;stroke-linejoin:miter;transition:stroke .3s}.node .label{font:500 10.5px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;fill:var(--text-2);transition:fill .3s}.node .sublabel{font:400 10px var(--font-mono);fill:var(--text-3)}.node{transition:opacity .4s}.node:is([data-state=active],[data-state=thinking],[data-state=calling]) .halo{opacity:.55}.node:is([data-state=active],[data-state=thinking],[data-state=calling]) .shape{stroke:var(--dg-hot);stroke-width:1.6px;filter:var(--dg-glow)}.node:is([data-state=active],[data-state=thinking],[data-state=calling]) :is(.glyph,.shape-inner){stroke:var(--dg-hot)}.node:is([data-state=active],[data-state=thinking],[data-state=calling]) .shape.io{fill:var(--dg-ink);filter:var(--dg-glow)}.node:is([data-state=active],[data-state=thinking],[data-state=calling]) .label{fill:var(--text)}.node[data-state=thinking] .halo{animation:1.1s ease-in-out infinite think}@keyframes think{50%{opacity:.2}}.node[data-state=waiting] .shape{stroke-dasharray:3 3;stroke:var(--dg-ink)}.node[data-state=done] .shape{stroke:var(--dg-ink);filter:var(--dg-glow-ink)}.node[data-state=done] :is(.glyph,.shape-inner){stroke:var(--dg-ink)}.node[data-state=done] .shape.io{fill:var(--dg-ink)}.node[data-state=done] .label{fill:var(--text)}.node[data-state=error] .shape{stroke:var(--dg-hot);stroke-dasharray:3 3;fill:color-mix(in oklab, var(--dg-hot) 12%, var(--bg))}.node[data-state=error] .halo{opacity:0}.node[data-state=dim]{opacity:.42}.node[data-state=hidden]{opacity:0}.node.is-ref .halo{opacity:.7}.node.is-ref .shape{stroke:var(--dg-hot);filter:var(--dg-glow)}.node.is-ref .label{fill:var(--dg-hot)}@media (prefers-reduced-motion:reduce){.node[data-state=thinking] .halo{animation:none}}.edge{fill:none;stroke:var(--dg-edge);stroke-width:1px;transition:stroke .3s,opacity .3s,stroke-width .3s}.edge--dashed,.edge--loop{stroke-dasharray:3 4}.edge--dashed[data-state=idle],.edge--loop[data-state=idle]{stroke:color-mix(in oklab, var(--text) 50%, var(--bg))}.edge[data-state=active]{stroke:var(--dg-hot-deep);stroke-width:1.5px}.edge-glow{fill:none;stroke:#ff3b30;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0;visibility:hidden;pointer-events:none;transition:stroke-opacity .3s,visibility .3s}.edge-glow[data-state=active]{stroke-opacity:.18;visibility:visible}.edge-glow--dashed,.edge-glow--loop{stroke-dasharray:3 4;stroke-linecap:butt}flow-player.has-focus .edge-glow:not(.is-rel){opacity:.22}.edge[data-state=traversed]{stroke:var(--dg-edge-trav)}.edge[data-state=dim],.edge--pending[data-state=idle]{opacity:.3}.edge-label.edge--pending[data-state=idle]{opacity:.45}.arrow{fill:context-stroke}.edge-label{font:500 10.5px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;fill:var(--text-2);transition:fill .3s}.edge-label[data-state=active]{fill:var(--text)}.edge-label--loop{fill:var(--dg-hot)}.group rect{fill:none;stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:2 4}.group text{font:500 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;fill:var(--text-3)}.token-glow--head .tg-core{stop-color:#fff8f2}.token-glow--trail .tg-core{stop-color:#ffd9d2}.tg-a{stop-color:#ff3b30;stop-opacity:.78}.tg-b{stop-color:#ff3b30;stop-opacity:.3}.tg-c{stop-color:#ff3b30;stop-opacity:.14}.tg-d{stop-color:#ff3b30;stop-opacity:0}.token .head{r:12px}.token .trail:first-child{r:9.7px;opacity:.8}.token .trail:nth-child(2){r:7.1px;opacity:.5}.token .trail:nth-child(3){r:4.8px;opacity:.28}.token text{font:500 10px var(--font-mono);letter-spacing:.02em;fill:var(--text);paint-order:stroke;stroke:var(--bg);stroke-width:3px}.fp-caption{min-height:3.2em;color:var(--text);margin:16px 0 0;font-size:17px;line-height:1.5}flow-player:not(.is-enhanced) .fp-caption{display:none}.fp-steps{color:var(--text-2);margin-top:12px;font-size:14px}.fp-steps summary,.fp-parts summary{cursor:pointer;color:var(--text-2);font:500 11px/1.6 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.fp-steps summary:hover,.fp-parts summary:hover,.fp-steps li[aria-current=step]{color:var(--text)}.fp-steps li::marker{font-family:var(--font-mono);color:var(--text-3);font-size:12px}.fp-steps li[aria-current=step]::marker{color:var(--accent)}flow-player.is-enhanced .fp-scenario-steps[data-inactive],flow-player.is-enhanced:not(:has(.fp-scenario-steps[data-inactive])) .fp-scenario-steps[data-alt]{display:none}.fp-scenario-title{font:500 13px var(--font-ui);color:var(--text);margin:12px 0 4px}.fp-steps li{list-style-position:outside}.fp-steps li button{all:unset;box-sizing:border-box;cursor:pointer;color:inherit;border-radius:0;margin:0 -8px;padding:3px 8px;display:block}.fp-steps li button:hover{color:var(--text);background:var(--bg-1)}.fp-steps li[aria-current=step] button{box-shadow:inset 2px 0 0 var(--accent)}.fp-steps li button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}flow-player:not(.is-enhanced) .fp-steps li button{cursor:default}.fp-tabs{flex-wrap:wrap;gap:0;margin-top:16px;display:flex}.fp-tabs[hidden]{display:none}.fp-tabs button{font:500 13px var(--font-ui);border:1px solid var(--line);color:var(--text-2);cursor:pointer;background:0 0;border-radius:0;margin-right:-1px;padding:7px 14px}.fp-tabs button:hover{color:var(--text);border-color:var(--line-strong);position:relative}.fp-tabs button[aria-selected=true]{color:var(--text);background:var(--bg-1);box-shadow:inset 0 -2px 0 var(--accent)}.fp-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;z-index:1;position:relative}.fp-parts{color:var(--text-2);margin-top:8px;font-size:14px}.fp-parts dl{gap:10px;margin:10px 0 0;display:grid}.fp-parts dt{color:var(--text);font-weight:500}.fp-parts dd{margin:2px 0 0}.part-kind{font:500 10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-left:8px}.part-ex{border-left:2px solid var(--accent);background:var(--bg-2);font:12px/1.5 var(--font-mono);quotes:none;margin-top:4px;padding:4px 10px;display:block}.node[tabindex]{cursor:help;outline:none}.node[data-state=hidden]{pointer-events:none}.node:focus-visible .shape{stroke-width:2px;stroke:var(--dg-ink);filter:var(--dg-glow-ink)}.node:focus-visible .label{fill:var(--text);text-decoration:underline;text-decoration-color:var(--accent)}.node.is-hover .shape{stroke:var(--dg-ink);stroke-width:1.8px;filter:drop-shadow(0 0 4px #f4ede773)}.node.is-hover :is(.glyph,.shape-inner){stroke:var(--dg-ink)}.node.is-hover .label{fill:var(--text)}.edge-hit{fill:none;stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:help}.edge.is-hover{stroke:var(--dg-hot);stroke-width:1.8px;filter:var(--dg-glow)}.edge-label.is-hover{fill:var(--text)}flow-player.has-focus .edge:not(.is-rel),flow-player.has-focus .edge-label:not(.is-rel){opacity:.22}.fp-tip{z-index:50;border:1px solid var(--line-strong);border-top:2px solid var(--accent);background:var(--bg-1);pointer-events:auto;opacity:0;visibility:hidden;border-radius:0;max-width:min(320px,100vw - 16px);padding:12px 14px 13px;transition:opacity .12s,transform .12s,visibility .12s;position:fixed;top:0;left:0;transform:translateY(4px);box-shadow:0 12px 32px #0009}.fp-tip.is-on{opacity:1;visibility:visible;transform:none}.fp-tip-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;display:flex}.fp-tip-t{font:700 15px/1.25 var(--font-ui);letter-spacing:-.005em;color:var(--text)}.fp-tip-k{font:500 10px/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.fp-tip-k:empty,.fp-tip-x:empty{display:none}.fp-tip-d{font:400 13.5px/1.45 var(--font-ui);color:var(--text-2);margin:6px 0 0}.fp-tip-x{border-left:2px solid var(--accent);background:var(--bg-2);font:400 12px/1.5 var(--font-mono);color:var(--text);overflow-wrap:anywhere;margin:10px 0 0;padding:6px 10px}@media (prefers-reduced-motion:reduce){.fp-tip{transition:none;transform:none}}flow-player.is-enhanced .fp-scenario-title{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
