<div class="ff"><div class="ff-top">FULL-FUNNEL MODEL <button id="ff-mode">TWO STAGES</button></div><div class="ff-route"><span>BRAND AD</span><i>→</i><span id="ff-demand">BRAND DEMAND</span><i>→</i><span>SALES</span></div><div class="ff-credit"><div><label>BRAND CREDIT <b id="ff-brand-n">55%</b></label><i id="ff-brand"></i></div><div><label>SEARCH CREDIT <b id="ff-search-n">45%</b></label><i id="ff-search"></i></div></div><small>ILLUSTRATIVE CREDIT SHIFT</small></div>
.ff{width:min(87%,590px);font:850 clamp(10px,max(2vmin,1vw),14px)/1.2 sans-serif}.ff-top,.ff-credit label{display:flex;justify-content:space-between;align-items:center;gap:7px}.ff-top{border-bottom:2px solid var(--fg);padding-bottom:7px}.ff button{border:1px solid var(--fg);background:var(--fg);color:var(--bg);font:inherit;padding:5px 7px;cursor:pointer}.ff-route{display:flex;align-items:center;gap:clamp(3px,1.3vmin,10px);margin:clamp(13px,4vmin,30px) 0}.ff-route span{flex:1;text-align:center;border:1px solid var(--line);background:var(--surface);padding:clamp(7px,2vmin,16px) 2px;white-space:nowrap;font-size:clamp(10px,max(1.7vmin,1vw),13px)}.ff-route i{font-style:normal;color:var(--accent);font-size:clamp(14px,4vmin,26px)}.ff-route #ff-demand{background:var(--accent);color:var(--bg);transition:opacity .4s}.ff-route #ff-demand.dim{opacity:.25}.ff-credit{display:grid;gap:clamp(6px,1.5vmin,10px)}.ff-credit label{margin-bottom:3px}.ff-credit i{display:block;height:clamp(8px,2vmin,16px);background:var(--accent);transition:width .55s}.ff-credit>div:nth-child(2) i{background:var(--accent-2)}.ff small{display:block;color:var(--muted);border-top:1px solid var(--line);margin-top:clamp(8px,2vmin,14px);padding-top:5px;font-size:clamp(10px,max(1.5vmin,1vw),12px)}
let two=true;function draw(){document.querySelector('#ff-mode').textContent=two?'TWO STAGES':'ONE STAGE';document.querySelector('#ff-demand').classList.toggle('dim',!two);document.querySelector('#ff-brand').style.width=two?'55%':'20%';document.querySelector('#ff-search').style.width=two?'45%':'80%';document.querySelector('#ff-brand-n').textContent=two?'55%':'20%';document.querySelector('#ff-search-n').textContent=two?'45%':'80%'}draw();const timer=setInterval(()=>{two=!two;draw()},2200);document.querySelector('#ff-mode').onclick=()=>{clearInterval(timer);two=!two;draw()};