/* === Shared scene base (from animations/shared.css) === */
.feat-scene{position:relative;border-radius:18px;background:rgba(255,255,255,.6);overflow:hidden;width:1120px;height:640px}
.feat-scene:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,0,0,.12) 1px,transparent 1px);background-size:18px 18px;opacity:.28}
.feat-scene:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 58% 44% at 50% 48%,rgba(20,184,166,.07),transparent 72%);pointer-events:none}
.feat-scene .card{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:22px;box-shadow:0 38px 90px -56px rgba(15,23,42,.45);position:absolute;z-index:5}
.feat-scene .pill{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:850;white-space:nowrap}
.feat-scene .pill.teal{background:var(--tealTint);color:var(--tealDeep)}
.feat-scene .pill.green{background:var(--greenTint);color:var(--greenDeep)}
.feat-scene .pill.amber{background:var(--amberTint);color:var(--amberDeep)}
.feat-scene .pill.red{background:#fef2f2;color:var(--red)}
.feat-scene .pill.violet{background:var(--violetTint);color:var(--violet)}
.feat-scene .pill.gray{background:#f4f4f5;color:var(--muted)}
.feat-scene .pill-row{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.feat-scene .label{font-size:12px;color:var(--mute);letter-spacing:.12em;font-weight:800;text-transform:uppercase}
.feat-scene small{color:var(--muted);font-weight:650;font-size:12px}
.feat-scene strong{font-weight:700}

/* Auto-generated from animations/*.html — DO NOT EDIT BY HAND.
 * Each scene's original CSS is namespaced under .feat-scene--<name>.
 */

/* === search-terms === */
.feat-scene--search-terms .rail{position:absolute;left:70px;right:70px;top:292px;height:2px;background:linear-gradient(90deg,transparent,rgba(20,184,166,.45),transparent);z-index:4}
.feat-scene--search-terms .chip{position:absolute;top:268px;height:52px;padding:0 18px;border-radius:999px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;gap:10px;font-size:15px;font-weight:750;box-shadow:0 24px 60px -45px rgba(15,23,42,.45);opacity:0}
.feat-scene--search-terms .chip:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--mute)}
.feat-scene--search-terms .chip.w:before{background:var(--teal);box-shadow:0 0 0 5px rgba(20,184,166,.14)}
.feat-scene--search-terms .chip.a:before{background:var(--amber)}
.feat-scene--search-terms .c1{left:70px;animation:chip 10s linear infinite}
.feat-scene--search-terms .c2{left:265px;animation:chip 10s linear .5s infinite}
.feat-scene--search-terms .c3{left:490px;animation:chipWin 10s linear 1s infinite}
.feat-scene--search-terms .c4{right:70px;animation:chip 10s linear 1.4s infinite}
.feat-scene--search-terms .winner{left:50%;top:90px;width:460px;padding:28px;transform:translateX(-50%);border-color:rgba(20,184,166,.22);animation:winner 10s linear infinite}
.feat-scene--search-terms .term{margin-top:10px;font-size:34px;line-height:1;letter-spacing:-.06em;font-weight:700}
.feat-scene--search-terms .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.feat-scene--search-terms .metric{border:1px solid var(--line);background:var(--panel2);border-radius:14px;padding:14px}
.feat-scene--search-terms .metric .k{font-size:11px;color:var(--mute);font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.feat-scene--search-terms .metric .v{margin-top:6px;font-size:22px;font-weight:850;color:var(--tealDeep)}
.feat-scene--search-terms .filter{left:82px;bottom:92px;width:310px;padding:22px;animation:panelA 10s linear infinite}
.feat-scene--search-terms .action{right:82px;bottom:92px;width:380px;padding:24px;animation:panelB 10s linear infinite}
.feat-scene--search-terms .action h3,.feat-scene--search-terms .filter h3{margin-top:12px;font-size:24px;line-height:1.08;letter-spacing:-.055em}
.feat-scene--search-terms .action p,.feat-scene--search-terms .filter p{margin-top:10px;color:var(--dim);font-size:15px;line-height:1.45}
.feat-scene--search-terms .button{margin-top:18px;height:42px;border:0;border-radius:12px;background:var(--tealBright);color:#052621;padding:0 20px;font-size:14px;font-weight:850}
@keyframes chip{0%,8%{opacity:0;filter:blur(4px);transform:translateX(-30px) scale(.94)}18%,65%{opacity:1;filter:blur(0);transform:translateX(0) scale(1)}80%,100%{opacity:0;filter:blur(2px);transform:translateX(70px) scale(.96)}}
@keyframes chipWin{0%,18%{opacity:0;filter:blur(4px);transform:translateX(-30px) scale(.94)}30%,76%{opacity:1;filter:blur(0);transform:translateX(0) scale(1.04);color:var(--tealDeep);border-color:rgba(20,184,166,.28)}88%,100%{opacity:0;filter:blur(2px);transform:translateX(70px) scale(.96)}}
@keyframes winner{0%,28%{opacity:0;filter:blur(6px);transform:translateX(-50%) translateY(14px) scale(.96)}38%,88%{opacity:1;filter:blur(0);transform:translateX(-50%) translateY(0) scale(1)}98%,100%{opacity:0;filter:blur(3px);transform:translateX(-50%) translateY(-8px) scale(.98)}}
@keyframes panelA{0%,34%{opacity:0;filter:blur(4px);transform:translateY(12px) scale(.96)}44%,84%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}94%,100%{opacity:0;filter:blur(2px)}}
@keyframes panelB{0%,52%{opacity:0;filter:blur(4px);transform:translateY(12px) scale(.96)}62%,90%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}98%,100%{opacity:0;filter:blur(2px)}}

/* === campaign-creator === */
.feat-scene--campaign-creator .input{left:82px;top:98px;width:320px;padding:26px;animation:inA 11.5s linear infinite}
.feat-scene--campaign-creator .input h3{margin-top:12px;font-size:28px;line-height:1.04;letter-spacing:-.06em}
.feat-scene--campaign-creator .url{margin-top:20px;height:52px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);display:flex;align-items:center;padding:0 16px;font-size:14px;font-weight:700;overflow:hidden}
.feat-scene--campaign-creator .type{white-space:nowrap;overflow:hidden;max-width:0;animation:type 11.5s linear infinite}
.feat-scene--campaign-creator .btn{margin-top:16px;width:100%;height:44px;border:0;border-radius:12px;background:var(--teal);color:#fff;font-size:14px;font-weight:850}
.feat-scene--campaign-creator .build{position:absolute;left:50%;top:95px;width:180px;height:410px;transform:translateX(-50%);z-index:3}
.feat-scene--campaign-creator .line{position:absolute;left:50%;top:20px;bottom:20px;width:2px;background:linear-gradient(180deg,transparent,var(--teal),transparent);opacity:0;animation:line 11.5s linear infinite}
.feat-scene--campaign-creator .node{position:absolute;left:50%;width:132px;min-height:80px;transform:translateX(-50%);padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 28px 64px -48px rgba(15,23,42,.42);opacity:0;font-size:13px}
.feat-scene--campaign-creator .node b{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:var(--tealTint);color:var(--tealDeep);margin-bottom:8px;font-size:13px}
.feat-scene--campaign-creator .n1{top:10px;animation:node 11.5s linear 3.7s infinite}
.feat-scene--campaign-creator .n2{top:140px;animation:node 11.5s linear 4.7s infinite}
.feat-scene--campaign-creator .n3{top:270px;animation:node 11.5s linear 5.7s infinite}
.feat-scene--campaign-creator .output{right:80px;top:90px;width:400px;padding:26px;border-color:rgba(20,184,166,.22);animation:out 11.5s linear infinite}
.feat-scene--campaign-creator .output h3{margin-top:12px;font-size:30px;line-height:1.02;letter-spacing:-.06em}
.feat-scene--campaign-creator .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}
.feat-scene--campaign-creator .stat{border:1px solid var(--line);border-radius:13px;background:var(--panel2);padding:12px}
.feat-scene--campaign-creator .stat b{font-size:22px;color:var(--tealDeep)}
.feat-scene--campaign-creator .stat span{display:block;margin-top:4px;font-size:10px;color:var(--mute);font-weight:850;text-transform:uppercase}
.feat-scene--campaign-creator .ag{margin-top:18px;display:grid;gap:8px}
.feat-scene--campaign-creator .ag div{height:42px;border:1px solid var(--line);border-radius:12px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:800}
.feat-scene--campaign-creator .launch{margin-top:18px;height:42px;border:0;border-radius:12px;background:var(--tealBright);color:#052621;padding:0 18px;font-size:14px;font-weight:850;float:right}
@keyframes inA{0%,5%{opacity:0;filter:blur(5px);transform:translateY(16px) scale(.97)}12%,94%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}100%{opacity:0;filter:blur(2px)}}
@keyframes type{0%,12%{max-width:0}30%,100%{max-width:260px}}
@keyframes line{0%,32%{opacity:0;transform:scaleY(.1)}43%,90%{opacity:.55;transform:scaleY(1)}100%{opacity:0}}
@keyframes node{0%,12%{opacity:0;filter:blur(4px);transform:translateX(-50%) translateY(12px) scale(.96)}24%,72%{opacity:1;filter:blur(0);transform:translateX(-50%) translateY(0) scale(1)}100%{opacity:0;filter:blur(2px)}}
@keyframes out{0%,50%{opacity:0;filter:blur(5px);transform:translateY(16px) scale(.97)}61%,94%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}100%{opacity:0;filter:blur(2px)}}

