*{box-sizing:border-box}html,body{margin:0;background:#070809;color:#f4f6f8;font-family:Inter,Segoe UI,Arial,sans-serif}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.app-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#0a0b0d;border-right:1px solid #202329;padding:18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px}.brand.big{margin-bottom:24px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#16dbc7,#8b5cf6);font-weight:900;color:#04100e;box-shadow:0 0 28px #16dbc733}.brand b{display:block}.brand small{display:block;color:#7d8592;margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:28px}.sidebar nav a{padding:11px 12px;border-radius:10px;color:#9aa1ad;display:flex;gap:10px;align-items:center;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#15181d;color:#fff}.sidebar nav a.active{box-shadow:inset 2px 0 #18d8c7}.sidebar-foot{margin-top:auto;padding-top:18px;border-top:1px solid #202329}.mini-user{display:flex;gap:10px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#1f2937}.mini-user small{display:block;color:#777}.logout{display:block;color:#f38b8b;font-size:13px;margin-top:12px}.main{min-width:0}.topbar{height:64px;border-bottom:1px solid #202329;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;background:#070809e8;backdrop-filter:blur(12px);z-index:20}.menu-btn{display:none}.crumb{color:#777;font-size:13px}.top-actions{display:flex;gap:10px;align-items:center}.badge{padding:7px 9px;border:1px solid #2b333b;border-radius:999px;font-size:12px;color:#9da5b1}.badge.live{color:#45decf}.content{padding:28px;max-width:1540px;margin:auto}.btn{border:1px solid #30353d;background:#12151a;color:#fff;border-radius:10px;padding:10px 14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{background:#191d23}.btn-primary{background:linear-gradient(135deg,#16d6c4,#5a8cff);border:0;color:#02100f;font-weight:800}.btn.small{padding:7px 10px;font-size:12px}.btn.wide{width:100%;margin-top:10px}.btn.danger{color:#ff8c8c}.hero{display:grid;grid-template-columns:1.4fr .6fr;min-height:330px;border:1px solid #22262c;border-radius:24px;padding:40px;background:radial-gradient(circle at 75% 35%,#11342f 0,transparent 32%),linear-gradient(135deg,#0b0d10,#090a0c);overflow:hidden}.eyebrow{font-size:11px;letter-spacing:.18em;color:#45d8c9;font-weight:800}.hero h1,.page-title h1{font-size:40px;line-height:1.05;margin:12px 0}.hero h1 span{color:#55e2d3}.hero p,.page-title p{color:#929aa7;max-width:760px;line-height:1.7}.hero-actions{display:flex;gap:10px;margin-top:24px}.hero-visual{display:grid;place-items:center}.mini-phone{width:180px;aspect-ratio:9/16;border-radius:26px;border:1px solid #3b434f;background:linear-gradient(#08151a,#0a0d12);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 30px 70px #000}.mini-phone strong{font-size:34px;color:#fff;z-index:2;animation:punch 2s infinite}.mini-phone small{color:#50e0cf;z-index:2}.fx-chip{position:absolute;top:35px;background:#ff334d;padding:6px 12px;border-radius:6px;font-weight:900;font-size:11px}.pulse-ring{position:absolute;width:120px;height:120px;border-radius:50%;border:1px solid #16dbc7;animation:ring 2s infinite}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat{background:#0d0f12;border:1px solid #22262c;border-radius:16px;padding:18px}.stat span,.stat small{display:block;color:#7f8792}.stat b{display:block;font-size:28px;margin:10px 0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:#0d0f12;border:1px solid #22262c;border-radius:16px;padding:18px}.panel.flat{border-radius:18px}.panel-head,.section-title{display:flex;justify-content:space-between;align-items:center}.panel-head h2,.section-title h2{font-size:16px}.panel-head a{color:#52dece;font-size:13px}.empty{padding:30px 0;color:#838b96}.project-row{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #1b1f24}.project-row:last-child{border-bottom:0}.project-icon{width:36px;height:36px;border-radius:10px;background:#14191e;display:grid;place-items:center}.project-row small{display:block;color:#737b86;margin-top:4px}.project-row time{font-size:12px;color:#666}.flow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.flow>div{padding:14px;border:1px solid #1e2329;border-radius:12px}.flow i{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:#162b29;color:#4edbcc;font-style:normal;font-size:12px}.flow b,.flow small{display:block;margin-top:8px}.flow small{color:#777}.page-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.effect-tools{display:flex;gap:8px}.effect-tools input,.effect-tools select,input,textarea,select{background:#0b0d10;border:1px solid #2a2f36;color:#fff;border-radius:10px;padding:10px 11px;outline:none}input:focus,textarea:focus,select:focus{border-color:#34cdbf}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{background:#0c0e11;border:1px solid #22262c;border-radius:16px;overflow:hidden}.project-thumb{aspect-ratio:16/9;background:radial-gradient(circle at 50% 40%,#183b38,#090b0e 58%);position:relative;display:grid;place-items:center}.ratio-tag{position:absolute;top:12px;left:12px;background:#15191e;border:1px solid #2f363e;border-radius:7px;padding:5px 8px;font-size:11px}.thumb-title{font-size:18px;font-weight:900;max-width:70%;text-align:center}.scanline{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,#ffffff08 5px);pointer-events:none}.project-meta{padding:15px}.project-meta h3{margin:0}.project-meta p{color:#7d8490;font-size:13px}.effect-layout{display:grid;grid-template-columns:1fr 330px;gap:20px}.effect-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.fx-card{background:#0d0f12;border:1px solid #23272e;color:#fff;border-radius:12px;padding:13px;text-align:left;cursor:pointer;min-height:92px}.fx-card:hover{border-color:#3ccfc2;transform:translateY(-1px)}.fx-card i{font-style:normal;color:#4fd7ca;font-size:11px}.fx-card b,.fx-card small{display:block;margin-top:8px}.fx-card small{color:#666}.effect-preview-sticky{position:sticky;top:86px;height:max-content}.preview-stage{--primary:#17d9c7;--accent:#8b5cf6;position:relative;margin:auto;background:radial-gradient(circle at 30% 25%,#173a37,#081014 36%,#050608 75%);overflow:hidden;border:1px solid #30363e;box-shadow:0 20px 55px #000;border-radius:18px}.ratio-9x16{width:min(100%,310px);aspect-ratio:9/16}.ratio-16x9{width:100%;aspect-ratio:16/9}.ratio-1x1{width:min(100%,430px);aspect-ratio:1}.ratio-4x5{width:min(100%,360px);aspect-ratio:4/5}.scene-bg{position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 55%,#ffffff06 55% 56%,transparent 56%);background-size:28px 28px}.stage-brand{position:absolute;top:20px;left:20px;font-size:10px;letter-spacing:.2em;color:#8d949d}.fx-target{position:absolute;inset:25% 8% auto;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform-origin:center}.fx-target span{font-size:13px;font-weight:900;background:var(--accent);padding:6px 10px;border-radius:5px}.fx-target b{font-size:34px;line-height:1;margin:16px 0 6px;text-shadow:0 0 30px color-mix(in srgb,var(--primary),transparent 50%)}.fx-target small{color:var(--primary);font-weight:800}.caption{position:absolute;bottom:22px;left:18px;right:18px;background:#000a;border:1px solid #ffffff16;border-radius:10px;padding:10px;text-align:center;font-size:12px;line-height:1.4;max-height:90px;overflow:hidden}.preview-info{padding:14px 0}.preview-info small{display:block;color:#6e7681;margin:6px 0}.editor-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.project-name{display:block;background:transparent;border:0;border-bottom:1px solid transparent;border-radius:0;font-size:27px;font-weight:800;padding:5px 0;margin-top:4px}.project-name:focus{border-bottom-color:#2fcbc0}.editor-actions{display:flex;gap:8px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px}.form-grid.two{display:grid;grid-template-columns:1.5fr .7fr;gap:14px}.form-grid label{display:block;font-size:12px;color:#8b939e}.form-grid textarea,.form-grid select{width:100%;margin-top:6px}.form-grid>div>label{margin-bottom:10px}.color-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.color-row input{width:100%;height:42px;padding:4px;margin-top:6px}.scene-list{display:flex;flex-direction:column;gap:10px}.scene-row{display:grid;grid-template-columns:44px 1fr 150px;gap:12px;border:1px solid #242a31;border-radius:14px;padding:12px;background:#0a0c0f;cursor:pointer}.scene-row.selected{border-color:#2fc8bc;box-shadow:0 0 0 1px #2fc8bc33}.scene-no{width:36px;height:36px;border-radius:9px;background:#14191f;display:grid;place-items:center;color:#57d9cc;font-weight:900;font-size:12px}.scene-title{width:100%;font-weight:800;border:0;background:transparent;padding:3px 0}.scene-main textarea{width:100%;margin-top:5px;resize:vertical}.scene-controls{display:grid;grid-template-columns:2fr .8fr 1fr .7fr;gap:7px;margin-top:7px}.scene-controls label{font-size:10px;color:#6e7681}.scene-controls select,.scene-controls input{width:100%;padding:7px;margin-top:4px}.scene-side{display:flex;align-items:flex-start;gap:6px;justify-content:flex-end}.fx-pill{font-size:10px;color:#8d949f;border:1px solid #293038;border-radius:999px;padding:6px 8px;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{width:30px;height:30px;border-radius:8px;border:1px solid #30363e;background:#111419;color:#fff;cursor:pointer}.editor-right{position:sticky;top:82px;height:max-content}.preview-box,.render-box{background:#0c0e11;border:1px solid #22262c;border-radius:16px;padding:14px;margin-bottom:12px}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.render-box p{color:#7f8792;font-size:12px;line-height:1.6}.login-page{background:radial-gradient(circle at 70% 30%,#173d38,#08090b 38%);display:grid;place-items:center;padding:20px}.login-wrap{width:min(1000px,95vw);display:grid;grid-template-columns:1fr 1fr;background:#0b0d10;border:1px solid #242930;border-radius:24px;overflow:hidden;box-shadow:0 40px 100px #000}.login-card{padding:48px}.login-card h1{font-size:34px}.login-card p,.hint{color:#7f8792;line-height:1.6}.login-card label{display:block;font-size:12px;color:#8f97a2;margin:12px 0 6px}.login-card input{width:100%}.alert{background:#2a1416;border:1px solid #5f262b;color:#ff9ca2;padding:10px;border-radius:10px}.login-art{display:grid;place-items:center;background:linear-gradient(135deg,#0b1114,#0b0d10)}.phone-demo{width:220px;aspect-ratio:9/16;border:1px solid #394149;border-radius:30px;background:radial-gradient(circle at center,#123933,#050708 60%);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.demo-news{background:#ff3047;padding:7px 12px;border-radius:6px;font-weight:900}.demo-number{font-size:64px;font-weight:950;margin-top:18px;animation:punch 1.8s infinite}.demo-sub{position:absolute;bottom:35px;left:22px;right:22px;text-align:center;color:#a6adb6;font-size:12px}.login-art:after{content:'';position:absolute;width:350px;height:100px;filter:blur(60px);background:#16dbc72c}@keyframes punch{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes ring{0%{transform:scale(.7);opacity:1}100%{transform:scale(1.6);opacity:0}}
/* Effect families */
.fx-text-pop{animation:fxPop .72s cubic-bezier(.16,1,.3,1)}.fx-text-bounce{animation:fxBounce .9s}.fx-slide-up{animation:fxUp .7s}.fx-slide-left{animation:fxLeft .7s}.fx-slide-right{animation:fxRight .7s}.fx-zoom-punch,.fx-number-punch{animation:fxPunch .65s}.fx-flip-in{animation:fxFlip .8s}.fx-rotate-in{animation:fxRotate .8s}.fx-blur-reveal{animation:fxBlur .9s}.fx-glitch{animation:fxGlitch .8s steps(2)}.fx-shake{animation:fxShake .7s}.fx-neon{animation:fxNeon 1s}.fx-typewriter{animation:fxType .9s}.fx-marker,.fx-underline{animation:fxMark .8s}.fx-stamp{animation:fxStamp .6s}.fx-flash{animation:fxFlash .7s}.fx-wipe,.fx-mask{animation:fxWipe .8s}.fx-parallax,.fx-cinema-push{animation:fxPush 1.1s}.fx-float{animation:fxFloat 1.2s}.fx-swing{animation:fxSwing 1s}.fx-card-pop,.fx-glass-card{animation:fxCard .8s}.fx-breaking-news,.fx-ticker{animation:fxNews .8s}.fx-counter,.fx-checklist,.fx-quote{animation:fxInfo .8s}.fx-spotlight{animation:fxSpot .9s}@keyframes fxPop{0%{opacity:0;transform:scale(.35) rotate(-4deg)}75%{transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}@keyframes fxBounce{0%{opacity:0;transform:translateY(-80px)}60%{transform:translateY(12px)}80%{transform:translateY(-6px)}100%{opacity:1;transform:none}}@keyframes fxUp{0%{opacity:0;transform:translateY(90px)}100%{opacity:1;transform:none}}@keyframes fxLeft{0%{opacity:0;transform:translateX(-120px)}100%{opacity:1;transform:none}}@keyframes fxRight{0%{opacity:0;transform:translateX(120px)}100%{opacity:1;transform:none}}@keyframes fxPunch{0%{opacity:0;transform:scale(2.5);filter:blur(12px)}65%{opacity:1;transform:scale(.92)}100%{transform:scale(1);filter:none}}@keyframes fxFlip{0%{opacity:0;transform:perspective(700px) rotateX(80deg)}100%{opacity:1;transform:none}}@keyframes fxRotate{0%{opacity:0;transform:rotate(-18deg) scale(.5)}100%{opacity:1;transform:none}}@keyframes fxBlur{0%{opacity:0;filter:blur(24px);transform:scale(1.15)}100%{opacity:1;filter:none;transform:none}}@keyframes fxGlitch{0%{opacity:0;transform:translate(20px,-5px);filter:hue-rotate(90deg)}25%{opacity:1;transform:translate(-10px,3px)}50%{transform:translate(8px,-4px);filter:hue-rotate(-90deg)}100%{transform:none;filter:none}}@keyframes fxShake{0%{opacity:0;transform:scale(.7)}30%{opacity:1}40%{transform:translateX(-8px)}50%{transform:translateX(8px)}60%{transform:translateX(-5px)}70%{transform:translateX(5px)}100%{transform:none}}@keyframes fxNeon{0%{opacity:0;filter:brightness(3) blur(8px)}50%{opacity:1;text-shadow:0 0 30px var(--primary)}100%{filter:none}}@keyframes fxType{0%{clip-path:inset(0 100% 0 0)}100%{clip-path:inset(0 0 0 0)}}@keyframes fxMark{0%{opacity:.2;transform:scaleX(.2)}100%{opacity:1;transform:none}}@keyframes fxStamp{0%{opacity:0;transform:scale(2) rotate(-12deg)}70%{opacity:1;transform:scale(.95) rotate(2deg)}100%{transform:none}}@keyframes fxFlash{0%{opacity:0;filter:brightness(5)}35%{opacity:1;filter:brightness(2)}100%{filter:none}}@keyframes fxWipe{0%{clip-path:inset(0 100% 0 0);transform:translateX(-20px)}100%{clip-path:inset(0);transform:none}}@keyframes fxPush{0%{opacity:.2;transform:scale(1.35)}100%{opacity:1;transform:scale(1)}}@keyframes fxFloat{0%{opacity:0;transform:translateY(30px) scale(.92)}100%{opacity:1;transform:none}}@keyframes fxSwing{0%{opacity:0;transform:rotate(14deg) translateY(-20px)}45%{transform:rotate(-5deg)}100%{opacity:1;transform:none}}@keyframes fxCard{0%{opacity:0;transform:translateY(50px) scale(.8)}70%{transform:translateY(-5px) scale(1.03)}100%{opacity:1;transform:none}}@keyframes fxNews{0%{opacity:0;transform:translateX(-130%) skewX(-12deg)}100%{opacity:1;transform:none}}@keyframes fxInfo{0%{opacity:0;transform:translateY(30px);filter:blur(6px)}100%{opacity:1;transform:none;filter:none}}@keyframes fxSpot{0%{opacity:0;filter:brightness(.2)}60%{opacity:1;filter:brightness(2)}100%{filter:none}}
@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-260px;z-index:50;width:245px;transition:.2s}.menu-open .sidebar{left:0}.menu-btn{display:inline-block;background:none;border:0;color:#fff;font-size:20px}.hero{grid-template-columns:1fr}.hero-visual{display:none}.stats-grid{grid-template-columns:1fr 1fr}.grid-2,.editor-layout,.effect-layout{grid-template-columns:1fr}.editor-right,.effect-preview-sticky{position:relative;top:auto}.cards-grid{grid-template-columns:1fr 1fr}.effect-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.content{padding:16px}.topbar{padding:0 14px}.top-actions .badge{display:none}.hero{padding:24px}.hero h1,.page-title h1{font-size:30px}.stats-grid,.grid-2,.cards-grid,.form-grid.two{grid-template-columns:1fr}.page-title,.editor-head{align-items:flex-start;gap:12px;flex-direction:column}.editor-actions{width:100%;flex-wrap:wrap}.scene-row{grid-template-columns:34px 1fr}.scene-side{grid-column:2}.scene-controls{grid-template-columns:1fr 1fr}.effect-grid{grid-template-columns:1fr 1fr}.login-wrap{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:28px}}
/* ===== V1.1 video production ===== */
.studio-settings{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:10px;margin:16px 0 24px}.setting-card{background:#090b0e;border:1px solid #242a31;border-radius:14px;padding:14px}.setting-card h3{margin:0 0 12px;font-size:14px}.setting-card label{display:block;color:#89929e;font-size:11px;margin:9px 0}.setting-card select,.setting-card input[type=range]{width:100%;margin-top:6px}.setting-card small,.file-name{display:block;color:#68717d;font-size:11px;margin-top:8px}.check{display:inline-flex!important;align-items:center;gap:6px}.check input{width:auto!important}.check.big{font-size:12px;color:#c8d0d9}.upload-line{display:flex;gap:6px;flex-wrap:wrap}.scene-media{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px dashed #242a31}.media-status{font-size:10px;color:#63d6ca;margin-left:auto}.system-link{display:block;text-align:center;margin-top:13px;color:#56d8ca;font-size:11px}.render-modal{display:none;position:fixed;inset:0;background:#000b;backdrop-filter:blur(5px);z-index:1000;place-items:center;padding:18px}.render-modal.show{display:grid}.render-dialog{width:min(560px,96vw);background:#0d1014;border:1px solid #2a3038;border-radius:18px;padding:20px;box-shadow:0 35px 100px #000}.render-dialog-head{display:flex;justify-content:space-between;align-items:center}.render-dialog-head h3{margin:0}.render-dialog-head button{border:0;background:transparent;color:#fff;font-size:25px;cursor:pointer}.progress-track{height:13px;border-radius:99px;background:#171c22;overflow:hidden;margin:22px 0 8px;border:1px solid #252b33}.progress-track>div{height:100%;width:0;background:linear-gradient(90deg,#16d7c6,#638cff);transition:.25s}.progress-meta{display:flex;justify-content:space-between;color:#9099a5;font-size:12px}.render-result{margin-top:18px;min-height:44px;padding:12px;border-radius:10px;background:#080a0d;border:1px solid #222831;color:#cfd6de}.muted{font-size:11px;color:#6f7884;line-height:1.5}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.status-card{background:#0b0e12;border:1px solid #252b33;border-radius:15px;padding:16px}.status-card.good{border-color:#1f6d63}.status-card.bad{border-color:#6d2e34}.status-card h3{margin:0 0 8px;font-size:13px}.status-card b{font-size:19px}.status-card p{color:#7c8591;font-size:11px;line-height:1.55}.codebox{background:#060708;border:1px solid #242a31;border-radius:12px;padding:14px;font-family:Consolas,monospace;font-size:12px;color:#b9c1ca;white-space:pre-wrap}.render-list{display:flex;flex-direction:column;gap:10px}.render-item{display:grid;grid-template-columns:1fr 160px 90px 140px;gap:12px;align-items:center;background:#0b0e12;border:1px solid #242a31;border-radius:12px;padding:14px}.render-item small{display:block;color:#707985;margin-top:4px}.render-state{font-size:11px;border:1px solid #303742;border-radius:99px;padding:6px 10px;text-align:center}.render-state.done{color:#5ee1cf}.render-state.error{color:#ff8f99}.scene-bg{background-position:center;background-size:cover}.scene-row button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:1000px){.studio-settings{grid-template-columns:1fr}.status-grid{grid-template-columns:1fr 1fr}.render-item{grid-template-columns:1fr 100px}.render-item>*:nth-child(3){display:none}}
@media(max-width:650px){.status-grid{grid-template-columns:1fr}.render-item{grid-template-columns:1fr}.media-status{width:100%;margin-left:0}}
/* ===== V1.2 one-click AI ===== */
.btn-ai{background:linear-gradient(135deg,#7c3aed,#15d8c5);border:0;color:#fff;font-weight:900;box-shadow:0 0 26px #6d4aff28}.ai-quick-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 16px;margin-bottom:16px;border:1px solid #313047;border-radius:15px;background:radial-gradient(circle at 0 0,#36235d55,transparent 42%),linear-gradient(135deg,#0d1014,#0b0d10)}.ai-quick-card>div{display:flex;align-items:center;gap:12px}.ai-quick-card b{display:block}.ai-quick-card p{margin:4px 0 0;color:#8e97a3;font-size:12px;line-height:1.5}.ai-orb{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#7137dc,#18d5c2);font-size:20px;box-shadow:0 0 28px #783be955}.ai-dialog{width:min(760px,96vw)}.ai-form-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-top:16px}.ai-form-grid label{display:block;font-size:12px;color:#89929e;margin-bottom:10px}.ai-form-grid textarea,.ai-form-grid select{width:100%;margin-top:6px}.pipeline-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px;border:1px solid #292f38;border-radius:14px;background:#090b0e}.pipeline-strip b{font-size:12px;padding:7px 10px;border-radius:8px;background:#151a20}.pipeline-strip i{font-style:normal;color:#51d9cb}.pipeline-strip.mini{margin-top:15px;padding:10px}.pipeline-strip.mini b{font-size:10px}.ai-log{max-height:170px;overflow:auto;margin:12px 0;padding:10px;border:1px solid #232a32;border-radius:10px;background:#080a0c;font:11px/1.55 Consolas,monospace;color:#8e98a5}.ai-log div+div{border-top:1px solid #171b20;padding-top:4px;margin-top:4px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.setting-panel{border:1px solid #252b33;background:#0c0f12;border-radius:17px;padding:18px}.setting-panel.full{grid-column:1/-1}.setting-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.setting-head>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#151a20;color:#4fd8ca;font-weight:900}.setting-head h2{margin:0;font-size:17px}.setting-head p{margin:5px 0 0;color:#7f8995;font-size:12px;line-height:1.55}.setting-panel label{display:block;font-size:12px;color:#8e97a3;margin:10px 0}.setting-panel input,.setting-panel select{display:block;width:100%;margin-top:6px}.provider-box{display:grid}.secret-hint{float:right;color:#55d8cb;font:11px Consolas,monospace}.info-note{margin:12px 0;padding:11px;border-radius:10px;background:#0b1515;border:1px solid #1d4e49;color:#98aaa8;font-size:11px;line-height:1.55}.test-result{font-size:12px;margin-top:9px}.test-result .ok{color:#54decf}.test-result .bad{color:#ff9099}.effect-reason{display:block;color:#8a73d9;margin-top:5px;font-size:10px}.media-query{font-size:10px;color:#6d7783;margin-top:7px}.media-query b{color:#aeb6c0}.media-query a{color:#49d7ca}.karaoke-preview .kw{display:inline-block;padding:1px 2px;border-radius:4px;transition:.12s}.karaoke-preview .kw.active{background:var(--accent);color:#fff;transform:scale(1.08);font-weight:900}.caption.karaoke-preview{font-size:13px;line-height:1.7}.render-box .btn+.btn{margin-top:7px}.editor-actions .btn-ai{white-space:nowrap}
@media(max-width:900px){.settings-grid,.ai-form-grid{grid-template-columns:1fr}.setting-panel.full{grid-column:auto}.ai-quick-card{align-items:flex-start;flex-direction:column}.pipeline-strip{gap:6px}.pipeline-strip i{font-size:10px}}

/* ===== V1.3 MOTION PRO: curated motion graphics ===== */
.fx-target{--motion-speed:.85s;--motion-depth:12px;isolation:isolate;transition:none}
.fx-target::before,.fx-target::after{content:"";position:absolute;pointer-events:none;z-index:-1;opacity:0}
.fx-target span,.fx-target b,.fx-target small{position:relative;z-index:2}
.fx-target b{letter-spacing:-.035em;text-wrap:balance}

/* Kinetic typography */
.fx-kinetic-rise{animation:mpRise var(--motion-speed) cubic-bezier(.16,1,.3,1)}
.fx-kinetic-rise b{animation:mpWordRise calc(var(--motion-speed) + .12s) cubic-bezier(.16,1,.3,1)}
.fx-kinetic-stack{align-items:flex-start;text-align:left;padding-left:6%;animation:mpStack .9s cubic-bezier(.16,1,.3,1)}
.fx-kinetic-stack span{border-radius:999px}.fx-kinetic-stack b{font-size:38px;text-transform:uppercase;border-left:4px solid var(--primary);padding-left:14px}
.fx-kinetic-focus b{background:linear-gradient(180deg,#fff 0 72%,color-mix(in srgb,var(--primary),transparent 60%) 72%);padding:0 .12em;animation:mpFocus .85s cubic-bezier(.16,1,.3,1)}
.fx-kinetic-slam{animation:mpSlam .72s cubic-bezier(.2,.9,.2,1)}.fx-kinetic-slam b{font-size:42px;text-transform:uppercase;text-shadow:0 10px 35px #000,0 0 22px color-mix(in srgb,var(--accent),transparent 35%)}
.fx-kinetic-split{animation:mpSplit .9s cubic-bezier(.16,1,.3,1)}.fx-kinetic-split::before{opacity:.9;inset:40% -8% auto;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent);animation:mpLine .9s ease both}

/* Cinematic */
.fx-cinematic-blur{animation:mpBlur 1.15s cubic-bezier(.2,.8,.2,1)}
.fx-cinematic-push{animation:mpPush 1.35s cubic-bezier(.16,1,.3,1)}
.fx-cinematic-letterbox{animation:mpCineText 1s ease both}.fx-cinematic-letterbox::before,.fx-cinematic-letterbox::after{left:-30%;right:-30%;height:25%;background:#000;opacity:.82;z-index:0;animation:mpBars 1s cubic-bezier(.16,1,.3,1) both}.fx-cinematic-letterbox::before{top:-24%}.fx-cinematic-letterbox::after{bottom:-45%}
.fx-cinematic-light{animation:mpCineText 1s ease both;overflow:hidden}.fx-cinematic-light::after{opacity:1;top:-50%;bottom:-50%;width:18%;left:-30%;background:linear-gradient(90deg,transparent,#ffffffaa,transparent);transform:skewX(-18deg);filter:blur(7px);animation:mpSweep 1.1s .1s ease-out both;z-index:3}
.fx-cinematic-reveal{animation:mpMask 1s cubic-bezier(.16,1,.3,1)}

/* News */
.fx-news-headline{align-items:flex-start;text-align:left;padding:0 5%;animation:mpNewsIn .82s cubic-bezier(.16,1,.3,1)}.fx-news-headline span{border-radius:3px;text-transform:uppercase;letter-spacing:.08em}.fx-news-headline b{font-size:38px;max-width:95%;text-transform:uppercase}.fx-news-headline small{border-top:1px solid #ffffff55;padding-top:8px;width:100%}
.fx-news-lower-third{inset:auto 6% 22%;align-items:flex-start;text-align:left;min-height:120px;padding:18px 20px;border-left:5px solid var(--accent);background:linear-gradient(90deg,#07090de8,#07090d66,transparent);backdrop-filter:blur(8px);animation:mpLower .75s cubic-bezier(.16,1,.3,1)}.fx-news-lower-third span{font-size:10px}.fx-news-lower-third b{font-size:28px;margin:8px 0 4px}
.fx-news-breaking{animation:mpBreaking .76s cubic-bezier(.16,1,.3,1)}.fx-news-breaking::before{opacity:1;inset:8% -20%;background:linear-gradient(100deg,transparent 5%,color-mix(in srgb,var(--accent),#ff1744 50%) 35%,color-mix(in srgb,var(--accent),transparent 20%) 60%,transparent 85%);transform:skewY(-5deg);z-index:0}.fx-news-breaking span{background:#ff244d}.fx-news-breaking b{text-transform:uppercase;font-size:40px}
.fx-news-ticker{inset:auto 5% 27%;min-height:95px;align-items:flex-start;text-align:left;padding:13px 18px;background:#090b0de8;border-top:3px solid var(--accent);animation:mpTicker .78s ease-out}.fx-news-ticker b{font-size:25px;margin:8px 0}.fx-news-location{align-items:flex-start;text-align:left;padding:18px 20px;border-radius:18px;background:#0a0d12c7;border:1px solid #ffffff22;box-shadow:0 18px 45px #0008;animation:mpCardLift .9s cubic-bezier(.16,1,.3,1)}.fx-news-location::after{opacity:1;width:8px;height:8px;border:3px solid var(--primary);border-radius:50%;left:20px;top:18px;box-shadow:0 0 0 5px color-mix(in srgb,var(--primary),transparent 75%)}.fx-news-location span{margin-left:20px;background:transparent;padding:0;color:var(--primary)}

/* Editorial */
.fx-editorial-card{padding:22px;border-radius:22px;background:linear-gradient(150deg,#0b0e13d9,#151b24b8);border:1px solid #ffffff20;box-shadow:0 25px 55px #0009;backdrop-filter:blur(12px);animation:mpCardLift .9s cubic-bezier(.16,1,.3,1)}
.fx-editorial-left{align-items:flex-start;text-align:left;padding-left:5%;animation:mpEditorialLeft .9s cubic-bezier(.16,1,.3,1)}.fx-editorial-left b{max-width:92%;font-size:38px}.fx-editorial-left small{letter-spacing:.12em}
.fx-editorial-photo{align-items:flex-start;text-align:left;inset:auto 7% 22%;min-height:110px;padding:16px;background:#f4f0e8;color:#171717;border-radius:4px;transform-origin:left bottom;animation:mpPhoto .9s cubic-bezier(.16,1,.3,1)}.fx-editorial-photo span{background:#161616;color:#fff}.fx-editorial-photo b{color:#111;text-shadow:none;font-size:28px}.fx-editorial-photo small{color:#555}
.fx-editorial-quote{padding:28px 24px 20px;border-left:4px solid var(--primary);align-items:flex-start;text-align:left;background:linear-gradient(90deg,#060809dd,transparent);animation:mpQuote .9s ease-out}.fx-editorial-quote::before{content:"“";opacity:.35;font:900 100px Georgia;left:8px;top:-18px;color:var(--primary);z-index:0}.fx-editorial-quote b{font-family:Georgia,serif;font-size:31px;font-weight:700;font-style:italic}
.fx-editorial-timeline{align-items:flex-start;text-align:left;padding-left:34px;animation:mpTimeline .95s ease-out}.fx-editorial-timeline::before{opacity:1;left:12px;top:5%;bottom:5%;width:2px;background:linear-gradient(var(--primary),transparent)}.fx-editorial-timeline::after{opacity:1;left:6px;top:25%;width:14px;height:14px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 6px color-mix(in srgb,var(--primary),transparent 75%)}

/* Social */
.fx-social-caption{inset:auto 7% 24%;min-height:100px;padding:16px 18px;border-radius:18px;background:#05070bd9;border:1px solid #ffffff22;box-shadow:0 14px 35px #0008;animation:mpCardLift .7s cubic-bezier(.16,1,.3,1)}.fx-social-caption b{font-size:29px;margin:7px 0}.fx-social-keyword b{display:inline-block;background:#fff;color:#090a0d;padding:.1em .25em;border-radius:.16em;text-shadow:none;transform:rotate(-1deg);animation:mpKeyword .7s cubic-bezier(.16,1,.3,1)}.fx-social-sticker{animation:mpSticker .82s cubic-bezier(.16,1,.3,1)}.fx-social-sticker span{transform:rotate(-3deg);box-shadow:0 7px 20px #0006}.fx-social-sticker b{transform:rotate(1.5deg)}
.fx-social-comment{padding:18px 20px;border-radius:22px 22px 22px 5px;background:#fff;color:#101216;box-shadow:0 25px 60px #0008;animation:mpComment .8s cubic-bezier(.16,1,.3,1)}.fx-social-comment span{background:#151820;color:#fff}.fx-social-comment b{color:#111;text-shadow:none;font-size:29px}.fx-social-comment small{color:#666}.fx-social-swipe{animation:mpSwipe .8s cubic-bezier(.16,1,.3,1)}

/* Data */
.fx-data-number span,.fx-data-percent span,.fx-data-counter span,.fx-data-stat-card span,.fx-data-progress span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.fx-data-number{animation:mpNumber .72s cubic-bezier(.16,1,.3,1)}.fx-data-number b{font-size:52px;line-height:.9;color:#fff;text-shadow:0 0 45px color-mix(in srgb,var(--primary),transparent 25%)}.fx-data-number::after{opacity:1;left:10%;right:10%;bottom:20%;height:5px;border-radius:9px;background:linear-gradient(90deg,transparent,var(--primary),var(--accent),transparent);animation:mpLine 1s ease both}
.fx-data-percent{padding:20px;border-radius:22px;background:#090c11cc;border:1px solid #ffffff1f;animation:mpGauge .9s cubic-bezier(.16,1,.3,1)}.fx-data-percent::after{opacity:1;width:110px;height:110px;border-radius:50%;border:10px solid color-mix(in srgb,var(--primary),transparent 72%);border-top-color:var(--primary);right:-22px;top:-18px;transform:rotate(45deg)}
.fx-data-counter{animation:mpCounter .8s cubic-bezier(.16,1,.3,1)}.fx-data-counter b{font-variant-numeric:tabular-nums;font-size:48px}.fx-data-stat-card{padding:20px;border-radius:18px;background:linear-gradient(145deg,#0b0f15ef,#121722d9);border:1px solid color-mix(in srgb,var(--primary),transparent 55%);box-shadow:0 20px 50px #0008;animation:mpCardLift .85s ease}.fx-data-progress{align-items:flex-start;text-align:left;padding:16px 18px;background:#07090dcc;border-radius:14px;animation:mpProgressIn .8s ease}.fx-data-progress::after{opacity:1;left:18px;right:18px;bottom:14px;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--primary) 0 72%,#ffffff22 72%);animation:mpProgress 1.1s ease both}

/* Focus */
.fx-focus-spotlight{animation:mpSpot .95s ease-out}.fx-focus-spotlight::before{opacity:1;inset:-70%;background:radial-gradient(circle at center,transparent 0 12%,#0000 13%,#000b 38%,#000d 65%);z-index:0}
.fx-focus-marker b{display:inline;background:linear-gradient(180deg,transparent 58%,color-mix(in srgb,var(--primary),#ffe16a 45%) 58% 92%,transparent 92%);text-shadow:0 5px 18px #000;animation:mpMarker .75s ease-out}
.fx-focus-circle{animation:mpCineText .8s ease}.fx-focus-circle::after{opacity:1;width:75%;height:68%;border:4px solid var(--primary);border-radius:50%;left:12%;top:15%;transform:rotate(-4deg);animation:mpCircle .9s ease both}
.fx-focus-arrow{align-items:flex-start;text-align:left;padding-left:24%;animation:mpCineText .8s ease}.fx-focus-arrow::before{content:"➜";opacity:1;left:4%;top:34%;font-size:70px;color:var(--primary);transform:rotate(-8deg);animation:mpArrow .8s cubic-bezier(.16,1,.3,1)}
.fx-focus-underline b{display:inline-block}.fx-focus-underline b::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:5px;border-radius:6px;background:var(--primary);transform-origin:left;animation:mpUnderline .8s ease both}

/* Image-led layouts */
.fx-image-kenburns{animation:mpCineText 1s ease}.fx-image-kenburns b{font-size:31px;text-shadow:0 4px 28px #000}
.fx-image-parallax{animation:mpParallax 1.05s cubic-bezier(.16,1,.3,1)}
.fx-image-mask{animation:mpMask 1s cubic-bezier(.16,1,.3,1)}
.fx-image-polaroid{inset:auto 8% 22%;padding:16px;background:#f8f6f0;color:#121212;transform:rotate(-2deg);box-shadow:0 25px 55px #0009;animation:mpPhoto .9s cubic-bezier(.16,1,.3,1)}.fx-image-polaroid span{background:#141414}.fx-image-polaroid b{font-family:Georgia,serif;color:#111;text-shadow:none;font-size:29px}.fx-image-polaroid small{color:#666}
.fx-image-split{align-items:flex-start;text-align:left;padding-left:54%;animation:mpSplitText .9s cubic-bezier(.16,1,.3,1)}.fx-image-split::before{opacity:1;left:48%;top:-20%;bottom:-20%;width:2px;background:linear-gradient(transparent,var(--primary),transparent);animation:mpLine .9s ease}

/* Product */
.fx-product-feature{padding:20px;border-radius:22px;background:linear-gradient(145deg,#ffffff15,#ffffff08);border:1px solid #ffffff26;backdrop-filter:blur(14px);box-shadow:0 24px 60px #0008;animation:mpCardLift .85s ease}.fx-product-feature span{border-radius:999px}.fx-product-price{animation:mpPrice .75s cubic-bezier(.16,1,.3,1)}.fx-product-price b{font-size:50px;background:linear-gradient(90deg,#fff,var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent}.fx-product-price::after{content:"ƯU ĐÃI";opacity:1;right:0;top:8%;background:var(--accent);color:#fff;font-size:10px;font-weight:900;padding:7px 9px;border-radius:999px;transform:rotate(5deg)}
.fx-product-rating{padding:18px 20px;border-radius:18px;background:#0b0e13d8;border:1px solid #ffffff22;animation:mpCardLift .8s ease}.fx-product-rating::after{content:"★★★★★";opacity:1;left:50%;bottom:5%;transform:translateX(-50%);color:#ffd45c;letter-spacing:.2em;font-size:17px}

/* Recruitment */
.fx-recruit-salary{animation:mpNumber .72s cubic-bezier(.16,1,.3,1)}.fx-recruit-salary span{background:#1D52B8}.fx-recruit-salary b{font-size:48px;color:#fff;text-shadow:0 0 30px #1D52B866}.fx-recruit-salary small{color:#F8A81D}.fx-recruit-salary::after{content:"VIỆC LÀM";opacity:.12;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-9deg);font-size:58px;font-weight:1000;white-space:nowrap;color:#fff;z-index:0}
.fx-recruit-benefit{align-items:flex-start;text-align:left;padding:20px;border-radius:20px;background:#071326df;border:1px solid #1D52B877;box-shadow:0 20px 55px #0008;animation:mpCardLift .82s ease}.fx-recruit-benefit span{background:#F8A81D;color:#172033}.fx-recruit-benefit b{font-size:31px}.fx-recruit-benefit small{color:#8fb7ff}
.fx-recruit-cta{padding:23px;border-radius:18px;background:linear-gradient(135deg,#1D52B8,#103d91);box-shadow:0 20px 60px #0008;animation:mpCTA .8s cubic-bezier(.16,1,.3,1)}.fx-recruit-cta span{background:#F8A81D;color:#172033}.fx-recruit-cta small{color:#ffe6a5}

/* Story */
.fx-story-chapter{align-items:flex-start;text-align:left;padding-left:6%;animation:mpStory .95s ease-out}.fx-story-chapter span{background:transparent;padding:0;color:var(--primary);letter-spacing:.18em}.fx-story-chapter b{font-family:Georgia,serif;font-size:37px;font-weight:700}.fx-story-chapter small{border-top:1px solid #ffffff55;padding-top:8px;width:70%;color:#ddd}
.fx-story-memory{inset:auto 8% 20%;padding:18px 20px;background:#ede5d5f0;color:#1d1b18;box-shadow:0 25px 60px #0009;transform:rotate(-1.5deg);animation:mpMemory 1s cubic-bezier(.16,1,.3,1)}.fx-story-memory span{background:#362f25;color:#fff}.fx-story-memory b{font-family:Georgia,serif;color:#201d19;text-shadow:none;font-size:30px}.fx-story-memory small{color:#6b6256}

@keyframes mpRise{0%{opacity:0;transform:translateY(34px);filter:blur(8px)}100%{opacity:1;transform:none;filter:none}}
@keyframes mpWordRise{0%{opacity:0;transform:translateY(28px);letter-spacing:.05em}100%{opacity:1;transform:none;letter-spacing:-.035em}}
@keyframes mpStack{0%{opacity:0;transform:translateX(-42px);clip-path:inset(0 100% 0 0)}100%{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes mpFocus{0%{opacity:0;transform:scale(.92);clip-path:inset(0 100% 0 0)}100%{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes mpSlam{0%{opacity:0;transform:scale(1.75);filter:blur(12px)}68%{opacity:1;transform:scale(.96);filter:none}100%{transform:scale(1)}}
@keyframes mpSplit{0%{opacity:0;transform:scale(.96);filter:blur(10px)}100%{opacity:1;transform:none;filter:none}}
@keyframes mpLine{0%{transform:scaleX(0);opacity:0}100%{transform:scaleX(1);opacity:1}}
@keyframes mpBlur{0%{opacity:0;filter:blur(24px);transform:scale(1.08)}100%{opacity:1;filter:none;transform:none}}
@keyframes mpPush{0%{opacity:.2;transform:scale(1.17)}100%{opacity:1;transform:scale(1)}}
@keyframes mpCineText{0%{opacity:0;transform:translateY(14px);filter:blur(5px)}100%{opacity:1;transform:none;filter:none}}
@keyframes mpBars{0%{transform:scaleY(1.7)}100%{transform:scaleY(1)}}
@keyframes mpSweep{0%{left:-35%;opacity:0}20%{opacity:.85}100%{left:120%;opacity:0}}
@keyframes mpMask{0%{opacity:0;clip-path:inset(0 50% 0 50%);filter:blur(6px)}100%{opacity:1;clip-path:inset(0);filter:none}}
@keyframes mpNewsIn{0%{opacity:0;transform:translateX(-55px);clip-path:inset(0 100% 0 0)}100%{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes mpLower{0%{opacity:0;transform:translateX(-70px)}100%{opacity:1;transform:none}}
@keyframes mpBreaking{0%{opacity:0;transform:scale(1.25) skewX(-3deg);filter:blur(12px)}100%{opacity:1;transform:none;filter:none}}
@keyframes mpTicker{0%{opacity:0;transform:translateY(45px)}100%{opacity:1;transform:none}}
@keyframes mpCardLift{0%{opacity:0;transform:translateY(38px) scale(.96);filter:blur(5px)}100%{opacity:1;transform:none;filter:none}}
@keyframes mpEditorialLeft{0%{opacity:0;transform:translateX(-38px)}100%{opacity:1;transform:none}}
@keyframes mpPhoto{0%{opacity:0;transform:translateY(50px) rotate(-6deg) scale(.92)}100%{opacity:1;transform:rotate(-2deg)}}
@keyframes mpQuote{0%{opacity:0;transform:translateX(-32px)}100%{opacity:1;transform:none}}
@keyframes mpTimeline{0%{opacity:0;transform:translateY(25px)}100%{opacity:1;transform:none}}
@keyframes mpKeyword{0%{opacity:0;transform:scale(1.45) rotate(-4deg)}72%{opacity:1;transform:scale(.97) rotate(1deg)}100%{transform:rotate(-1deg)}}
@keyframes mpSticker{0%{opacity:0;transform:scale(.65) rotate(-8deg)}70%{opacity:1;transform:scale(1.03) rotate(2deg)}100%{transform:none}}
@keyframes mpComment{0%{opacity:0;transform:translateY(45px) scale(.9)}100%{opacity:1;transform:none}}
@keyframes mpSwipe{0%{opacity:0;transform:translateX(45px);clip-path:inset(0 0 0 100%)}100%{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes mpNumber{0%{opacity:0;transform:scale(1.55);filter:blur(10px)}72%{opacity:1;transform:scale(.96);filter:none}100%{transform:scale(1)}}
@keyframes mpGauge{0%{opacity:0;transform:translateY(28px) scale(.94)}100%{opacity:1;transform:none}}
@keyframes mpCounter{0%{opacity:0;transform:translateY(25px);filter:blur(7px)}100%{opacity:1;transform:none;filter:none}}
@keyframes mpProgressIn{0%{opacity:0;transform:translateY(25px)}100%{opacity:1;transform:none}}
@keyframes mpProgress{0%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
@keyframes mpSpot{0%{opacity:0;filter:brightness(.35) blur(8px)}100%{opacity:1;filter:none}}
@keyframes mpMarker{0%{opacity:0;background-size:0 100%}100%{opacity:1;background-size:100% 100%}}
@keyframes mpCircle{0%{transform:rotate(-12deg) scale(.65);opacity:0}100%{transform:rotate(-4deg) scale(1);opacity:1}}
@keyframes mpArrow{0%{opacity:0;transform:translateX(-40px) rotate(-8deg)}100%{opacity:1;transform:translateX(0) rotate(-8deg)}}
@keyframes mpUnderline{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes mpParallax{0%{opacity:0;transform:translate3d(24px,18px,0) scale(1.06)}100%{opacity:1;transform:none}}
@keyframes mpSplitText{0%{opacity:0;transform:translateX(45px)}100%{opacity:1;transform:none}}
@keyframes mpPrice{0%{opacity:0;transform:translateY(25px) scale(1.35)}100%{opacity:1;transform:none}}
@keyframes mpCTA{0%{opacity:0;transform:scale(.9);box-shadow:0 0 0 #0000}100%{opacity:1;transform:none;box-shadow:0 20px 60px #0008}}
@keyframes mpStory{0%{opacity:0;transform:translateY(22px);filter:blur(8px)}100%{opacity:1;transform:none;filter:none}}
@keyframes mpMemory{0%{opacity:0;transform:translateY(38px) rotate(-5deg) scale(.94)}100%{opacity:1;transform:rotate(-1.5deg)}}

/* V1.4: video thumbnail + user/billing */
.media-thumb{width:86px;height:58px;border-radius:10px;overflow:hidden;background:#090c10;border:1px solid #26313a;display:inline-flex;align-items:center;justify-content:center;position:relative;vertical-align:middle;flex:0 0 auto}.media-thumb img{width:100%;height:100%;object-fit:cover;display:block}.media-thumb .empty-thumb{font-size:10px;color:#73808b;text-align:center;padding:5px}.video-badge{position:absolute;left:5px;bottom:5px;font-size:9px;font-weight:800;background:#05070bcc;color:#fff;border:1px solid #ffffff28;border-radius:5px;padding:2px 5px}.scene-media{display:flex!important;align-items:center;gap:7px;flex-wrap:wrap}.stage-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;filter:brightness(.72)}.preview-stage .scene-bg{z-index:2}.preview-stage .stage-brand,.preview-stage .fx-target,.preview-stage .caption{z-index:3;position:absolute}.voice-pro details{border:1px solid #26313a;border-radius:10px;padding:8px 10px}.voice-pro summary{cursor:pointer;color:#9eabb7;font-size:12px}.table-wrap{width:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:1050px}.data-table th,.data-table td{padding:11px 10px;border-bottom:1px solid #20262d;text-align:left;vertical-align:middle}.data-table th{font-size:11px;color:#8e9aa6;text-transform:uppercase;letter-spacing:.04em}.data-table td small{display:block;color:#77838e;margin-top:3px}.data-table select,.data-table input{min-width:90px}.data-table input.money{width:115px;min-width:115px}.admin-stats .stat b{font-size:24px}.switch input{width:auto}.alert.success{border-color:#1d7f67;background:#0c2b24;color:#9ef5dc}
.media-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.form-grid.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}@media(max-width:1100px){.form-grid.four{grid-template-columns:1fr 1fr}}@media(max-width:650px){.form-grid.four{grid-template-columns:1fr}}
.voice-preview-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.voice-preview-line audio{height:34px;max-width:220px}

.voice-form{display:grid;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.voice-form code,table code{font-size:12px}.danger{border-color:#71303a;color:#ff9aa8}@media(max-width:800px){.grid-3{grid-template-columns:1fr}}

/* V1.6.1 - voice mode switch + per-scene voice */
.scene-section-title{gap:16px;align-items:center;flex-wrap:wrap}
.scene-voice-mode{margin-left:auto;margin-right:10px}
.voice-mode-switch{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;padding:8px 12px;border:1px solid #26313a;border-radius:13px;background:#0a0e13}
.voice-mode-switch input{display:none}
.voice-switch-ui{width:44px;height:24px;border-radius:999px;background:#313944;position:relative;transition:.2s;box-shadow:inset 0 0 0 1px #ffffff10}
.voice-switch-ui:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#d9e2ea;transition:.2s}
.voice-mode-switch input:checked+.voice-switch-ui{background:linear-gradient(90deg,#13cbb7,#7c4df4);box-shadow:0 0 22px #16d9c633}
.voice-mode-switch input:checked+.voice-switch-ui:after{transform:translateX(20px);background:white}
.voice-mode-switch>span:last-child{display:flex;flex-direction:column;line-height:1.15}
.voice-mode-switch b{font-size:12px;color:#edf7f5}.voice-mode-switch small{font-size:10px;color:#7f8d99;margin-top:3px}
.scene-voice-panel{display:grid;grid-template-columns:auto minmax(120px,1fr) minmax(150px,1.25fr) minmax(115px,1fr) 80px;gap:8px;align-items:end;margin:10px 0 2px;padding:10px;border:1px solid #23423e;border-radius:12px;background:linear-gradient(120deg,#0b1515,#0b0f16)}
.scene-voice-title{font-size:11px;font-weight:800;color:#67ead7;align-self:center;white-space:nowrap}
.scene-voice-panel label{font-size:10px;color:#86949f;margin:0}
.scene-voice-panel select,.scene-voice-panel input{margin-top:4px;min-height:34px;padding:6px 8px;font-size:12px}
@media(max-width:1050px){.scene-voice-mode{order:3;width:100%;margin:0}.voice-mode-switch{width:max-content}.scene-voice-panel{grid-template-columns:1fr 1fr}.scene-voice-title{grid-column:1/-1}}
@media(max-width:650px){.scene-voice-panel{grid-template-columns:1fr}.voice-mode-switch{width:100%}}
