@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/mockups/fonts/inter-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/mockups/fonts/inter-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/mockups/fonts/inter-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/mockups/fonts/inter-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/mockups/fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/mockups/fonts/jetbrains-mono-latin-500-normal.woff2') format('woff2');}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#fafaf7;background:#0a0a0a;-webkit-font-smoothing:antialiased;}
.eyebrow{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:#e2553c;}

/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
     padding:20px 40px;color:#fff;transition:background .3s ease,padding .3s ease,border-color .3s ease;border-bottom:1px solid transparent;}
.nav.scrolled{background:rgba(10,10,10,.9);backdrop-filter:blur(12px);padding:14px 40px;border-bottom:1px solid rgba(255,255,255,.08);}
.nav a{color:#fff;text-decoration:none;}
.nav .logo{font-weight:700;font-size:20px;letter-spacing:-.02em;}
.nav .logo span{color:#e2553c;}
.nav .center{display:flex;gap:38px;align-items:center;font-size:14px;font-weight:500;}
.nav .center a{color:rgba(255,255,255,.85);transition:color .2s;}
.nav .center a:hover{color:#e2553c;}
.nav .right{display:flex;gap:22px;align-items:center;font-size:14px;font-weight:500;}
.nav .btn-ghost{border:1px solid rgba(255,255,255,.4);padding:8px 18px;border-radius:999px;transition:.2s;}
.nav .btn-ghost:hover{background:#fff;color:#0a0a0a;}
.nav .navlink{color:rgba(255,255,255,.85);}
.nav .navlink:hover{color:#e2553c;}
.nav .acct{display:flex;gap:14px;align-items:center;}
.nav .acct .credits{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;color:#e2553c;background:rgba(226,85,60,.12);padding:6px 12px;border-radius:999px;}
.nav .acct .avatar{background:#fff;color:#0a0a0a;border:none;font-weight:600;font-size:14px;padding:8px 18px;border-radius:999px;cursor:pointer;transition:.2s;}
.nav .acct .avatar:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.4);}
.nav .acct .uname{font-size:13px;color:rgba(255,255,255,.7);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nav .acct .logout{background:none;border:none;color:rgba(255,255,255,.55);font-size:13px;cursor:pointer;}
.nav .acct .logout:hover{color:#e2553c;}
.nav .acct .adminlink{background:none;border:none;text-decoration:none;color:#E8B84B;font-size:13px;
                      font-weight:500;cursor:pointer;padding:0;}
.nav .acct .adminlink:hover{color:#f0c25c;}

/* ===== HERO ===== */
.hero{position:relative;height:100vh;min-height:640px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.55),rgba(10,10,10,.35) 40%,rgba(10,10,10,.85));}
.hero .inner{position:relative;z-index:2;color:#fff;padding:0 24px;max-width:820px;text-align:center;margin:0 auto;width:100%;}
.hero .eyebrow{color:#9a9a96;margin-bottom:26px;display:inline-block;letter-spacing:.24em;text-transform:uppercase;}
.hero h1{font-weight:700;font-size:clamp(40px,7vw,84px);line-height:1.02;letter-spacing:-.03em;color:#fff;}
.hero h1 .accent{color:#e8684a;font-style:italic;font-weight:400;letter-spacing:-.03em;}
.hero p{margin:26px auto 0;font-size:18px;font-weight:400;line-height:1.6;color:#d8d8d4;max-width:560px;}
.hero .cta{margin-top:38px;display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;padding:15px 32px;border-radius:999px;cursor:pointer;text-decoration:none;transition:.2s;border:1px solid transparent;white-space:nowrap;}
.btn-primary{background:#fff;color:#0a0a0a;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.4);}
.btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.btn-line:hover{background:rgba(255,255,255,.12);}
.hero .micro{margin-top:20px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#9a9a96;}
.hero .scroll{margin-top:48px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#9a9a96;}

/* ===== CAPABILITIES ===== */
.caps{padding:130px 40px;background:#0a0a0a;text-align:center;}
.caps .eyebrow{margin-bottom:18px;}
.caps h2{font-weight:700;font-size:clamp(1.8rem,3.4vw,2.8rem);letter-spacing:-.025em;line-height:1.1;}
.caps .sub{margin-top:18px;color:rgba(255,255,255,.6);font-size:1.05rem;max-width:54ch;margin-left:auto;margin-right:auto;line-height:1.6;}
.stats{margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1080px;margin-left:auto;margin-right:auto;}
.stat{padding:40px 20px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#111;}
.stat .num{font-weight:700;font-size:clamp(2.4rem,5vw,3.4rem);letter-spacing:-.03em;line-height:1;}
.stat .num .u{font-size:.42em;font-weight:600;color:rgba(255,255,255,.5);margin-left:4px;letter-spacing:0;}
.stat .lab{margin-top:14px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.4);}

/* ===== WORKS ===== */
.works{padding:130px 40px;background:#0a0a0a;}
.works .head{text-align:center;margin-bottom:60px;}
.works h2{font-weight:700;font-size:clamp(1.8rem,3.4vw,2.8rem);letter-spacing:-.025em;line-height:1.1;margin-top:14px;color:#fff;}
.gallery{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.gcard{border-radius:16px;overflow:hidden;background:#121212;border:1px solid rgba(255,255,255,.08);aspect-ratio:4/3;}
.gcard video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.gcard:hover video{transform:scale(1.04);}
.gcap{margin-top:14px;}
.gcap .t{font-weight:600;font-size:15px;color:#fff;}
.gcap .m{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.42);text-transform:uppercase;margin-top:4px;}
.gitem{transition:transform .3s ease;}
.gitem:hover{transform:translateY(-4px);}

/* ===== PRICING ===== */
.price{padding:130px 40px;background:#0a0a0a;text-align:center;}
.price .eyebrow{margin-bottom:18px;}
.price h2{font-weight:700;font-size:clamp(1.8rem,3.4vw,2.8rem);letter-spacing:-.025em;}
.price .sub{margin-top:16px;color:rgba(255,255,255,.55);font-size:1.05rem;}
.tiers{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin-left:auto;margin-right:auto;}
.tier{padding:38px 28px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:#111;text-align:left;display:flex;flex-direction:column;}
.tier.feat{border-color:#e2553c;background:#141014;}
.tier .name{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);}
.tier.feat .name{color:#e2553c;}
.tier .amt{margin-top:18px;font-weight:700;font-size:2.6rem;letter-spacing:-.03em;line-height:1;color:#fff;}
.tier .amt .cny{font-size:.5em;font-weight:600;color:rgba(255,255,255,.5);}
.tier .credits{margin-top:8px;font-size:14px;color:rgba(255,255,255,.55);}
.tier .buy{margin-top:26px;padding:13px;border-radius:999px;text-align:center;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;}
.tier .buy.normal{background:#fff;color:#0a0a0a;}
.tier .buy.feat{background:#e2553c;color:#fff;}
.tier .buy:hover{opacity:.9;}

/* ===== FINAL CTA ===== */
.final{padding:130px 40px;background:#0a0a0a;color:#fff;text-align:center;border-top:1px solid rgba(255,255,255,.06);}
.final h2{font-weight:700;font-size:clamp(1.8rem,4.4vw,3.2rem);letter-spacing:-.035em;line-height:1.1;max-width:24ch;margin:0 auto;}
.final h2 .accent{color:#e2553c;font-style:italic;}
.final .cta{margin-top:40px;}
.final .note{margin-top:22px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;color:rgba(255,255,255,.4);}

footer{background:#0a0a0a;color:rgba(255,255,255,.45);padding:40px;text-align:center;font-size:13px;border-top:1px solid rgba(255,255,255,.06);}
footer .logo{color:#fff;font-weight:700;font-size:16px;letter-spacing:-.02em;margin-bottom:10px;}

/* ===== MODAL ===== */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;}
.modal.open{display:flex;}
.modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);}
.modal-card{position:relative;z-index:2;background:#121212;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:38px 34px;width:420px;max-width:92vw;box-shadow:0 30px 80px rgba(0,0,0,.6);}
.modal-card .x{position:absolute;top:14px;right:18px;background:none;border:none;color:rgba(255,255,255,.5);font-size:26px;line-height:1;cursor:pointer;}
.modal-card .x:hover{color:#fff;}
.modal .tabs{display:flex;gap:22px;margin-bottom:24px;}
.modal .tab{background:none;border:none;color:rgba(255,255,255,.5);font-size:17px;font-weight:600;cursor:pointer;padding-bottom:6px;border-bottom:2px solid transparent;}
.modal .tab.active{color:#fff;border-bottom-color:#e2553c;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:13px;color:rgba(255,255,255,.6);margin-bottom:7px;}
.field input{width:100%;background:#1c1c1c;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:13px 14px;color:#fff;font-size:15px;outline:none;transition:.2s;}
.field input:focus{border-color:#e2553c;}
.err{color:#ff6b57;font-size:13px;min-height:18px;margin-bottom:8px;}
.submit{width:100%;background:#fff;color:#0a0a0a;border:none;font-weight:600;font-size:15px;padding:14px;border-radius:12px;cursor:pointer;transition:.2s;margin-top:4px;}
.submit:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.4);}
.modal .hint{margin-top:14px;text-align:center;font-size:12px;color:rgba(255,255,255,.4);}

/* ===== PAYMENT ===== */
.modal-card.pay{text-align:center;}
.pay-title{font-size:18px;font-weight:600;margin-bottom:18px;}
.pay-amt{font-weight:700;font-size:3rem;letter-spacing:-.03em;color:#fff;line-height:1;}
.pay-credits{margin-top:8px;color:rgba(255,255,255,.55);font-size:14px;}
.pay-steps{text-align:left;margin:22px 0;font-size:13px;color:rgba(255,255,255,.7);line-height:1.9;}
.pay-steps b{color:#e2553c;}
.pay-body{display:flex;gap:22px;align-items:flex-start;margin:20px 0 0;text-align:left;}
.pay-qr{flex:0 0 188px;text-align:center;}
.pay-qr img{width:180px;height:180px;display:block;border-radius:12px;background:#fff;padding:8px;box-shadow:0 8px 24px rgba(0,0,0,.45);}
#payQrContainer{width:180px;height:180px;margin:0 auto;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:8px;box-shadow:0 8px 24px rgba(0,0,0,.45);box-sizing:border-box;}
#payQrContainer img,#payQrContainer canvas{width:164px;height:164px;padding:0;box-shadow:none;background:transparent;border-radius:0;}
.pay-open{display:inline-block;margin-top:10px;padding:6px 14px;border-radius:6px;background:#1677ff;color:#fff;font-size:12px;text-decoration:none;}
.pay-open:hover{background:#4096ff;}
.qr-label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:8px;}
.qr-tag{font-family:'JetBrains Mono',monospace;font-size:11px;color:rgba(255,255,255,.55);margin-top:8px;letter-spacing:.04em;}
.pay-info{flex:1;min-width:0;}
.pay-tip{margin-top:14px;padding:10px 12px;background:rgba(226,85,60,.08);border:1px solid rgba(226,85,60,.25);border-radius:8px;font-size:12px;color:rgba(255,255,255,.7);line-height:1.6;}
.pay-steps em{font-style:normal;color:#fff;font-weight:500;border-bottom:1px dashed rgba(255,255,255,.3);padding-bottom:1px;}
@media (max-width:520px){.pay-body{flex-direction:column;align-items:center;}.pay-info{width:100%;}}
.pay-order{font-family:'JetBrains Mono',monospace;font-size:12px;color:rgba(255,255,255,.4);margin-bottom:16px;}
.pay-order span{color:rgba(255,255,255,.8);}
.pay-wait{margin-top:14px;font-size:13px;color:rgba(255,255,255,.6);}

/* ===== GENERATE VIEW (方案 F · 导演时间轴) ===== */
.genview{position:fixed;inset:0;z-index:90;background:#0B0B0C;display:none;flex-direction:column;
         font-family:'Inter',-apple-system,'Segoe UI',sans-serif;color:#F0EFEC;}
.genview.open{display:flex;}
.genview .dot{width:6px;height:6px;background:#E8B84B;border-radius:1px;display:inline-block;}

/* ---- 顶部工具条 ---- */
.gen-head{height:52px;flex:none;display:flex;align-items:center;gap:20px;padding:0 18px;
          border-bottom:1px solid rgba(255,255,255,.08);background:#0B0B0C;}
.gen-head .gh-l{display:flex;align-items:center;gap:9px;}
.gen-head .brand{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.2em;}
.gen-head .gh-c{display:flex;align-items:center;gap:7px;background:#141416;border:1px solid rgba(255,255,255,.08);
                border-radius:5px;padding:5px 11px;font-size:11.5px;color:#8C8C86;}
.gen-head .gh-c .k{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;color:#55554F;}
.gen-head .gh-c .sep{color:#33332F;}
.gen-head .gh-r{margin-left:auto;display:flex;align-items:center;gap:14px;}
.gen-head .credits{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;color:#E8B84B;
                   background:rgba(232,184,75,.1);border:1px solid rgba(232,184,75,.28);padding:5px 11px;border-radius:5px;}
.gen-head .x{background:none;border:none;color:#55554F;font-size:24px;line-height:1;cursor:pointer;padding:0 4px;}
.gen-head .x:hover{color:#F0EFEC;}

/* 模式切换：分段控件 */
.top-tabs{display:flex;background:#0F0F11;border-radius:8px;padding:3px;gap:3px;
          border:1px solid rgba(255,255,255,.07);}
.top-tab{padding:6px 15px;font-size:12px;color:#96968F;background:transparent;border:1px solid transparent;
         border-radius:6px;transition:background .16s,color .16s,border-color .16s;}
.top-tab:hover{color:#DAD9D3;}
.top-tab.active{background:#FFFFFF;color:#111113;font-weight:500;border-color:#FFFFFF;}

/* ---- 主体 ---- */
.gen-body{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;
          padding:18px;overflow:auto;align-items:stretch;}
.gen-left{min-width:0;display:flex;flex-direction:column;gap:18px;}
.board{display:flex;flex-direction:column;gap:10px;}
.stit{display:flex;justify-content:space-between;align-items:baseline;}
.stit .l{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.18em;color:#55554F;}
.stit .r{font-size:11.5px;color:#55554F;}

/* 轨道 */
.trackwrap{background:#141416;border:1px solid rgba(255,255,255,.08);border-radius:7px;padding:13px;
           overflow-x:auto;}
#drop{position:relative;min-height:120px;}
#drop.drag{outline:1px dashed #E8B84B;outline-offset:2px;border-radius:6px;}
.drop-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
            justify-content:center;gap:6px;color:#55554F;pointer-events:none;}
.drop-ico{font-size:22px;color:#8C8C86;font-weight:300;}
.drop-t{font-size:13px;color:#8C8C86;}
.drop-s{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.08em;color:#55554F;}
.track{position:relative;display:flex;align-items:stretch;min-height:110px;gap:0;}
.shot{position:relative;flex:none;width:172px;border-radius:5px;overflow:hidden;cursor:pointer;
      background:#000;border:1px solid rgba(255,255,255,.16);transition:.15s;}
.shot.single{width:280px;}
.shot:hover{border-color:rgba(255,255,255,.34);}
.shot.sel{border-color:#E8B84B;box-shadow:0 0 0 1px #E8B84B;}
.shot img{width:100%;height:100%;object-fit:cover;display:block;opacity:.9;}
.shot.sel img{opacity:1;}
.shot .em{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
          justify-content:center;gap:6px;color:#55554F;font-family:'JetBrains Mono',monospace;
          font-size:10px;letter-spacing:.12em;}
.shot .em .pl{font-size:22px;color:#8C8C86;font-family:'Inter',sans-serif;}
.shot .bar{position:absolute;left:0;right:0;bottom:0;padding:22px 9px 8px;
           background:linear-gradient(transparent,rgba(0,0,0,.86));display:flex;
           justify-content:space-between;align-items:flex-end;}
.shot .bar .nm{font-size:12px;color:#fff;}
.shot .bar .du{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:rgba(255,255,255,.62);}
.shot .ix{position:absolute;left:7px;top:6px;font-family:'JetBrains Mono',monospace;font-size:9px;
          letter-spacing:.12em;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.9);}
.shot .thumb-x{position:absolute;top:5px;right:5px;width:22px;height:22px;border:none;border-radius:50%;
               background:rgba(0,0,0,.6);color:#fff;font-size:13px;line-height:1;cursor:pointer;
               display:flex;align-items:center;justify-content:center;padding:0;backdrop-filter:blur(4px);}
.shot .thumb-x:hover{background:#E8B84B;color:#0B0B0C;}
.trans{position:absolute;top:50%;transform:translate(-50%,-50%);width:46px;z-index:3;
       display:flex;flex-direction:column;align-items:center;gap:4px;color:#8C8C86;cursor:default;}
.trans .ic{width:26px;height:26px;border:1px solid rgba(255,255,255,.16);border-radius:50%;
           display:flex;align-items:center;justify-content:center;font-size:11px;background:#141416;}
.trans .lb{font-size:9.5px;letter-spacing:.06em;}
.ruler{position:relative;margin-top:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:7px;
       height:16px;font-family:'JetBrains Mono',monospace;font-size:9px;color:#55554F;letter-spacing:.08em;}
.ruler .tk{position:absolute;top:7px;padding-left:2px;white-space:nowrap;}
.ruler .tk::before{content:'';position:absolute;left:0;top:-7px;width:1px;height:5px;background:rgba(255,255,255,.16);}
.ruler .tk.minor::before{height:3px;top:-5px;opacity:.55;}
/* inspector：运镜选择器（纯文字标签，任何模式都排成一行、不出现横向滑轨） */
.insp{background:#141416;border:1px solid rgba(255,255,255,.08);border-radius:7px;padding:13px;}
.mvrow{display:grid;gap:6px;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);overflow:visible;}
.mv{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;
    padding:8px 4px;border-radius:5px;border:1px solid rgba(255,255,255,.10);background:#1B1B1E;
    color:#96968F;font-family:inherit;text-align:center;cursor:pointer;transition:.15s;-webkit-appearance:none;appearance:none;}
.mv .nm{font-size:11.5px;line-height:1.15;white-space:nowrap;}
.mv .en{font-family:'JetBrains Mono',monospace;font-size:7.5px;letter-spacing:.1em;
        color:#55554F;white-space:nowrap;transition:.15s;}
.mv:hover{background:#232327;border-color:rgba(255,255,255,.2);color:#C9C9C2;}
.mv.sel{background:#FFFFFF;border-color:#FFFFFF;color:#111113;}
.mv.sel:hover{background:#FFFFFF;border-color:#FFFFFF;color:#111113;}
.mv.sel .nm{font-weight:500;}
.mv.sel .en{color:rgba(17,17,19,.5);}
.mv:focus-visible{outline:2px solid #E8B84B;outline-offset:2px;}
.mv-note{padding:18px 14px;text-align:center;font-size:12.5px;line-height:1.7;color:#C9C9C2;border:1px dashed rgba(255,255,255,.16);border-radius:6px;background:rgba(255,255,255,.03);}
.mv-notearea{margin-top:10px;width:100%;box-sizing:border-box;padding:11px 13px;font-size:12.5px;line-height:1.6;color:#EDEDE8;
             background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.16);border-radius:6px;resize:vertical;font-family:inherit;}
.mv-notearea::placeholder{color:#6E6E68;}
.mv-notearea:focus{outline:none;border-color:rgba(232,184,75,.55);}
.params{display:flex;flex-direction:column;gap:10px;margin-top:13px;padding-top:12px;
        border-top:1px solid rgba(255,255,255,.08);}
.dur-ctl{display:flex;flex-direction:column;gap:10px;margin-top:0;}
.dur-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.dur-lab{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;color:#55554F;
         min-width:58px;flex:none;}
.dur-opts{display:flex;gap:5px;flex-wrap:wrap;}
.dur-opt{padding:5px 11px;border:1px solid rgba(255,255,255,.16);border-radius:4px;background:transparent;
         color:#8C8C86;font:500 11.5px/1 'Inter',system-ui;cursor:pointer;transition:.15s;}
.dur-opt:hover{border-color:rgba(255,255,255,.3);color:#F0EFEC;}
.dur-opt.active{background:#F0EFEC;color:#0B0B0C;border-color:#F0EFEC;font-weight:600;}
.dur-segs{display:flex;flex-direction:column;gap:6px;}
.dur-seg{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11.5px;color:#8C8C86;}
.ds-lab{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.08em;color:#55554F;}
.ds-ctl{display:flex;align-items:center;gap:8px;}
.ds-minus,.ds-plus{width:20px;height:20px;border:1px solid rgba(255,255,255,.16);border-radius:4px;
                   background:transparent;color:#8C8C86;cursor:pointer;font-size:12px;line-height:1;padding:0;}
.ds-minus:hover,.ds-plus:hover{border-color:rgba(255,255,255,.34);color:#F0EFEC;}
.ds-minus:disabled,.ds-plus:disabled{opacity:.35;cursor:default;}
.ds-val{font-family:'JetBrains Mono',monospace;font-size:11px;color:#F0EFEC;min-width:38px;text-align:center;}
.dur-sum{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;color:#55554F;}
.dur-sum.ok{color:#E8B84B;}

/* 右列预览 */
.gen-preview{min-width:0;display:flex;align-items:center;justify-content:center;background:#08080A;
             border:1px solid rgba(255,255,255,.08);border-radius:7px;overflow:hidden;position:relative;}
.gen-preview .gen-result{width:100%;height:100%;display:block;}
.gen-preview .gen-result video{width:100%;height:100%;object-fit:contain;background:#000;display:block;}
.pv-empty{position:relative;width:100%;height:100%;background:#000;pointer-events:none;}
.pv-empty video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;}
.pv-empty .pv-cap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 16px;
                  background:linear-gradient(transparent,rgba(0,0,0,.8));font-size:11.5px;color:#8C8C86;}
.pv-empty .pv-cap span{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;
                       letter-spacing:.16em;color:#E8B84B;margin-bottom:5px;}

/* 生成中状态：贴左列底部（左下角），纯进度条 —— 无 spinner、无预计时间文案 */
.gen-status{display:none;flex-direction:column;gap:8px;margin-top:auto;padding-top:13px;
            border-top:1px solid rgba(255,255,255,.07);}
.gen-status .st-top{display:flex;align-items:baseline;gap:10px;}
.gen-status .st-t{flex:1;min-width:0;font-size:12px;color:#F0EFEC;font-weight:500;
                  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gen-status .st-pct{flex-shrink:0;font-family:'JetBrains Mono',monospace;font-size:10px;
                    letter-spacing:.06em;color:#8C8C86;}
.gen-status .st-bar{height:4px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden;}
.gen-status .st-fill{height:100%;width:0;border-radius:2px;background:#E8B84B;transition:width .6s ease;}
.gen-status .st-hint{font-size:10.5px;color:#55554F;}

/* 生成完成后的操作条：同样贴左列左下角（与进度条同一槽位，互斥显示） */
.gen-actions{display:none;gap:8px;margin-top:auto;padding-top:13px;
             border-top:1px solid rgba(255,255,255,.07);}
.gen-actions a,.gen-actions button{flex:1;min-width:0;text-align:center;padding:10px 14px;
     font-family:inherit;font-size:12.5px;border-radius:6px;text-decoration:none;
     background:#F0EFEC;color:#0B0B0C;font-weight:600;border:none;cursor:pointer;
     white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:.15s;}
.gen-actions a:hover{background:#fff;}
.gen-actions .again{background:#1B1B1E;color:#F0EFEC;border:1px solid rgba(255,255,255,.18);}
.gen-actions .again:hover{background:#232327;border-color:rgba(255,255,255,.3);}

/* 历史面板 */
.pane-history{min-height:0;}
.gen-history{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 260px);overflow:auto;}
.gen-history .hh{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;color:#55554F;}
.hist-item{display:flex;gap:12px;align-items:center;background:#141416;border:1px solid rgba(255,255,255,.08);
           border-radius:6px;padding:9px;cursor:pointer;transition:.15s;}
.hist-item:hover{border-color:rgba(255,255,255,.24);}
.hist-item video{width:88px;height:56px;object-fit:cover;border-radius:4px;background:#000;flex-shrink:0;}
.hist-item .hi-t{font-size:12.5px;color:#F0EFEC;}
.hist-item .hi-s{font-family:'JetBrains Mono',monospace;font-size:10px;color:#55554F;margin-top:3px;}

/* ---- 底部生成条 ---- */
.gen-foot{height:52px;flex:none;border-top:1px solid rgba(255,255,255,.08);background:#0B0B0C;
          display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:20px;}
.gen-foot .st{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;color:#55554F;}
.gen-foot .rgt{display:flex;align-items:center;gap:16px;}
.gen-foot .cost{display:flex;align-items:baseline;gap:5px;font-family:'JetBrains Mono',monospace;
                font-size:15px;color:#F0EFEC;}
.gen-foot .cost span{font-family:'Inter',sans-serif;font-size:11px;color:#55554F;}
.gen-go{background:#E8B84B;color:#0B0B0C;border:none;font-weight:600;font-size:12.5px;padding:9px 24px;
        border-radius:5px;cursor:pointer;transition:.15s;}
.gen-go:hover:not(:disabled){filter:brightness(1.08);}
.gen-go:disabled{background:#1B1B1E;color:#45454C;cursor:not-allowed;}

@media(max-width:980px){
  .gen-body{grid-template-columns:1fr;padding:14px;}
  .gen-head{gap:12px;padding:0 12px;overflow-x:auto;}
  .gen-preview{min-height:260px;}
}
/* 窄屏：运镜标签只留中文，保证 8 个也能挤进一行 */
@media(max-width:560px){
  .mvrow{gap:4px;}
  .mv{padding:7px 3px;}
  .mv .nm{font-size:11px;}
  .mv .en{display:none;}
}

/* ===== TOAST ===== */
.toast{position:fixed;left:50%;bottom:40px;transform:translateX(-50%) translateY(20px);z-index:200;background:#1c1c1c;border:1px solid rgba(255,255,255,.14);color:#fff;padding:13px 22px;border-radius:12px;font-size:14px;opacity:0;pointer-events:none;transition:.3s;box-shadow:0 16px 40px rgba(0,0,0,.5);}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast.err{border-color:#ff6b57;}

/* ===== RESPONSIVE ===== */
@media(max-width:860px){
  .nav{padding:16px 20px;}
  .nav .center{display:none;}
  .hero .inner{padding:0 20px 56px;}
  .caps,.works,.price,.final{padding-left:20px;padding-right:20px;}
  .stats{grid-template-columns:1fr;}
  .gallery{grid-template-columns:1fr;gap:24px;max-width:420px;}
  .tiers{grid-template-columns:1fr;}
  .gen-body{grid-template-columns:1fr;padding:24px;}
  .mov-grid{grid-template-columns:repeat(3,1fr);}
  .gen-preview{position:static;aspect-ratio:auto;min-height:240px;}
}