/* === rule-studio === */
.feat-scene--rule-studio .signals{position:absolute;left:76px;top:86px;width:280px;display:grid;gap:14px}
.feat-scene--rule-studio .signal{padding:18px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 70px -50px rgba(15,23,42,.45);opacity:0}
.feat-scene--rule-studio .signal b{font-size:15px}
.feat-scene--rule-studio .signal p{margin-top:8px;font-size:13px;color:var(--muted);line-height:1.45}
.feat-scene--rule-studio .s1{animation:sig 10.5s linear .2s infinite}
.feat-scene--rule-studio .s2{animation:sig 10.5s linear .9s infinite}
.feat-scene--rule-studio .s3{animation:sig 10.5s linear 1.6s infinite}
.feat-scene--rule-studio .core{left:50%;top:50%;width:380px;padding:28px;transform:translate(-50%,-50%);border-color:rgba(20,184,166,.22);animation:core 10.5s ease-in-out infinite}
.feat-scene--rule-studio .core h3{margin-top:8px;font-size:32px;line-height:1;letter-spacing:-.06em}
.feat-scene--rule-studio .toggle{position:absolute;right:24px;top:24px;width:48px;height:28px;border-radius:999px;background:var(--teal)}
.feat-scene--rule-studio .toggle:after{content:"";position:absolute;right:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.16)}
.feat-scene--rule-studio .control{margin-top:20px;border:1px solid var(--line);border-radius:16px;background:var(--panel2);padding:16px}
.feat-scene--rule-studio .control strong{font-size:14px}
.feat-scene--rule-studio .bar{height:6px;margin-top:12px;border-radius:999px;background:rgba(0,0,0,.06);overflow:hidden}
.feat-scene--rule-studio .bar i{display:block;width:35%;height:100%;background:linear-gradient(90deg,var(--teal),var(--tealDeep));border-radius:999px}
.feat-scene--rule-studio .output{right:78px;top:118px;width:310px;padding:22px;animation:ruleOut 10.5s linear infinite}
.feat-scene--rule-studio .output h3,.feat-scene--rule-studio .library h3{margin-top:12px;font-size:24px;line-height:1.08;letter-spacing:-.055em}
.feat-scene--rule-studio .output p{margin-top:10px;color:var(--dim);font-size:15px;line-height:1.45}
.feat-scene--rule-studio .library{right:78px;bottom:78px;width:340px;padding:20px;border-color:rgba(20,184,166,.2);animation:lib 10.5s linear infinite}
.feat-scene--rule-studio .rule{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;margin-top:10px;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);font-size:13px;font-weight:800}
.feat-scene--rule-studio .rule span:first-child{width:10px;height:10px;border-radius:50%;background:var(--orange)}
.feat-scene--rule-studio .rule small{display:block;color:var(--mute);font-weight:650;margin-top:3px}
.feat-scene--rule-studio .rule b{background:var(--greenTint);color:var(--greenDeep);border-radius:999px;padding:5px 9px;font-size:10px}
@keyframes sig{0%,15%{opacity:0;filter:blur(4px);transform:translateX(-16px) scale(.97)}25%,82%{opacity:1;filter:blur(0);transform:translateX(0) scale(1)}100%{opacity:0;filter:blur(2px)}}
@keyframes core{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-7px)}}
@keyframes ruleOut{0%,42%{opacity:0;filter:blur(4px);transform:translateX(18px) scale(.97)}54%,92%{opacity:1;filter:blur(0);transform:translateX(0) scale(1)}100%{opacity:0;filter:blur(2px)}}
@keyframes lib{0%,55%{opacity:0;filter:blur(4px);transform:translateY(14px) scale(.97)}64%,94%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}100%{opacity:0;filter:blur(2px)}}

