*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0e0e0e;--surface: #1a1a1a;--surface-2: #222;--border: #2a2a2a;--accent: #f05a00;--accent-hover: #d44e00;--text: #ebebeb;--text-muted: #777;--success: #22c55e;--error: #ef4444;--radius: 6px;--sidebar-w: 300px;--header-h: 48px}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-header{height:var(--header-h);flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--surface)}.app-title{font-size:16px;font-weight:700;letter-spacing:-.3px;color:var(--accent)}.app-subtitle{font-size:12px;color:var(--text-muted)}.app-version{margin-left:auto;font-size:11px;color:var(--text-muted);opacity:.6;font-family:SF Mono,Fira Code,monospace}.app-main{flex:1;display:flex;min-height:0;overflow:hidden}.video-column{flex:1;min-width:0;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.player-wrapper{width:100%;height:100%}.player-video{width:100%;height:100%;display:block;object-fit:contain}.sidebar{width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;gap:12px;padding:14px;border-left:1px solid var(--border);background:var(--bg);overflow-y:auto}.sidebar-footer{margin-top:auto;padding-top:12px;font-size:11px;color:var(--text-muted);border-top:1px solid var(--border)}.url-bar{display:flex;gap:6px}.url-input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:12px;padding:7px 10px;outline:none;min-width:0;transition:border-color .15s}.url-input:focus{border-color:var(--accent)}.url-input::placeholder{color:var(--text-muted)}.cors-note{font-size:11px;color:var(--text-muted);padding:6px 8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);line-height:1.4}.controls{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:10px}.mark-section{display:flex;flex-direction:column;gap:5px}.mark-row{display:flex;align-items:center;gap:8px}.mark-time{display:flex;align-items:center;gap:6px;min-width:0}.mark-label{font-size:10px;font-weight:700;letter-spacing:.05em;color:var(--accent);width:26px;flex-shrink:0}.mark-value{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:var(--text)}.mark-placeholder{color:var(--text-muted)}.mark-time-btn{background:none;border:1px solid transparent;border-radius:3px;color:var(--text);font-family:SF Mono,Fira Code,monospace;font-size:12px;padding:1px 4px;cursor:pointer;transition:border-color .15s,color .15s}.mark-time-btn:hover{border-color:var(--accent);color:var(--accent)}.adjust-row{display:flex;gap:4px;padding-left:88px}.btn-adjust{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:3px;color:var(--text-muted);font-size:10px;padding:3px 0;cursor:pointer;transition:background .12s,color .12s,border-color .12s;text-align:center}.btn-adjust:hover{background:var(--border);color:var(--text);border-color:var(--accent)}.clip-duration-hint{font-size:11px;color:var(--text-muted);padding-left:2px}.clip-duration-hint strong{color:var(--text);font-family:SF Mono,Fira Code,monospace}.btn-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:15px;line-height:1;padding:0 2px;border-radius:3px;transition:color .15s}.btn-clear:hover{color:var(--error)}.clip-duration{font-size:12px;color:var(--text-muted)}.clip-duration strong{color:var(--text);font-family:SF Mono,Fira Code,monospace}.mark-error{font-size:11px;color:var(--error)}.mark-warning{font-size:11px;color:#f59e0b}.btn{border:none;border-radius:var(--radius);cursor:pointer;font-size:12px;font-weight:600;padding:7px 14px;transition:background .15s,opacity .15s;white-space:nowrap}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-mark{background:var(--surface-2);color:var(--text);border:1px solid var(--border);min-width:80px;font-size:12px}.btn-mark:hover:not(:disabled){background:var(--border)}.btn-export{flex:1;background:var(--accent);color:#fff;padding:9px 16px;font-size:13px}.btn-export:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}.export-row{display:flex;gap:8px}.status-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-size:12px}.status-exporting,.status-loading-ffmpeg{border-color:var(--accent)}.status-done{border-color:var(--success)}.status-error{border-color:var(--error)}.status-stage{color:var(--text-muted);margin-bottom:7px}.progress-track{height:3px;background:var(--border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.status-done{color:var(--success);font-weight:600}.status-error{color:var(--error)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);text-align:center;padding:40px}.empty-icon{font-size:40px;opacity:.15}.empty-hint{font-size:11px;margin-top:4px}.empty-hint code{background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:2px 5px;font-family:SF Mono,Fira Code,monospace;font-size:10px;word-break:break-all}.add-clip-row{display:flex;gap:6px;padding-top:4px;border-top:1px solid var(--border)}.clip-name-input{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:12px;padding:6px 8px;outline:none;min-width:0;transition:border-color .15s}.clip-name-input:focus{border-color:var(--accent)}.clip-name-input::placeholder{color:var(--text-muted)}.clip-list{display:flex;flex-direction:column;gap:8px}.clip-list-header{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding-bottom:2px;border-bottom:1px solid var(--border)}.clip-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s}.clip-item--exporting,.clip-item--loading-ffmpeg{border-color:var(--accent)}.clip-item--done{border-color:#2a4a2a}.clip-item--error{border-color:#4a2a2a}.clip-item-top{display:flex;align-items:center;gap:6px}.clip-name{flex:1;background:none;border:none;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;text-align:left;padding:0;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s}.clip-name:hover{color:var(--accent)}.clip-name-edit{flex:1;background:var(--surface-2);border:1px solid var(--accent);border-radius:3px;color:var(--text);font-size:13px;font-weight:600;padding:2px 6px;outline:none;min-width:0}.clip-times{font-family:SF Mono,Fira Code,monospace;font-size:10px;color:var(--text-muted)}.clip-duration{opacity:.7}.btn-export-clip{background:var(--surface-2);color:var(--text);border:1px solid var(--border);padding:5px 10px;font-size:11px;border-radius:var(--radius);width:100%;transition:background .15s,border-color .15s}.btn-export-clip:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.btn-export-clip:disabled{opacity:.4;cursor:not-allowed}.btn-export-done{border-color:#2a4a2a;color:var(--success)}.btn-export-done:hover:not(:disabled){background:#22c55e22;border-color:var(--success);color:var(--success)}.clip-progress{display:flex;align-items:center;gap:8px}.clip-progress .progress-track{flex:1}.clip-progress-pct{font-size:10px;color:var(--text-muted);width:28px;text-align:right;flex-shrink:0}.clip-error{font-size:10px;color:var(--error);line-height:1.4}kbd{background:var(--surface-2);border:1px solid var(--border);border-radius:3px;padding:1px 4px;font-family:inherit;font-size:11px}code{font-family:SF Mono,Fira Code,monospace}
