:root{--bg:#f3f3f3;--bg-surface:#fff;--bg-muted:#ececec;--border:#e8e8e8;--border-strong:#d1d1d1;--text:#242424;--text-secondary:#747474;--text-inverse:#fff;--accent:#36f;--accent-soft:#3366ff14;--green:#009379;--green-soft:#0093791a;--red:#f55442;--red-soft:#f554421a;--action:#242424;--action-hover:#2f2f2f;--action-border:#2f2f2f;--font-display:"Instrument Sans", system-ui, sans-serif;--font-body:"Geist", system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--radius:6px;--radius-md:8px;--radius-lg:12px;--container:min(880px, calc(100% - 2rem));--header-h:64px}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{color:#2e5ce6}[hidden]{display:none!important}.container{width:var(--container);margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{height:var(--header-h);border-bottom:1px solid var(--border);background:#ffffffe6}.nav{justify-content:space-between;align-items:center;height:100%;display:flex}.logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);font-size:1.25rem;font-weight:500}.logo:hover{color:var(--text);opacity:.75}.nav-back{color:var(--text-secondary);font-size:.875rem;font-weight:500}.nav-back:hover{color:var(--text)}.intro{padding:clamp(2.5rem,7vw,4rem) 0 2rem}.eyebrow{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 .75rem;font-size:.75rem}h1{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0 0 1rem;font-size:clamp(2rem,6vw,2.75rem);font-weight:600;line-height:1.1}.lede{max-width:60ch;color:var(--text-secondary);margin:0;font-size:1.0625rem}.tool{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(1rem,4vw,1.5rem)}.status{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.status-dot{background:var(--border-strong);border-radius:50%;flex:none;width:8px;height:8px}.status[data-state=loading] .status-dot,.status[data-state=busy] .status-dot{background:var(--accent);animation:1.2s ease-in-out infinite pulse}.status[data-state=ready] .status-dot{background:var(--green)}.status[data-state=error] .status-dot{background:var(--red)}.status-backend{font-family:var(--font-mono);margin-left:auto;font-size:.75rem}.status-backend:not(:empty){border:1px solid var(--border);border-radius:var(--radius);padding:.1rem .45rem}@keyframes pulse{50%{opacity:.35}}.progress{background:var(--bg-muted);border-radius:2px;height:4px;margin-top:.75rem;overflow:hidden}.progress-bar{background:var(--accent);width:0;height:100%;transition:width .2s linear}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--bg);cursor:pointer;place-items:center;min-height:240px;margin-top:1rem;padding:1rem;transition:border-color .15s,background .15s;display:grid}.dropzone:hover,.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft)}.dropzone:focus-within{outline:2px solid var(--accent);outline-offset:2px}.dropzone-empty{text-align:center;color:var(--text-secondary);justify-items:center;gap:.35rem;font-size:.875rem;display:grid}.dropzone-empty svg{margin-bottom:.5rem}.dropzone-empty strong{color:var(--text);font-size:1rem;font-weight:500}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.btn{font-family:var(--font-body);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.625rem 1rem;font-size:.9375rem;font-weight:500;line-height:1.25;transition:background .15s linear,box-shadow .15s linear;display:inline-flex}.btn-ghost{background:var(--bg-surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.btn-ghost:hover{background:var(--bg)}.pending{color:var(--text-secondary);margin:0;font-size:.875rem}.error{color:#b3261e;background:var(--red-soft);border-radius:var(--radius);margin:1rem 0 0;padding:.75rem 1rem;font-size:.875rem}.notes{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;padding:2.5rem 0 3rem;display:grid}.notes h2{font-family:var(--font-display);margin:0 0 .4rem;font-size:1rem;font-weight:600}.notes p{color:var(--text-secondary);margin:0;font-size:.875rem}.site-footer{color:var(--text-secondary);border-top:1px solid var(--border);justify-content:space-between;padding:1.5rem 0 2rem;font-size:.8125rem;display:flex}.faq{padding:0 0 3rem}.faq h2{font-family:var(--font-display);margin:0 0 1rem;font-size:1.125rem;font-weight:600}.faq details{border-top:1px solid var(--border);padding:.75rem 0}.faq details:last-of-type{border-bottom:1px solid var(--border)}.faq summary{cursor:pointer;font-weight:500}.faq details p{color:var(--text-secondary);margin:.5rem 0 0;font-size:.875rem}.btn-primary{background:var(--action);color:var(--text-inverse);box-shadow:inset 0 0 0 1px var(--action-border)}.btn-primary:hover{background:var(--action-hover);color:var(--text-inverse)}.btn:disabled{cursor:not-allowed;opacity:.45}.btn:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn{width:36px;height:36px;color:var(--text);background:var(--bg-surface);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--border-strong);cursor:pointer;border:none;flex:none;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{background:var(--bg)}.icon-pause,.playing .icon-play{display:none}.playing .icon-pause{display:block}.editor,.result{margin-top:1rem}.stage,.compare{border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;background:#000;margin-inline:auto;position:relative;overflow:hidden}.stage video,.compare video{width:100%;height:100%;display:block}.overlay{cursor:crosshair;touch-action:none;position:absolute;inset:0}.box{border:2px solid var(--accent);cursor:move;background:#3366ff2e;position:absolute}.box.inactive{background:#ffffff14;border-style:dashed;border-color:#ffffffb3}.box.selected{background:#ffb0202e;border-color:#ffb020}.box-label{font-family:var(--font-mono);color:#fff;background:var(--accent);pointer-events:none;padding:0 .35rem;font-size:.6875rem;line-height:1.4;position:absolute;top:-1px;left:-1px}.box.selected .box-label{color:#242424;background:#ffb020}.box.inactive .box-label{color:#242424;background:#fffc}.box-handle{border:2px solid var(--accent);cursor:nwse-resize;background:#fff;border-radius:50%;width:14px;height:14px;position:absolute;bottom:-7px;right:-7px}.box.selected .box-handle{border-color:#ffb020}.transport{align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.transport input[type=range]{min-width:0;accent-color:var(--accent);flex:1}.time{font-family:var(--font-mono);color:var(--text-secondary);flex:none;font-size:.75rem}.hint{color:var(--text-secondary);margin:1rem 0 0;font-size:.875rem}.hint strong{color:var(--text);font-weight:500}.regions{gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.regions-empty{color:var(--text-secondary);background:var(--bg);border-radius:var(--radius);padding:.75rem 1rem;font-size:.875rem}.region-row{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.region-row.selected{background:#ffb0200f;border-color:#ffb020}.region-num{width:1.5rem;height:1.5rem;font-family:var(--font-mono);color:#fff;background:var(--accent);border-radius:4px;place-items:center;font-size:.75rem;display:inline-grid}.region-row.selected .region-num{color:#242424;background:#ffb020}.region-time{font-family:var(--font-mono);margin-right:auto;font-size:.8125rem}.chip{font-family:var(--font-body);color:var(--text);background:var(--bg-surface);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--border-strong);cursor:pointer;border:none;padding:.25rem .55rem;font-size:.8125rem}.chip:hover{background:var(--bg)}.chip-remove{color:#b3261e}.settings{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem 1.5rem;margin-top:1.25rem;padding-top:1.25rem;display:grid}.field{gap:.35rem;font-size:.875rem;display:grid}.field-head{justify-content:space-between;font-weight:500;display:flex}.field-head output{font-family:var(--font-mono);color:var(--text-secondary);font-weight:400}.field input[type=range]{accent-color:var(--accent)}.field select{font:inherit;color:var(--text);background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:.5rem}.field-help{color:var(--text-secondary);font-size:.8125rem}.check{cursor:pointer;align-items:flex-start;gap:.5rem;font-size:.875rem;display:flex}.check input{width:1rem;height:1rem;accent-color:var(--accent);flex:none;margin:.2rem 0 0}.settings .check{grid-column:1/-1}.rights{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1.25rem}.job{margin-top:1rem}.job-head{justify-content:space-between;gap:1rem;font-size:.875rem;display:flex}.job-eta{font-family:var(--font-mono);color:var(--text-secondary);font-size:.75rem}.compare video{position:absolute;inset:0}#before{clip-path:inset(0 calc(100% - var(--split,50%)) 0 0)}.compare-line{top:0;bottom:0;left:var(--split,50%);pointer-events:none;background:#fff;width:2px;margin-left:-1px;position:absolute;box-shadow:0 0 0 1px #00000040}.compare-line:after{content:"";background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23242424' stroke-width='2'%3E%3Cpath d='m9 7-5 5 5 5M15 7l5 5-5 5'/%3E%3C/svg%3E") 50%/18px no-repeat;border-radius:50%;width:28px;height:28px;margin:-14px 0 0 -14px;position:absolute;top:50%;left:50%;box-shadow:0 1px 4px #00000059}.tag{font-family:var(--font-mono);color:#fff;pointer-events:none;background:#0009;border-radius:4px;padding:.1rem .5rem;font-size:.6875rem;position:absolute;top:.6rem}.tag-before{left:.6rem}.tag-after{right:.6rem}.compare-range{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.result-meta{color:var(--text-secondary);margin:.75rem 0 0;font-size:.875rem}@media (width<=560px){.region-time{flex-basis:calc(100% - 2.5rem)}}.editor.busy .overlay,.editor.busy .box{cursor:progress}.guide{padding:2.5rem 0 0}.guide h2{font-family:var(--font-display);margin:0 0 1rem;font-size:1.125rem;font-weight:600}.steps,.uses{color:var(--text-secondary);gap:.75rem;margin:0;padding-left:1.25rem;font-size:.9375rem;display:grid}.steps strong,.uses strong{color:var(--text);font-weight:500}.detect-row{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:1rem;display:flex}.detect-status{color:var(--text-secondary);flex:260px;margin:0;font-size:.875rem}