/* === user-access === */
.feat-scene--user-access .identity{left:78px;top:90px;width:310px;padding:24px;animation:fadeIn 11s linear infinite}
.feat-scene--user-access .person{margin-top:17px;display:flex;align-items:center;gap:14px}
.feat-scene--user-access .avatar{width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,var(--tealBright),var(--teal));display:grid;place-items:center;color:#05332d;font-size:20px;font-weight:850;box-shadow:0 0 0 8px rgba(20,184,166,.08)}
.feat-scene--user-access .person h3{font-size:23px;letter-spacing:-.055em}
.feat-scene--user-access .person p{margin-top:6px;color:var(--muted);font-size:14px;font-weight:650}
.feat-scene--user-access .roles{margin-top:20px;display:flex;gap:8px;flex-wrap:wrap}
.feat-scene--user-access .map{position:absolute;left:50%;top:50%;width:330px;height:330px;transform:translate(-50%,-50%);z-index:4}
.feat-scene--user-access .rings{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 21px,rgba(20,184,166,.13) 22px 23px);mask-image:radial-gradient(circle,transparent 0 24%,black 25% 68%,transparent 69%);animation:rings 11s linear infinite}
.feat-scene--user-access .center{position:absolute;left:50%;top:50%;width:104px;height:104px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;border:1px solid rgba(20,184,166,.24);display:grid;place-items:center;color:var(--tealDeep);font-size:28px;font-weight:850;box-shadow:0 30px 80px -50px rgba(15,23,42,.46),0 0 0 10px rgba(20,184,166,.07)}
.feat-scene--user-access .node{position:absolute;width:124px;min-height:78px;border-radius:18px;background:#fff;border:1px solid var(--line);padding:14px;box-shadow:0 28px 64px -48px rgba(15,23,42,.42);opacity:0;font-size:13px}
.feat-scene--user-access .n1{left:50%;top:0;transform:translateX(-50%);animation:uaNode 11s linear .8s infinite}
.feat-scene--user-access .n2{right:0;top:50%;transform:translateY(-50%);animation:uaNode 11s linear 1.4s infinite}
.feat-scene--user-access .n3{left:50%;bottom:0;transform:translateX(-50%);animation:uaNode 11s linear 2s infinite}
.feat-scene--user-access .n4{left:0;top:50%;transform:translateY(-50%);animation:uaNode 11s linear 2.6s infinite}
.feat-scene--user-access .node b{display:grid;place-items:center;width:24px;height:24px;border-radius:9px;background:var(--tealTint);color:var(--tealDeep);margin-bottom:9px}
.feat-scene--user-access .toggleCard{position:absolute;left:50%;bottom:-88px;width:290px;transform:translateX(-50%);padding:15px;border-radius:18px;background:#fff;border:1px solid rgba(20,184,166,.22);box-shadow:0 30px 80px -52px rgba(15,23,42,.46);opacity:0;animation:toggleCard 11s linear infinite}
.feat-scene--user-access .row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin-top:10px}
.feat-scene--user-access .switch{width:52px;height:30px;border-radius:999px;background:var(--teal);position:relative;box-shadow:0 0 0 5px rgba(20,184,166,.13)}
.feat-scene--user-access .switch:after{content:"";position:absolute;right:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.16)}
.feat-scene--user-access .summary{right:78px;top:96px;width:310px;padding:22px;animation:summary 11s linear infinite}
.feat-scene--user-access .summary h3,.feat-scene--user-access .audit h3{margin-top:12px;font-size:26px;line-height:1.04;letter-spacing:-.06em}
.feat-scene--user-access .summary p,.feat-scene--user-access .audit p{margin-top:10px;color:var(--dim);font-size:15px;line-height:1.45}
.feat-scene--user-access .perm{margin-top:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);font-size:14px;font-weight:800}
.feat-scene--user-access .audit{right:112px;bottom:86px;width:280px;padding:20px;border-color:rgba(20,184,166,.2);animation:audit 11s linear infinite}
@keyframes fadeIn{0%,5%{opacity:0;filter:blur(5px);transform:translateY(16px) scale(.97)}13%,92%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}100%{opacity:0;filter:blur(2px)}}
@keyframes rings{0%,18%{opacity:0;transform:scale(.86)}30%,90%{opacity:.78;transform:scale(1)}100%{opacity:0}}
@keyframes uaNode{0%,20%{opacity:0;filter:blur(3px);scale:.9}35%,85%{opacity:1;filter:blur(0);scale:1}100%{opacity:0;filter:blur(2px);scale:.96}}
@keyframes toggleCard{0%,48%{opacity:0;filter:blur(4px);transform:translateX(-50%) translateY(14px) scale(.96)}58%,92%{opacity:1;filter:blur(0);transform:translateX(-50%) translateY(0) scale(1)}100%{opacity:0;filter:blur(2px)}}
@keyframes summary{0%,48%{opacity:0;filter:blur(4px);transform:translateX(18px) scale(.97)}58%,92%{opacity:1;filter:blur(0);transform:translateX(0) scale(1)}100%{opacity:0;filter:blur(2px)}}
@keyframes audit{0%,65%{opacity:0;filter:blur(4px);transform:translateY(14px) scale(.97)}75%,92%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}100%{opacity:0;filter:blur(2px)}}

