.deploy-flow{--flow-ink:var(--q-text,#eff2ed);--flow-muted:var(--q-muted,#a5ada8);--flow-accent:var(--q-accent,#b6ef7a);color:var(--flow-ink);background:var(--q-surface,#191c1d);padding:28px;overflow:hidden;border-radius:8px}
.flow-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:32px}.flow-toolbar p{margin:0!important;font-size:14px;color:var(--flow-muted)}
.flow-scene{display:block;width:100%;height:330px;background:var(--q-bg,#101112)}
.deploy-flow,.flow-toolbar,.flow-controls,.flow-detail,[data-deploy-flow]{min-width:0;max-width:100%;box-sizing:border-box}
.flow-scene{min-width:0;max-width:100%}
.flow-controls button,.flow-review button{white-space:normal;overflow-wrap:anywhere;max-width:100%}
.flow-detail>*{min-width:0;overflow-wrap:anywhere}
.flow-review{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.flow-review button{font:inherit;font-weight:500;min-height:48px;border:0;border-radius:4px;padding:12px 20px;color:var(--flow-ink);background:var(--q-bg,#101112);cursor:pointer}
.flow-review button:first-child{background:var(--flow-accent);color:#172010}
.flow-review button:focus-visible{outline:2px solid var(--flow-accent);outline-offset:4px}
@media(max-width:420px){.deploy-flow{padding:16px!important}.flow-controls{display:grid!important;grid-template-columns:1fr 1fr;width:100%}.flow-controls [data-flow-action=pause]{grid-column:1/-1}.flow-controls button{min-width:0;padding:10px 8px!important}.flow-review{flex-direction:column}.flow-detail{padding:16px!important}.flow-assistant{align-items:flex-start}}

@media(max-width:700px){.flow-scene{height:250px}}
.flow-controls{display:flex;gap:8px;flex-wrap:wrap}.flow-controls button{font:inherit;font-size:14px;min-height:44px;padding:8px 14px;border:0;background:var(--q-bg,#101112);color:var(--flow-ink);cursor:pointer;border-radius:4px}.flow-controls button[aria-pressed=true]{background:var(--flow-accent);color:#172010}.flow-controls button:focus-visible,.flow-step:focus-visible{outline:2px solid var(--flow-accent);outline-offset:4px}
.flow-detail{display:grid;grid-template-columns:minmax(150px,.7fr) 1.7fr;gap:28px;background:var(--q-bg,#101112);padding:24px;margin-top:20px;min-height:120px;align-items:start}.flow-detail strong{font-size:18px;font-weight:500;line-height:1.4}.flow-detail p{font-size:16px;line-height:1.55;margin:0!important;max-width:65ch!important}.flow-footnote{font-size:13px;line-height:1.5;color:var(--flow-muted);margin:18px 0 0!important;max-width:85ch!important}.flow-assistant{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;color:var(--flow-muted)}.flow-assistant img{width:28px;height:28px;object-fit:contain}
@media(max-width:700px){.deploy-flow{padding:20px}.flow-toolbar{margin-bottom:20px}.flow-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}.flow-steps li:nth-child(3)::after,.flow-steps li:nth-child(3)::before{display:none}.flow-step{min-height:80px;font-size:13px}.flow-detail{grid-template-columns:1fr;gap:12px;padding:20px;min-height:180px}.flow-detail strong{font-size:18px}.flow-detail p{font-size:15px}.flow-controls button{padding-inline:10px}.flow-footnote{font-size:13px}}
@media(prefers-reduced-motion:reduce){.flow-steps li[data-moving=true]::before{animation:none;display:none}}
@media(prefers-reduced-motion:reduce){.flow-scene{scroll-behavior:auto}}

/* Persistent stage: captions reserve the story's tallest text, never rebuilding the canvas. */
.flow-detail{display:block;transition:min-height .35s ease}
.flow-caption{display:grid;grid-template-columns:minmax(150px,.7fr) 1.7fr;gap:28px;align-items:start}
.flow-caption p{min-width:0}
.flow-measure{position:absolute!important;left:-10000px!important;top:0!important;visibility:hidden!important;pointer-events:none!important;height:auto!important;opacity:1!important;transform:none!important}
.flow-review-slot{display:flow-root;min-height:76px}
.flow-review-slot[hidden],.flow-review[hidden],.flow-assistant[hidden]{display:none}
@media(max-width:700px){.flow-caption{grid-template-columns:1fr;gap:12px}.flow-review-slot{min-height:128px}}
@media(prefers-reduced-motion:reduce){.flow-detail{transition:none}}
