:root{--bg: #0f1216;--panel: #171c23;--panel2: #1e252e;--line: #2a333f;--text: #e6edf3;--muted: #8b98a5;--accent: #3b82f6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{display:flex;flex-direction:column;height:100vh}header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--panel);border-bottom:1px solid var(--line)}header h1{font-size:16px;margin:0;letter-spacing:.5px;font-weight:600}header h1 .pc-accent{color:var(--accent)}header .episode{background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:6px 10px;border-radius:6px;max-width:320px;font-family:ui-monospace,monospace}header .edit-select{max-width:180px}.brand{display:flex;align-items:center;gap:10px}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#080a0deb;display:flex;align-items:center;justify-content:center}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:28px 30px;width:min(92vw,360px);display:flex;flex-direction:column;gap:12px}.login-card .brand{justify-content:center;margin-bottom:4px}.login-card p{margin:0;color:var(--muted);text-align:center}.login-card input{background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:9px 12px;border-radius:7px;font-size:15px}.login-card .primary{padding:9px 12px;font-size:15px}.login-err{color:#ff6b6e;text-align:center;font-size:13px}.ep-card{width:min(94vw,460px)}.ep-title{margin:0;font-size:17px}.ep-slot{display:flex;align-items:center;gap:8px}.ep-slot .ep-label{width:90px;flex:none;font-size:12px;color:var(--muted)}.ep-slot input[type=file]{flex:1;font-size:12px;color:var(--text)}.ep-slot .ep-pct{width:42px;text-align:right;font-family:ui-monospace,monospace;font-size:12px;color:var(--accent)}.ep-hint{margin:0;font-size:11px;color:var(--muted)}.ep-danger{border-color:#7a2f2f;color:#f0a0a0;margin-top:6px}.ep-danger:hover:not(:disabled){border-color:#ff6b6e}.brand .logo{display:block;width:auto}.brand svg.logo{height:32px}.brand img.logo{height:42px;background:#fff;border-radius:7px;padding:4px 10px;box-sizing:border-box}header input{background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:6px 10px;border-radius:6px;width:260px;font-family:ui-monospace,monospace}.grow{flex:1}button{background:var(--panel2);color:var(--text);border:1px solid var(--line);padding:6px 12px;border-radius:6px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.stage{display:flex;justify-content:center;align-items:stretch;background:#000;height:min(46vh,460px);flex:none}.stage-resizer{height:8px;flex:none;cursor:row-resize;background:var(--panel);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center}.stage-resizer span{width:44px;height:3px;border-radius:2px;background:var(--line)}.stage-resizer:hover span,.stage-resizer:active span{background:var(--accent)}.videos{position:relative;height:100%;aspect-ratio:16 / 9;max-width:calc(100vw - 440px);background:#000;flex:none}.transcript-panel{width:420px;max-width:45vw;min-height:0;display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--line)}.tp-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line)}.tp-head .t-label{font-size:10px;letter-spacing:1px;color:var(--muted);font-weight:700}.tp-head .lang{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 5px;text-transform:uppercase}.tp-head button{padding:3px 8px;font-size:12px}.tp-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);padding:20px;text-align:center;font-size:13px}.tp-body{flex:1;min-height:0;overflow-y:auto;padding:10px 14px;-webkit-user-select:none;user-select:none;font-size:13.5px;line-height:1.8}.turn{margin-bottom:12px}.turn .spk{font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:1px}.turn .spk .tc2{color:var(--muted);font-weight:400;letter-spacing:0;margin-left:6px;font-family:ui-monospace,monospace}.tw{padding:1px;border-radius:3px;cursor:pointer}.tw:hover{background:#3b82f64d}.tw.active{background:var(--accent);color:#fff}.tw.cutw{opacity:.35;text-decoration:line-through}.tw.sel{background:#ff5a5a59}.tw.filler{text-decoration:underline dotted rgba(224,179,58,.9);text-underline-offset:3px}.tp-actions{display:flex;gap:8px;align-items:center;padding:8px 10px;border-top:1px solid var(--line)}.tp-actions .hint{color:var(--muted);font-size:11px}@media (max-width: 980px){.stage{flex-direction:column;height:auto!important}.stage-resizer{display:none}.videos{width:100%;max-width:none;height:auto;aspect-ratio:16 / 9}.transcript-panel{width:100%;max-width:none;height:280px;flex:none;border-left:none;border-top:1px solid var(--line)}}.videos video,.videos audio{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:opacity 80ms}.badge{position:absolute;left:12px;bottom:12px;padding:5px 10px;border-radius:6px;font-weight:700;font-size:13px;letter-spacing:.5px}.transport{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.transport .tc{font-family:ui-monospace,monospace;color:var(--muted)}.transport .sep{color:var(--line)}.transport .out{color:var(--muted)}.transport .zoom{color:var(--muted);font-size:12px}.gfx-panel{background:var(--panel);border-bottom:1px solid var(--line);padding:6px 14px}.gfx-row{display:flex;align-items:center;gap:8px;padding:3px 0;flex-wrap:wrap}.gfx-check{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap;cursor:pointer}.gfx-in{background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:4px 8px;border-radius:5px;font-size:12px;width:130px}.gfx-in.wide{width:260px}.gfx-in.num{width:64px}.gfx-in:disabled{opacity:.4}.gfx-lt{display:flex;align-items:center;gap:4px;padding:2px 6px;border:1px solid var(--line);border-radius:6px}.gfx-lt button{padding:2px 7px;font-size:12px}.gfx-at{color:var(--muted);font-size:12px}.gfx-hint{color:var(--muted);font-size:11px}.timeline-scroll{flex:1;overflow:auto;background:var(--bg)}.timeline{position:relative;min-width:100%;padding:6px 0}.lane{position:relative;height:46px;margin:4px 0;border-bottom:1px solid var(--line)}.lane-label{position:absolute;left:6px;top:4px;z-index:3;font-size:10px;letter-spacing:1px;color:var(--muted);pointer-events:none}.lane.wave canvas{display:block;height:46px}.lane.wave .wave-tiles{position:relative;height:46px}.lane.wave.editable{cursor:crosshair}.lane.wave .mute-band{position:absolute;top:2px;bottom:2px;z-index:4;border-radius:4px;background:repeating-linear-gradient(45deg,#dc323266,#dc323266 6px,#96191966 6px,#96191966 12px);border:1px solid rgba(255,90,90,.75);display:flex;align-items:center;justify-content:center;color:#ffd4d4;font-size:10px;cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden}.lane.wave .mute-band:hover{filter:brightness(1.2)}.lane.wave .mute-sel{position:absolute;top:2px;bottom:2px;z-index:3;pointer-events:none;border-radius:4px;background:#ff5a5a33;border:1px dashed rgba(255,120,120,.9)}.transport .audiolabel{color:var(--muted);font-size:12px}.transport .seg.on{background:var(--accent);border-color:var(--accent);color:#fff}.lane.ruler{height:22px;border-bottom:1px solid var(--line);cursor:text}.ruler .tick{position:absolute;top:0;height:22px;border-left:1px solid var(--line)}.ruler .tick span{font-size:10px;color:var(--muted);margin-left:3px}.lane.wave{cursor:text}.shots .shot{position:absolute;top:4px;height:38px;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;cursor:pointer;border:1px solid rgba(255,255,255,.15);overflow:hidden;-webkit-user-select:none;user-select:none}.shots .shot:hover{filter:brightness(1.12)}.shots .shot.cut{opacity:.28;text-decoration:line-through}.shot-label{pointer-events:none}.cut-btn{position:absolute;top:2px;right:2px;padding:0 5px;height:18px;line-height:16px;font-size:11px;border-radius:4px;background:#00000059;border:none;color:#fff}.cut-btn:hover{background:#0009}.shots .removed-band{position:absolute;top:2px;bottom:2px;z-index:2;pointer-events:none;border-radius:4px;background:repeating-linear-gradient(45deg,#0009,#0009 6px,#00000052 6px,#00000052 12px);border:1px solid rgba(255,90,90,.55)}.shots .boundary-handle{position:absolute;top:18px;bottom:2px;width:10px;z-index:4;cursor:col-resize}.shots .boundary-handle:before{content:"";position:absolute;left:4px;top:0;bottom:0;width:2px;background:#ffffff8c}.shots .boundary-handle:hover:before{background:#fff;width:3px;left:3.5px}.shots .trim-handle{position:absolute;top:2px;bottom:2px;width:10px;z-index:4;cursor:col-resize}.shots .trim-handle:before{content:"";position:absolute;top:0;bottom:0;width:3px;background:#e0b33a}.shots .trim-handle.head:before{left:0;border-radius:2px 0 0 2px}.shots .trim-handle.tail:before{right:0;border-radius:0 2px 2px 0}.shots .trim-handle:hover:before{filter:brightness(1.3);width:4px}.silence .gap{position:absolute;top:8px;height:30px;border-radius:4px;background:repeating-linear-gradient(45deg,#3a3320,#3a3320 6px,#2c2718 6px,#2c2718 12px);border:1px solid #5c4a1e;color:#d9c07a;font-size:11px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none}.silence .gap:hover{filter:brightness(1.2)}.silence .gap.removed{background:repeating-linear-gradient(45deg,#3a1f1f,#3a1f1f 6px,#2c1717 6px,#2c1717 12px);border-color:#7a2f2f;color:#f0a0a0}.playhead{position:absolute;top:0;bottom:0;width:2px;background:#ff4d4f;z-index:5;pointer-events:none}.playhead:before{content:"";position:absolute;top:0;left:-4px;border:5px solid transparent;border-top-color:#ff4d4f}footer{display:flex;align-items:center;gap:16px;padding:8px 14px;background:var(--panel);border-top:1px solid var(--line);font-size:12px}footer .status{color:var(--text);font-family:ui-monospace,monospace}footer .help{color:var(--muted)}footer .result{color:var(--accent);font-weight:600;text-decoration:none}footer .renders-select{margin-left:auto;max-width:340px;background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:4px 8px;border-radius:5px;font-size:12px;font-family:ui-monospace,monospace}
