:root{--bg:#0b0b14;--bg2:#0e0e1a;--card:#15152a;--card2:#1c1c36;--bd:#272745;--bd2:#34345a;--ink:#ececf6;--mut:#9a9ac4;--dim:#6b6b90;--acc:#e94560;--acc2:#ff6b81;--ok:#4ade80;--okbg:#15281d;--warn:#fbbf24;--blue:#5b8cff;--bluebg:#16203c;--pend:#2a2a48;--r:14px;--r2:10px;--r3:8px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 50% -200px,#1a1633 0,var(--bg) 55%);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--acc);text-decoration:none}::selection{background:rgba(233,69,96,.35)}.app{max-width:1000px;margin:0 auto;padding:0 18px 60px}.header{position:-webkit-sticky;position:sticky;top:0;z-index:20;gap:12px;padding:16px 4px;margin-bottom:8px;background:linear-gradient(180deg,var(--bg) 60%,transparent)}.brand,.header{display:flex;align-items:center}.brand{font-size:19px;font-weight:750;letter-spacing:.2px;gap:9px}.brand .logo{font-size:22px;filter:drop-shadow(0 0 10px rgba(233,69,96,.5))}.live{margin-left:auto;display:flex;align-items:center;gap:7px;color:var(--mut);font-size:12px;background:var(--card);border:1px solid var(--bd);padding:6px 11px;border-radius:20px}.dot{width:7px;height:7px;border-radius:50%;background:var(--ok);animation:pulse 1.8s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.5)}70%{box-shadow:0 0 0 6px rgba(74,222,128,0)}to{box-shadow:0 0 0 0 rgba(74,222,128,0)}}.card{background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--bd);border-radius:var(--r);padding:20px;margin-bottom:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 12px 30px -18px rgba(0,0,0,.7)}.card-h{display:flex;align-items:center;gap:10px;margin:0 0 16px}.card-h h2{font-size:13px;font-weight:650;letter-spacing:.6px;text-transform:uppercase;color:var(--mut);margin:0}.card-h .ic{font-size:16px}.card-h .count{margin-left:auto;font-size:12px;color:var(--dim)}.row{flex-wrap:wrap;gap:12px;align-items:flex-end}.field,.row{display:flex}.field{flex-direction:column;gap:6px}.field.grow{flex:1 1;min-width:220px}.label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--dim)}.input,.select,.textarea{background:var(--bg2);border:1px solid var(--bd);color:var(--ink);border-radius:var(--r2);padding:10px 12px;font:inherit;outline:none;transition:border .15s,box-shadow .15s;width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(233,69,96,.15)}.textarea{min-height:64px;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);background-position:calc(100% - 16px) 16px,calc(100% - 11px) 16px;background-size:5px 5px;background-repeat:no-repeat;padding-right:30px}.btn,.select{cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--bd2);background:var(--card2);color:var(--ink);border-radius:var(--r2);padding:10px 16px;font:inherit;font-weight:600;transition:transform .08s,background .15s,border .15s,opacity .15s;white-space:nowrap}.btn:hover{background:#23233f;border-color:#41416e}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn-primary{background:linear-gradient(180deg,var(--acc),#d3344f);border-color:transparent;color:#fff;box-shadow:0 6px 18px -6px rgba(233,69,96,.6)}.btn-primary:hover{background:linear-gradient(180deg,var(--acc2),var(--acc))}.btn-sm{padding:6px 11px;font-size:12px;border-radius:var(--r3)}.btn-block{width:100%}.btn-ghost{background:transparent}.filebtn{position:relative;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px dashed var(--bd2);background:var(--bg2);color:var(--mut);border-radius:var(--r2);padding:10px 14px;font-weight:600;transition:border .15s,color .15s}.filebtn:hover{border-color:var(--acc);color:var(--ink)}.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer}.filebtn.has{border-style:solid;border-color:#2e5e44;color:var(--ok)}.bar{height:7px;background:var(--pend);overflow:hidden}.bar,.bar>span{border-radius:20px}.bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--acc),var(--acc2));transition:width .25s}.bar.run>span{background:linear-gradient(90deg,var(--blue),#8fb0ff);background-size:200% 100%;animation:flow 1.2s linear infinite}@keyframes flow{0%{background-position:0 0}to{background-position:200% 0}}.steps{display:flex;gap:7px;margin-top:14px;flex-wrap:wrap}.step{flex:1 1;min-width:78px;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r3);padding:10px 8px;text-align:center;position:relative;transition:all .2s}.step .ic{font-size:14px;height:18px;line-height:18px}.step .nm{font-size:10.5px;color:var(--dim);margin-top:3px}.step .et{font-size:9px;color:var(--dim);margin-top:1px}.step.done{background:var(--okbg);border-color:#2e5e44}.step.done .ic,.step.done .nm{color:var(--ok)}.step.active{background:var(--bluebg);border-color:#33558e}.step.active .nm{color:#bcd0ff}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;background:var(--card2);border:1px solid var(--bd);color:var(--mut)}.badge.ok{background:var(--okbg);border-color:#2e5e44;color:var(--ok)}.badge.run{background:var(--bluebg);border-color:#33558e;color:#bcd0ff}.badge.err{background:#3a1620;border-color:#5e2e3a;color:#ffb4c0}.spin{width:13px;height:13px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite;display:inline-block}.spin.dark{border-color:rgba(120,140,200,.3);border-top-color:var(--blue)}@keyframes sp{to{transform:rotate(1turn)}}.grid{display:grid;grid-gap:12px;gap:12px}.grid.chars{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.grid.voices{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.tile{background:var(--card2);border:1px solid var(--bd);border-radius:var(--r2);overflow:hidden;transition:border .15s,transform .1s}.tile:hover{border-color:var(--bd2)}.tile.sel{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset}.hint{color:var(--mut);font-size:12.5px}.muted{color:var(--dim)}.status{margin-top:12px;font-size:13px;color:var(--mut);display:flex;align-items:center;gap:8px;min-height:18px}.divider{height:1px;background:var(--bd);margin:16px 0}.seg{display:inline-flex;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r2);padding:3px;gap:3px}.seg button{border:none;background:transparent;color:var(--mut);padding:6px 12px;border-radius:7px;cursor:pointer;font:inherit;font-size:13px;font-weight:600}.seg button.on{background:var(--acc);color:#fff}.check{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--mut);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.check input{accent-color:var(--acc);width:16px;height:16px}video.player{width:100%;max-width:340px;border-radius:var(--r2);background:#000;display:block}.compare{display:flex;gap:14px;margin-top:14px;flex-wrap:wrap;align-items:flex-start}.cmp-col{flex:1 1 220px;display:flex;flex-direction:column;gap:8px;min-width:200px}.cmp-col video{width:100%;max-width:100%;border-radius:var(--r2);background:#000;display:block;max-height:520px}.cmp-label{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:650;letter-spacing:.4px;text-transform:uppercase;color:var(--dim)}.cmp-label.after{color:var(--ok)}.cmp-arrow{align-self:center;color:var(--dim);font-size:20px;padding-top:30px}@media(max-width:560px){.cmp-arrow{display:none}}.empty{text-align:center;color:var(--dim);padding:36px 0}