
:root{--grad:linear-gradient(100deg,#d4ff66,#b6ff00 40%,#a6f000 72%,#86d000);--mut:#b9a6c9;--line:rgba(255,255,255,.12)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,system-ui,sans-serif;background:#150a1b;color:#f4ecfa;padding:16px 14px;min-height:0}
.g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.wrap{max-width:900px;margin:0 auto}
.win{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(9,11,26,.9)}
.chrome{height:40px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid var(--line);background:rgba(8,10,24,.9)}
.dotr{display:flex;gap:6px}.dotr i{width:11px;height:11px;border-radius:50%;display:block}
.url{flex:1;margin-left:10px;background:rgba(255,255,255,.05);border-radius:8px;height:24px;display:flex;align-items:center;padding:0 12px;font-size:12px;color:#b9a6c9}
.stage{position:relative;height:300px;overflow:hidden;background:linear-gradient(rgba(18,9,26,.58),rgba(18,9,26,.70)),url('/images/creative-intel-bg.png') center/cover}
.scene{position:absolute;inset:0;display:none;place-items:center;padding:20px}
.scene.on{display:grid}
/* caption strip (fixed height -> constant total height) */
.cap{display:flex;gap:16px;align-items:center;height:92px;padding:0 22px;border-top:1px solid var(--line);background:rgba(8,10,24,.6)}
.cap .num{font-size:34px;font-weight:800;color:rgba(255,255,255,.14);line-height:1;flex:none;width:44px}
.cap .lab{font-size:11px;font-weight:700;letter-spacing:1.4px;color:#d6ff8f;text-transform:uppercase}
.cap b{font-size:16px;font-weight:700;display:block;margin:2px 0 3px}
.cap p{font-size:13px;color:#b9a6c9;line-height:1.45}
.ctrl{display:flex;align-items:center;gap:12px;margin-top:16px}
.pp{width:42px;height:42px;border-radius:50%;background:var(--grad);border:none;color:#160a1d;font-size:15px;cursor:pointer;flex:none}
.segs{display:flex;gap:7px;flex:1}
.seg{flex:1;height:5px;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden;cursor:pointer}
.seg i{display:block;height:100%;width:0;background:var(--grad)}
.seg.done i{width:100%}.seg.active i{animation:fill var(--dur) linear forwards}
@keyframes fill{to{width:100%}}
/* scene 1 brief */
.cmd{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:13px;padding:14px 16px;font-size:15px;min-height:52px;width:100%;max-width:540px}
.cur{display:inline-block;width:2px;height:18px;background:#b6ff00;margin-left:1px;animation:blink 1s steps(1) infinite;vertical-align:-3px}
@keyframes blink{50%{opacity:0}}
.chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.chip{font-size:12.5px;border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:999px;padding:6px 12px;opacity:0;transform:translateY(6px)}
.chip b{color:#d8c9e0}
.scene.on .chip{animation:pop .4s forwards}.scene.on .chip:nth-child(2){animation-delay:.4s}.scene.on .chip:nth-child(3){animation-delay:.7s}.scene.on .chip:nth-child(4){animation-delay:1s}
@keyframes pop{to{opacity:1;transform:none}}
.briefwrap{width:100%;max-width:560px;text-align:center}
/* scene 2 bars */
.bars{display:flex;flex-direction:column;gap:11px;width:100%;max-width:540px}
.brow{display:flex;align-items:center;gap:12px}
.brow span{width:92px;font-size:13px;color:#d8c9e0}
.bar{flex:1;height:13px;border-radius:7px;background:rgba(255,255,255,.06);overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--grad);border-radius:7px;transition:width 1s cubic-bezier(.4,0,.2,1)}
.brow em{font-style:normal;width:58px;text-align:right;font-size:13px;font-weight:700;color:#ece2f3}
/* scene 3 single listing */
.lcard{width:100%;max-width:340px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.03);transform:scale(.92);opacity:0}
.scene.on .lcard{animation:cardin .5s forwards}
@keyframes cardin{to{transform:none;opacity:1}}
.lcard .ph{height:110px;background:url('/images/ad-led.jpg') center/cover}
.lcard .lb{padding:13px 15px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.lcard .lb b{font-size:15px}.lcard .lb p{font-size:12px;color:#b9a6c9;margin-top:2px}
.lcard .pr b{font-size:15px;display:block;margin-bottom:6px}
.bk{font-size:12px;border:1px solid var(--line);border-radius:8px;padding:6px 12px;white-space:nowrap;transition:.3s}
.lcard.booked{border-color:#86d000;box-shadow:0 0 0 2px rgba(61,220,151,.3)}
.lcard.booked .bk{background:#86d000;color:#04140c;border-color:#86d000;font-weight:800}
/* scene 4 creative */
.upbox{border:1.5px dashed var(--line);border-radius:16px;padding:22px;text-align:center;width:100%;max-width:380px;color:#b9a6c9;font-size:13.5px;background:rgba(9,11,26,.72)}
.tile{width:200px;height:116px;border-radius:12px;margin:12px auto 0;background:url('/images/ad-cab.jpg') center/cover;display:grid;place-items:center;transform:scale(.6);opacity:0;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.scene.on .tile{animation:pop2 .6s .4s forwards}@keyframes pop2{to{transform:scale(1);opacity:1}}
.tile .pl{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.85);display:grid;place-items:center;color:#2a1138;font-size:14px;backdrop-filter:blur(2px)}
.attached{margin-top:12px;color:#86d000;font-weight:700;font-size:13px;opacity:0}.scene.on .attached{animation:pop .4s 1.1s forwards}
/* scene 5 map */
.pins{position:relative;width:100%;height:100%;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.pins canvas{position:absolute;inset:0;width:100%;height:100%}
.mpin{position:absolute;width:13px;height:13px;border-radius:50%;background:#b6ff00;box-shadow:0 0 12px #b6ff00;transform:scale(0)}
.scene.on .mpin{animation:drop .5s forwards}
@keyframes drop{0%{transform:scale(0) translateY(-10px)}70%{transform:scale(1.25)}100%{transform:scale(1)}}
.mbadge{position:absolute;left:13px;top:11px;z-index:3;font-size:12px;color:#86d000;font-weight:800;display:flex;align-items:center;gap:6px}
.mbadge .d{width:8px;height:8px;border-radius:50%;background:#86d000;box-shadow:0 0 10px #86d000;animation:blink2 1.4s infinite}
@keyframes blink2{50%{opacity:.4}}
.mtoast{position:absolute;right:13px;top:11px;z-index:3;background:rgba(12,14,34,.92);border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:11.5px;color:#ece2f3;opacity:0}
.scene.on .mtoast{animation:pop .45s 1.4s forwards}
/* scene 5 book & go live */
.bookwrap{width:100%;max-width:340px}
.bcard{border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:rgba(255,255,255,.03);transform:scale(.94);opacity:0}
.scene.on .bcard{animation:cardin .5s forwards}
.bc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.bc-top b{font-size:16px}.bc-top span{display:block;font-size:12px;color:#b9a6c9;margin-top:2px}
.bc-pr{font-size:16px;font-weight:800;white-space:nowrap}.bc-pr small{font-size:11px;color:#b9a6c9;font-weight:600}
.bc-row{display:flex;justify-content:space-between;font-size:13px;margin-top:12px;padding-top:11px;border-top:1px dashed var(--line)}
.bc-k{color:#b9a6c9}.bc-v{font-weight:700}
.bc-action{position:relative;height:46px;margin-top:16px}
.bc-confirm,.bc-done{position:absolute;inset:0;display:grid;place-items:center;border-radius:11px;font-weight:800;font-size:14px}
.bc-confirm{color:#160a1d;background:var(--grad);opacity:0}
.scene.on .bc-confirm{animation:pressOut 1.7s forwards}
@keyframes pressOut{0%{opacity:0;transform:scale(.96)}12%{opacity:1;transform:scale(1)}52%{transform:scale(1)}60%{transform:scale(.93)}68%{transform:scale(1)}90%{opacity:1}100%{opacity:0}}
.bc-done{color:#04140c;background:#86d000;opacity:0}
.scene.on .bc-done{animation:fadeIn2 .4s 1.55s forwards}
@keyframes fadeIn2{from{opacity:0}to{opacity:1}}
.bc-live{margin-top:11px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12.5px;color:#d8c9e0;opacity:0}
.scene.on .bc-live{animation:fadeUp2 .5s 2.3s forwards}
@keyframes fadeUp2{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.bc-dot{width:8px;height:8px;border-radius:50%;background:#86d000;box-shadow:0 0 10px #86d000;animation:blink2 1.4s infinite}
/* scene 6 proof */
.pwrap{width:100%;max-width:520px}
.proofs{display:flex;gap:12px}
.pf{flex:1;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.03);opacity:0;transform:translateY(10px)}
.scene.on .pf{animation:cardin .5s forwards}.scene.on .pf:nth-child(2){animation-delay:.18s}
.pph{height:82px;background:url('/images/ad-billboard.jpg') center/cover}.pph.alt{background:url('/images/ad-led.jpg') center/cover}.pph.cab{background:url('/images/ad-cab.jpg') center/cover}
.pc{padding:8px 11px;font-size:12px;color:#d8c9e0}
.statusbar{display:flex;gap:5px;margin-top:12px}
.st{flex:1;text-align:center;font-size:10.5px;color:#fff;padding:6px 3px;border-radius:7px;position:relative;overflow:hidden}
.st:before{content:'';position:absolute;inset:0;background:var(--grad);opacity:.85;z-index:0}.st span{position:relative;z-index:1}
.reach{margin-top:12px;font-size:13px;color:#b9a6c9;text-align:center}.reach b{font-size:18px;font-weight:800;color:#86d000}
@media(max-width:760px){
 body{padding:12px 10px}
 .stage{height:266px}
 .scene{padding:14px}
 .cap{height:104px;padding:0 16px;gap:12px}.cap .num{font-size:28px;width:34px}.cap b{font-size:15px}.cap p{font-size:12.5px}
 .cmd{font-size:14px;padding:12px 14px}
 .lcard{max-width:300px}.lcard .ph{height:84px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
