:root{--bg:#0b0f17;--panel:#131a26;--panel-2:#1a2333;--border:#25304a;--accent:#5b8cff;--accent-2:#7c5cff;--text:#e7edf7;--muted:#93a1bd;--good:#3ddc97;--bad:#ff6b6b;--radius:16px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(1200px 800px at 50% -10%, #1b2540 0%, var(--bg) 55%);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed}#app{width:100%;max-width:980px;margin:0 auto;padding:32px 20px 72px}.view{flex-direction:column;gap:22px;display:none}.view.active{display:flex}.view--narrow{width:100%;max-width:620px;margin:0 auto}.topbar{z-index:10;backdrop-filter:blur(10px);background:color-mix(in srgb, var(--bg) 72%, transparent);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:12px;max-width:980px;margin:0 auto;padding:12px 20px;display:flex}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:8px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{color:var(--accent);font-size:1.05rem}.brand-sub{color:var(--muted);font-weight:600}.nav-back{color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:.9rem;text-decoration:none;transition:color .15s,border-color .15s}.nav-back:hover{color:var(--text);border-color:var(--accent)}.tool-grid{grid-template-columns:1fr;gap:16px;display:grid}.tool-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);align-items:center;gap:18px;padding:22px 24px;text-decoration:none;transition:border-color .15s,background .15s,transform 60ms;display:flex}.tool-card:hover{border-color:var(--accent);background:var(--panel-2);transform:translateY(-2px)}.tool-icon{flex-shrink:0;font-size:2.2rem;line-height:1}.tool-text{flex:1;min-width:0}.tool-text h2{margin:0 0 4px;font-size:1.15rem}.tool-text p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45}.tool-go{color:var(--accent);white-space:nowrap;flex-shrink:0;font-size:.9rem;font-weight:700}.tw-studio{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (width<=820px){.tw-studio{grid-template-columns:1fr}}.tw-editor{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:20px;display:flex}.tw-dropzone{border:2px dashed var(--border);background:var(--panel-2);text-align:center;cursor:pointer;border-radius:12px;outline:none;flex-direction:column;align-items:center;gap:4px;padding:18px;transition:border-color .15s,background .15s;display:flex}.tw-dropzone:hover,.tw-dropzone:focus-visible,.tw-dropzone.dragover{border-color:var(--accent);background:var(--panel)}.tw-dropzone.has-file{border-style:solid;border-color:color-mix(in srgb, var(--good) 60%, var(--border))}.tw-dropzone-icon{font-size:1.6rem}.tw-dropzone-title{font-weight:700}.tw-dropzone-sub{color:var(--muted);word-break:break-word;font-size:.84rem}.tw-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tw-row-4{grid-template-columns:repeat(4,1fr)}@media (width<=520px){.tw-row-4{grid-template-columns:1fr 1fr}}.tw-field{flex-direction:column;gap:5px;min-width:0;display:flex}.tw-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.7rem;font-weight:700}.tw-input{appearance:none;background:var(--panel-2);border:1px solid var(--border);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:9px 11px;font-size:.92rem;transition:border-color .15s}.tw-input:focus{border-color:var(--accent);outline:none}.tw-textarea{resize:vertical;min-height:64px;line-height:1.4}select.tw-input{cursor:pointer}.tw-avatar-row{gap:8px;display:flex}.tw-toggle{cursor:pointer;color:var(--text);user-select:none;align-items:center;gap:9px;font-size:.92rem;display:flex}.tw-toggle input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.tw-toggle-hint{color:var(--muted);margin-left:auto;font-size:.78rem}.tw-stats-fields{flex-direction:column;gap:14px;transition:opacity .15s;display:flex}.tw-stats-fields.tw-disabled{opacity:.4;pointer-events:none}.tw-file-btn{cursor:pointer;align-items:center;display:inline-flex}.tw-preview-wrap{flex-direction:column;gap:14px;display:flex;position:sticky;top:76px}.tw-preview-frame{border:1px solid var(--border);border-radius:var(--radius);background:repeating-conic-gradient(#0e1420 0% 25%,#121a28 0% 50%) 0 0/24px 24px;justify-content:center;padding:22px;display:flex}.tw-preview{border-radius:14px;max-width:100%;max-height:66vh;box-shadow:0 14px 40px #00000073}.tw-field-hint{color:var(--muted);font-size:.76rem;line-height:1.4}.tw-hint{text-align:center;color:var(--muted);margin:0;font-size:.82rem}.tw-result-video{background:#000;border-radius:12px;width:100%;max-width:420px;max-height:66vh}.tw-color,.ag-color-pick input[type=color]{cursor:pointer;height:40px;padding:4px}.tw-color{width:100%}.ag-colors{gap:10px;display:flex}.ag-color-pick{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:10px;flex:1;align-items:center;gap:7px;padding:5px 9px 5px 5px;font-size:.82rem;display:flex}.ag-color-pick input[type=color]{background:0 0;border:none;width:34px;height:30px;padding:2px}.rf-frame{align-items:center;position:relative}.rf-preview{border-radius:14px;max-width:100%;max-height:64vh;box-shadow:0 14px 40px #00000073}.rf-preview-empty{color:var(--muted);pointer-events:none;text-shadow:0 1px 3px #0009;font-size:.9rem;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rf-result-video{background:#000;border-radius:12px;width:100%;max-width:340px;max-height:64vh}.hero{text-align:center}.hero h1{letter-spacing:-.02em;margin:0 0 10px;font-size:2.4rem}.tagline{color:var(--muted);max-width:520px;margin:0 auto 12px;font-size:1.02rem;line-height:1.5}.tagline strong{color:var(--text)}.privacy{color:var(--good);margin:0;font-size:.9rem}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);background:var(--panel);text-align:center;cursor:pointer;outline:none;padding:48px 24px;transition:border-color .15s,background .15s,transform 50ms}.dropzone:hover,.dropzone:focus-visible{border-color:var(--accent);background:var(--panel-2)}.dropzone.dragover{border-color:var(--accent);background:var(--panel-2);transform:scale(1.01)}.dropzone-icon{margin-bottom:8px;font-size:2.6rem}.dropzone-title{margin:4px 0;font-size:1.15rem;font-weight:600}.dropzone-sub{color:var(--muted);margin:0;font-size:.92rem}.file-card,.progress-card,.result-card,.error-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:stretch;gap:16px;padding:24px;display:flex}.result-card,.error-card{text-align:center;align-items:center}.file-meta{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.file-name{word-break:break-all;font-weight:600}.file-size{color:var(--muted);white-space:nowrap;font-size:.9rem}.primary-btn{appearance:none;cursor:pointer;background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;text-align:center;border:none;border-radius:12px;padding:14px 18px;font-size:1.05rem;font-weight:700;text-decoration:none;transition:filter .15s,transform 50ms}.primary-btn:hover{filter:brightness(1.08)}.primary-btn:active{transform:translateY(1px)}.primary-btn:disabled{opacity:.55;cursor:not-allowed}.ghost-btn{appearance:none;border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;padding:10px 14px;font-size:.92rem;transition:border-color .15s,color .15s}.ghost-btn:hover{border-color:var(--accent);color:var(--text)}.progress-bar{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;width:100%;height:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));width:0%;height:100%;transition:width .2s}.progress-label{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.92rem}.result-icon{font-size:2.6rem}.result-title,.error-title{margin:0;font-size:1.15rem;font-weight:700}.result-stats{width:100%;color:var(--muted);gap:6px;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.result-stats li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 2px;display:flex}.result-stats li span:last-child{color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.metadata-compare{text-align:left;grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}@media (width<=520px){.metadata-compare{grid-template-columns:1fr}}.md-col{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;min-width:0;padding:12px 14px}.md-head{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;font-size:.72rem;font-weight:700;display:flex}.md-badge{font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 9px;font-size:.74rem;font-weight:800}.md-badge-bad{background:color-mix(in srgb, var(--bad) 22%, transparent);color:var(--bad)}.md-badge-good{background:color-mix(in srgb, var(--good) 22%, transparent);color:var(--good)}.md-list{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.md-list li{flex-direction:column;gap:1px;min-width:0;display:flex}.md-key{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.md-val{color:var(--text);word-break:break-word;font-size:.86rem}.md-empty{color:var(--good);font-size:.88rem;font-weight:600}.error-card{border-color:color-mix(in srgb, var(--bad) 50%, var(--border))}.error-message{color:var(--bad);word-break:break-word;margin:0;font-size:.92rem}.footer{text-align:center;color:var(--muted);margin-top:8px;font-size:.85rem}.footer a{color:var(--accent);text-decoration:none}.lv-help{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:4px 18px}.lv-help>summary{cursor:pointer;color:var(--text);align-items:center;gap:8px;padding:12px 0;font-size:.95rem;font-weight:700;list-style:none;display:flex}.lv-help>summary::-webkit-details-marker{display:none}.lv-help>summary:before{content:"💡"}.lv-help>summary:after{content:"▸";color:var(--muted);margin-left:auto;transition:transform .15s}.lv-help[open]>summary:after{transform:rotate(90deg)}.lv-help-list{color:var(--muted);flex-direction:column;gap:7px;margin:0 0 14px;padding-left:20px;font-size:.9rem;line-height:1.45;display:flex}.lv-help-list b{color:var(--text)}.lv-step{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.lv-step-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-items:center;gap:8px;font-size:.74rem;font-weight:800;display:flex}.lv-step-num{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:800;display:inline-flex}.lv-sel-block{flex-direction:column;gap:10px;display:flex}.lv-wave-wrap{background:var(--bg);border:1px solid var(--border);touch-action:none;user-select:none;border-radius:10px;width:100%;height:84px;position:relative;overflow:hidden}.lv-wave{width:100%;height:100%;position:absolute;inset:0}.lv-sel-shade{background:color-mix(in srgb, var(--accent) 16%, transparent);border-left:2px solid var(--accent);border-right:2px solid var(--accent);pointer-events:none;position:absolute;top:0;bottom:0}.lv-handle{cursor:ew-resize;touch-action:none;width:22px;margin-left:-11px;position:absolute;top:0;bottom:0}.lv-handle:after{content:"";background:var(--accent);width:4px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent);border-radius:4px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.lv-sel-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lv-sel-time{color:var(--muted);font-size:.78rem}.lv-sel-time b{color:var(--text);font-variant-numeric:tabular-nums}.lv-mini-btn{margin-left:auto;padding:7px 12px;font-size:.84rem}.lv-range{appearance:none;background:var(--panel-2);border:1px solid var(--border);cursor:pointer;border-radius:999px;width:100%;height:6px}.lv-range::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;height:18px}.lv-range::-moz-range-thumb{background:var(--accent);cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;height:18px}.lv-fonts{flex-wrap:wrap;gap:8px;max-height:188px;padding:2px;display:flex;overflow-y:auto}.lv-font-chip{appearance:none;cursor:pointer;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:8px 13px;font-size:1.1rem;line-height:1.1;transition:border-color .15s,background .15s}.lv-font-chip:hover{border-color:var(--accent)}.lv-font-chip.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--panel-2));box-shadow:inset 0 0 0 1px var(--accent)}.lv-sync-panel{background:var(--bg);border:1px solid var(--accent);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.lv-sync-count{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.lv-sync-current{min-height:1.4em;font-size:1.3rem;font-weight:800;line-height:1.3}.lv-sync-word-active{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.lv-sync-word-done{opacity:.4}.lv-sync-next{color:var(--muted);min-height:1.1em;font-size:.86rem}.lv-tap-btn{letter-spacing:.04em;width:100%;padding:22px;font-size:1.3rem}.lv-sync-ctrls{gap:8px;width:100%;display:flex}.lv-sync-ctrls .ghost-btn{flex:1;padding:8px}.lv-lines{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lv-line{background:var(--bg);border:1px solid var(--border);border-radius:9px;align-items:center;gap:10px;padding:7px 10px;display:flex}.lv-line-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.lv-line-time{font-variant-numeric:tabular-nums;color:var(--accent);font-size:.82rem;font-weight:700}.lv-line-time.lv-unset{color:var(--muted)}.lv-line-nudge{gap:4px;display:flex}.lv-add-clips{justify-content:center}.lv-clips{gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.lv-clip{flex-direction:column;flex:none;gap:5px;width:96px;display:flex}.lv-clip-thumb{background:var(--bg);border:1px solid var(--border);border-radius:9px;justify-content:center;align-items:center;width:96px;height:96px;display:flex;position:relative;overflow:hidden}.lv-clip-thumb canvas{object-fit:cover;width:100%;height:100%}.lv-clip-num{color:#fff;background:#000000b3;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.72rem;font-weight:800;display:flex;position:absolute;top:4px;left:4px}.lv-clip-len{text-align:center;color:var(--text);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.lv-clip-slider{appearance:none;background:var(--panel);border:1px solid var(--border);cursor:ew-resize;border-radius:999px;width:100%;height:5px;margin:0}.lv-clip-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:ew-resize;border:2px solid #fff;border-radius:50%;width:15px;height:15px}.lv-clip-slider::-moz-range-thumb{background:var(--accent);cursor:ew-resize;border:2px solid #fff;border-radius:50%;width:15px;height:15px}.lv-clip-ctrls{justify-content:center;gap:3px;display:flex}.lv-clip-btn{appearance:none;background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:7px;padding:3px 7px;font-size:.78rem;line-height:1}.lv-clip-btn:hover:not(:disabled){border-color:var(--accent)}.lv-clip-btn:disabled{opacity:.35;cursor:not-allowed}.lv-transport{align-items:center;gap:10px;display:flex}.lv-transport .lv-mini-btn{flex-shrink:0;margin-left:0}.lv-scrub{flex:1}.lv-time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem}.lv-video-pool{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:-9999px;overflow:hidden}.lv-preview-tappable{cursor:pointer}.hidden{display:none!important}
