*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#f6f5f2;--card:#fff;--ink:#1d1d1f;--ink2:#55534e;--mute:#8d8a83;--line:#e7e4de;--soft:#efede8;
--acc:#26262a;--ok:#2f7a4f;--okbg:#eaf3ed;--run:#b7791f;--runbg:#fbf3e4;--bad:#b4362b;--badbg:#fbecea}
body{font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
.top{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 40px}
.brand{display:flex;align-items:center;gap:12px;width:320px;font-weight:600;font-size:16px;letter-spacing:.5px}
.mark{width:28px;height:28px;border-radius:8px;background:var(--acc);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:600}
.batch{color:var(--mute);font-weight:400;font-size:13px;letter-spacing:0}
.demo{display:inline-block;font-size:11px;color:var(--mute);border:1px solid var(--line);padding:0 8px;border-radius:10px;line-height:18px;font-weight:400;letter-spacing:0}
.steps{flex:1;display:flex;justify-content:center;gap:40px}
.st{display:flex;align-items:center;gap:8px;color:var(--mute);font-size:14px}
.st i{font-style:normal;width:24px;height:24px;border-radius:50%;border:1px solid #d6d2ca;display:grid;place-items:center;font-size:12px}
.st.on{color:var(--ink);font-weight:600}.st.on i{background:var(--acc);border-color:var(--acc);color:#fff}
.st.done{color:var(--ink2)}.st.done i{border-color:var(--ok);color:var(--ok)}
.me{width:320px;display:flex;justify-content:flex-end;gap:24px;color:var(--ink2);font-size:13px}
.page{width:1200px;margin:0 auto;padding:40px 0 128px}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
h1{font-size:26px;font-weight:600;letter-spacing:.5px}
.lead{font-size:16px;color:var(--ink2);margin-top:8px}
.lead b{color:var(--ink);font-weight:600}
.big{height:8px;background:var(--soft);border-radius:4px;margin-top:24px;overflow:hidden}.big i{display:block;height:100%;background:var(--run);border-radius:4px}
.bar{height:4px;background:var(--soft);border-radius:2px;overflow:hidden}.bar i{display:block;height:100%;background:var(--run)}
.bar.ok i,.big.ok i{background:var(--ok)}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px rgba(30,25,15,.04),0 4px 16px rgba(30,25,15,.04)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:10px;border:1px solid #dcd8d0;background:#fff;color:var(--ink);font-size:14px;white-space:nowrap;font-family:inherit}
.btn.sm{height:32px;padding:0 12px;font-size:13px;border-radius:8px}
.btn.pri{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:500}
.btn.lg{height:48px;padding:0 24px;font-size:15px;border-radius:12px}
.btn.q{border-color:transparent;background:transparent;color:var(--ink2)}
.link{color:var(--ink2);font-size:13px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#cfcac1}
.mute{color:var(--mute)}.small{font-size:13px}.xs{font-size:12px}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:1px;background:#c9c5bd}
.dot.ok{background:var(--ok)}.dot.run{background:var(--run)}.dot.bad{background:var(--bad)}
.s-ok{color:var(--ok)}.s-run{color:var(--run)}.s-bad{color:var(--bad)}
.alert{margin-top:24px;display:flex;align-items:center;gap:16px;background:var(--runbg);border:1px solid #efdcb6;border-radius:12px;padding:12px 16px 12px 20px;font-size:14px;color:#6b4a12}
.alert b{font-weight:600}.alert .btn{margin-left:auto;height:32px;font-size:13px;background:#fff;border-color:#e6d2a8;color:#6b4a12}
.foot{position:fixed;left:0;right:0;bottom:0;height:80px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);display:flex;align-items:center}
.foot .in{width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.sw{display:inline-block;width:36px;height:20px;border-radius:10px;background:var(--ink);position:relative;vertical-align:middle}
.sw::after{content:"";position:absolute;top:2px;left:18px;width:16px;height:16px;border-radius:50%;background:#fff}
.sw.off{background:#d6d2ca}.sw.off::after{left:2px}
.seg{display:flex;background:var(--soft);border-radius:10px;padding:4px}
.seg span{flex:1;text-align:center;height:32px;line-height:32px;border-radius:8px;font-size:13px;color:var(--ink2)}
.seg .on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.tabs{display:flex;gap:8px;margin-top:32px}
.tab{padding:10px 18px;border-radius:12px;border:1px solid transparent;font-size:14px;color:var(--ink2)}
.tab small{display:block;font-size:12px;color:var(--mute)}
.tab.on{background:#fff;border-color:var(--line);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(30,25,15,.05)}
.tab.on small{font-weight:400}
:root{--bg:#f2f1ff;--top2:#f8f7ff;--ink:#1d1b3a;--ink2:#4d4a72;--mute:#8582a6;--line:#e1def5;--soft:#eae8fb;
--acc:#6a5cff;--acc-d:#5143e0;--a1:#8f7dff;--a2:#5f52f2;--a3:#5447e0;--p1:#9a8bff;--p2:#6656f5;--track:#e6e3f8;
--run:#e8a21a;--run-t:#b77800;--tint:#f3f1ff;--tintline:#cdc6fb;--card2:#faf9ff;--cardline:#e0dcf6;--b2:#f4f2fe;--bline:#d8d3f2;--bin:#e8e5fa;
--sh1:rgba(80,70,170,.08);--sh2:rgba(95,82,242,.27);
--c1a:#a99be8;--c1b:#5b4fa8;--c2a:#9fb4ec;--c2b:#4d64ad;--c3a:#c1a3e3;--c3b:#7a4fa3;--c4a:#94c4e0;--c4b:#3f7aa0;--c5a:#b6b0e6;--c5b:#625c9e}
/* shared bright + embossed styling; theme files set the variables */
body{background:var(--bg);color:var(--ink)}
.top{background:linear-gradient(180deg,#fff,var(--top2));border-bottom:1px solid var(--line);box-shadow:0 1px 0 #fff inset,0 2px 10px var(--sh1)}
.mark{background:linear-gradient(160deg,var(--a1),var(--a2));box-shadow:0 1px 0 rgba(255,255,255,.45) inset,0 3px 8px var(--sh2)}
.demo{background:#fff;border-color:var(--line)}
.st i{background:#fff;box-shadow:0 1px 2px var(--sh1)}
.st.on{color:var(--acc-d)}
.st.on i{background:linear-gradient(160deg,var(--a1),var(--a2));border-color:transparent;box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 3px 8px var(--sh2)}
.st.done i{background:var(--okbg);border-color:#bfe3cc}
h1{color:var(--ink)}
.card{background:linear-gradient(180deg,#ffffff 0%,var(--card2) 100%);border:1px solid var(--cardline);
 box-shadow:0 1px 0 #fff inset,0 -1px 0 rgba(0,0,0,.02) inset,0 2px 4px var(--sh1),0 10px 28px var(--sh1),0 22px 48px -18px var(--sh2)}
.btn{background:linear-gradient(180deg,#ffffff 0%,var(--b2) 100%);border:1px solid var(--bline);color:var(--ink);
 box-shadow:0 1px 0 #fff inset,0 -2px 0 var(--bin) inset,0 1px 2px var(--sh1),0 4px 10px var(--sh1)}
.btn.pri{background:linear-gradient(180deg,var(--a1) 0%,var(--a2) 100%);border:1px solid var(--a3);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.18);font-weight:600;
 box-shadow:0 1px 0 rgba(255,255,255,.45) inset,0 -3px 0 rgba(0,0,0,.12) inset,0 2px 4px var(--sh2),0 8px 18px var(--sh2)}
.btn.q{background:transparent;box-shadow:none;border-color:transparent}
.big{height:12px;border-radius:6px;background:var(--track);box-shadow:0 1px 2px rgba(0,0,0,.08) inset,0 1px 0 #fff}
.big i{border-radius:6px;background:linear-gradient(180deg,var(--p1),var(--p2));box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 2px 6px var(--sh2)}
.bar{height:6px;border-radius:3px;background:var(--track);box-shadow:0 1px 1px rgba(0,0,0,.06) inset}
.bar i{background:linear-gradient(180deg,var(--p1),var(--p2))}
.bar.ok i,.big.ok i{background:linear-gradient(180deg,#4cc27a,#2f9a5c)}
.dot.run{background:var(--run)}.s-run{color:var(--run-t)}
.tab{color:var(--ink2)}
.tab.on{background:linear-gradient(180deg,#fff,var(--card2));border:1px solid var(--cardline);color:var(--acc-d);
 box-shadow:0 1px 0 #fff inset,0 2px 4px var(--sh1),0 8px 18px var(--sh1);position:relative}
.tab.on::after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--a1),var(--a2))}
.seg{background:var(--track);box-shadow:0 1px 3px rgba(0,0,0,.08) inset}
.seg .on{background:linear-gradient(180deg,var(--a1),var(--a2));color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.45) inset,0 3px 8px var(--sh2)}
.sw{background:linear-gradient(180deg,var(--a1),var(--a2));box-shadow:0 1px 2px rgba(0,0,0,.15) inset}
.sw::after{box-shadow:0 1px 3px rgba(0,0,0,.25)}
.sw.off{background:#d9dde4}
.ck{background:#fff;box-shadow:0 1px 2px var(--sh1)}
.ck.on{background:linear-gradient(160deg,var(--a1),var(--a2));border-color:var(--a3)}
.v.on{background:var(--tint);border-color:var(--tintline);box-shadow:0 1px 0 #fff inset,0 2px 6px var(--sh1)}
.pbtn{background:linear-gradient(160deg,var(--a1),var(--a2));box-shadow:0 1px 0 rgba(255,255,255,.45) inset,0 3px 8px var(--sh2)}
.play{background:var(--tint);border:1px solid var(--tintline);box-shadow:0 1px 2px rgba(0,0,0,.04) inset}
.ed.chg{border-bottom-color:var(--acc)}
.alert{background:linear-gradient(180deg,#fffaf0,#fff2d9);border-color:#f5d999;color:#7a5200;box-shadow:0 1px 0 #fff inset,0 4px 12px rgba(214,150,20,.12)}
.foot{background:rgba(255,255,255,.92);box-shadow:0 -6px 20px var(--sh1)}
.stp span.b{background:linear-gradient(180deg,#fff,var(--b2));box-shadow:0 1px 0 #fff inset,0 1px 3px var(--sh1)}
.link{color:var(--acc-d);text-decoration-color:var(--tintline)}
.cov{box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 4px 10px var(--sh1),0 14px 28px -8px var(--sh2)!important}
.vc:nth-child(5n+1) .cov{background:linear-gradient(165deg,var(--c1a),var(--c1b))!important}
.vc:nth-child(5n+2) .cov{background:linear-gradient(165deg,var(--c2a),var(--c2b))!important}
.vc:nth-child(5n+3) .cov{background:linear-gradient(165deg,var(--c3a),var(--c3b))!important}
.vc:nth-child(5n+4) .cov{background:linear-gradient(165deg,var(--c4a),var(--c4b))!important}
.vc:nth-child(5n+5) .cov{background:linear-gradient(165deg,var(--c5a),var(--c5b))!important}
.pop{border:1px solid var(--cardline)}
.meta b{color:var(--ink)}
.s-ok{color:#23874b}.s-bad{color:#d1342b}

/* ===== web v1 extras ===== */
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
.btn{cursor:pointer;user-select:none;transition:transform .08s,box-shadow .12s}
.btn:hover{filter:brightness(1.03);transform:translateY(-1px)}
.btn:active{transform:translateY(1px)}
.btn[disabled],.btn.dis{opacity:.5;pointer-events:none}
.link{cursor:pointer}
.st{cursor:pointer}
a.st:hover{color:var(--acc-d)}
.me span{cursor:pointer}.me span:hover{color:var(--acc-d)}
.alert.okbar{background:linear-gradient(180deg,#f3fbf6,#e6f5ec);border-color:#bfe3cc;color:#1f6a40;box-shadow:0 1px 0 #fff inset}
.alert.okbar .dot{background:var(--ok)}
.alert .btn{cursor:pointer}
.alert .why{color:#8a6a2a;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:560px}
.note-line{display:flex;gap:32px;margin-top:24px;font-size:13px;color:var(--mute);align-items:center;flex-wrap:wrap}
.note-line .link{margin-left:auto}
.store{font-size:12px;color:var(--mute)}

/* login */
.lg-wrap{min-height:100vh;display:grid;place-items:center;padding:40px 0}
.lg-box{width:420px;padding:40px}
.lg-box label{display:block;font-size:13px;color:var(--ink2);margin:24px 0 8px}
.lg-box input{width:100%;height:48px;border:1px solid var(--cardline);border-radius:10px;padding:0 16px;font-size:14px;background:#fbfaff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.05) inset;font-family:inherit;outline:none}
.lg-box input:focus{border-color:var(--a1);box-shadow:0 0 0 3px rgba(106,92,255,.15)}
.tagfix{position:fixed;left:40px;top:24px}

/* upload */
.ugrid{display:grid;grid-template-columns:320px 1fr;gap:24px;margin-top:32px;align-items:start}
.side{padding:24px}.h3{font-size:15px;font-weight:600}
.file{margin-top:16px;padding:16px;border-radius:12px;background:var(--tint);border:1px solid var(--tintline)}
.drop{margin-top:16px;border:1.5px dashed var(--tintline);background:var(--tint);border-radius:12px;padding:32px 16px;text-align:center;color:var(--ink2);cursor:pointer;transition:.12s}
.drop:hover{border-color:var(--acc);background:#ece9ff}
.rows .r{display:grid;grid-template-columns:1fr 176px 150px 168px;gap:24px;align-items:center;padding:24px 32px;border-top:1px solid var(--line)}
.rows .r:first-child{border-top:0}
.rows .n{font-size:12px;color:var(--mute);margin-bottom:4px}
.nm{font-size:16px;font-weight:600;white-space:nowrap}.en{font-size:13px;color:var(--mute);margin-top:2px;white-space:nowrap}
.cnt{font-size:14px;color:var(--ink2)}.cnt b{color:var(--ink);font-size:16px;font-weight:600}
.stt{font-size:13px;margin-bottom:8px;white-space:nowrap}
select.sel{width:100%;height:40px;border:1px solid var(--bline);border-radius:10px;padding:0 28px 0 12px;font-size:13px;color:var(--ink);font-family:inherit;appearance:none;-webkit-appearance:none;cursor:pointer;
 background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236a5cff' fill='none' stroke-width='1.6'/%3E%3C/svg%3E"),linear-gradient(180deg,#fff,#f4f2fe);background-repeat:no-repeat,no-repeat;background-position:right 12px center,0 0;
 background-blend-mode:normal;box-shadow:0 1px 0 #fff inset,0 -2px 0 var(--bin) inset,0 1px 2px var(--sh1)}
.detail{margin-top:16px;padding:8px 32px 24px;display:none}
.detail.open{display:block}
.detail .row{display:grid;grid-template-columns:200px 1fr 240px;gap:24px;align-items:center;padding:10px 0;font-size:13px;border-top:1px solid var(--line)}
.detail .row:first-of-type{border-top:0}
.detail .hd{padding:16px 0 4px;font-size:13px;color:var(--mute)}
.detail .sp{color:var(--mute);text-align:right}

/* drawer / modal / toast */
.mask{position:fixed;inset:0;background:rgba(32,28,70,.30);z-index:50;animation:fi .15s}
.drawer{position:fixed;top:0;right:0;bottom:0;width:480px;background:#fff;box-shadow:-8px 0 32px rgba(40,30,110,.16);padding:40px 32px;z-index:51;overflow:auto;animation:si .18s}
.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:520px;max-height:88vh;overflow:auto;background:#fff;border-radius:18px;padding:32px;z-index:51;box-shadow:0 24px 70px rgba(40,30,110,.25),0 1px 0 #fff inset;animation:fi .15s}
@keyframes fi{from{opacity:0}to{opacity:1}}@keyframes si{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.toastbox{position:fixed;left:50%;bottom:104px;transform:translateX(-50%);z-index:80;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{background:rgba(35,30,80,.92);color:#fff;padding:12px 20px;border-radius:12px;font-size:14px;box-shadow:0 8px 24px rgba(30,20,90,.3);animation:fi .15s}
.pb{padding:24px 0;border-top:1px solid var(--line)}
.pb .q{font-size:15px;line-height:1.7}.pb .q b{font-weight:600}
.pb .a{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.pb.done .q{color:var(--mute)}.pb.done .okmsg{color:var(--ok);font-size:14px;margin-top:12px}
.m-title{font-size:20px;font-weight:600}.m-sub{font-size:13px;color:var(--mute);margin:8px 0 24px;line-height:1.7}
.fld{margin-top:24px}.fld label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.fld input{width:100%;height:44px;border:1px solid var(--cardline);border-radius:10px;padding:0 14px;font-size:14px;background:#fbfaff;box-shadow:0 1px 3px rgba(0,0,0,.05) inset;font-family:inherit;outline:none;color:var(--ink)}
.fld input:focus{border-color:var(--a1);box-shadow:0 0 0 3px rgba(106,92,255,.15)}
.fld .help{font-size:12.5px;color:var(--mute);margin-top:8px;line-height:1.7}
.sbox{margin-top:24px;padding:16px;border-radius:12px;background:var(--tint);border:1px solid var(--tintline);font-size:13px;line-height:1.9;color:var(--ink2)}
.mfoot{display:flex;justify-content:flex-end;gap:12px;margin-top:32px}
.vplay{width:240px;aspect-ratio:9/16;margin:0 auto;border-radius:16px;background:linear-gradient(165deg,#a99be8,#5b4fa8);position:relative;display:grid;place-items:center;box-shadow:0 12px 30px var(--sh2)}
.vplay .pc{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;font-size:20px;color:var(--acc-d)}
.vplay .wm{position:absolute;left:12px;bottom:10px;font-size:11px;color:rgba(255,255,255,.7)}
.hrow{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid var(--line);font-size:14px}

/* voice page */
.tabs{margin-top:32px;flex-wrap:wrap}
.tab{cursor:pointer}
.cols{display:grid;grid-template-columns:1fr 360px;gap:24px;margin-top:24px;align-items:start}
.tbl .h,.tbl .r{display:grid;grid-template-columns:32px .9fr 1.25fr 40px;gap:24px;align-items:center;padding:16px 32px}
.tbl .h{font-size:12px;color:var(--mute);padding-top:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.tbl .r{border-bottom:1px solid #f1efea}
.tbl .no{color:var(--mute);font-size:13px}
.ed{border-bottom:1px dashed #cfcac1;padding:4px 0;font-size:14.5px;outline:none;min-height:30px}
.ed:focus{border-bottom:1.5px solid var(--acc);background:var(--tint)}
.ed.chg{border-bottom:1.5px solid var(--run)}
.pan{padding:24px}
.ph{font-size:15px;font-weight:600;margin-bottom:16px;display:flex;justify-content:space-between;align-items:baseline}
.v{display:flex;align-items:center;gap:12px;height:48px;padding:0 12px;border-radius:10px;border:1px solid transparent;cursor:pointer}
.v .nm{font-weight:600;width:64px;font-size:14px}.v .d{flex:1;font-size:13px;color:var(--mute)}
.v .link{font-weight:500}
.ck{width:18px;height:18px;border-radius:5px;border:1.5px solid #cfcac1;display:grid;place-items:center;font-size:11px;color:#fff;flex:none}
.play{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;margin-top:16px}
.pbtn{width:32px;height:32px;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:11px;flex:none;cursor:pointer}
.divl{height:1px;background:var(--line);margin:24px -24px}
.stp{display:inline-flex;align-items:center;gap:12px;font-size:13px}
.stp .b{width:28px;height:28px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:var(--ink2);cursor:pointer;user-select:none}
.stp b{min-width:16px;text-align:center}
.seg span{cursor:pointer}
.sw{cursor:pointer}

/* cut page */
.clist{margin-top:32px}
.clist .r{display:grid;grid-template-columns:72px 1fr 300px 150px 120px;gap:24px;align-items:center;padding:24px 32px;border-top:1px solid var(--line)}
.clist .r:first-child{border-top:0}
.clist .idx{font-size:13px;color:var(--mute)}.clist .sub{font-size:13px;color:var(--mute);margin-top:2px}
.chips{grid-column:1/-1;display:none;grid-template-columns:repeat(10,1fr);gap:8px;margin-top:-8px}
.chips.open{display:grid}
.chip{border:1px solid var(--line);border-radius:8px;padding:6px 0;text-align:center;font-size:12px;color:var(--mute);background:#fbfaff}
.chip b{display:block;font-size:13px;color:var(--ink2)}
.chip.d{background:var(--okbg);border-color:#bfe3cc;color:var(--ok)}.chip.d b{color:var(--ok)}
.chip.c{background:var(--runbg);border-color:#efdcb6;color:var(--run-t)}.chip.c b{color:var(--run-t)}
.chip.x{background:var(--badbg);border-color:#f0c4be;color:var(--bad)}.chip.x b{color:var(--bad)}

/* wall */
.wbar{display:flex;justify-content:space-between;align-items:flex-end;margin-top:32px;gap:24px}
.wbar .tabs{margin-top:0}
.wall{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin-top:24px}
.vc{position:relative}
.vc:hover{z-index:6}
.cov{aspect-ratio:9/16;border-radius:14px;position:relative;overflow:hidden;cursor:pointer;transition:transform .12s}
.cov .tm{position:absolute;right:12px;top:12px;font-size:12px;color:#fff;background:rgba(0,0,0,.35);padding:0 8px;border-radius:8px;line-height:22px}
.cov .wm{position:absolute;left:12px;bottom:10px;font-size:11px;color:rgba(255,255,255,.65)}
.cov.wait{filter:saturate(.5) brightness(1.1);opacity:.75}
.cov .gen{position:absolute;inset:0;background:rgba(40,30,100,.4);display:grid;place-items:center;color:#fff;font-size:13px;text-align:center;line-height:1.7}
.meta{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:14px}
.meta b{font-size:16px;font-weight:600}
.ov{position:absolute;inset:0;background:rgba(32,28,80,.35);display:grid;place-items:center;opacity:0;transition:.12s}
.ov .pl{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;font-size:16px;color:var(--acc-d)}
.vc:hover .ov,.vc.pin .ov{opacity:1}
.vc:hover .cov,.vc.pin .cov{outline:3px solid var(--acc);outline-offset:3px}
.pop{display:none;position:absolute;left:calc(100% + 16px);top:40px;width:288px;background:#fff;border-radius:14px;box-shadow:0 12px 40px rgba(40,30,110,.22),0 1px 3px rgba(0,0,0,.08);padding:20px;z-index:5}
.pop::before{content:"";position:absolute;left:-7px;top:28px;width:14px;height:14px;background:#fff;transform:rotate(45deg);box-shadow:-2px 2px 3px rgba(0,0,0,.04)}
.pop::after{content:"";position:absolute;left:-20px;top:0;width:20px;height:100%}
.vc:nth-child(5n+4) .pop,.vc:nth-child(5n) .pop{left:auto;right:calc(100% + 16px)}
.vc:nth-child(5n+4) .pop::before,.vc:nth-child(5n) .pop::before{left:auto;right:-7px;transform:rotate(225deg)}
.vc:nth-child(5n+4) .pop::after,.vc:nth-child(5n) .pop::after{left:auto;right:-20px}
.vc:hover .pop,.vc.pin .pop{display:block}
.pop .t{display:flex;justify-content:space-between;font-size:15px;font-weight:600}
.pop .hint{font-size:13.5px;line-height:1.7;margin-top:12px;color:var(--ink2)}
.pop .row{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:12px 0;margin-top:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pop .acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.pop .btn{height:36px;font-size:13px;padding:0 8px}
.pop .full{grid-column:span 2}

/* ===== 逐句换镜头 ===== */
.drawer.wide{width:min(920px,92vw);padding:32px 28px 120px}
.sx-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}
.sx-head h2{font-size:20px;font-weight:600}
.sx-row{display:grid;grid-template-columns:240px 148px 1fr;gap:16px;align-items:start;padding:16px 0;border-top:1px solid var(--line)}
.sx-row:first-of-type{border-top:0}
.sx-row.bad{background:linear-gradient(90deg,#fff7f6,transparent);margin:0 -12px;padding:16px 12px;border-radius:12px;border:1px solid #f0c4be}
.sx-row .zh{font-size:14px;font-weight:600;line-height:1.5}
.sx-row .en{font-size:12.5px;color:var(--mute);margin-top:4px;line-height:1.5}
.sx-row .lab{font-size:11px;color:var(--mute);margin-bottom:6px}
.shot{width:132px;aspect-ratio:9/16;border-radius:10px;position:relative;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 4px 12px var(--sh1);border:2px solid transparent;cursor:pointer}
.shot .tm{position:absolute;left:6px;right:6px;bottom:6px;font-size:11px;color:#fff;background:rgba(0,0,0,.4);border-radius:6px;padding:2px 6px;text-align:center;line-height:1.3}
.shot .tag{position:absolute;left:6px;top:6px;font-size:10px;background:rgba(255,255,255,.92);color:var(--acc-d);padding:0 6px;border-radius:6px;line-height:18px;font-weight:600}
.shot.on{border-color:var(--acc);box-shadow:0 0 0 3px rgba(106,92,255,.22),0 4px 12px var(--sh2)}
.shot.empty{display:grid;place-items:center;background:var(--soft);color:var(--mute);font-size:12px;border:1.5px dashed var(--tintline);box-shadow:none;cursor:default}
.alts{display:flex;gap:10px;flex-wrap:wrap}
.sx-foot{position:sticky;bottom:0;margin:24px -28px -32px;padding:16px 28px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 -6px 20px var(--sh1)}
.sx-prog{flex:1;max-width:360px}
.sx-prog .bar{height:8px;margin-top:6px}
.fold{margin-top:16px;border:1px solid var(--tintline);background:var(--tint);border-radius:12px;overflow:hidden}
.fold > summary{list-style:none;cursor:pointer;padding:12px 16px;font-size:13px;color:var(--ink2);display:flex;justify-content:space-between;align-items:center}
.fold > summary::-webkit-details-marker{display:none}
.fold > summary::after{content:"展开 ▾";font-size:12px;color:var(--acc-d)}
.fold[open] > summary::after{content:"收起 ▴"}
.fold .body{padding:0 16px 14px;font-size:13px;color:var(--ink2);line-height:1.85}
