:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font:system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg:#f7f7f5;--surface:#fff;--text:#1d1d1b;--muted:#6b6b66;--border:#deded9;--accent:#2f5bd3;--accent-text:#fff;--accent-soft:#e8eefc;--ok:#1f7a4d;--ok-soft:#e5f4ec;--warn:#8a5a00;--warn-soft:#fbf1dc;--error:#b42318;--error-soft:#fbe9e7;--radius:8px;--space:16px;--max:1200px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#151514;--surface:#1e1e1c;--text:#ecece8;--muted:#a0a09a;--border:#34342f;--accent:#7d9cf0;--accent-text:#0e1320;--accent-soft:#1f2a45;--ok:#6fcf9a;--ok-soft:#173325;--warn:#f0c060;--warn-soft:#3a2e14;--error:#f08a80;--error-soft:#3d1b18}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.6}a{color:var(--accent)}h1,h2,h3,h4{margin:0 0 .5em;line-height:1.3}h1{font-size:1.5rem}h2{font-size:1.2rem}h3{font-size:1.05rem}code,pre,textarea{font-family:var(--mono)}code{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:0 .3em;font-size:.9em}button,.button{font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.4em;padding:0 14px;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.button:hover{border-color:var(--muted)}button:disabled{opacity:.55;cursor:not-allowed}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.danger{background:var(--error);border-color:var(--error);color:#fff}.danger-text{color:var(--error)}button.subtle{color:var(--muted);background:0 0;border-color:#0000}button.small,.button.small{min-height:30px;padding:0 10px;font-size:.875rem}.link-button{min-height:0;color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}.icon-button{min-height:0;color:inherit;background:0 0;border:none;padding:0 4px;font-size:1.2rem;line-height:1}input,select,textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;min-height:38px;color:var(--text);padding:6px 10px}input[type=checkbox]{width:auto;min-height:0}textarea{resize:vertical;line-height:1.5}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}fieldset{border:none;gap:12px;min-width:0;margin:0;padding:0;display:grid}.field{gap:4px;display:grid}.field>span,.field>label{color:var(--muted);font-size:.875rem}.check{align-items:center;gap:8px;display:flex}.inline-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-row>input{flex:200px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--muted)}.small-text{font-size:.85rem}.center{padding:var(--space);justify-content:center;display:flex}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.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}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space)}.note{border-radius:var(--radius);background:var(--accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;display:flex}.note-ok{background:var(--ok-soft);color:var(--ok)}.note-warn{background:var(--warn-soft);color:var(--warn)}.note-error{background:var(--error-soft);color:var(--error)}.pill{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:0 8px;font-size:.8rem;line-height:1.7;display:inline-block}.pill-busy{color:var(--accent);border-color:var(--accent)}.pill-ok{color:var(--ok);border-color:var(--ok)}.pill-warn{color:var(--warn);border-color:var(--warn)}.pill-error{color:var(--error);border-color:var(--error)}.progress{background:var(--border);border-radius:2px;width:100%;height:4px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .3s}.shell{min-height:100vh}.topbar{padding:10px var(--space);border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}.brand{color:var(--text);font-weight:700;text-decoration:none}.nav{flex:1;gap:16px;display:flex}.nav a{color:var(--muted);text-decoration:none}.nav a[data-status=active]{color:var(--text);font-weight:600}.account{align-items:center;gap:8px;min-width:0;display:flex}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:14em;overflow:hidden}.page{max-width:var(--max);padding:var(--space);gap:var(--space);margin:0 auto;display:grid}.page.narrow{max-width:720px}.page>*{min-width:0}.login{min-height:100vh;padding:var(--space);place-items:center;display:grid}.login-card{gap:12px;width:100%;max-width:380px;display:grid}.composer{gap:8px;display:grid}.composer.dragging{border-color:var(--accent);border-style:dashed}.composer-row{flex-wrap:wrap;gap:8px;display:flex}.composer-row input{flex:260px}.upload-status{gap:6px;display:grid}.upload-line{align-items:center;gap:8px;display:flex}.upload-line .truncate{flex:1}.library-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.library-head h2{margin:0}.search-box{flex:240px;min-width:0;max-width:360px}@media (width<=600px){.search-box{max-width:none}}.video-list,.hit-list,.token-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.video-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px var(--space);justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.video-main{flex:1;gap:4px;min-width:0;display:grid}.video-title{color:var(--text);font-weight:600;text-decoration:none}.video-title:hover{text-decoration:underline}.video-meta,.detail-meta{flex-wrap:wrap;gap:4px 12px;display:flex}.video-status{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.video-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.empty{text-align:center}.hit{padding:10px var(--space);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);gap:2px;text-decoration:none;display:grid}.hit:hover{border-color:var(--accent)}.hit-title{font-weight:600}mark{background:var(--warn-soft);color:inherit;padding:0 1px}.back{margin:0}.back a{text-decoration:none}.detail-head{gap:6px;display:grid}.title-row{align-items:flex-start;gap:8px;display:flex}.title-row h1{margin:0}.rename{flex-wrap:wrap;gap:8px;display:flex}.rename input{flex:240px;font-size:1.2rem}.detail-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.detail-grid{gap:var(--space);grid-template-columns:minmax(0,1fr);grid-template-areas:"player""switch""content";display:grid}.area-player{grid-area:player}.pane-switch{grid-area:switch;gap:4px;display:flex}.pane-switch button[aria-selected=true]{background:var(--accent-soft);border-color:var(--accent)}.area-transcript,.area-notes{grid-area:content;min-width:0}.detail-grid[data-pane=transcript] .area-notes,.detail-grid[data-pane=notes] .area-transcript{display:none}@media (width>=960px){.detail-grid{grid-template:"player notes""transcript notes"1fr/minmax(0,1fr) minmax(0,1fr);align-items:start}.pane-switch{display:none}.area-transcript{grid-area:transcript}.area-notes{grid-area:notes}.detail-grid[data-pane] .area-transcript,.detail-grid[data-pane] .area-notes{display:block}}@media (width>=960px) and (height>=820px){.area-player{z-index:2;background:var(--bg);padding-bottom:4px;position:sticky;top:0}}.player{gap:6px;display:grid}.frame-box{aspect-ratio:16/9;border-radius:var(--radius);background:#000;width:100%;position:relative;overflow:hidden}.frame-box iframe,.frame-box>div,.frame-box>div>iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.douyin-stage .douyin-frame{width:1280px;height:755px;transform:translate(-50%, -50%) scale(var(--douyin-scale,.3));transform-origin:50%;position:absolute;top:50%;left:50%}.audio{width:100%}.player-card{padding:var(--space);border:1px dashed var(--border);border-radius:var(--radius);justify-items:start;gap:8px;display:grid}.player-foot{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.paragraphs{gap:4px;display:grid}.paragraph{border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:10px;margin:0;padding:6px 8px;display:grid}.paragraph.active{background:var(--accent-soft)}.ts{border:1px solid var(--border);min-height:0;font-family:var(--mono);color:var(--accent);vertical-align:baseline;background:0 0;border-radius:4px;padding:0 6px;font-size:.8rem}.toolbar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.markdown{line-height:1.7}.markdown h2{margin-top:1em;font-size:1.2rem}.markdown h3{margin-top:1em;font-size:1.05rem}.markdown ul,.markdown ol{padding-left:1.4em}.markdown input[type=checkbox]{vertical-align:middle;margin-right:6px}.markdown blockquote{border-left:3px solid var(--border);color:var(--muted);margin:.5em 0;padding-left:12px}.markdown pre{background:var(--bg);border-radius:var(--radius);padding:10px;overflow-x:auto}.markdown .raw{white-space:pre-wrap;color:var(--muted)}.table-scroll{overflow-x:auto}.markdown table{border-collapse:collapse;margin:.5em 0}.markdown th,.markdown td{border:1px solid var(--border);padding:4px 10px}.notes-editor{gap:8px;display:grid}.notes-editor textarea{min-height:50vh}.toc{flex-wrap:wrap;gap:8px 16px;display:flex}.settings-section{gap:10px;scroll-margin-top:16px;display:grid}.settings-section>h2{margin:8px 0 0}.slots{gap:var(--space);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start;display:grid}.slot{gap:8px;display:grid}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.inline-form fieldset{flex-wrap:wrap;align-items:flex-end;gap:12px;width:100%;display:flex}.inline-form .field{flex:200px}.narrow-form{max-width:420px}.token-row{padding:10px var(--space);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;display:flex}.new-token{border-color:var(--accent);gap:8px;display:grid}.copy-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.copy-row code{word-break:break-all;flex:200px;min-width:0;padding:6px 8px}.steps{gap:6px;padding-left:1.4em;display:grid}.users-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%}.users-table th,.users-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 10px}.users-table select{width:auto}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.disabled-row td:not(.actions-cell){color:var(--muted)}@media (width<=760px){.users-table thead{display:none}.users-table,.users-table tbody,.users-table tr,.users-table td{width:100%;display:block}.users-table tr{border-bottom:1px solid var(--border);padding:8px 0}.users-table td{border:none;padding:4px 12px}.users-table td:before{content:attr(data-label) "：";color:var(--muted);font-size:.85rem}.users-table td.actions-cell:before{content:none}.video-row{flex-direction:column}.video-actions{justify-content:flex-start}}.dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);width:min(460px,100vw - 32px);padding:20px}.dialog::backdrop{background:#0006}.dialog-body{margin-bottom:12px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.toaster{z-index:10;gap:8px;width:min(480px,100vw - 32px);display:grid;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius);background:var(--text);color:var(--bg);align-items:center;gap:12px;padding:10px 14px;display:flex;box-shadow:0 4px 16px #0003}.toast>span{flex:1}.toast .link-button{color:inherit;font-weight:600}.toast-error{background:var(--error);color:#fff}
