<div class="shopping"><div class="ask">SHOPPER ASKS <b id="ask">Soft jacket for travel?</b></div><div class="product"><div class="shape"></div><div><strong>FIELD COAT</strong><span id="attrs">soft · packable</span></div></div><div class="match"><span>FEED MATCH</span><div class="bar"><i id="bar"></i></div></div><div class="format">FORMAT <b id="format">SHOPPING CARD</b></div></div>
.shopping{width:min(86%,450px);padding:clamp(10px,2.5vmin,20px);border:1px solid var(--line);background:var(--surface);font:800 clamp(10px,max(2vmin,1vw),16px)/1.2 sans-serif}.ask{display:grid;gap:5px}.ask b{color:var(--accent);font-size:clamp(14px,3.5vmin,27px)}.product{display:flex;gap:clamp(8px,2vmin,15px);align-items:center;margin:clamp(9px,2vmin,18px) 0;padding:clamp(7px,1.5vmin,12px);border:1px solid var(--line)}.shape{width:clamp(34px,10vmin,75px);aspect-ratio:1;background:linear-gradient(140deg,var(--accent-3) 50%,var(--accent) 50%);clip-path:polygon(18% 0,82% 0,100% 40%,80% 55%,80% 100%,20% 100%,20% 55%,0 40%)}.product span{display:block;color:var(--muted);margin-top:4px}.match{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:max(10px,1vw,.75em)}.bar{height:8px;flex:1;background:var(--line)}.bar i{display:block;height:100%;background:var(--accent);transition:width .4s}.format{display:flex;justify-content:space-between;border-top:2px solid var(--fg);margin-top:clamp(8px,2vmin,16px);padding-top:8px}.format b{color:var(--accent)}
const states=[['Soft jacket for travel?','soft · packable','SHOPPING CARD',90],['What stays warm in rain?','water resistant · warm','TEXT AD',75],['Light layer for commute?','lightweight · durable','SHOPPING CARD',85]];let n=0;function draw(){const [q,attrs,format,score]=states[n++%3];document.querySelector('#ask').textContent=q;document.querySelector('#attrs').textContent=attrs;document.querySelector('#format').textContent=format;document.querySelector('#bar').style.width=score+'%'}draw();setInterval(draw,1350);