:root{--bg: #f7f8fa;--panel: #ffffff;--line: #e6e8ec;--text: #1f2329;--sub: #6b7280;--accent: #2f6df0;--accent-soft: #eaf1ff;--danger: #c0392b;font-family:-apple-system,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.app{max-width:1040px;margin:0 auto;padding:28px 20px 64px}h1{font-size:22px;margin:0 0 4px}.sub{color:var(--sub);font-size:13px;margin-bottom:22px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 860px){.grid{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px}.card h2{font-size:15px;margin:0 0 14px;display:flex;align-items:center;gap:8px}.card h2 .n{width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:12px;display:inline-flex;align-items:center;justify-content:center}label{display:block;font-size:13px;color:var(--sub);margin:12px 0 6px}input[type=text],input[type=number]{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-size:14px;outline:none}input[type=text]:focus,input[type=number]:focus{border-color:var(--accent)}.row{display:flex;gap:10px}.row>div{flex:1}.drop{border:1.5px dashed var(--line);border-radius:10px;padding:22px;text-align:center;color:var(--sub);font-size:13px;cursor:pointer;transition:.15s}.drop:hover{border-color:var(--accent);color:var(--accent)}.drop.has{border-color:var(--accent);color:var(--text)}button.primary{width:100%;margin-top:18px;padding:12px;border:none;border-radius:9px;background:var(--accent);color:#fff;font-size:15px;cursor:pointer}button.primary:disabled{background:#b9c4d6;cursor:not-allowed}.preview{position:relative;width:100%;aspect-ratio:9 / 16;background:#111;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}.preview video{width:100%;height:100%;object-fit:contain}.ov{position:absolute;left:0;right:0;text-align:center;pointer-events:none;font-family:"Noto Serif SC",Songti SC,serif;color:#f5f0e8}.ov-title{top:22%;font-size:clamp(40px,11vw,90px);letter-spacing:6px;text-shadow:4px 4px 10px rgba(58,50,40,.55)}.ov-author{top:38%;font-size:clamp(14px,3.4vw,28px);text-shadow:3px 3px 7px rgba(58,50,40,.5)}.status{margin-top:12px;font-size:13px;color:var(--sub);min-height:18px}.status.err{color:var(--danger)}.bar{height:6px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:8px}.bar>i{display:block;height:100%;background:var(--accent);width:0%;transition:.2s}a.dl{display:inline-block;margin-top:12px;color:var(--accent);font-size:14px}.note{margin-top:22px;font-size:12px;color:var(--sub);line-height:1.7}.note code{background:#eef1f5;padding:1px 5px;border-radius:4px}.wrap{max-width:1040px;margin:0 auto;padding:0 20px 64px}.tabs{display:flex;gap:8px;padding:16px 0 4px;position:sticky;top:0;background:var(--bg);z-index:5}.tabs button{padding:9px 18px;border:1px solid var(--line);background:var(--panel);border-radius:999px;font-size:14px;color:var(--sub);cursor:pointer}.tabs button.on{background:var(--accent);border-color:var(--accent);color:#fff}.imglist{list-style:none;margin:10px 0 0;padding:0;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:8px}.imglist li{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line);font-size:13px}.imglist li:last-child{border-bottom:none}.imglist .idx{width:20px;height:20px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex:none}.imglist .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.imglist .acts button{border:1px solid var(--line);background:var(--panel);border-radius:6px;width:26px;height:26px;cursor:pointer;font-size:13px}.imglist .acts button:disabled{opacity:.35;cursor:not-allowed}.imglist .acts button.del{color:var(--danger)}textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:14px;font-family:inherit;line-height:1.6;resize:vertical;outline:none}textarea:focus{border-color:var(--accent)}.mini-drop{margin-top:8px;font-size:12px;color:var(--accent);cursor:pointer;text-align:center;border:1px dashed var(--line);border-radius:8px;padding:8px}label.chk{display:flex;align-items:center;gap:8px;margin:14px 0 4px;color:var(--text);font-size:14px}label.chk input{width:auto}input[type=range]{width:100%}
