.lf-viz-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.lf-flow{margin:var(--lf-space-7) 0;position:relative}.lf-flow__grid{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:center;-moz-column-gap:clamp(64px,8vw,112px);column-gap:clamp(64px,8vw,112px)}.lf-flow__col{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:var(--lf-space-4);min-width:0}.lf-flow__node{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--lf-paper-2);border:1px solid var(--lf-hairline);border-radius:var(--lf-radius-sm);opacity:0;transform:translateY(10px) scale(.96);transition:opacity var(--lf-time-base) var(--lf-ease-out),transform var(--lf-time-slow) var(--lf-ease-spring);transition-delay:calc(var(--lf-i, 0) * 90ms)}[data-revealed=true] .lf-flow__node{opacity:1;transform:none}.lf-flow__node-label{font-family:var(--lf-mono);font-size:var(--lf-text-2xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--lf-bone);line-height:1.3}.lf-flow__node-sub{font-family:var(--lf-mono);font-size:var(--lf-text-2xs);letter-spacing:.05em;color:var(--lf-bone-dim);line-height:1.35}.lf-flow__node-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.lf-flow__node-chip{font-family:var(--lf-mono);font-size:var(--lf-text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--lf-bone-soft);border:1px solid var(--lf-hairline);border-radius:var(--lf-radius-pill);padding:2px 7px;white-space:nowrap}.lf-flow__node[data-tone=muted]{border-style:dashed;background:transparent}.lf-flow__node[data-tone=muted] .lf-flow__node-label{color:var(--lf-bone-dim)}.lf-flow__node[data-tone=signal],.lf-flow__node[data-tone=hub]{border-color:color-mix(in srgb,var(--lf-fight) 55%,var(--lf-hairline));background:var(--lf-paper);background:linear-gradient(180deg,color-mix(in srgb,var(--lf-fight) 8%,var(--lf-paper)),var(--lf-paper))}.lf-flow__node[data-tone=hub]{box-shadow:0 0 0 4px color-mix(in srgb,var(--lf-fight) 10%,transparent);align-self:center;min-width:min(200px,100%)}[data-revealed=true] .lf-flow__node[data-tone=hub]{animation:lf-flow-hub-pulse var(--m-reveal-ms) var(--lf-ease-standard) .9s 1 both}@keyframes lf-flow-hub-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.94;transform:scale(1.015)}}.lf-flow__node[data-tone=signal] .lf-flow__node-label,.lf-flow__node[data-tone=hub] .lf-flow__node-label{color:var(--lf-fight)}.lf-flow__wires{position:absolute;inset:0;z-index:0;overflow:visible;pointer-events:none}.lf-flow__wire{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset var(--lf-time-cinematic) var(--lf-ease-out);transition-delay:calc(.16s + var(--lf-i, 0) * .11s)}.lf-flow__wire[data-tone=signal]{stroke:var(--lf-fight);stroke-width:2;opacity:.95;filter:drop-shadow(0 0 6px rgba(249,115,22,.45))}.lf-flow__wire[data-tone=muted]{stroke:var(--lf-hairline);opacity:.9}[data-revealed=true] .lf-flow__wire{stroke-dashoffset:0}.lf-flow__edge-chip{position:absolute;z-index:2;transform:translate(-50%,-50%);font-family:var(--lf-mono);max-width:9.5rem;font-size:var(--lf-text-2xs);letter-spacing:.07em;text-transform:uppercase;color:var(--lf-fight);background:var(--lf-ink);border:1px solid color-mix(in srgb,var(--lf-fight) 45%,var(--lf-hairline));border-radius:var(--lf-radius-pill);padding:3px 7px;line-height:1.2;text-align:center;white-space:normal;opacity:0;transition:opacity var(--lf-time-base) var(--lf-ease-out) .7s}[data-revealed=true] .lf-flow__edge-chip{opacity:1}.lf-flow__caption{margin-top:var(--lf-space-4);font-family:var(--lf-mono);font-size:var(--lf-text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--lf-bone-dim)}@media(max-width:640px){.lf-flow__grid{grid-auto-flow:row;grid-auto-columns:unset;grid-template-columns:minmax(0,1fr);row-gap:var(--lf-space-6)}.lf-flow__edge-chip{max-width:8rem}.lf-flow__col{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:var(--lf-space-6)}.lf-flow__node{flex:none}.lf-flow__node[data-tone=hub]{align-self:stretch;min-width:0}.lf-flow__node-label{white-space:normal}}@media(prefers-reduced-motion:reduce){.lf-flow__node,.lf-flow__edge-chip{opacity:1!important;transform:none!important;transition:none!important}.lf-flow__node[data-tone=hub]{animation:none!important}.lf-flow__wire{stroke-dashoffset:0!important;transition:none!important}}
