/* Only loaded by an article with the authored agent-flow component. */
.agent-flow{padding:38px 42px 22px;border:1px solid var(--line);border-radius:8px;background:var(--surface);margin-bottom:58px;isolation:isolate}
.af-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.af-eyebrow{font:10px/1.5 ui-monospace,SFMono-Regular,monospace;letter-spacing:1.6px;color:var(--accent);margin:0 0 12px}
.af-heading h2{font-size:36px;line-height:1.12;letter-spacing:-1.3px;font-weight:550;margin:0}
.af-badge{font:10px/1.5 ui-monospace,monospace;border:1px solid var(--line);padding:6px 9px;border-radius:20px;color:var(--muted);white-space:nowrap}
.af-intro{font-size:14px;line-height:1.7;color:var(--muted);margin:17px 0 28px}
.af-board{padding:22px 18px 26px;background-image:radial-gradient(var(--line) .9px,transparent .9px);background-size:18px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.af-node{background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:15px 16px;position:relative;box-shadow:0 2px 7px #00000003;min-width:0;display:flex;flex-direction:column;gap:5px}
.af-central{width:255px;max-width:100%;margin:0 auto;text-align:center}
.af-node strong{font-size:15px;line-height:1.5;font-weight:620;letter-spacing:-.15px}
.af-node small{font-size:11px;line-height:1.5;color:var(--muted)}
.af-node-number{font:9px/1.5 ui-monospace,SFMono-Regular,monospace;letter-spacing:.65px;color:var(--muted);margin-bottom:3px}
.af-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.af-worker{min-height:128px}
.af-worker-status{font:10px/1.5 ui-monospace,monospace;color:var(--muted)}
.af-meter{height:3px;background:var(--line);border-radius:3px;overflow:hidden;margin:6px 0}
.af-meter span{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(1)}
.af-links{width:100%;height:50px;display:block;overflow:visible}
.af-rail,.af-trace{fill:none;stroke:var(--line);stroke-width:1.5;vector-effect:non-scaling-stroke}
.af-trace{stroke:var(--accent);stroke-dasharray:1;stroke-dashoffset:0;stroke-width:1.75}
.af-packet{stroke:var(--accent);stroke-width:5;vector-effect:non-scaling-stroke;fill:var(--accent);opacity:0}
.af-node[data-state=active]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.af-node[data-state=complete]{border-color:var(--accent)}
.af-node[data-state=complete] .af-worker-status{color:var(--accent)}
.af-release{border-color:var(--accent);background:var(--accent-soft)}
.agent-flow[data-enhanced] .af-release[data-state=waiting]{border-color:var(--line);background:var(--bg)}
.af-check{color:var(--accent);padding-left:4px;display:inline-block}
.af-controls{padding-top:21px}
.af-transport{display:flex;gap:9px;align-items:center}
.af-transport button{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:9px 14px;font-size:11px;line-height:20px;white-space:nowrap}
.af-transport [data-flow-play]{background:var(--accent);color:var(--bg);border-color:var(--accent);min-width:126px}
.af-transport button:disabled{opacity:.55;cursor:default}
.af-scrub-label{display:flex;flex:1;min-width:50px;margin-left:12px}
.af-scrub-label input{width:100%;min-width:0;accent-color:var(--accent);cursor:pointer;height:30px;margin:0}
.af-percent{font:10px ui-monospace,monospace;color:var(--muted);min-width:33px;text-align:right}
.af-steps{display:flex;margin:20px 0 17px;gap:6px;border-bottom:1px solid var(--line)}
.af-steps button{flex:1;min-width:0;text-align:left;border:0;border-bottom:2px solid transparent;background:transparent;padding:8px 5px 12px;font-size:11px;line-height:1.5;color:var(--muted)}
.af-steps button span{display:block;font:9px ui-monospace,monospace;margin-bottom:5px}
.af-steps button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent)}
.af-explainer{min-height:71px}
.af-explainer strong{font-size:13px;font-weight:600}
.af-explainer p{font-size:12px;line-height:1.8;color:var(--muted);max-width:720px;margin:5px 0 0}
.af-caption{font-size:10px;color:var(--muted);line-height:1.7;margin:18px 0 0}
.af-caption span{font-weight:600}
@media(max-width:820px){.agent-flow{padding:28px 25px 20px}.af-board{padding-left:0;padding-right:0}.af-lanes{gap:12px}}
@media(max-width:560px){.agent-flow{padding:23px 14px 16px;margin-bottom:34px}.af-heading{display:block}.af-heading h2{font-size:29px;letter-spacing:-.8px}.af-badge{display:inline-block;margin-top:14px}.af-intro{font-size:12px;margin:14px 0 18px}.af-eyebrow{font-size:9px;letter-spacing:1px}.af-lanes{gap:6px}.af-worker{padding:11px 7px;min-height:128px}.af-worker strong{font-size:13px}.af-worker small{font-size:10px;min-height:30px}.af-node-number{font-size:8px;letter-spacing:0}.af-worker-status{font-size:9px;min-height:27px}.af-central{width:230px;padding:12px}.af-links{height:40px}.af-transport{flex-wrap:wrap;gap:8px}.af-transport button{font-size:11px;padding:8px 12px}.af-transport [data-flow-play]{min-width:125px}.af-scrub-label{order:3;flex-basis:80%;margin-left:0}.af-percent{order:4}.af-steps{gap:1px}.af-steps button{font-size:10px;padding:8px 2px 10px}.af-explainer{min-height:104px}.af-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){.agent-flow *{animation:none!important;transition:none!important}}
@media print{.af-controls,.af-badge{display:none!important}.agent-flow{break-inside:avoid;background:#fff}.af-trace{stroke-dashoffset:0!important}.af-packet{display:none}.af-meter span{transform:scaleX(1)!important}}
