@font-face{font-family:Inter;src:url(/fonts/Inter-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-subtle:#f5f6f8;--border:#d9dce1;--text:#1a1d21;--text-muted:#6b7280;--accent:#2563eb;--danger:#dc2626;--playhead:#3f4650;--playhead-fill:#ffffffa6;--radius:6px;--control-h:36px;--control-h-sm:28px;--accent-bg:#eff6ff;--bg-hover:#7f7f7f1f;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif}button,input,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:var(--radius);height:var(--control-h);justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:500;transition:background-color .12s ease-out,opacity .12s ease-out;display:inline-flex}button:hover{background:var(--bg-subtle)}button:where(:not(.select-trigger,.cutrange-keyword-select)):active{transition:transform .1s ease-out;transform:scale(.97)}button:focus-visible,.select-trigger:focus-visible,[role=option]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}button:disabled:hover{background:var(--bg)}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover{background:#1e56d6}.btn-sm{height:var(--control-h-sm);border-radius:var(--radius);padding:0 10px;font-size:13px}.app-shell{flex-direction:column;height:100%;display:flex}.file-dropzone-wrap{width:420px;max-width:100%;position:relative}.file-dropzone{color:var(--text-muted);cursor:pointer;background:#ecedf1;border:1.5px dashed #c4c9d1;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px 16px;transition:border-color .12s ease-out,background .12s ease-out;display:flex}.file-dropzone:hover,.file-dropzone:focus-visible{border-color:var(--accent)}.file-dropzone:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.file-dropzone-active{border-color:var(--accent);background:var(--accent-bg)}.file-dropzone-text{flex-direction:column;align-items:center;gap:2px;display:flex}.file-dropzone-title{color:var(--text);font-size:13px;font-weight:500}.file-dropzone-subtitle{color:var(--text-muted);font-size:12px}.file-dropzone-extra{flex-direction:column;align-items:center;gap:4px;margin-top:8px;display:flex;position:absolute;top:100%;left:0;right:0}.error-text{color:var(--danger);font-size:13px}.restore-banner{background:#fff8e1;border:1px solid #f0d78c;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.restore-banner .actions{gap:8px;display:flex}.editor-layout{flex-direction:column;flex:1;min-height:0;display:flex}.video-area{box-sizing:border-box;background:#000;flex:1;justify-content:center;align-items:center;min-height:0;padding:32px;display:flex;position:relative}.video-area video{max-width:100%;max-height:100%}.metadata-loading{color:var(--text-muted);flex:1;justify-content:center;align-items:center;padding:24px;font-size:14px;display:flex}.video-error{color:#fff;background:#000000b3;border-radius:8px;padding:12px 20px;font-size:14px;position:absolute}.transport-stub{min-height:48px}.timeline-stub{min-height:120px}.top-bar{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 16px;display:flex}.top-bar .title{font-size:14px;font-weight:600}.title-editable{cursor:text;border-radius:4px;margin:-2px -4px;padding:2px 4px}.title-editable:hover{background:var(--bg-hover,#7f7f7f1f)}.title-input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;padding:2px 4px;font-family:inherit}.persist-error-banner{color:var(--danger);background:#fdecea;padding:6px 16px;font-size:13px}.language-select{height:28px;color:var(--text-muted);margin-left:auto;padding:0 8px;font-size:12px}.language-select .select-value{color:var(--text)}.language-select-missing{border-color:var(--danger);outline:1px solid var(--danger)}.language-select-shake{animation:.4s ease-in-out shake-x}@keyframes shake-x{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.main-area{flex:1;min-height:0;display:flex}.video-column{border-right:1px solid var(--border);flex-direction:column;flex:55%;min-width:0;max-width:55%;display:flex}.video-column .video-area{flex:1}.subtitle-overlay{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;bottom:24px;left:0;right:0}.subtitle-pill{color:#fff;text-align:center;background:#000000b8;border-radius:6px;max-width:90%;padding:6px 12px;font-size:15px}.transport-bar{border-top:1px solid var(--border);background:var(--bg-subtle);align-items:center;gap:12px;padding:10px 16px;display:flex}.transport-play{background:var(--text);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:14px;display:flex}.transport-play:hover{opacity:.85;background:var(--text)}.transport-time{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:13px}.segment-list-panel{flex-direction:column;flex:45%;min-width:260px;min-height:0;display:flex}.subtitles-dropzone{box-sizing:border-box;flex:45%;justify-content:center;align-items:center;min-width:260px;min-height:0;padding:32px;display:flex}.subtitles-dropzone-scratch{color:var(--text-muted);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;align-self:center;padding:4px;font-size:13px;text-decoration:underline}.subtitles-dropzone-scratch:hover,.subtitles-dropzone-scratch:focus-visible{color:var(--text)}.segment-list-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.segment-list{flex:1;overflow-y:auto}.segment-list-spacer{width:100%;position:relative}.segment-list-item{width:100%;position:absolute;top:0;left:0}.segment-row{cursor:pointer;border-left:3px solid #0000;align-items:center;gap:12px;padding:10px 14px;display:flex;position:relative}.segment-row:hover{background:var(--bg-subtle)}.segment-row.selected{background:var(--accent-bg)}.segment-list.playback-dimmed .segment-row:not(.playing) .segment-row-text,.segment-list.playback-dimmed .segment-row:not(.playing) .segment-row-time{color:#9ca3af;transition:color .2s ease-out}.segment-list.playback-dimmed .segment-row:not(.playing) .char-count{color:#b6bcc6;transition:color .2s ease-out}.segment-list.playback-dimmed .segment-row:not(.playing) .char-count.over{color:#fca5a5}.segment-row-time{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-muted);flex-direction:column;flex:0 0 84px;gap:4px;font-size:12px;display:flex}.segment-time-field{cursor:text;border-bottom:1px solid #0000}.segment-time-input{font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:none;border-bottom:1px solid #0000;border-radius:4px;outline:none;margin:0;padding:0;font-size:12px}.segment-row-body{flex:1;min-width:0;position:relative}.segment-row-text{cursor:text;border-bottom:1px solid #0000;max-width:560px;font-size:17px;line-height:22px}.segment-row-text .placeholder{color:var(--text-muted);font-style:italic}.segment-row-text-warning{border-left:2px solid var(--danger);padding-left:6px}.segment-row-text-overflow{color:var(--danger)}.segment-row-text-line{white-space:pre-wrap;word-break:break-word;height:22px;line-height:22px}.segment-row-text-line-text{display:block}.segment-text-edit-wrap{width:100%;max-width:560px;position:relative}.segment-text-edit-backdrop{pointer-events:none;border-bottom:1px solid #0000;font-size:17px;line-height:22px}.segment-text-edit{width:100%;font:inherit;resize:none;color:#0000;caret-color:var(--text);background:0 0;border:0;border-radius:4px;outline:none;margin:0;padding:0;font-size:17px;line-height:22px;display:block;position:absolute;inset:0}.segment-text-edit::selection{background:var(--accent-bg)}.segment-row-counts{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.char-count{color:var(--text-muted);font-size:11px;line-height:22px;display:block}.char-count.over{color:var(--danger)}.char-count-approx{font-style:italic}.segment-row-delete{color:#9ca3af;opacity:0;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:opacity .12s ease-out,background-color .12s ease-out,color .12s ease-out;display:flex}.segment-row:hover .segment-row-delete,.segment-row-delete:focus-visible{opacity:1}.segment-row-delete:hover{background:var(--bg-hover);color:var(--danger)}.segment-row-delete:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.segment-row-overlay{pointer-events:none;position:absolute;inset:0}.segment-row-divider{background:linear-gradient(to right, transparent 0%, var(--border) 15%, var(--border) 85%, transparent 100%);opacity:1;height:1px;position:absolute;bottom:0;left:0;right:0}.segment-add-seam{height:0;position:relative}.segment-add-seam-hit{justify-content:center;align-items:flex-end;gap:6px;width:84px;height:16px;display:flex;position:absolute;bottom:0;left:14px}.segment-add-seam-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:flex-end;width:18px;height:16px;margin:0;padding:0;display:flex}.segment-merge-seam-placeholder{visibility:hidden;pointer-events:none}.segment-add-seam-btn:hover,.segment-add-seam-btn:focus-visible,.segment-add-seam-btn:active{background:0 0}.segment-add-seam-chip{border:1px solid var(--border);background:var(--bg-subtle);width:18px;height:18px;color:var(--text-muted);opacity:0;border-radius:9px;justify-content:center;align-items:center;transition:opacity .12s ease-out,background .12s ease-out,border-color .12s ease-out,color .12s ease-out;display:flex;translate:0 50%}.segment-add-seam-chip svg{width:9px;height:9px;display:block}.segment-add-seam-hit:hover .segment-add-seam-chip,.segment-add-seam-hit:focus-within .segment-add-seam-chip{opacity:1;background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.segment-add-seam-btn:focus-visible{outline:none}.segment-add-seam-btn:focus-visible .segment-add-seam-chip{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.language-select-shake{animation:none}}.keyword-panel{border-top:1px solid var(--border);background:var(--bg-subtle);flex-direction:column;gap:8px;padding:10px 16px;display:flex}.keyword-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.keyword-chip{height:var(--control-h);color:#1a1d21;cursor:pointer;border:2px solid #0000;border-radius:18px;flex-shrink:0;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:500;transition:filter .12s ease-out,border-color .12s ease-out;display:flex}.keyword-chip:hover{filter:brightness(.95)}.keyword-chip.active{border-color:var(--text)}.keyword-name-input{width:80px;padding:1px 4px;font-size:14px}.keyword-chip-select{height:auto;color:inherit;font-size:inherit;font-weight:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;padding:0}.keyword-chip-select:hover{background:0 0}.keyword-color-input{cursor:pointer;background:0 0;border:none;width:18px;height:18px;padding:0}.keyword-delete{width:20px;height:20px;color:inherit;background:0 0;border:none;border-radius:50%;padding:0;font-size:15px;line-height:1}.keyword-delete:hover{background:#00000014}.keyword-add,.cutrange-add-at-playhead{border-radius:18px}.transport-rate{margin-left:4px}.rate-trigger{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:4px;width:68px;display:inline-flex}.rate-trigger-caret{color:var(--text-muted);flex-shrink:0}.rate-trigger[data-popup-open]{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.rate-trigger[data-popup-open] .rate-trigger-caret{color:var(--accent)}.rate-positioner{z-index:20}.transport-snap{margin-left:4px}.snap-toggle{color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.snap-toggle[data-active=true]{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.rate-popup{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:10px;width:200px;padding:10px;display:flex;box-shadow:0 8px 24px #10141a1f}.rate-popup-header{justify-content:space-between;align-items:center;padding:2px 4px 0;display:flex}.rate-popup-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:500}.rate-popup-value{color:var(--accent);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.rate-slider{padding:0 4px}.rate-slider-control{touch-action:none;align-items:center;height:14px;display:flex;position:relative}.rate-slider-track{background:var(--bg-subtle);border-radius:999px;width:100%;height:4px;position:relative}.rate-slider-indicator{background:var(--accent);border-radius:999px;height:100%;position:absolute}.rate-slider-thumb{background:var(--bg);border:2px solid var(--accent);border-radius:999px;width:14px;height:14px;box-shadow:0 1px 2px #10141a29}.rate-slider-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rate-slider-bounds{color:var(--text-muted);justify-content:space-between;align-items:center;padding:0 4px;font-size:10px;display:flex}.rate-popup-divider{background:var(--border);width:100%;height:1px}.rate-preset-list{flex-direction:column;display:flex}.rate-preset{height:28px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:0 4px;font-size:13px;display:flex}.rate-preset:hover{background:var(--bg-subtle)}.rate-preset[data-active=true]{color:var(--accent);font-weight:500}.cutrange-merge-picker{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.cutrange-assign-inline{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.select-trigger{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:4px;display:inline-flex}.select-trigger:hover{background:var(--bg-subtle)}.select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cutrange-keyword-select{height:36px;padding:0 8px;font-size:13px}.select-caret{color:var(--text-muted);flex-shrink:0;font-size:9px}.select-positioner{z-index:20}.select-popup{background:var(--bg);border:1px solid var(--border);border-radius:6px;max-height:260px;padding:4px;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.select-item{cursor:pointer;white-space:nowrap;border-radius:4px;padding:5px 10px;font-size:13px}.select-item[data-highlighted]{background:var(--bg-subtle)}.select-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.select-item[data-selected]{font-weight:600}.app-tooltip-popup{color:#fff;text-align:center;background:#000000d9;border-radius:6px;max-width:220px;padding:5px 10px;font-size:12px}.alert-dialog-backdrop{z-index:30;background:#0006;position:fixed;inset:0}.alert-dialog-popup{background:var(--bg);border:1px solid var(--border);z-index:31;border-radius:10px;width:min(90vw,420px);padding:20px 24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #0003}.alert-dialog-title{margin:0 0 8px;font-size:16px;font-weight:600}.alert-dialog-description{color:var(--text-muted);margin:0 0 20px;font-size:14px}.alert-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.alert-dialog-actions .danger{background:var(--danger);color:#fff;border-color:var(--danger)}.alert-dialog-actions .danger:hover{background:#b91c1c}.start-over-button{color:var(--danger);border-color:var(--border)}.timeline{border-top:1px solid var(--border);background:var(--bg);-webkit-user-select:none;user-select:none}.timeline-body{align-items:stretch;width:100%;display:flex}.timeline-gutter{background:var(--bg-subtle);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:64px;display:flex}.timeline-gutter-spacer,.timeline-gutter .timeline-track-label{border-bottom:1px solid var(--border)}.timeline-scroll{overscroll-behavior-x:contain;flex:1;min-width:0;position:relative;overflow:auto hidden}.timeline-content{position:relative}.timeline-ruler{border-bottom:1px solid var(--border);background:var(--bg-subtle);cursor:pointer;touch-action:none;position:relative}.timeline-tick{flex-direction:column;display:flex;position:absolute;top:0;bottom:0}.timeline-tick-mark{background:var(--border);width:1px;height:6px}.timeline-tick-label{color:var(--text-muted);white-space:nowrap;margin-left:2px;font-size:10px}.timeline-ghost-playhead{background:var(--text-muted);pointer-events:none;z-index:4;width:1px;position:absolute;top:0}.timeline-ghost-playhead.snapped{background:var(--accent)}.timeline-hover-tooltip{background:var(--text);color:#fff;white-space:nowrap;pointer-events:none;border-radius:3px;padding:1px 4px;font-size:10px;position:absolute;top:-2px;transform:translate(-50%)}.timeline-track-label{color:var(--text-muted);background:var(--bg-subtle);flex-shrink:0;align-items:center;padding-left:6px;font-size:11px;display:flex}.timeline-track{border-bottom:1px solid var(--border);touch-action:none;width:100%;position:relative}.cut-track{background:repeating-linear-gradient(90deg, var(--bg) 0, var(--bg) 1px, transparent 1px, transparent 1px)}.cut-block{cursor:grab;opacity:.85;border-radius:4px;position:absolute}.cut-block.selected{outline:2px solid var(--text)}.cut-block.provisional{pointer-events:none;background:#00000040}.segment-block{cursor:grab;background:#8ad5e8;border:1px solid #6bc0d6;border-radius:4px;align-items:center;display:flex;position:absolute;overflow:hidden}.segment-block.selected{outline:2px solid var(--accent)}.segment-block-text{color:#14313a;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;padding:0 8px;font-size:10px;overflow:hidden}.edge-handle{cursor:ew-resize;position:absolute;top:0;bottom:0}.edge-handle.edge-start{left:0}.edge-handle.edge-end{right:0}.timeline-playhead{--playhead-handle-w:11px;--playhead-handle-h:15px;--playhead-point-y:13.3px;pointer-events:none;z-index:5;width:0;position:absolute;top:0}.timeline-playhead-line{pointer-events:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.timeline-playhead-line:before{content:"";top:var(--playhead-point-y);background:var(--playhead);width:1px;position:absolute;bottom:0;left:3.5px}.timeline-playhead-handle{top:0;left:calc(var(--playhead-handle-w) / -2);width:var(--playhead-handle-w);height:var(--playhead-handle-h);color:var(--playhead);pointer-events:none;position:absolute}.timeline-playhead-handle-svg{pointer-events:none;width:100%;height:100%;display:block}