/* === client-dashboard (real-app three-act scene) === */
.feat-scene--client-dashboard .workspace{position:absolute;left:50%;top:52%;width:880px;height:512px;transform:translate(-50%,-50%);background:#fff;border:1px solid rgba(20,184,166,.20);border-top:3px solid var(--teal);border-radius:26px;box-shadow:0 54px 120px -64px rgba(15,23,42,.50),0 22px 62px -46px rgba(20,184,166,.36);z-index:10;overflow:hidden;animation:wfloat 12s ease-in-out infinite}
.feat-scene--client-dashboard .side{position:absolute;left:0;top:0;bottom:0;width:178px;background:linear-gradient(180deg,#fff,var(--panel2));border-right:1px solid var(--line);padding:18px 14px}
.feat-scene--client-dashboard .brand svg{width:auto;height:24px;display:block}
.feat-scene--client-dashboard .org{margin-top:14px;display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid var(--line);border-radius:10px;font-size:9.5px;font-weight:800;background:#fff}
.feat-scene--client-dashboard .org-av{display:grid;place-items:center;width:18px;height:18px;border-radius:6px;background:var(--tealTint);color:var(--tealDeep);font-size:8px;font-weight:900}
.feat-scene--client-dashboard .nav{margin-top:14px;display:grid;gap:4px}
.feat-scene--client-dashboard .nav div{height:24px;border-radius:8px;display:flex;align-items:center;padding:0 8px;color:var(--muted);font-size:9.5px;font-weight:750}
.feat-scene--client-dashboard .nav-group{margin-top:6px;color:var(--mute)!important;text-transform:uppercase;letter-spacing:.08em;font-size:8px!important}
.feat-scene--client-dashboard .nav .sub{padding-left:18px}
.feat-scene--client-dashboard .nav .n1{animation:t1 20s linear infinite}
.feat-scene--client-dashboard .nav .n2{animation:t2 20s linear infinite}
.feat-scene--client-dashboard .nav .n3{animation:t3 20s linear infinite}
.feat-scene--client-dashboard .usage{position:absolute;left:14px;right:14px;bottom:16px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.feat-scene--client-dashboard .usage .label{font-size:7.5px;letter-spacing:.1em}
.feat-scene--client-dashboard .usage b{display:block;margin-top:4px;font-size:12px;letter-spacing:-.03em}
.feat-scene--client-dashboard .usage b em{font-style:normal;color:var(--mute);font-size:9px;font-weight:650}
.feat-scene--client-dashboard .usage-bar{display:block;margin-top:6px;height:4px;border-radius:99px;background:var(--panel2);overflow:hidden}
.feat-scene--client-dashboard .usage-bar i{display:block;width:9%;height:100%;border-radius:99px;background:var(--teal)}
.feat-scene--client-dashboard .main{position:absolute;left:178px;right:0;top:0;bottom:0;padding:16px 24px 20px}
.feat-scene--client-dashboard .topbar{display:flex;justify-content:flex-end;gap:8px;align-items:center}
.feat-scene--client-dashboard .searchpill{width:150px;padding:5px 10px;border:1px solid var(--line);border-radius:99px;color:var(--mute);font-size:9px;font-weight:650;background:var(--panel2)}
.feat-scene--client-dashboard .userchip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px 4px 5px;border:1px solid var(--line);border-radius:99px;font-size:9px;font-weight:800;background:#fff}
.feat-scene--client-dashboard .userchip i{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--tealTint);color:var(--tealDeep);font-style:normal;font-size:7px;font-weight:900}
.feat-scene--client-dashboard .heads{position:relative;height:44px;margin-top:4px}
.feat-scene--client-dashboard .head-swap{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;opacity:0}
.feat-scene--client-dashboard .h1s{animation:acc 20s linear infinite}
.feat-scene--client-dashboard .h2s{animation:det 20s linear infinite}
.feat-scene--client-dashboard .h3s{animation:dec 20s linear infinite}
.feat-scene--client-dashboard .head-swap h2{font-size:20px;letter-spacing:-.05em;display:flex;align-items:baseline;gap:10px}
.feat-scene--client-dashboard .hd-sub{font-size:8.5px;color:var(--mute);font-weight:650;letter-spacing:0}
.feat-scene--client-dashboard .ai-btn{padding:6px 11px;border-radius:99px;background:var(--tealTint);border:1px solid rgba(20,184,166,.25);color:var(--tealDeep);font-size:9px;font-weight:850}
.feat-scene--client-dashboard .live-pill{padding:6px 11px;border-radius:99px;background:#fdf2f8;border:1px solid #fbcfe8;color:#be185d;font-size:9px;font-weight:800}
.feat-scene--client-dashboard .rules-chip{font-size:9px}
.feat-scene--client-dashboard .screens{position:relative;margin-top:10px;height:378px}
.feat-scene--client-dashboard .screen{position:absolute;inset:0;opacity:0;transform:translateX(30px) scale(.99)}
.feat-scene--client-dashboard .accounts{animation:acc 20s linear infinite}
.feat-scene--client-dashboard .detail{animation:det 20s linear infinite}
.feat-scene--client-dashboard .decisions{animation:dec 20s linear infinite}
/* — Act 1: Search Terms — */
.feat-scene--client-dashboard .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.feat-scene--client-dashboard .kpi{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 11px}
.feat-scene--client-dashboard .kpi b{display:block;margin-top:3px;font-size:16px;letter-spacing:-.04em}
.feat-scene--client-dashboard .kpi b em{font-style:normal;font-size:8px;color:var(--mute);font-weight:700}
.feat-scene--client-dashboard .kpi-save{border-color:rgba(34,197,94,.35);background:linear-gradient(180deg,rgba(34,197,94,.06),#fff)}
.feat-scene--client-dashboard .savewrap{display:grid}
.feat-scene--client-dashboard .sv{grid-area:1/1;white-space:nowrap}
.feat-scene--client-dashboard .sv1{animation:sv1 20s linear infinite}
.feat-scene--client-dashboard .sv2{animation:sv2 20s linear infinite}
@keyframes sv1{0%,21.5%{opacity:1}22%,100%{opacity:0}}
@keyframes sv2{0%,21.5%{opacity:0;transform:translateY(4px) scale(.96)}22.2%,100%{opacity:1;transform:translateY(0) scale(1)}}
.feat-scene--client-dashboard .secthead{margin:10px 0 6px;padding:6px 10px;border-radius:9px;font-size:9px;font-weight:850}
.feat-scene--client-dashboard .secthead.pos{background:rgba(34,197,94,.08);color:var(--greenDeep);border:1px solid rgba(34,197,94,.22)}
.feat-scene--client-dashboard .secthead.neg{background:#fef2f2;color:var(--red);border:1px solid #fecaca}
.feat-scene--client-dashboard .trow{display:grid;grid-template-columns:1.9fr .55fr .5fr .5fr 1fr .72fr;gap:9px;align-items:center;border:1px solid var(--row);border-radius:12px;background:#fff;padding:8px 12px;min-height:46px}
.feat-scene--client-dashboard .trow+.trow{margin-top:6px}
.feat-scene--client-dashboard .trow.highlight{border-color:rgba(20,184,166,.30);background:linear-gradient(180deg,rgba(20,184,166,.05),#fff);animation:rowGlow 20s linear infinite}
.feat-scene--client-dashboard .tinfo b{display:block;font-size:11px;font-weight:850}
.feat-scene--client-dashboard .tinfo span{display:block;margin-top:2px;font-size:8px;color:var(--mute);font-weight:650}
.feat-scene--client-dashboard .chip{display:inline-flex;justify-content:center;padding:3px 7px;border-radius:6px;background:var(--panel2);border:1px solid var(--line);font-size:7.5px;font-weight:850;color:var(--dim);letter-spacing:.04em;white-space:nowrap}
.feat-scene--client-dashboard .chip.mono{font-family:ui-monospace,Menlo,monospace;letter-spacing:0}
.feat-scene--client-dashboard .tstat{font-size:11px;font-weight:850;font-variant-numeric:tabular-nums}
.feat-scene--client-dashboard .tstat em{display:block;font-style:normal;font-size:7.5px;color:var(--mute);font-weight:650}
.feat-scene--client-dashboard .route{padding:4px 8px;border-radius:99px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:8px;font-weight:800;white-space:nowrap;justify-self:start}
.feat-scene--client-dashboard .route.lvl{background:#fef2f2;border-color:#fecaca;color:var(--red)}
.feat-scene--client-dashboard .trow .pill{justify-self:end}
.feat-scene--client-dashboard .negbtn{animation:nbg 20s linear infinite}
@keyframes nbg{0%,20.9%{background:#fef2f2;color:var(--red)}21.6%,100%{background:var(--greenTint);color:var(--greenDeep)}}
/* — Act 2: Budget Intelligence — */
.feat-scene--client-dashboard .bihead,.feat-scene--client-dashboard .birow{display:grid;grid-template-columns:1.5fr .9fr 1fr .9fr 1.05fr .8fr;gap:10px;align-items:center}
.feat-scene--client-dashboard .bihead{padding:0 12px 6px;color:var(--mute);font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.feat-scene--client-dashboard .birow{border:1px solid var(--row);border-radius:13px;background:#fff;padding:10px 12px;min-height:62px}
.feat-scene--client-dashboard .birow+.birow{margin-top:7px}
.feat-scene--client-dashboard .birow.highlight2{border-color:rgba(20,184,166,.28);background:linear-gradient(180deg,rgba(20,184,166,.04),#fff)}
.feat-scene--client-dashboard .biname b{display:block;font-size:11px;font-weight:850}
.feat-scene--client-dashboard .biname span{display:block;margin-top:2px;font-size:8px;color:var(--mute);font-weight:650}
.feat-scene--client-dashboard .health{display:flex;align-items:center;gap:2px;position:relative;padding-bottom:11px}
.feat-scene--client-dashboard .health i{height:5px;border-radius:99px;flex:1}
.feat-scene--client-dashboard .health i.wide{flex:2.2}
.feat-scene--client-dashboard .hr{background:#f87171}.feat-scene--client-dashboard .ha{background:#fbbf24}.feat-scene--client-dashboard .hb{background:#60a5fa}.feat-scene--client-dashboard .hg{background:#34d399}
.feat-scene--client-dashboard .health em{position:absolute;left:0;bottom:0;font-style:normal;font-size:7.5px;color:var(--mute);font-weight:650}
.feat-scene--client-dashboard .bival{font-size:11.5px;font-weight:850;font-variant-numeric:tabular-nums}
.feat-scene--client-dashboard .bival em{display:block;font-style:normal;font-size:7.5px;color:var(--mute);font-weight:650;margin-top:2px}
.feat-scene--client-dashboard .pace{font-size:9px;font-weight:850}
.feat-scene--client-dashboard .pbar{display:block;width:74px;height:5px;border-radius:99px;background:var(--panel2);margin-bottom:4px;position:relative;overflow:hidden}
.feat-scene--client-dashboard .pbar::after{content:"";position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:#fbbf24}
.feat-scene--client-dashboard .pbar.ok::after{background:#34d399}
.feat-scene--client-dashboard .pb-75::after{width:75%}.feat-scene--client-dashboard .pb-50::after{width:50%}.feat-scene--client-dashboard .pb-81::after{width:81%}.feat-scene--client-dashboard .pb-82::after{width:82%}
.feat-scene--client-dashboard .recs{display:flex;align-items:center;gap:6px;justify-self:end}
.feat-scene--client-dashboard .recs b{font-size:13px;letter-spacing:-.03em}
/* — Act 3: Rule Studio — */
.feat-scene--client-dashboard .rulecat{margin:0 0 6px;display:flex;align-items:center;gap:8px;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--tealDeep)}
.feat-scene--client-dashboard .rulecat em{font-style:normal;color:var(--mute);font-weight:700;letter-spacing:.02em;text-transform:none}
.feat-scene--client-dashboard .rulecat+.rulegrid{margin-bottom:12px}
.feat-scene--client-dashboard .rulegrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.feat-scene--client-dashboard .rulecard{position:relative;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 13px;box-shadow:0 8px 22px -18px rgba(15,23,42,.25)}
.feat-scene--client-dashboard .rulecard.wide{grid-column:1/-1}
.feat-scene--client-dashboard .rc-top{display:flex;align-items:center;gap:8px}
.feat-scene--client-dashboard .rc-top b{font-size:11.5px;font-weight:850;flex:1}
.feat-scene--client-dashboard .rc-ico{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;font-size:11px}
.feat-scene--client-dashboard .red-t{background:#fef2f2;color:var(--red)}
.feat-scene--client-dashboard .teal-t{background:var(--tealTint);color:var(--tealDeep)}
.feat-scene--client-dashboard .dark-t{background:#eef2ff;color:#4f46e5}
.feat-scene--client-dashboard .amber-t{background:#fffbeb;color:#b45309}
.feat-scene--client-dashboard .blue-t{background:#eff6ff;color:#2563eb}
.feat-scene--client-dashboard .rc-foot{position:absolute;right:12px;bottom:9px;font-size:8px;font-weight:850;color:var(--tealDeep)}
.feat-scene--client-dashboard .rc-chips{display:flex;gap:5px;margin-top:8px}
.feat-scene--client-dashboard .rulecard p{margin-top:8px;font-size:9px;line-height:1.45;color:var(--dim);font-weight:650}
.feat-scene--client-dashboard .rswitch{position:relative;width:30px;height:17px;border-radius:99px;background:#e4e4e7}
.feat-scene--client-dashboard .rswitch i{position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.feat-scene--client-dashboard .rswitch.on{background:var(--teal)}
.feat-scene--client-dashboard .rswitch.on i{left:15px}
.feat-scene--client-dashboard .rswitch.flip{animation:rtrack 20s linear infinite}
.feat-scene--client-dashboard .rswitch.flip i{animation:rknob 20s linear infinite}
@keyframes rtrack{0%,84%{background:#e4e4e7}84.8%,100%{background:var(--teal)}}
@keyframes rknob{0%,84%{left:2px}84.8%,100%{left:15px}}
.feat-scene--client-dashboard .thresh{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:9px;font-weight:750;color:var(--dim)}
.feat-scene--client-dashboard .thresh>span:first-child{width:170px}
.feat-scene--client-dashboard .slider{position:relative;flex:1;height:4px;border-radius:99px;background:var(--panel2)}
.feat-scene--client-dashboard .slider i{position:absolute;left:18%;top:50%;width:11px;height:11px;border-radius:50%;background:#fff;border:2.5px solid var(--teal);transform:translate(-50%,-50%)}
.feat-scene--client-dashboard .slider.s2 i{left:38%}
/* — shared chrome — */
.feat-scene--client-dashboard .float{position:absolute;width:250px;padding:16px;opacity:0;z-index:20}
.feat-scene--client-dashboard .float h3{margin-top:10px;font-size:19px;line-height:1.12;letter-spacing:-.05em}
.feat-scene--client-dashboard .float p{margin-top:8px;color:var(--muted);font-size:11.5px;line-height:1.42}
.feat-scene--client-dashboard .f1{left:36px;top:58px;animation:f1 20s linear infinite}
.feat-scene--client-dashboard .f2{right:54px;top:82px;animation:f2 20s linear infinite}
.feat-scene--client-dashboard .f3{left:44px;bottom:70px;animation:f3 20s linear infinite}
.feat-scene--client-dashboard .f4{right:70px;bottom:86px;width:282px;animation:f4 20s linear infinite}
.feat-scene--client-dashboard .tabs{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:7px;padding:6px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid var(--line);z-index:30;box-shadow:0 10px 30px -18px rgba(15,23,42,.35)}
.feat-scene--client-dashboard .tab{height:28px;min-width:118px;border-radius:999px;display:grid;place-items:center;color:var(--muted);font-size:10px;font-weight:850;padding:0 12px}
.feat-scene--client-dashboard .t1{animation:t1 20s linear infinite}
.feat-scene--client-dashboard .t2{animation:t2 20s linear infinite}
.feat-scene--client-dashboard .t3{animation:t3 20s linear infinite}
@keyframes wfloat{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-8px)}}
@keyframes acc{0%,3%{opacity:0;transform:translateX(30px) scale(.99)}7%,29%{opacity:1;transform:translateX(0) scale(1)}34%,100%{opacity:0;transform:translateX(-30px) scale(.99)}}
@keyframes det{0%,36%{opacity:0;transform:translateX(30px) scale(.99)}41%,62%{opacity:1;transform:translateX(0) scale(1)}67%,100%{opacity:0;transform:translateX(-30px) scale(.99)}}
@keyframes dec{0%,69%{opacity:0;transform:translateX(30px) scale(.99)}74%,93%{opacity:1;transform:translateX(0) scale(1)}98%,100%{opacity:0;transform:translateX(-30px) scale(.99)}}
@keyframes f1{0%,8%{opacity:0;filter:blur(2px);transform:translateY(10px) scale(.98)}12%,32%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}37%,100%{opacity:0;filter:blur(2px)}}
@keyframes f2{0%,36%{opacity:0;filter:blur(5px);transform:translateY(14px) scale(.97)}42%,66%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}72%,100%{opacity:0;filter:blur(3px)}}
@keyframes f3{0%,42%{opacity:0;filter:blur(2px);transform:translateY(10px) scale(.98)}46%,60%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}65%,100%{opacity:0;filter:blur(2px)}}
@keyframes f4{0%,68%{opacity:0;filter:blur(5px);transform:translateY(14px) scale(.97)}74%,96%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}100%{opacity:0;filter:blur(3px)}}
@keyframes t1{0%,36%{background:var(--tealTint);color:var(--tealDeep)}38%,100%{background:transparent;color:var(--muted)}}
@keyframes t2{0%,38%{background:transparent;color:var(--muted)}41%,70%{background:var(--tealTint);color:var(--tealDeep)}72%,100%{background:transparent;color:var(--muted)}}
@keyframes t3{0%,72%{background:transparent;color:var(--muted)}75%,100%{background:var(--tealTint);color:var(--tealDeep)}}
/* cursor + interaction beats */
.feat-scene--client-dashboard .cx-cursor{position:absolute;left:0;top:0;z-index:46;opacity:0;pointer-events:none;filter:drop-shadow(0 6px 12px rgba(15,23,42,.28));animation:cxmove 20s linear infinite}
.feat-scene--client-dashboard .cx-cursor i{position:absolute;left:-9px;top:-9px;width:36px;height:36px;border-radius:50%;border:2px solid var(--teal);opacity:0;animation:cxring 20s linear infinite}
@keyframes cxmove{
0%,9%{left:430px;top:330px;opacity:0;transform:scale(1)}
12%{left:500px;top:290px;opacity:1}
17%{left:798px;top:346px}
19.5%{left:798px;top:346px;transform:scale(1)}
20.2%{transform:scale(.8)}
21%{left:798px;top:346px;transform:scale(1)}
25%{left:750px;top:262px;opacity:1}
29%{left:690px;top:310px;opacity:0}
29.5%,74%{left:600px;top:330px;opacity:0}
77%{left:560px;top:220px;opacity:1}
81.5%{left:496px;top:142px}
83.2%{left:496px;top:142px;transform:scale(1)}
84%{transform:scale(.8)}
84.8%{left:496px;top:142px;transform:scale(1)}
88%{left:470px;top:160px;opacity:1}
92%,100%{left:500px;top:210px;opacity:0}}
@keyframes cxring{0%,19.8%{transform:scale(.3);opacity:0}20.4%{opacity:.55;transform:scale(.5)}23.5%{opacity:0;transform:scale(2.3)}23.6%,83.4%{opacity:0;transform:scale(.3)}84.2%{opacity:.55;transform:scale(.5)}87.2%{opacity:0;transform:scale(2.3)}100%{opacity:0}}
@keyframes rowGlow{0%,19.8%{box-shadow:none}21.5%{box-shadow:0 0 0 3px rgba(20,184,166,.28),0 12px 26px -12px rgba(20,184,166,.5)}27%,100%{box-shadow:none}}
/* add-button + rules-chip flips */
.feat-scene--client-dashboard .pending-flip{display:inline-grid;justify-items:center}
.feat-scene--client-dashboard .pv{grid-area:1/1;white-space:nowrap}
.feat-scene--client-dashboard .pv-a{animation:pvA 20s linear infinite}
.feat-scene--client-dashboard .pv-b{animation:pvB 20s linear infinite}
@keyframes pvA{0%,20.8%{opacity:1;transform:translateY(0)}21.3%,100%{opacity:0;transform:translateY(-4px)}}
@keyframes pvB{0%,20.8%{opacity:0;transform:translateY(5px)}21.4%,100%{opacity:1;transform:translateY(0)}}
.feat-scene--client-dashboard .q-flip{display:inline-grid;justify-items:center}
.feat-scene--client-dashboard .qv{grid-area:1/1;white-space:nowrap}
.feat-scene--client-dashboard .qv-a{animation:qvA 20s linear infinite}
.feat-scene--client-dashboard .qv-b{animation:qvB 20s linear infinite}
@keyframes qvA{0%,84.2%{opacity:1;transform:translateY(0)}84.8%,100%{opacity:0;transform:translateY(-4px)}}
@keyframes qvB{0%,84.2%{opacity:0;transform:translateY(5px)}84.8%,100%{opacity:1;transform:translateY(0)}}
