/* Prototype 01→04 · one RFQ dossier across the story (shared-element ghost) + a live rate rule model in scene 04. */
/* the shared-element ghost: carries the 03 → 04 record and the 04 → demo shot (scene 02 is a process map, no dossier) */
#rfq-ghost{position:absolute;left:0;top:0;z-index:40;pointer-events:none;opacity:0;transform-origin:0 0;will-change:transform}
/* 04 · the recovered condition lands in the record */
#s-flow .fl-fi.pin.fl-kept{animation:flKept 1.6s ease-out}
@keyframes flKept{0%{box-shadow:inset 0 0 0 2px var(--amber),0 0 40px rgba(240,166,58,.7);background:rgba(240,166,58,.2)}100%{box-shadow:none;background:none}}
/* 04 · live rate model in the Pricing column */
#s-flow .fl-rec{top:566px;height:350px}
#s-flow .fl-end{top:934px}#s-flow .fl-note{top:992px}
#s-flow .fl-col.c2 .fl-fi{grid-template-columns:40px 1fr 26px}
#s-flow .fs-val,#s-flow .fs-scope{display:grid;grid-template-rows:auto auto auto;align-items:start;row-gap:6px;column-gap:12px;margin:0;padding:10px 0;border-top:1px solid rgba(142,163,192,.14)}
#s-flow .fs-val i,#s-flow .fs-scope i{grid-row:1/3}
#s-flow .fs-val>b,#s-flow .fs-scope>b{grid-column:2;align-self:center}
#s-flow .fs-val em,#s-flow .fs-scope em{grid-column:3;grid-row:1}
#s-flow .fl-tl{grid-column:2/4;position:relative;height:50px;margin-top:2px}
#s-flow .fl-tl .ax{position:absolute;top:34px;transform:translateX(-50%);font-size:12px;color:#8EA3C0;font-variant-numeric:tabular-nums}
#s-flow .fl-tl .bar,#s-flow .fl-tl .gr{position:absolute;height:9px;border-radius:5px;transition:opacity .5s,transform .8s var(--io);transform-origin:0 50%}
#s-flow .fl-tl .cu{top:6px}#s-flow .fl-tl .mo{top:19px}
#s-flow .fl-tl .bar{background:linear-gradient(90deg,#2A63E6,#8FBAFF)}
#s-flow .fl-tl .gr{border-radius:0 5px 5px 0;background:repeating-linear-gradient(135deg,rgba(240,166,58,.85) 0 3px,rgba(240,166,58,.25) 3px 6px)}
#s-flow:not(.fl-new) .fl-tl .mo{opacity:0;transform:scaleX(0)}
#s-flow .fl-tl .mk{position:absolute;top:-4px;width:2px;height:34px;margin-left:-1px;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.8);transition:left .35s var(--io)}
#s-flow .fl-tl .mk b{position:absolute;left:50%;top:-22px;transform:translateX(-50%);padding:1px 8px;border-radius:6px;background:#fff;color:#0B1736;font-size:12px;font-weight:700;white-space:nowrap}
#s-flow #fl-date{position:absolute;left:-8px;right:-8px;top:-6px;width:calc(100% + 16px);height:40px;margin:0;opacity:0;cursor:ew-resize}
#s-flow .fl-st{grid-column:2/4;margin:2px 0 0;display:flex;flex-direction:column;gap:2px}
#s-flow .fl-st b{font-size:17px;font-weight:600;line-height:1.3;color:var(--white)}
#s-flow .fl-st code{font-family:var(--f-data);font-size:12.5px;color:#8EA3C0}
#s-flow .fl-seg{grid-column:2/4;display:flex;gap:4px;padding:3px;border-radius:10px;background:rgba(190,208,235,.06);width:max-content}
#s-flow .fl-seg button{border:0;background:none;padding:5px 11px;border-radius:7px;font:inherit;font-size:14px;color:#9FB0CC;cursor:pointer;pointer-events:auto}
#s-flow .fl-seg button[aria-pressed="true"]{background:rgba(42,99,230,.55);color:#fff}
#s-flow .fl-sim{margin:6px 0 0;font-size:12.5px;color:var(--amber)}
#s-flow .fl-col.c2{pointer-events:auto}
#s-flow:not([data-k="2"]):not([data-k="3"]) .fl-col.c2 :is(.fl-tl,.fl-seg){pointer-events:none}
/* outcome classes set by the model: fs-ok · fs-warn · fs-grace · fs-conf · fs-hold */
#s-flow:is(.fs-warn,.fs-grace) .fs-val .fl-st b{color:#FFD08A}
#s-flow:is(.fs-conf) .fs-scope>b,#s-flow.fs-conf .fl-st b{color:#FFD08A}
#s-flow.fs-hold .fs-val .fl-st b{color:#FFB3A8}
#s-flow.fs-hold .fs-val i{background:rgba(240,166,58,.18);color:#FFD08A;box-shadow:0 0 0 1.5px var(--amber)}
#s-flow.fs-hold .fs-val{background:linear-gradient(90deg,rgba(240,166,58,.1),transparent);animation:flRow 1s ease-in-out infinite}
#s-flow .fs-val em,#s-flow .fs-scope em,#s-flow .fs-src em{transition:transform .4s cubic-bezier(.2,1.4,.4,1),background .3s}
#s-flow:is([data-k="2"],[data-k="3"]):is(.fs-warn,.fs-grace) .fs-val em{background:var(--amber)}
#s-flow.fs-hold .fs-val em,#s-flow.fs-hold .fs-src em{transform:scale(0)!important}
#s-flow.fs-conf .fs-scope em,#s-flow.fs-block .fs-scope em{transform:scale(0)!important}
#s-flow:is([data-k="2"],[data-k="3"]) .fl-col.c2 :is(.fs-val,.fs-scope) em{transform:none}
/* token on the rail follows the model */
#s-flow.fs-hold[data-k="2"] .fl-token,#s-flow.fs-hold[data-k="3"] .fl-token{opacity:1;transform:translate(800px,440px) translate(-50%,-50%);border-color:var(--amber);box-shadow:0 0 26px rgba(240,166,58,.7);animation:flHold 1s ease-in-out .9s infinite;transition:transform .7s var(--io)}
#s-flow:is(.fs-warn,.fs-grace,.fs-conf)[data-k="2"] .fl-token{border-color:var(--amber)}
#s-flow.fs-conf[data-k="3"] .fl-token{transform:translate(1610px,492px) translate(-50%,-50%) scale(.001)}
#s-flow.fs-conf[data-k="3"] .fl-br.r2{color:#fff}
#s-flow.fs-conf[data-k="3"] .fl-br.r2 i{background:rgba(240,166,58,.35);border-style:solid}
#s-flow.fs-conf[data-k="3"] .fl-rail .b2{stroke-width:4;filter:drop-shadow(0 0 8px rgba(240,166,58,.8))}
#s-flow.fs-hold[data-k="3"] .fl-br,#s-flow.fs-hold[data-k="3"] .fl-rail :is(.s2,.b1,.b2){opacity:.25}
#s-flow.fs-hold[data-k="3"] .fl-col.c3 .fl-fi:first-of-type em{transform:scale(0)!important}
#s-flow.fs-hold[data-k="3"] #fl-ready,#s-flow.fs-conf[data-k="3"] #fl-ready,#s-flow.fs-grace[data-k="3"] #fl-ready{color:#FFD08A}

