<div class="fsa"><div class="fsa-head">CONVERTED PATH <button id="fsa-next">PATH A → B</button></div><div class="fsa-stages"><div><small>EARLY</small><b id="fsa-early">VIDEO</b><i></i></div><div><small>MID</small><b id="fsa-mid">SOCIAL</b><i></i></div><div><small>LATE</small><b id="fsa-late">SEARCH</b><i></i></div></div><div class="fsa-bottom"><span id="fsa-path">VIDEO → SOCIAL → SEARCH → BUY</span><b>3 TOUCHES</b></div></div>
.fsa{width:min(87%,590px);font:850 clamp(10px,max(2vmin,1vw),14px)/1.2 sans-serif}.fsa-head,.fsa-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px}.fsa-head{border-bottom:2px solid var(--fg);padding-bottom:8px}.fsa button{font:inherit;border:1px solid var(--fg);background:var(--fg);color:var(--bg);padding:5px 7px;cursor:pointer}.fsa-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(5px,1.5vmin,12px);margin:clamp(14px,4vmin,30px) 0}.fsa-stages>div{border:1px solid var(--line);background:var(--surface);min-width:0;padding:clamp(7px,2vmin,14px);position:relative}.fsa-stages small{display:block;color:var(--muted);font-size:clamp(10px,max(1.5vmin,1vw),12px)}.fsa-stages b{display:block;color:var(--accent);margin-top:clamp(5px,1.5vmin,10px);font-size:clamp(12px,max(2.6vmin,1.3vw),19px)}.fsa-stages i{display:block;width:65%;height:clamp(4px,1vmin,8px);background:var(--accent);margin-top:8px;transition:width .4s}.fsa-stages>div:nth-child(2) i{background:var(--accent-2)}.fsa-stages>div:nth-child(3) i{background:var(--accent-3)}.fsa-bottom{border-top:1px solid var(--line);padding-top:8px;color:var(--muted);font-size:clamp(10px,max(1.6vmin,1vw),12px)}.fsa-bottom b{color:var(--fg);white-space:nowrap}
let second=false;function draw(){const labels=second?['SEARCH','VIDEO','EMAIL']:['VIDEO','SOCIAL','SEARCH'];['early','mid','late'].forEach((stage,i)=>{document.querySelector('#fsa-'+stage).textContent=labels[i]});document.querySelector('#fsa-path').textContent=labels.join(' → ')+' → BUY';document.querySelector('#fsa-next').textContent=second?'PATH B → A':'PATH A → B';document.querySelectorAll('.fsa-stages i').forEach((bar,i)=>bar.style.width=(second?[80,50,65]:[65,45,85])[i]+'%')}draw();const timer=setInterval(()=>{second=!second;draw()},1750);document.querySelector('#fsa-next').onclick=()=>{clearInterval(timer);second=!second;draw()};