#s-flow .fl-st b{text-transform:none;letter-spacing:0;font-size:17px;font-weight:600}
#s-flow .fs-val>b #fl-dlab{display:inline-block;margin-left:6px;padding:0 8px;border-radius:6px;background:#fff;color:#0B1736;letter-spacing:.02em}
#s-flow .fl-tl{margin-right:4px}
#s-flow .fs-scope{display:flex;align-items:center;gap:12px}
#s-flow .fs-scope i{flex:none}
#s-flow .fs-scope>b{white-space:nowrap}
#s-flow .fs-scope em{margin-left:auto}
#s-flow .fl-seg button{padding:4px 9px;font-size:13.5px}
#s-flow .fl-col.c2 h4{display:flex;align-items:baseline;gap:10px;white-space:nowrap}
#s-flow .fl-col.c2 h4 .fl-sim{margin:0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--amber)}
#s-flow .fl-col.c2 .fl-fi{padding:8px 0}
#s-flow .fl-rec{grid-template-columns:repeat(3,minmax(0,1fr))}
#s-flow .fl-col.c2 h4{display:block}
#s-flow .fl-col.c2 h4 .fl-sim{display:block;margin-top:3px}
#s-flow .fl-col.c2 .fl-fi{padding:7px 0}
#s-flow .fl-rec{height:360px;top:560px}
#s-flow .fl-end{top:936px}#s-flow .fl-note{top:994px}
#s-flow .fs-scope{flex-wrap:wrap;row-gap:7px}
#s-flow .fs-scope .fl-seg{order:3;flex:1 0 100%;width:auto;margin-left:40px}
#s-flow .fl-seg button{flex:1;white-space:nowrap;font-size:14px;padding:5px 6px}
#s-flow .fl-rec{height:398px;top:556px}
#s-flow .fl-end{top:972px}#s-flow .fl-note{top:1022px}
#s-flow .fs-scope .fl-seg{flex:0 0 calc(100% - 40px);max-width:calc(100% - 40px);box-sizing:border-box}
