
/* tokens:begin */
/* 全站设计令牌（唯一来源）。index.html 与 public/public.css 里同名标记之间的内容由
   deploy/sync_design.py 从这里复制；tests/test_design_tokens.py 断言三处一字不差。
   旧名（--fg/--panel/--soft/--leaf/--amber…）先做别名，替换完成后删除。*/
:root{color-scheme:light;
--bg:#f7f8fc;--surface:#fff;--surface-2:#f1f2f8;--line:#e3e6f2;--line-strong:#cbd0e6;
--ink:#1c1f2e;--ink-2:#454a63;--muted:#626784;
--accent:#5b5bd6;--accent-strong:#4646c2;--accent-soft:#eceefc;--accent-ink:#3c3cb0;--on-accent:#fff;
--ok:#1f7a50;--ok-soft:#e6f6ee;--warn:#8a5309;--warn-soft:#fff3d6;--err:#b03a4b;--err-soft:#ffecee;--hl:#ffe58a;--hl-soft:#fffcf0;
--bili:#fb7299;--yt:#e53935;
--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;
--sh-sm:0 1px 2px rgba(28,31,46,.06);--sh-md:0 8px 24px rgba(28,31,46,.1);
--fs-1:12px;--fs-2:13px;--fs-3:14px;--fs-4:16px;--fs-5:18px;--fs-6:22px;--fs-7:28px;--fs-8:36px;
--font:"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif;--mono:ui-monospace,"SFMono-Regular",Consolas,"Microsoft YaHei",monospace;
--measure:720px;--side-w:300px;--top-h:64px;--page-w:1180px;
--panel:var(--surface);--fg:var(--ink);--accent-hover:var(--accent-strong);--soft:var(--accent-soft);--active:var(--accent-soft);
--hit:var(--hl);--hitline:var(--hl-soft);--shadow:var(--sh-sm);--shadow-sm:var(--sh-sm);--radius:var(--r-lg);
--leaf:var(--ok);--leaf-soft:var(--ok-soft);--leaf-ink:var(--ok);--amber:var(--warn);--amber-soft:var(--warn-soft);--amber-ink:var(--warn);
--cta-bg:#3a3ab4;--cta-ink:#fff;--cta-soft:rgba(255,255,255,.14)}
/* tokens:end */
/* shell:begin */
/* 全站外壳（唯一来源）：头部、页脚、按钮、语言开关。首页 / 工作台（index.html）与公共页
   （public/shell.html + public.css）用同一份标记结构与同一份样式；改这里，再跑
   deploy/sync_design.py 同步到两处。状态：默认 = 游客；.hp-auth-header = 已登录。*/
/* 头部不吸顶：吸顶会让首页预览卡的键盘切换触发滚动锚定回滚（homepage_tabs.py），阅读页的吸顶工具条在 PR-38 单独做。 */
.site-top{position:relative;z-index:40;height:var(--top-h);max-width:none;margin:0;padding:0 max(24px,calc((100vw - var(--page-w))/2));display:flex;align-items:center;gap:20px;background:var(--surface);border-bottom:1px solid var(--line)}
.site-top .brand{display:inline-flex;align-items:center;gap:10px;flex:none;color:var(--ink);font-family:var(--font);text-decoration:none!important}
.site-top .brand-mark{display:flex;align-items:center;justify-content:center;gap:3px;width:32px;height:32px;border-radius:9px;background:var(--accent);box-shadow:none}
.site-top .brand-mark i{display:block;width:3px;height:14px;border-radius:3px;background:#fff}
.site-top .brand-mark i:nth-child(2){height:20px}.site-top .brand-mark i:nth-child(3){height:10px}
.site-top .brand-name{font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1}
.site-top .brand-note{margin-left:2px;padding-left:12px;border-left:1px solid var(--line);color:var(--muted);font-size:var(--fs-2);line-height:1.2}
.site-top .topnav{display:flex;align-items:center;gap:6px;margin-left:auto;min-width:0;font-size:var(--fs-3)}
.site-top .account-nav{display:flex;align-items:center;gap:2px;margin-right:auto;min-width:0}
.site-top .account-nav .text-btn{padding:8px 10px;border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--fs-3);white-space:nowrap}
.site-top .account-nav .text-btn:hover{background:var(--surface-2);color:var(--ink)}
.site-top .account-nav .text-btn.on{color:var(--accent-ink);font-weight:600}
.site-top .account-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:var(--fs-1)}
.site-top .text-btn{padding:8px 10px;border-radius:var(--r-sm);color:var(--ink-2);white-space:nowrap}
.site-top .text-btn:hover{background:var(--surface-2);color:var(--ink)}
.ui-link{display:inline-flex;align-items:center;padding:8px 10px;border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--fs-3);text-decoration:none;white-space:nowrap}
.ui-link:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}
.ui-lang{display:inline-flex;flex:none;gap:2px;padding:3px;border-radius:var(--r-pill);background:var(--surface-2)}
.ui-lang>button,.ui-lang>a{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--muted);font:600 var(--fs-2)/1.4 var(--font);text-decoration:none;white-space:nowrap;cursor:pointer}
.ui-lang>button[aria-pressed="true"],.ui-lang>a[aria-current="page"]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-sm)}
.ui-lang>button:hover,.ui-lang>a:hover{color:var(--ink-2);text-decoration:none}
.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 14px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:600 var(--fs-3)/1.4 var(--font);text-decoration:none;white-space:nowrap;cursor:pointer}
.ui-btn:hover{background:var(--surface-2);text-decoration:none}
.ui-btn-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}
.ui-btn-primary:hover{border-color:var(--accent-strong);background:var(--accent-strong);color:var(--on-accent)}
.ui-btn-ghost{border-color:transparent;background:transparent;color:var(--ink-2)}
.ui-btn-ghost:hover{background:var(--surface-2);color:var(--ink)}
.ui-btn small{margin-left:2px;padding:1px 5px;border-radius:5px;background:#fff;color:var(--err);font-size:10px;font-weight:700;line-height:1.4}
.site-top .hide{display:none!important}
@media(max-width:1100px){.site-top .brand-note{display:none}}
@media(max-width:640px){.site-top{--top-h:56px;padding:0 12px;gap:8px}
.site-top .brand-mark{width:28px;height:28px;border-radius:8px}.site-top .brand-name{font-size:18px}
.site-top .topnav{gap:4px}.site-top .ui-link{display:none}.site-top .text-btn{display:none}
.site-top .ui-btn{min-height:36px;padding:6px 10px;font-size:var(--fs-2)}
.ui-lang>button,.ui-lang>a{min-height:28px;padding:0 9px;font-size:var(--fs-1)}
/* 已登录的手机头部仍是一行 56px：头部高度在登录态判定前后不变，深链首屏才没有位移（CLS）。 */
.site-top.hp-auth-header .brand-name{display:none}
.site-top.hp-auth-header .account-nav{gap:0;margin-right:auto;overflow:auto;scrollbar-width:none}
.site-top.hp-auth-header .account-nav .text-btn{display:inline-flex;padding:6px 5px;font-size:var(--fs-1)}
.site-top.hp-auth-header .ui-btn{padding:6px 8px;font-size:var(--fs-1)}
.site-top.hp-auth-header .ui-lang>button{padding:0 7px}
.site-top .account-name{display:none}}
/* 已登录手机头部放不下两段式语言开关：只显示"另一种语言"那一段，当切换按钮用。 */
@media(max-width:640px){.site-top.hp-auth-header .ui-lang>button[aria-pressed="true"]{display:none}}
@media(max-width:640px){:lang(en) .site-top.hp-auth-header .account-nav .text-btn{font-size:11px;padding:6px 4px}:lang(en) .site-top.hp-auth-header .ui-btn{font-size:11px;padding:6px 7px}}
@media(max-width:360px){.site-top.hp-auth-header .account-nav .text-btn{padding:6px 3px}.site-top.hp-auth-header .ui-btn{padding:6px 6px}}
@media(max-width:480px){.site-top{gap:6px}.site-top .ui-btn{padding:6px 8px}.ui-lang>button,.ui-lang>a{padding:0 8px}}
@media(max-width:400px){.site-top{padding:0 8px}.site-top .brand-name{font-size:16px}.ui-lang>button,.ui-lang>a{padding:0 7px}}
@media(max-width:360px){.site-top .brand-name{display:none}}
.site-foot{margin:0;padding:44px max(24px,calc((100vw - var(--page-w))/2)) 24px;background:var(--surface);border-top:1px solid var(--line);color:var(--ink-2);font-family:var(--font);font-size:var(--fs-3);line-height:1.7}
.site-foot .foot-grid{display:grid;grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:28px 24px}
.site-foot .foot-logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.02em;text-decoration:none}
.site-foot .foot-logo .brand-mark{display:flex;align-items:center;justify-content:center;gap:3px;width:30px;height:30px;border-radius:8px;background:var(--accent)}
.site-foot .foot-logo .brand-mark i{display:block;width:3px;height:13px;border-radius:3px;background:#fff}
.site-foot .foot-logo .brand-mark i:nth-child(2){height:18px}.site-foot .foot-logo .brand-mark i:nth-child(3){height:9px}
.site-foot .foot-brand p{margin:12px 0 0;max-width:34ch;color:var(--ink-2)}
.site-foot h4{margin:0 0 8px;color:var(--muted);font-size:var(--fs-1);font-weight:700;letter-spacing:.06em}
.site-foot .foot-col a,.site-foot .foot-col button{display:block;width:100%;padding:4px 0;border:0;background:none;color:var(--ink-2);font:inherit;text-align:left;text-decoration:none;cursor:pointer}
.site-foot .foot-col a:hover,.site-foot .foot-col button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.site-foot .foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-top:32px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-2)}
.site-foot .foot-bottom p{margin:0}
@media(max-width:900px){.site-foot .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-foot .foot-brand{grid-column:1/-1}}
@media(max-width:640px){.site-foot{padding-top:32px}.site-foot .foot-grid{gap:22px 16px}}
/* shell:end */
#hpFoot{margin-top:0}
.site-top .locale-control{display:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.7 "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}
button,a,input,select,summary{touch-action:manipulation}
button,a{ -webkit-tap-highlight-color:transparent}
button{border:0;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s;}
button:disabled{opacity:.55;cursor:not-allowed}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #b9b7f2;outline-offset:3px}
.hide{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sr-only:focus{position:fixed;top:12px;left:12px;width:auto;height:auto;clip:auto;padding:10px 15px;background:#fff;color:var(--accent);border-radius:8px;z-index:20}

.text-btn{color:var(--muted);background:transparent;padding:6px 0}
.text-btn:hover{color:var(--accent)}
.wrap{max-width:1180px;margin:0 auto;padding:12px 30px 48px}
.hero{text-align:center;padding:30px 0 33px}
.eyebrow{display:block;color:var(--accent);font-size:12px;font-weight:650;letter-spacing:1.4px;margin-bottom:12px}
h1{font-size:39px;line-height:1.4;letter-spacing:-1.3px;font-weight:650;margin:0 0 13px}
h1 em{font-style:normal;color:var(--accent)}
.sub{font-size:14px;color:var(--muted);margin:0;line-height:1.9}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.capture{padding:25px 28px 21px;max-width:930px;margin:0 auto 25px}
.capture-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}
.capture-head label{font-weight:600;font-size:14px}.platforms{display:flex;gap:7px;align-items:center}
.platform-tag{font-size:12px;color:#7c6b81;padding:2px 8px;border:1px solid #eee3eb;background:#fcf7fa;border-radius:5px}
.platform-tag.youtube{background:#fff8f6;color:#a46157;border-color:#f4e7e3}
.input-row{display:flex;gap:10px;align-items:stretch}
.url-field{flex:1;min-width:0;position:relative}
.link-symbol{position:absolute;left:16px;top:12px;color:var(--muted);font-size:21px;pointer-events:none}
input[type=text]{min-width:0;width:100%;border:1px solid #e1e4ed;border-radius:10px;background:#fafbfe;color:var(--fg);outline:0;padding:11px 13px;transition:border-color .15s,box-shadow .15s}
input[type=text]::placeholder{color:var(--muted)}
input[type=text]:focus{border-color:#9692ed;box-shadow:0 0 0 3px #6261d914;background:#fff}
#url{height:53px;padding-left:43px;font-size:14px}
.primary{border-radius:10px;padding:11px 22px;background:var(--accent);color:#fff;font-weight:550;white-space:nowrap;box-shadow:0 3px 8px #6261d912}
.primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 12px #6261d923}
.button-arrow{margin-left:15px;opacity:.85}.capture-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:14px}
.options{font-size:12px;color:var(--muted)}
details>summary{cursor:pointer;list-style:none;user-select:none;display:flex;align-items:center;gap:7px}
details>summary::-webkit-details-marker{display:none}
.disclosure{font-size:14px;transition:transform .16s}details[open]>summary .disclosure{transform:rotate(90deg)}
.option-list{display:flex;flex-wrap:wrap;gap:10px 18px;padding-top:12px}
.chk{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;cursor:pointer;white-space:nowrap}
.chk input{accent-color:var(--accent);width:14px;height:14px;margin:0}
.upload-block>summary{padding:3px 0}.upload-list{display:grid;gap:10px;padding:12px 0 3px;border-top:1px solid var(--line);margin-top:9px}
.upload-drop{display:flex;align-items:center;justify-content:center;min-height:74px;padding:14px;border:1px dashed #cfcbee;border-radius:11px;background:#fbfbff;color:var(--muted);font-size:12px;text-align:center;cursor:pointer}
.upload-drop:hover,.upload-drop:focus-visible{border-color:#9692ed;color:var(--accent);background:var(--soft)}
.upload-drop.on{border-color:var(--accent);color:var(--accent);background:var(--soft)}
.upload-drop[aria-disabled="true"]{cursor:default;opacity:.6}
.upload-progress{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.upload-progress progress{flex:1;min-width:0;height:6px;accent-color:var(--accent)}
.capture-note{font-size:12px;color:var(--muted);margin:1px 0 0;text-align:right}
.bar{height:5px;background:#eeedf6;border-radius:5px;overflow:hidden;margin:16px 0 8px}
.bar>i{display:block;height:100%;background:var(--accent);width:0;border-radius:5px;transition:width .3s}
.bar.indet>i{width:35%;animation:slide 1.4s ease-in-out infinite}
@keyframes slide{0%{margin-left:-35%}100%{margin-left:100%}}
.status{font-size:12px;color:var(--muted);line-height:1.8}.status b{color:var(--fg);font-weight:550}
#status:empty{display:none}
.err-box{color:var(--err);font-size:13px;margin-top:12px;padding:10px 13px;border-radius:8px;background:#fff4f5;white-space:pre-wrap;overflow-wrap:anywhere}
.log-details{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:14px}
.log-details summary{justify-content:space-between}.log-details summary span:first-child{display:flex;align-items:center;gap:7px}
#logCount{font-size:12px;color:var(--muted)}
pre.log{max-height:160px;overflow:auto;background:var(--bg);border-radius:8px;padding:12px;font:11px/1.8 Consolas,monospace;white-space:pre-wrap;word-break:break-word;margin:10px 0 0}
.log .warn{color:var(--warn)}.log .err{color:var(--err)}
.empty-state{max-width:960px;margin:40px auto 15px;padding:0 25px}
.empty-heading{display:flex;align-items:center;gap:18px;justify-content:center;font-size:12px;color:var(--muted);letter-spacing:1px;margin-bottom:28px}
.empty-heading:before,.empty-heading:after{content:"";height:1px;background:var(--line);width:75px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.feature{min-width:0}.feature-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;font-size:12px;font-weight:600;color:var(--accent);background:#eeedfa;border-radius:10px;margin-bottom:11px}
.feature:nth-child(2) .feature-number{background:#edf5f1;color:#447965}.feature:nth-child(3) .feature-number{background:#fcf1e8;color:#8d6841}
.feature h2{font-size:14px;font-weight:600;margin:0 0 7px}.feature p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}
.workspace{display:grid;grid-template-columns:235px minmax(0,1fr);gap:20px;align-items:start}
.section-label{font-size:12px;letter-spacing:1.2px;font-weight:600;color:var(--muted);margin:0 0 9px}
.search-form{display:flex;flex-direction:column;gap:9px}.search-form input{font-size:12px}.search-form .primary{padding:8px 14px;font-size:12px;box-shadow:none}
.search-options{font-size:12px;margin-top:15px;color:var(--muted)}
.search-option-fields{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding-top:10px}
select{min-width:0;max-width:100%;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);padding:5px 8px;font-size:12px}
.search-tip{font-size:12px;line-height:1.9;color:var(--muted);margin:13px 0 0}
.search-meta{border-top:1px solid var(--line);margin-top:19px;padding-top:14px}
.tag{display:inline-block;color:var(--muted);font-size:12px;border:1px solid var(--line);border-radius:5px;padding:2px 6px;margin:0 4px 5px 0;background:#fafbfe;overflow-wrap:anywhere}
.chapter-nav{margin-top:19px;border-top:1px solid var(--line);padding-top:18px}
.chapter-nav h3{font-size:12px;margin:0 0 10px;font-weight:550}
.chapter-list{display:flex;flex-direction:column;gap:4px;max-height:45vh;overflow:auto;margin:0;padding:0;list-style:none}
.chapter-list button{display:flex;align-items:baseline;gap:9px;width:100%;padding:7px 5px;background:transparent;color:var(--muted);font-size:12px;text-align:left;border-radius:6px;line-height:1.7}
.chapter-list button:hover{color:var(--accent);background:var(--soft)}.chapter-list .chapter-idx{color:var(--muted);font-size:12px;flex:none}
.result-panel{min-width:0;overflow:clip}
.document-head{padding:24px 27px 19px}
.document-overline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}
.source-badge{font-size:12px;letter-spacing:.3px;color:var(--accent);background:var(--soft);padding:2px 8px;border-radius:5px}
.source-link{font-size:12px;color:var(--muted)}
.document-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.document-actions select{max-width:170px}
.document-head h2{font-size:22px;line-height:1.55;font-weight:600;letter-spacing:-.4px;margin:0 0 9px;overflow-wrap:anywhere}
.video-facts{font-size:12px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.tabbar{border-top:1px solid #f1f2f7;border-bottom:1px solid var(--line);padding:0 25px;background:#fdfdff}
.tabs{display:flex;gap:22px}
.tab{position:relative;padding:15px 2px 14px;background:transparent;color:var(--muted);font-size:12px;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}
.tab:hover{color:var(--accent)}.tab.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}
.tab-count{font-size:12px;color:var(--muted);background:#f0f1f7;border-radius:4px;padding:0 4px;margin-left:5px}
.tab-count:empty{display:none}.tab.on .tab-count{color:var(--accent);background:var(--soft)}
.result-tools{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;padding:12px 25px 0}
.mini{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#fff;color:var(--muted);border:1px solid var(--line);border-radius:7px;padding:5px 10px;font-size:12px;text-decoration:none;line-height:1.7;white-space:nowrap}
.mini:hover{color:var(--accent);border-color:#d4d2ee;background:#fcfbff;text-decoration:none}
.translation-tools{padding:13px 25px;background:#fafaff;border-bottom:1px solid var(--line)}
.translation-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.translation-label{font-size:12px;font-weight:550;color:var(--muted)}.translation-row select{background:#fff;font-size:12px;padding:6px 8px}.translation-action{color:var(--accent);border-color:#dedbf6;background:#f4f2ff}.translation-view{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
.translation-message{font-size:12px;color:var(--muted);margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.translation-message.error{color:var(--err)}.translation-progress{margin:9px 0 0;height:4px}.translation-retry{margin-top:8px}.chip-static{cursor:default}.cue .tr-label{font-size:12px;opacity:.75;margin-right:6px}
.summary-pair-original,.summary-pair-translation{display:block;overflow-wrap:anywhere}.summary-pair-translation{margin-top:5px;color:var(--muted);font-weight:400}.summary-pair-label{font-size:12px;color:var(--muted);margin-right:7px;font-weight:400}.section-title .summary-pair-translation{font-size:13px}.summary-lead .summary-pair-translation{font-size:15px;line-height:1.8}
@media(max-width:700px){.translation-tools{padding:12px 18px}.translation-row{gap:8px}.translation-view{margin-left:0}.translation-label{flex-basis:100%}}
.view{padding:22px 27px 25px;min-width:0;outline:0}
.view-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}
.view-heading h3{font-size:14px;margin:0;font-weight:600}
.fulltext{max-height:66vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#dcdde9 transparent;border:1px solid #eef0f5;border-radius:11px;background:#fff;padding:8px 0}
.cue{display:flex;align-items:baseline;gap:14px;padding:8px 15px;border-left:2px solid transparent;scroll-margin-top:30px}
.cue:hover{background:#fafafe}.cue.match{background:var(--hitline)}.cue.focus{background:var(--active);border-left-color:var(--accent)}
.cue .ts{flex:0 0 62px;font-size:12px}.cue .tx{flex:1;min-width:0;font-size:14px;line-height:1.95;overflow-wrap:anywhere}.cue .tr{color:var(--muted);font-size:12px;display:block}
.selection-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:12px;background:#f7f7fd;border:1px solid var(--line);border-radius:10px}.selection-count{font-size:12px;color:var(--muted);margin-right:auto}.selection-tools .mini{background:#fff}.cue-select{accent-color:var(--accent);width:16px;height:16px;flex:none;cursor:pointer;align-self:flex-start;margin:7px 0 0}.cue.selected{background:#f5f3ff}.quota-rows{display:grid;gap:10px;margin:12px 0}
.quota-row{display:grid;gap:5px}
.quota-row .quota-label{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}
.quota-bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.quota-bar i{display:block;height:100%;background:var(--accent);border-radius:99px}
.quota-bar.spent i{background:var(--err)}
.script-toggle{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);cursor:pointer;white-space:nowrap}
.script-toggle input{accent-color:var(--accent);width:14px;height:14px;cursor:pointer;margin:0}
.cue.cue-inferred{border-left-color:#e08a00;background:#fffaf1}.cue.cue-inferred.selected{background:#f6f1ff}.cue-inferred-mark{display:inline-block;font-size:12px;line-height:1.7;color:#8a5300;background:#ffedd0;border:1px dashed #e08a00;border-radius:4px;padding:0 6px;margin-right:7px;vertical-align:1px;white-space:nowrap}.fulltext.only-inferred .cue:not(.cue-inferred){display:none}.inferred-filter{display:inline-flex;align-items:center;gap:6px;margin-left:10px;font-size:12px;cursor:pointer}.inferred-filter input{accent-color:#e08a00;width:14px;height:14px;cursor:pointer}.cue-speaker{display:block;width:fit-content;max-width:100%;font-size:12px;line-height:1.6;color:var(--accent);background:#efedff;border-radius:5px;padding:1px 7px;margin-bottom:3px;overflow-wrap:anywhere}.mini[aria-disabled="true"]{opacity:.45;cursor:not-allowed}.speaker-tools{margin-bottom:16px;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.speaker-tools>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--fg)}.speaker-help{font-size:12px;color:var(--muted);line-height:1.7;margin:10px 0}.speaker-create-panel{margin:10px 0}.speaker-create-panel>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;font-size:12px;color:var(--accent);width:fit-content;min-height:36px}.speaker-create-panel>summary::-webkit-details-marker{display:none}.speaker-create,.speaker-batch,.speaker-entry{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px}.speaker-create input,.speaker-entry input{min-width:100px;flex:1;max-width:300px;padding:8px 10px;font-size:13px}.speaker-entry{padding:8px 0;border-bottom:1px solid var(--line)}.speaker-entry input{background:#fafafe}.speaker-batch select{max-width:260px;min-width:140px;padding:7px}.annotation-status{font-size:12px;color:var(--muted);line-height:1.6;margin-top:10px}.annotation-status.error{color:var(--err)}.speaker-save-actions{display:flex;gap:8px;margin-top:8px}.speaker-save-actions:has(button:not(.hide)){margin-bottom:5px}@media(max-width:700px){.cue{gap:8px}.cue-select{width:15px;height:15px}.selection-tools{gap:7px}.selection-count{flex-basis:100%}.speaker-batch select{max-width:100%}.speaker-tools{padding:10px}.speaker-create input,.speaker-entry input{max-width:none;width:100px}.speaker-entry{gap:5px}}
a.ts{color:var(--accent);font-variant-numeric:tabular-nums;text-decoration:none}.ts:hover{text-decoration:underline}
.hintbar{font-size:12px;color:var(--muted);margin-top:13px;line-height:1.9}
.summary-masthead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 17px}
.summary-masthead h3{font-size:15px;font-weight:600;line-height:1.6;margin:0}.summary-masthead .eyebrow{font-size:12px;letter-spacing:1.2px;margin-bottom:4px;color:var(--muted)}
.summary-lead{background:#f5f4fd;border:1px solid #eeecfa;border-radius:12px;padding:19px 21px;margin:0 0 20px}
.summary-select{width:17px;height:17px;flex:none;accent-color:var(--accent);cursor:pointer;margin:0;align-self:center}.summary-overview-choice{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;margin-bottom:10px;cursor:pointer}.sec.summary-selected{background:#f7f6ff;box-shadow:inset 3px 0 var(--accent);padding-left:10px;padding-right:10px}.summary-lead.summary-selected{border-color:var(--accent)}#summarySelectionTools{margin-bottom:18px}#summarySelectionTools .mini{min-height:36px}.summary-export-status{flex-basis:100%;font-size:12px;color:var(--muted);margin:0}.summary-masthead{flex-wrap:wrap}
.sum-overview{font-size:14px;line-height:2;color:#51526e;white-space:pre-wrap;margin:0;overflow-wrap:anywhere}
.topic-label{font-size:12px;color:var(--muted);margin:0 0 9px;letter-spacing:.5px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 23px}
.chip{display:inline-block;font-size:12px;color:#69618f;background:#f7f6fe;border:1px solid #ebe9f9;border-radius:6px;padding:3px 9px;cursor:pointer;overflow-wrap:anywhere;text-align:left}
.chip:hover{color:var(--accent);border-color:#ccc8ef;background:var(--soft)}
.section-heading{display:flex;align-items:center;gap:9px;margin:25px 0 9px;padding-top:18px;border-top:1px solid var(--line)}
.section-heading h3{font-size:13px;margin:0;font-weight:600}.section-heading .section-total{font-size:12px;color:var(--muted)}.section-heading .mini{margin-left:auto;border:0;background:transparent;padding-right:0}
.sec{padding:17px 0;border-bottom:1px solid #eef0f6;scroll-margin-top:22px}.sec:last-of-type{border-bottom:0}
.sec h4{display:flex;align-items:baseline;gap:10px;margin:0 0 10px;font-size:13px}
.chapter-number{font-size:12px;color:var(--muted);width:17px;flex:none;font-weight:500}
.sec h4>.t{font-size:12px;line-height:1.8;flex:none;font-weight:500;background:#f1f0fb;color:#665d9b;border-radius:4px;padding:1px 5px;font-variant-numeric:tabular-nums}
.sec .cap{display:flex;align-items:baseline;gap:9px;min-width:0;flex:1;background:transparent;color:var(--fg);padding:0;text-align:left;font-weight:600;font-size:14px;line-height:1.8}
.sec .cap .section-title{flex:1;min-width:0;overflow-wrap:anywhere}.sec .cap:hover{color:var(--accent)}
.sec .caret{font-size:13px;color:var(--muted);transition:transform .18s;flex:none}.sec.collapsed .caret{transform:rotate(-90deg)}
.sec .n{font-size:12px;color:var(--muted);font-weight:400;white-space:nowrap;flex:none}
.sec ul{list-style:none;margin:0 0 0 27px;padding:0}
.sec li{display:flex;align-items:baseline;gap:13px;font-size:13px;line-height:1.95;color:#666c80;margin:7px 0}
.sec li .t{font-size:12px;min-width:59px;flex:none;color:var(--muted);font-variant-numeric:tabular-nums}.sec li>span:last-child{min-width:0;overflow-wrap:anywhere}
.sec .chips{margin:11px 0 0;padding-left:100px}.sec .chip{font-size:12px;background:#fafaff;color:#716d91;border-color:#efeff5;padding:1px 6px}
.sec.collapsed ul,.sec.collapsed .chips,.sec.collapsed .failed-note{display:none}.sec.collapsed h4{margin:0}
.sec.failed .cap{color:var(--muted)}.failed-note{font-size:12px;color:var(--warn);margin-left:27px}
.summary-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:24px;border-top:1px solid var(--line);padding-top:17px;font-size:12px;color:var(--muted)}
.center{text-align:center;padding:48px 20px;color:var(--muted)}
.empty-symbol{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:15px;background:var(--soft);color:var(--accent);font-size:22px;margin:0 auto 17px}
.center h3{font-size:18px;color:var(--fg);font-weight:550;margin:0 0 10px}.center p{font-size:12px;line-height:1.9;margin:0 0 20px}.center button{margin-top:2px}
.center .small-note{font-size:12px;margin:13px 0 0;color:var(--muted)}
.summary-error{margin:0 0 18px;text-align:left}.center .summary-error{max-width:560px;margin:0 auto 18px}
.sum-progress{max-width:510px;margin:auto;padding:38px 20px}.sum-percent{font-size:42px;line-height:1.4;letter-spacing:-1px;color:var(--accent);font-weight:550;font-variant-numeric:tabular-nums;margin:13px 0 7px}
.sum-progress .bar{height:6px;margin:21px 0 18px}.sum-progress .status{font-size:12px}
.progress-orbit{width:35px;height:35px;border-radius:50%;border:2px solid #eae8fb;border-top-color:var(--accent);margin:0 auto 17px;animation:spin 1.2s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:10px}
table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.9;min-width:480px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:550;background:#fafbfe}
tbody tr:last-child td{border-bottom:0}td.t{white-space:nowrap;font-variant-numeric:tabular-nums}.hitrow{cursor:pointer}.hitrow:hover{background:#faf9ff}
mark{background:var(--hit);color:inherit;border-radius:3px;padding:0 1px}.ctx{font-size:12px;color:var(--muted);white-space:pre-wrap;margin-top:5px;overflow-wrap:anywhere}
.footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:49px 0 0;padding-top:19px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.footer strong{color:var(--muted);font-weight:550}.footer-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#b8b2e9;margin:0 8px 2px}
:is(.has-video,.workspace-mode) .hero{padding:14px 0 24px}:is(.has-video,.workspace-mode) .hero h1{font-size:28px;margin-bottom:7px}:is(.has-video,.workspace-mode) .hero .eyebrow{display:none}:is(.has-video,.workspace-mode) .sub{font-size:12px}
:is(.has-video,.workspace-mode) .capture{max-width:none;padding:19px 24px;margin-bottom:22px}:is(.has-video,.workspace-mode) .capture-head{margin-bottom:10px}:is(.has-video,.workspace-mode) #url{height:47px}
dialog{width:min(540px,calc(100% - 32px));border:1px solid var(--line);border-radius:18px;padding:26px;color:var(--fg);box-shadow:0 20px 80px #25293d25}
dialog::backdrop{background:#25293d55;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px}dialog h2{font-size:19px;margin:0}
dialog ol{padding-left:21px;font-size:13px;color:var(--muted)}dialog li{padding:7px 0}dialog p{font-size:12px;color:var(--muted)}
@media(min-width:1500px){.wrap{max-width:1250px}.workspace{grid-template-columns:245px minmax(0,1fr)}}
@media(max-width:900px){.wrap{padding:8px 22px 35px}.workspace{grid-template-columns:200px minmax(0,1fr);gap:15px}.capture{padding:22px}.document-head{padding:20px}.view{padding:21px 20px}.result-tools{padding:12px 20px 0}.tabbar{padding:0 20px}.sec .n{display:none}}
@media(max-width:700px){.wrap{padding:0 16px 28px}.hero{padding:25px 5px 27px}.eyebrow{font-size:12px;margin-bottom:12px}h1{font-size:29px;letter-spacing:-1px}.sub{font-size:12px;max-width:270px;margin:auto}.capture{padding:20px 17px;border-radius:15px;margin-bottom:22px}.input-row{flex-direction:column;gap:10px}.input-row>.primary{height:45px}.capture-head{margin-bottom:13px}.capture-note{display:none}.capture-foot{margin-top:12px}#url{font-size:12px;height:48px}.link-symbol{top:10px}.option-list{gap:11px}.empty-state{padding:0 8px;margin:30px auto}.feature-grid{grid-template-columns:1fr;gap:24px}.feature{display:grid;grid-template-columns:38px minmax(0,1fr);gap:0 13px}.feature-number{grid-row:1/3;margin-top:2px}.feature h2{font-size:13px;margin:0 0 4px}.feature p{font-size:12px}.empty-heading{font-size:12px;margin-bottom:25px}.empty-heading:before,.empty-heading:after{width:35px}.workspace{grid-template-columns:minmax(0,1fr);gap:16px}.search-meta,.chapter-nav{display:none}.search-form{flex-direction:row;gap:8px}.search-form input{flex:1;min-width:0}.search-form .primary{padding:8px 14px}.search-options{margin-top:11px}.document-head{padding:20px 18px 16px}.document-head h2{font-size:18px}.document-overline{margin-bottom:10px}.document-actions{gap:7px}.document-actions select{max-width:128px}.tabbar{padding:0 17px}.tabs{justify-content:space-between;gap:12px}.tab{font-size:12px;padding:13px 0}.result-tools{justify-content:flex-start;padding:12px 17px 0;gap:6px}.mini{font-size:12px;padding:5px 8px}.view{padding:20px 17px}.summary-masthead h3{font-size:14px}.summary-lead{padding:15px}.sum-overview{font-size:13px;line-height:1.95}.section-heading{margin-top:20px}.section-heading h3{font-size:12px}.sec h4{gap:7px}.chapter-number{display:none}.sec .cap{font-size:13px;gap:6px}.sec h4>.t{font-size:12px}.sec ul{margin:0}.sec li{gap:9px;font-size:13px}.sec li .t{min-width:49px;font-size:12px}.sec .chips{padding-left:58px}.summary-footer{align-items:flex-start;font-size:12px}.cue{padding:8px 8px;gap:8px}.cue .ts{font-size:12px;flex-basis:55px}.cue .tx{font-size:13px}.view-heading{align-items:flex-start;flex-direction:column;gap:4px}.view-heading h3{font-size:13px}.fulltext{max-height:65vh}.center{padding:34px 6px}.center h3{font-size:16px}.sum-percent{font-size:38px}.footer{margin-top:32px;font-size:12px;flex-wrap:wrap;justify-content:center}.footer>span:last-child{display:none}:is(.has-video,.workspace-mode) .hero{padding:10px 0 20px}:is(.has-video,.workspace-mode) .hero h1{font-size:23px}:is(.has-video,.workspace-mode) .capture{padding:17px}:is(.has-video,.workspace-mode) .sub{font-size:12px}:is(.has-video,.workspace-mode) .capture-head label{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.cue-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0;font-size:12px;color:var(--muted)}.cue-page-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.cue-page-actions label{display:flex;align-items:center;gap:6px}.cue-page-actions input{width:65px;padding:7px;font-size:12px}.cue-pager[aria-busy="true"]{opacity:.65}@media(max-width:700px){.cue-page-actions{width:100%;justify-content:space-between}.cue-page-actions .mini{padding:7px 9px}.cue-pager{gap:8px}}
.speaker-section-title{font-size:13px;font-weight:600;margin:0 0 12px}.speaker-edit-panel{margin:16px 0}.speaker-edit-panel>summary{display:flex;gap:7px;align-items:center;cursor:pointer;font-size:13px;font-weight:600;list-style:none}.speaker-edit-panel>summary::-webkit-details-marker{display:none}.speaker-detect-primary{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;padding:9px 16px!important;font-weight:600}.speaker-auto{padding:13px 14px;background:#fafaff;border:1px solid var(--line);border-radius:9px;margin:12px 0 16px}.speaker-auto-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.speaker-auto-head h3{font-size:12px;margin:0 0 3px;font-weight:600}.speaker-auto-head .speaker-help{margin:0}.speaker-auto-head>button{flex-shrink:0;margin-top:2px}.speaker-auto-actions{display:flex;gap:14px;font-size:12px}.speaker-suggestions{display:flex;gap:7px;flex-wrap:wrap;max-height:185px;overflow-y:auto}.speaker-suggestion{display:flex;flex-direction:column;gap:2px;border:1px solid #e4e1f7;border-radius:8px;background:#fff;padding:6px 9px;font-size:12px;max-width:100%;overflow-wrap:anywhere}.speaker-suggestion small{color:var(--muted);font-size:12px}.speaker-auto .bar{margin:9px 0}#speakerDetectionStatus,#speakerDetectionDetail{overflow-wrap:anywhere}#speakerDetectionDetail{margin:5px 0 9px}.speaker-auto .annotation-status.error{color:var(--err)}.speaker-role{max-width:220px!important}.speaker-entry{align-items:center}.speaker-auto #applySpeakerDetection{margin-top:3px;background:var(--soft);color:var(--accent);border-color:#d7d3f4}@media(max-width:700px){.speaker-auto{padding:11px}.speaker-auto-head{flex-direction:column;gap:7px}.speaker-create{align-items:stretch}.speaker-create input{flex-basis:calc(50% - 8px)}.speaker-entry .speaker-name,.speaker-entry .speaker-role{flex-basis:calc(50% - 8px);max-width:none!important}.speaker-suggestions{max-height:170px}}
.speaker-identity-list{display:grid;gap:9px;max-height:330px;overflow-y:auto}.speaker-identity{padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px}.speaker-identity-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;overflow-wrap:anywhere}.speaker-identity blockquote{margin:5px 0 10px;padding-left:10px;border-left:2px solid #dedaf5;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.speaker-identity small{display:block;margin-top:6px;font-size:12px;color:var(--muted)}#speakerIdentityHints h4{margin:17px 0 5px;font-size:12px}.speaker-identity button{font-size:12px}
.speaker-merge{border:1px solid #dedbf3;border-radius:10px;padding:12px 14px;background:#f8f7ff;margin:14px 0}.speaker-merge>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--accent)}.speaker-merge-target-label{display:block;margin:12px 0 5px;font-size:12px;font-weight:600}.speaker-merge>select{width:100%;max-width:480px;padding:9px}.speaker-merge-choices{border:0;padding:0;margin:12px 0;min-width:0}.speaker-merge-choices legend{font-size:12px;font-weight:600;margin-bottom:8px}#speakerMergeChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:340px;overflow-y:auto}.speaker-merge-choice{display:flex;gap:9px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer;min-width:0}.speaker-merge-choice:has(input:checked){border-color:var(--accent);background:#f1efff}.speaker-merge-choice>input{width:16px;height:16px;flex:none;margin:3px 0;accent-color:var(--accent)}.speaker-merge-choice>span{min-width:0;overflow-wrap:anywhere}.speaker-merge-choice strong{font-size:12px}.speaker-merge-choice small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.speaker-merge-sample{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.speaker-merge-sample time{color:var(--accent);margin-right:6px}.speaker-merge-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.speaker-merge-actions>button{background:var(--accent);color:#fff}.speaker-merge .annotation-status:empty{display:none}@media(max-width:700px){.speaker-merge{padding:10px}#speakerMergeChoices{grid-template-columns:1fr;max-height:330px}.speaker-merge-target-label{line-height:1.6}.speaker-merge-actions{align-items:stretch}.speaker-merge-actions>button{min-height:40px}.speaker-merge-actions>span{flex-basis:100%}}
.speaker-alignment-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.speaker-alignment-controls>label{font-size:12px}.speaker-alignment-controls>input{width:64px;padding:8px}.speaker-alignment-group{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:10px;min-width:0}.speaker-alignment-group h4{margin:0 0 4px;font-size:13px}.speaker-alignment-group select{width:100%;max-width:420px;padding:8px}.speaker-alignment-samples{display:flex;gap:10px;flex-wrap:wrap;margin:7px 0;font-size:12px}.speaker-alignment-group label{display:block;font-size:12px;margin:7px 0 4px}.speaker-alignment-group p{overflow-wrap:anywhere}#speakerAlignmentProgress i{transition:width .2s}#speakerAlignmentStatus,#speakerAlignmentDetail{overflow-wrap:anywhere}@media(max-width:700px){.speaker-alignment-controls>button{flex-basis:100%;min-height:40px}.speaker-alignment-group{padding:10px}.speaker-alignment-samples{gap:8px}}
 .speaker-editor-picker{display:flex;align-items:center;gap:10px;margin-top:16px}.speaker-editor-picker label{font-size:12px;color:var(--muted);flex:none}.speaker-editor-picker select{min-width:160px;width:320px;max-width:100%;font-size:13px;padding:8px 10px}.speaker-editor-picker+#speakerList .speaker-entry{border-bottom:0;margin-top:4px}.cue-speaker-controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:5px;max-width:100%}.cue-speaker-controls .cue-speaker{display:inline-block;margin:0}.cue-speaker-select{font-size:12px;line-height:1.5;padding:2px 22px 2px 7px;min-width:95px;max-width:190px;width:auto;height:auto;color:var(--muted);background-color:#fff;border:1px solid var(--line);border-radius:5px;cursor:pointer}.cue-speaker-select:disabled{cursor:default;opacity:.6}@media(max-width:700px){.speaker-editor-picker{align-items:flex-start;flex-direction:column;gap:5px}.speaker-editor-picker select{width:100%;min-width:0}.cue-speaker-select{max-width:150px}.cue-speaker-controls{gap:5px}}

.speaker-tools summary::before{content:"›";display:inline-block;flex:none;transition:transform .16s}.speaker-tools details[open]>summary::before,.speaker-tools[open]>summary::before{transform:rotate(90deg)}
.selection-tools #resultTools{padding:0;margin-left:auto;justify-content:flex-start;flex-wrap:wrap}.selection-tools #exportStatus{flex-basis:100%;margin:0}.selection-tools .selection-count{flex-basis:100%}.speaker-auto>summary{font-size:13px;font-weight:600;color:var(--accent);padding:2px 0}.speaker-auto[open]>summary{margin-bottom:10px}.speaker-raw-details{margin:12px 0}.speaker-raw-details>summary{font-size:12px;color:var(--muted)}.speaker-delete-prompt{padding:10px 12px;margin-top:9px;background:#fff6f5;border:1px solid #edd4d0;border-radius:8px;font-size:12px;line-height:1.7}.speaker-delete-prompt p{margin:0 0 8px}.speaker-delete-prompt>div,.library-empty-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.speaker-delete-prompt>div{justify-content:flex-start}#speakerDeleteConfirm{color:var(--err)}#cueSpeakerHelp{margin:0 0 10px;line-height:1.7}.account-form small{font-size:12px;line-height:1.5}.auth-providers{display:flex;flex-direction:column;gap:10px;margin:18px 0 6px}.auth-provider{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:42px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--fg);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s}.auth-provider:hover{border-color:var(--accent)}.auth-provider svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.google-slot{display:flex;justify-content:center;min-height:44px}.auth-or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:6px 0 0}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--line)}.auth-note{font-size:12px;line-height:1.65;margin:0}.terms-gate{margin:16px 0 2px}.terms-gate label{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.6;cursor:pointer;white-space:normal}.terms-gate input{margin-top:3px;flex-shrink:0}.terms-gate a{font-weight:600}.footer-legal{display:flex;gap:14px;flex-wrap:wrap}
.aigc-mark{display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:1.7;color:#8a5300;background:#fff3dc;border:1px solid #e8c88a;border-radius:5px;padding:1px 8px;white-space:nowrap;vertical-align:1px}
.summary-masthead .aigc-mark{margin-left:10px}
.translation-row .aigc-mark{margin-left:2px}
.consent-recipients{margin:12px 0;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.consent-recipient{padding:10px 12px;font-size:12px;line-height:1.7}
.consent-recipient+.consent-recipient{border-top:1px solid var(--line)}
.consent-recipient b{font-size:13px}
.consent-recipient span{color:var(--muted)}
.consent-note{font-size:12px;color:var(--muted);line-height:1.7}
.consent-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
dialog .chk{white-space:normal;align-items:flex-start;overflow-wrap:anywhere}
dialog .chk input{flex:0 0 auto;margin-top:.35em}
dialog .consent-actions{flex-wrap:wrap}
.consent-primary{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;font-weight:600}
@media(max-width:700px){.mini{min-height:36px;font-size:12px}.selection-tools #resultTools{margin-left:0;flex-basis:100%}.selection-tools #resultTools .mini{display:inline-flex;align-items:center;justify-content:center}.cue-speaker-select{min-height:36px;font-size:12px;max-width:170px}.speaker-batch select,.speaker-editor-picker select,.translation-row select,.speaker-alignment-controls input{min-height:38px;font-size:12px}.cue-page-actions .mini{min-height:36px}.speaker-tools>summary{line-height:1.7}.speaker-auto>summary,.speaker-raw-details>summary{min-height:36px}#cueSpeakerHelp{font-size:12px}.speaker-create,.speaker-entry{gap:8px}}

.fulltext{max-height:none;overflow:visible}.chapter-list{max-height:none;overflow:visible}.selection-tools{position:sticky;top:8px;z-index:4;box-shadow:0 3px 12px #25293d0a}.speaker-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.speaker-detect-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;max-width:100%}.speaker-count-field{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted)}.speaker-count-field input{width:76px;min-height:38px;padding:6px 8px;font:inherit;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg)}.speaker-tools{padding:10px 14px}.speaker-tools #speakerToolsBody:not(.hide){padding-top:10px}.existing-summary{padding:14px;background:var(--soft);border-radius:10px;color:var(--fg);font-size:14px}.preflight-card{margin-top:12px}.preflight-card .preflight-heading{margin:0 0 6px;font-weight:650}.preflight-card .preflight-next{margin:0 0 12px}.preflight-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.preflight-actions .text-btn{color:var(--accent);font-weight:550}.input-row:has(~#preflightResult)>#go{background:var(--surface);color:var(--accent);box-shadow:none;border:1px solid var(--line)}.input-row:has(~#preflightResult)>#go:hover:not(:disabled){background:var(--accent-soft)}.preflight-subject{margin:0 0 8px;overflow-wrap:anywhere}.preflight-subject strong{font-weight:600}.preflight-retained{margin:0 0 8px;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.cue,.view{scroll-margin-top:100px}.footer,.small-note,.annotation-status,.speaker-help,.capture-note,.account-muted,.hintbar{font-size:12px;line-height:1.65}.account-card>h2,.account-page-head h2{font-size:28px;line-height:1.3}@media(max-width:700px){.fulltext{max-height:none}.selection-tools{top:0;padding:8px}.footer,.small-note,.annotation-status,.speaker-help,.account-muted{font-size:12px}.speaker-toolbar{gap:8px}.speaker-detect-primary{padding:7px 10px!important}}
.mini,.cue .ts,.sec li .t,.sec h4>.t{font-size:12px}.mini{min-height:34px}.document-actions{flex-wrap:wrap}.document-overline{align-items:flex-start}.source-badge{flex-shrink:0}
.selection-toolbar-primary,.selection-more-actions,.selection-quick-actions{display:contents}
.selection-toolbar-toggle,.selection-count-narrow{display:none}
.selection-tools #allExportScope:not(.hide){display:block;flex-basis:100%;margin:0;font-size:12px;color:var(--muted)}
@media(max-width:800px){
  .selection-tools{display:block;top:0;padding:8px}
  .selection-toolbar-primary{display:flex;align-items:center;gap:6px;min-width:0}
  .selection-tools .selection-count{display:block;flex:1 1 auto;min-width:0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .selection-count-wide{display:none}.selection-count-narrow{display:inline}
  .selection-toolbar-toggle{display:inline-flex;flex:0 0 auto;min-height:36px;padding:5px 9px;color:var(--fg)}
  .selection-toolbar-toggle[aria-expanded="true"]{border-color:var(--accent);color:var(--accent);background:#fff}
  .selection-tools #selectionMoreActions,.selection-tools #selectionQuickActions,.selection-tools #resultTools{display:none;width:100%;margin:8px 0 0;padding:8px 0 0;border-top:1px solid var(--line);align-items:center;justify-content:flex-start;gap:6px;flex-wrap:wrap}
  .selection-tools.has-selection #selectionQuickActions,.selection-tools[data-panel="more"] #selectionMoreActions,.selection-tools[data-panel="export"] #resultTools{display:flex}
  .selection-tools #exportStatus:not(.hide){display:block;margin:8px 0 0}
}


.account-page{max-width:1180px;margin:16px auto;padding:0 30px 45px}.auth-card{max-width:430px;margin:48px auto;padding:30px}.auth-card h1,.auth-card h2{font-size:27px;letter-spacing:-.5px}.account-muted{color:var(--muted);font-size:12px;line-height:1.8}.account-form{display:grid;gap:15px;margin-top:22px}.account-form label{display:grid;gap:6px;font-size:12px}.account-form input,.account-form textarea{width:100%;min-width:0;border:1px solid var(--line);background:#fafbfe;color:var(--fg);border-radius:9px;padding:11px 12px;outline:none;font:inherit}.account-form input:focus,.account-form textarea:focus{border-color:#9692ed;box-shadow:0 0 0 3px #6261d914}.account-form .chk{display:flex;flex-direction:row;gap:8px}.account-form .chk input{width:15px;padding:0}.account-message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:var(--muted)}.account-message.error{color:var(--err)}.account-message.success{color:var(--ok)}.account-page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.account-page-head h1,.account-page-head h2{font-size:27px;margin:0}.library-tabs{display:flex;gap:8px;flex-wrap:wrap}.library-tabs .on{background:var(--soft);color:var(--accent);border-color:#d5d2f3}.library-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0}.library-list{display:grid;gap:13px}.library-card{padding:20px 23px;display:flex;gap:20px;justify-content:space-between;align-items:flex-start}.library-card-main{min-width:0;flex:1}.library-card h2{font-size:15px;line-height:1.7;margin:7px 0;overflow-wrap:anywhere}.library-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}.library-status{padding:2px 7px;border-radius:5px;background:var(--soft);color:var(--accent)}.library-status.done{background:#edf7f2;color:var(--ok)}.library-status.error{background:#fff0f1;color:var(--err)}.library-card-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;max-width:220px}.library-progress{height:4px;background:#eeeefa;border-radius:5px;margin-top:12px;overflow:hidden;max-width:500px}.library-progress i{display:block;background:var(--accent);height:100%}.library-empty{padding:55px 20px;text-align:center}.account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:20px;align-items:start}.account-section{padding:24px}.account-section h2{font-size:16px;margin:0 0 10px}.admin-rows{display:grid;gap:9px;margin:18px 0}.admin-row{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line)}.admin-row>span{overflow-wrap:anywhere;min-width:0}/* 账号管理这一块现在每行有五项信息 + 六个按钮，挤在半栏里会把按钮压成两行。
   让它横跨整行：右半栏在它上方本来就是空的。窄屏 account-grid 已经是单列，
   这一条在那里是空操作。 */
#adminSection{grid-column:1/-1}
.admin-buttons{display:flex;gap:6px;flex-wrap:wrap}
/* 登录记录是点开才看的，默认折起来；展开后占满整行，不去挤按钮那一列。 */
.speaker-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0;font-size:13px}.speaker-filter select{min-height:40px;max-width:100%;padding:7px 10px}.speaker-filter label{font-weight:600}
.admin-waitlist{margin:24px 0;padding-bottom:24px;border-bottom:1px solid var(--line)}
.admin-waitlist-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}.admin-waitlist-toolbar input{flex:1;min-width:140px;max-width:100%;padding:8px 10px}.admin-waitlist-email{overflow-wrap:anywhere}.admin-account-times{display:block;margin-top:6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.admin-logins,.admin-audit{flex-basis:100%;margin:4px 0 2px;padding:8px 10px;background:var(--surface-2,#f4f5fb);border-radius:8px;font-size:12px;line-height:1.9}
.admin-login-row{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.admin-login-bad{color:var(--danger,#b4443a)}
.admin-logins .account-muted,.admin-audit .account-muted{margin:6px 0 0}.token-output{width:100%;min-height:80px;overflow-wrap:anywhere;resize:vertical;font-size:12px}.auth-back{margin-top:12px}.account-loading{text-align:center;padding:65px 20px}.account-banner{background:#f1effb;padding:11px 15px;border-radius:8px;color:var(--muted);font-size:12px;margin-bottom:18px}.account-form .primary{width:100%}
@media(max-width:700px){.account-page{padding:0 16px 25px;margin-top:10px}.auth-card{padding:24px;margin:23px auto}.account-grid{grid-template-columns:1fr}.account-section{padding:20px}.library-card{padding:17px;flex-direction:column;gap:12px}.library-card-actions{max-width:none;justify-content:flex-start}.account-page-head h1,.account-page-head h2{font-size:23px}}
.mini,.cue .ts,.sec li .t,.sec h4>.t{font-size:12px}.mini{min-height:34px}.document-actions{flex-wrap:wrap}.document-overline{align-items:flex-start}.source-badge{flex-shrink:0}


.locale-control{display:inline-flex;align-items:center;flex-shrink:0}.locale-trigger{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:12px;white-space:nowrap}.locale-trigger:hover,.locale-trigger[aria-expanded="true"]{background:var(--soft);border-color:#d7d3f4;color:var(--accent)}.locale-trigger svg{width:17px;height:17px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.locale-trigger .locale-chevron{width:12px;height:12px;transition:transform .15s}.locale-trigger[aria-expanded="true"] .locale-chevron{transform:rotate(180deg)}.locale-menu{position:fixed;z-index:80;width:204px;max-width:calc(100vw - 24px);padding:7px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 12px 35px #25293d18}.locale-menu[hidden]{display:none!important}.locale-menu-title{margin:3px 9px 7px;color:var(--muted);font-size:12px;letter-spacing:.04em}.locale-option{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:var(--fg,#262b40);font-size:13px;text-align:left}.locale-option:hover,.locale-option:focus-visible{background:#f7f7fc}.locale-option[aria-checked="true"]{background:var(--soft);color:var(--accent);font-weight:600}.locale-check{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;visibility:hidden}.locale-option[aria-checked="true"] .locale-check{visibility:visible}.hero-capabilities{display:flex;justify-content:center;flex-wrap:wrap;gap:9px 18px;margin:17px 0 0;color:var(--muted);font-size:12px}.hero-capabilities span{display:inline-flex;align-items:center;gap:6px}.hero-capabilities svg{width:14px;height:14px;stroke:var(--accent);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}:is(.has-video,.workspace-mode) .hero-capabilities{display:none}.capture-foot .options>summary{padding:3px 0}.capture-foot .options[open]{flex:1}.capture-foot .option-list{padding:12px 0 3px;border-top:1px solid var(--line);margin-top:9px}.capture:focus-within{border-color:#d4d1ed}.capture-head label{letter-spacing:.01em}@media(max-width:700px){.hero-capabilities{gap:8px 13px;font-size:12px;margin-top:13px}.locale-trigger{min-height:36px;padding:6px 9px}.locale-option{padding:11px}}

:lang(en) .translation-toolbar{row-gap:10px}:lang(en) .primary{white-space:normal}
.mini,.cue .ts,.sec li .t,.sec h4>.t{font-size:12px}.mini{min-height:34px}.document-actions{flex-wrap:wrap}.document-overline{align-items:flex-start}.source-badge{flex-shrink:0}


/* ===== 首页 v2 版块（来自 deploy/design/homepage-v2-prototype.html） =====
   类名前缀 hp-、元素选择器限定 .hp，都是为了和现有工作台样式互不干扰；
   深色模式与 Google 字体按需求不带入。改这里的样式请对着那份原型改，两边别走散 */

.hp{margin:0;color:var(--ink);font-family:"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
.hp a{color:inherit}
.hp h1, .hp h2, .hp h3, .hp h4{margin:0;font-weight:700;line-height:1.25;text-wrap:balance;letter-spacing:-.01em}
.hp-nb{white-space:nowrap}
.hp p{margin:0}
.hp ul{margin:0;padding:0;list-style:none}
.hp svg{display:block}
.hp :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion: reduce){.hp *{transition:none!important;animation:none!important}}
.hp-section{padding-block:clamp(44px,5.5vw,64px)}
.hp-section.hp-alt{background:var(--surface);box-shadow:0 0 0 100vmax var(--surface);clip-path:inset(0 -100vmax)}
.hp-sec-head{max-width:680px;margin-bottom:clamp(24px,4vw,40px)}
.hp-eyebrow{display:inline-block;font-size:13px;letter-spacing:.12em;color:var(--accent-ink);font-weight:600;margin-bottom:10px}
.hp-sec-head h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:10px}
.hp-sec-head p{color:var(--ink-2);font-size:17px;max-width:60ch}
.hp-ico{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:10px;font-weight:600;border:1px solid transparent;text-decoration:none;cursor:pointer;font-size:15px;line-height:1.2;font-family:inherit;white-space:nowrap;transition:background .15s,border-color .15s}
.hp-btn-primary{background:var(--accent);color:var(--on-accent)}
.hp-btn-primary:hover{background:var(--accent-strong)}
.hp-btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.hp-btn-ghost:hover{background:var(--surface-2)}
.hp-btn-lg{padding:14px 26px;font-size:16px;border-radius:12px}
.hp-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);line-height:1.5;white-space:nowrap}
.hp-tag.hp-free{background:var(--leaf-soft);color:var(--leaf-ink)}
.hp-tag.hp-ai{background:var(--accent-soft);color:var(--accent-ink)}
.hp-tag.hp-soon{background:var(--amber-soft);color:var(--amber-ink)}
.hp-tag.hp-asr{background:var(--amber-soft);color:var(--amber-ink)}
.hp-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:13.5px;color:var(--ink-2);font-weight:500}
.hp-badge i{width:7px;height:7px;border-radius:50%;background:var(--leaf);flex:none}
.hp-badge i.hp-indigo{background:var(--accent)}
.hp-announce{background:var(--accent-soft);color:var(--accent-ink);font-size:13.5px;text-align:center;padding:8px 16px;border-bottom:1px solid var(--line)}
.hp-announce b{font-weight:600}
.hp-nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hp-nav .hp-wrap{display:flex;align-items:center;gap:28px;min-height:64px}

.hp-nav-links{display:flex;gap:26px;font-size:15px;font-weight:500;color:var(--ink-2)}
.hp-nav-links a{text-decoration:none;padding:6px 0}
.hp-nav-links a:hover{color:var(--ink)}
.hp-nav-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.hp-lang{display:inline-flex;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden;font-size:13px;font-weight:600}
.hp-lang span{padding:5px 9px;color:var(--muted)}
.hp-lang span.hp-on{background:var(--surface-2);color:var(--ink)}
@media (max-width:960px){.hp-nav-links{display:none}}
@media (max-width:520px){.hp-lang{display:none}.hp-nav .hp-wrap{gap:14px}}
.hp-hero{padding-block:clamp(40px,6vw,72px) clamp(40px,6vw,64px);position:relative;overflow:hidden}
.hp-hero::before{content:"";position:absolute;inset:auto -10% -40% auto;width:60%;height:70%;background:radial-gradient(closest-side,var(--accent-soft),transparent 70%);pointer-events:none;opacity:.9}
.hp-hero .hp-wrap{position:relative}
.hp-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,4vw,56px);align-items:center}
@media (max-width:1000px){.hp-hero-grid{grid-template-columns:1fr}}

.hp-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.hp-launch{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.hp-launch-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.hp-launch-top h3{font-size:15.5px;font-weight:600}
.hp-chips{display:flex;gap:6px;flex-wrap:wrap}
.hp-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);background:var(--surface-2)}
.hp-chip i{width:8px;height:8px;border-radius:50%;flex:none}
.hp-chip .hp-bili{background:var(--bili)}
.hp-chip .hp-yt{background:var(--yt)}
.hp-launch-row{display:flex;gap:10px}
.hp-launch-row .hp-field{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:12px;padding:0 14px;background:var(--bg);color:var(--muted);font-size:15px;height:50px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.hp-launch-row .hp-field svg{flex:none;width:18px;height:18px}
.hp-launch-row .hp-btn{height:50px;border-radius:12px;flex:none}
@media (max-width:480px){.hp-launch-row{flex-direction:column}.hp-launch-row .hp-btn{width:100%}}
.hp-opts{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:13px;color:var(--muted)}
.hp-opts span b{color:var(--ink-2);font-weight:600}
.hp-sw{display:inline-block;width:26px;height:15px;border-radius:999px;background:var(--accent);position:relative;vertical-align:-3px;margin-left:5px}
.hp-sw::after{content:"";position:absolute;top:2px;left:13px;width:11px;height:11px;border-radius:50%;background:var(--on-accent)}
.hp-examples{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.hp-examples a{text-decoration:none;color:var(--accent-ink);background:var(--accent-soft);padding:3px 10px;border-radius:999px;font-weight:500;display:inline-flex;align-items:center;gap:6px;max-width:100%}
.hp-examples a i{width:7px;height:7px;border-radius:50%;flex:none}
.hp-examples a i.hp-bili{background:var(--bili)}
.hp-examples a i.hp-yt{background:var(--yt)}
.hp-examples a small{color:var(--muted);font-weight:500}
.hp-examples a.hp-on{background:var(--accent);color:var(--on-accent)}
.hp-examples a.hp-on small{color:inherit;opacity:.8}
.hp-examples a:hover{filter:brightness(.96)}
.hp-trust{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:16px;font-size:13px;color:var(--muted)}
.hp-trust span{display:inline-flex;align-items:center;gap:6px}
.hp-trust svg{width:14px;height:14px;color:var(--leaf)}
.hp-app{border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden;font-size:13px;position:relative}
.hp-app-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.hp-dots{display:flex;gap:5px}
.hp-dots i{width:9px;height:9px;border-radius:50%;background:var(--line-strong)}
.hp-app-bar .hp-ttl{font-weight:600;color:var(--ink-2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}
.hp-app-bar .hp-meta{margin-left:auto;color:var(--muted);white-space:nowrap;font-size:12px}
.hp-app-tabs{display:flex;flex-wrap:wrap;gap:2px;padding:8px 12px 0;border-bottom:1px solid var(--line)}
.hp-app-tabs button{font:inherit;border:0;background:transparent;cursor:pointer;min-height:44px;padding:6px 12px;border-radius:8px 8px 0 0;color:var(--muted);font-weight:500;white-space:nowrap}
.hp-app-tabs button.hp-on{color:var(--accent-ink);border-bottom:2px solid var(--accent);font-weight:600}
.hp-app-body{display:grid;grid-template-columns:1.4fr 1fr;min-height:0}
@media (max-width:640px){.hp-app-body{grid-template-columns:1fr}.hp-app-side{border-left:0;border-top:1px solid var(--line)}}
.hp-app-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.hp-app-body.hp-single-column{grid-template-columns:1fr}
.hp-app-side[hidden]{display:none}
.hp-panel-heading{font-size:16px;margin:0 0 10px}
.hp-panel-note{font-size:13px;color:var(--muted);margin:0 0 12px}
.hp-demo-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.hp-demo-controls input{flex:1 1 160px;min-width:0;max-width:100%}
.hp-demo-controls input,.hp-demo-controls select{font:inherit;min-height:44px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink)}
.hp-demo-controls label{font-weight:600;max-width:100%}
.hp-demo-controls select{max-width:100%}
.hp-demo-controls .btn{white-space:normal}
.hp-app .hp-ch a{display:flex;align-items:baseline;gap:8px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink-2);text-decoration:none;min-width:0;overflow-wrap:anywhere}
.hp-app .hp-ch a span{display:block;min-width:0;border:0;padding:0;background:none}
.hp-app .hp-ch a i{font-style:normal;color:var(--accent-ink);flex:none}
.hp-app .hp-ch a b{margin-left:auto;color:var(--accent-ink);white-space:nowrap;font-weight:500}
.hp-app-main{padding:12px;min-width:0}
.hp-app-side{padding:12px;border-left:1px solid var(--line);background:var(--surface-2);min-width:0}
.hp-srch{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:9px;padding:6px 10px;background:var(--bg);margin-bottom:8px}
.hp-srch svg{width:14px;height:14px;color:var(--muted);flex:none}
.hp-srch b{font-weight:600;color:var(--ink)}
.hp-srch .hp-n{margin-left:auto;color:var(--accent-ink);font-weight:600;white-space:nowrap;font-size:12px}
.hp-cue{display:grid;grid-template-columns:16px max-content minmax(0,1fr);gap:8px;padding:7px 8px;border-radius:8px;align-items:start;overflow-wrap:anywhere}
.hp-cue+.hp-cue{margin-top:2px}
.hp-cue.hp-hit{background:var(--accent-soft)}
.hp-cue .hp-cb{width:14px;height:14px;border:1.5px solid var(--line-strong);border-radius:4px;margin-top:3px;background:var(--surface)}
.hp-cue .hp-cb.hp-on{background:var(--accent);border-color:var(--accent);position:relative}
.hp-cue .hp-cb.hp-on::after{content:"";position:absolute;left:4px;top:1px;width:3px;height:7px;border:solid var(--on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}
.hp-cue .hp-t{font-variant-numeric:tabular-nums;color:var(--accent-ink);font-size:11.5px;font-weight:600;margin-top:1px;white-space:nowrap}
.hp-cue .hp-zh{color:var(--ink);line-height:1.45;font-size:12.5px}
.hp-cue .hp-zh, .hp-cue .hp-en{display:block}
.hp-cue .hp-en{color:var(--muted);font-size:11.5px;line-height:1.4;margin-top:2px}
.hp-spk{display:inline-block;font-size:11px;padding:0 6px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);margin-right:5px;border:1px solid var(--line);vertical-align:1px}
.hp-speaker-toolbar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:10px;padding:12px;background:var(--accent-soft);border:1px solid var(--line);border-radius:10px}
.hp-speaker-toolbar strong,.hp-speaker-toolbar p{flex-basis:100%;margin:0}
.hp-speaker-toolbar label{font-weight:600;color:var(--ink)}
.hp-speaker-toolbar select{max-width:100%;min-height:44px;font:inherit;padding:8px 28px 8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink)}
.hp-speaker-toolbar p,#hpSpeakerCount{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.hp-cue[hidden]{display:none}
.hp-cue.hp-speaker-cue{grid-template-columns:max-content minmax(0,1fr)}
.hp-speaker-cue .hp-zh{font-size:14px}
.hp-speaker-review{font-size:12px;color:var(--muted);margin-left:4px}
.hp-cue .hp-spk{font-size:12px;margin-bottom:5px;padding:2px 8px;background:var(--accent-soft);color:var(--accent-ink)}
.hp-speaker-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:16px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.hp-speaker-intro h3{font-size:17px;margin:0 0 4px}
.hp-speaker-intro p{font-size:14px;color:var(--muted);margin:0}
#hpTrySpeakers{white-space:normal;max-width:100%}
.hp-spk.hp-b{background:var(--leaf-soft);color:var(--leaf-ink);border-color:transparent}
.hp mark{background:var(--hl);color:inherit;border-radius:3px;padding:0 2px}
.hp-app-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 4px 0;color:var(--muted);font-size:12px;flex-wrap:wrap}
.hp-export-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.hp-mini{font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px;background:var(--accent);color:var(--on-accent);white-space:nowrap}
.hp-mini.hp-ghost{background:var(--surface);color:var(--ink-2);border:1px solid var(--line-strong)}
.hp-side-h{font-size:12px;letter-spacing:.08em;color:var(--muted);font-weight:600;margin:2px 0 8px}
.hp-sum{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:12px}
.hp-sum h4{font-size:13.5px;margin-bottom:6px}
.hp-sum li{position:relative;padding-left:14px;color:var(--ink-2);line-height:1.55;font-size:12.5px}
.hp-sum li+li{margin-top:5px}
.hp-sum li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.hp-sum li b{color:var(--accent-ink);font-weight:600;font-variant-numeric:tabular-nums}
.hp-km{display:grid;gap:4px}
.hp-km span{display:flex;gap:8px;align-items:baseline;padding:5px 8px;border-radius:7px;background:var(--surface);border:1px solid var(--line);font-size:12.5px;color:var(--ink-2)}
.hp-km b{color:var(--accent-ink);font-variant-numeric:tabular-nums;font-weight:600}
.hp-kw{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.hp-kw span{font-size:11px;padding:1px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}
.hp-ch{display:grid;gap:6px}
.hp-app .hp-ch small{display:block;font-size:12px;line-height:1.55;color:var(--muted);margin-top:4px}
.hp-app-side:not([hidden]),.hp-filled-summary,.hp-filled-search{display:flex;flex-direction:column}
.hp-app-side .hp-ch,.hp-filled-summary .hp-ch{flex:1;grid-auto-rows:1fr}
.hp-app .hp-ch a{align-items:center}
.hp-filled-search #hpDemoSearchResults{flex:1}
.hp-app .hp-fit-cut{display:none!important}
.hp-filled-prompt{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
@media(min-width:641px){
  #hpDemoSearchResults.hp-search-many{display:flex;flex-direction:column;justify-content:space-between;gap:10px}
}
.hp-ch span{display:flex;gap:8px;align-items:baseline;padding:5px 8px;border-radius:7px;background:var(--surface);border:1px solid var(--line);font-size:12.5px;color:var(--ink-2)}
.hp-ch i{font-style:normal;color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600;flex:none}
.hp-ch b{color:var(--accent-ink);font-variant-numeric:tabular-nums;font-weight:600;flex:none;margin-left:auto}
.hp-side-h .hp-n{color:var(--accent-ink);margin-left:6px;letter-spacing:0}
.hp-demo-note{display:block;text-align:right;font-size:11px;color:var(--muted);padding:5px 12px;border-top:1px solid var(--line);background:var(--surface-2)}
.hp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.hp-steps{grid-template-columns:1fr}}
.hp-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:14px;min-width:0;overflow-wrap:anywhere}
.hp-step-n{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}
.hp-step h3{font-size:19px}
.hp-step p{color:var(--ink-2);font-size:15px}
.hp-vig{margin-top:0;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:12.5px;color:var(--ink-2);display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0}
.hp-vig .hp-fake-in{background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:7px 10px;color:var(--muted);overflow-wrap:anywhere}
.hp-vig .hp-row{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 9px}
.hp-vig .hp-row b{color:var(--accent-ink);font-variant-numeric:tabular-nums;font-weight:600;flex:none}
.hp-vig .hp-row .hp-cb{width:13px;height:13px;border-radius:4px;border:1.5px solid var(--line-strong);flex:none}
.hp-vig .hp-row .hp-cb.hp-on{background:var(--accent);border-color:var(--accent)}
.hp-vig .hp-ok{color:var(--leaf-ink);font-weight:600}
.hp-vig .hp-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center}
.hp-vig .hp-row>span:not(.hp-cb),.hp-vig .hp-line>span{min-width:0;overflow-wrap:anywhere}
.hp-vig .hp-line>span:last-child{margin-left:auto}
.hp-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.hp-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.hp-grid-3{grid-template-columns:1fr}}
.hp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;min-width:0;overflow-wrap:anywhere}
.hp-card .hp-ico-box{width:42px;height:42px;border-radius:11px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;margin-bottom:14px}
.hp-card h3{font-size:18px;margin-bottom:8px}
.hp-card p{color:var(--ink-2);font-size:15px}
.hp-feat{display:flex;flex-direction:column;gap:10px}
.hp-feat .hp-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.hp-feat .hp-head h3{margin:0}
.hp-feat .hp-head .hp-tag{max-width:100%;white-space:normal}
.hp-more{margin-top:20px;color:var(--muted);font-size:14.5px}
.hp-more b{color:var(--ink-2);font-weight:600}
.hp-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.hp-cmp{width:100%;border-collapse:collapse;font-size:14.5px;min-width:640px}
.hp-cmp th, .hp-cmp td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.hp-cmp thead th{font-size:13.5px;color:var(--muted);font-weight:600;background:var(--surface-2)}
.hp-cmp tbody tr:last-child td{border-bottom:0}
.hp-cmp td:first-child{font-weight:600;color:var(--ink);width:26%}
.hp-cmp th:last-child, .hp-cmp td:last-child{background:var(--accent-soft)}
.hp-cmp thead th:last-child{color:var(--accent-ink)}
.hp-cmp .hp-ok{color:var(--leaf-ink);font-weight:700}
.hp-cmp .hp-no{color:var(--muted)}
.hp-cmp .hp-part{color:var(--amber-ink);font-weight:600}
.hp-cmp small{display:block;color:var(--muted);font-weight:400;font-size:12.5px;line-height:1.45;margin-top:2px}
@media (max-width:700px){.hp-cmp{min-width:0;font-size:13px}.hp-cmp th, .hp-cmp td{padding:10px 8px}.hp-cmp thead th{font-size:12px}.hp-cmp small{display:none}.hp-cmp td:first-child{width:auto}}
.hp-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
@media (max-width:900px){.hp-plans{grid-template-columns:1fr}}
.hp-plan{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.hp-plan.hp-featured{border-color:var(--accent);box-shadow:var(--shadow);position:relative}
.hp-plan.hp-featured::before{content:"推荐";position:absolute;top:-12px;left:22px;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px}
.hp-plan .hp-name{font-size:14px;font-weight:600;color:var(--muted);letter-spacing:.06em}
.hp-plan .hp-price{font-size:34px;font-weight:700;margin:6px 0 2px;letter-spacing:-.02em}
.hp-plan .hp-price small{font-size:14px;color:var(--muted);font-weight:500;margin-left:4px}
.hp-plan .hp-desc{color:var(--ink-2);font-size:14.5px;min-height:3.2em}
.hp-plan ul{margin:18px 0 22px;display:grid;gap:0}
.hp-plan li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px dashed var(--line);font-size:14.5px;color:var(--ink-2)}
.hp-plan li svg{width:16px;height:16px;flex:none;margin-top:4px;color:var(--leaf)}
.hp-plan li.hp-dim{color:var(--muted)}
.hp-plan li.hp-dim svg{color:var(--line-strong)}
.hp-plan li b{color:var(--ink);font-weight:600}
.hp-plan .hp-btn{margin-top:auto;white-space:normal}
.hp-fine{margin-top:22px;color:var(--muted);font-size:13.5px;max-width:78ch;line-height:1.7}
.hp-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(24px,5vw,64px)}
@media (max-width:900px){.hp-faq-grid{grid-template-columns:1fr}}
.hp-faq details{border-top:1px solid var(--line)}
.hp-faq details:last-child{border-bottom:1px solid var(--line)}
.hp-faq summary{cursor:pointer;font-weight:600;font-size:16.5px;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.hp-faq summary::-webkit-details-marker{display:none}
.hp-faq summary::after{content:"+";font-weight:400;color:var(--muted);font-size:22px;line-height:1;flex:none}
.hp-faq details[open] summary::after{content:"–"}
.hp-faq details p{margin:0 0 16px;color:var(--ink-2);font-size:15px;max-width:66ch}
.hp-cta{background:var(--cta-bg);color:var(--cta-ink);border-radius:22px;padding:clamp(28px,4vw,44px);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.hp-cta h2{font-size:clamp(24px,2.8vw,32px);margin-bottom:8px}
.hp-cta p{opacity:.85;font-size:15.5px}
.hp-cta .hp-actions{display:flex;gap:10px;flex-wrap:wrap}
.hp-cta .hp-btn-white{background:#fff;color:var(--cta-bg)}
.hp-cta .hp-btn-soft{background:var(--cta-soft);color:var(--cta-ink)}

/* 标题中英对照：主行跟界面语言，副行是另一种写法，压小、压淡。
   预览标题栏原来是单行省略号，现在允许两行——主副标题都换行，保证名称完整。 */
.hp-pri{display:block}
.hp-title-alt:empty{display:none!important}
.hp-title-alt{display:block;font-weight:400;font-size:11.5px;color:var(--muted);
  white-space:normal;overflow-wrap:anywhere}
/* 标题在这条工具条里要**优先**拿到宽度：给一个 240px 的 flex 基准，主副行都允许
   换行。原来主行是单行省略号、另外两样不肯收缩，英文下标题被挤到 109px
   （内容要 387px），显示成 "Desert Stor..."——标题是这块面板里最该看清的东西。 */
.hp-app-bar .hp-ttl{white-space:normal;line-height:1.35;flex:1 1 240px;min-width:0}
.hp-app-bar .hp-ttl .hp-pri,.hp-app-bar .hp-ttl .hp-title-alt{
  white-space:normal;overflow:visible;text-overflow:clip}
.hp-app-bar .hp-meta{flex:0 1 auto;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
/* 示例入口那几个胶囊：两行文字要靠左对齐，别被 inline-flex 居中拉歪。 */
.hp-examples a{align-items:flex-start;flex-direction:row;gap:6px}
.hp-examples a .hp-stack{display:flex;flex-direction:column;min-width:0}
.hp-examples a .hp-title-alt{font-size:11px;opacity:.75}
/* 窄屏下英文标题比中文长得多，不让它把胶囊撑出视口：主副标题都允许折行。 */
.hp-examples a .hp-pri{white-space:normal;overflow-wrap:anywhere}
.hp-examples a{max-width:100%;overflow:hidden}
.hp-examples a small{align-self:center;flex:none}
.hp-examples a i{margin-top:6px}
/* 「怎么用」第 2 步那行标题同理 */
#hpStepTitle{display:flex;flex-direction:column;min-width:0}
/* .hp-nb（不折行）是给中文短语用的：「把一小时的视频」四五个字，窄屏也放得下。
   同一个位置的英文是 turn an hour-long video / read, search, summarize, take away，
   后者 761px 宽，不折行就把整页顶出视口。
   上一版只在 ≤700px 放开折行，于是英文界面在 ≥750px 横向溢出 500–620px 上了线：
   按宽度给规则是错的，「不折行」这件事本来就只对中文成立。applyUiLanguage 已经
   在 <html> 上写了 lang，按语言给。 */
html[lang="en"] .hp-nb{white-space:normal}
/* 预览标题栏：一行里有圆点、标题、来源、打开链接，四样都不肯折。1440px 视口里
   那块面板只有 557px，英文下这一行需要 796px——**任何宽度**都可能放不下，
   所以折行不设宽度条件。窄屏再把来源行拉回左边、打开链接推到右边。 */
.hp-app-bar{flex-wrap:wrap}
@media(max-width:700px){
  .hp-app-bar .hp-meta{margin-left:0}
  .hp-app-bar .hp-open{margin-left:auto}
}
/* grid 子项默认 min-width:auto，会被里面最宽的不可断内容顶住；英文标题一长，
   左列就撑到 411px 塞不进 390 的视口。这一行是那个经典修法。 */
.hp-hero-grid>*{min-width:0}
/* 最终 CTA 的两个大按钮：英文文案更长，360px 下超出 7px。360 不在需求里
   （需求写的是 390），但代价是两行 CSS。 */
.hp-cta .hp-actions .hp-btn{max-width:100%;white-space:normal}
/* ===== 接站补充规则（不在原型里，是把原型嫁接到现有页面所必需的） ===== */
/* 原型是整页通栏，线上版块在 main.wrap 的 1180px 内容列里，底色铺不到视口边缘，
   所以交替底色那几块改成圆角面板，并自己补左右内边距。 */

.hp-announce{border:1px solid var(--line);border-radius:12px;margin:0 0 16px}

/* 顶部导航的四个锚点。≤960px 隐藏（需求 1.3）。 */

/* 吸顶导航会遮住锚点目标，所以每个目标自己留出导航高度。 */
#how,#scenes,#features,#compare,#plans,#faq,#preview,#hpCta{scroll-margin-top:92px}
/* 预览标题栏右侧的「打开完整阅读」。 */
.hp-open{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;margin-left:auto;border-radius:10px;background:var(--accent);color:#fff!important;white-space:nowrap;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 3px 10px #6258dc25}
.hp-open:hover{filter:brightness(.92);text-decoration:none}.hp-open:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
/* 页脚里那几个「跳到站内某个视图」的项：视觉上是链接，实际要走站内路由，
   所以用 button（可聚焦、可回车），外观抹平成链接。 */

/* 读视频时：新版块整体让位，导航锚点与页脚「了解」栏一起收起——
   那时版块不在页面上，锚点点了没反应，死链接比少一栏更糟。 */
body.has-video #hpAnnounce,body.has-video #preview,
body.has-video .hp-badges,body.has-video .hp-trust,body.has-video .hp-examples,
body.has-video .hp-col-learn a[href^="#"],body.has-video .hp-speaker-intro,
body.workspace-mode #hpAnnounce,body.workspace-mode #preview,
body.workspace-mode .hp-badges,body.workspace-mode .hp-trust,body.workspace-mode .hp-examples,
body.workspace-mode .hp-col-learn a[href^="#"],body.workspace-mode .hp-speaker-intro,body.workspace-mode #emptyState{display:none}
/* ≥1001px：Hero 与预览左右并排（原型的 hero-grid）。原型左列是左对齐的，
   而线上 .hero 是居中的——在窄列里居中会歪，所以只在并排时改成左对齐。 */
@media(min-width:1001px){
  .hp-hero-grid .hero{text-align:left;padding:18px 0 20px}
  .hp-hero-grid .hero .sub{max-width:52ch;margin:0}
  .hp-hero-grid .capture{max-width:none}
}
/* 并排时预览别被拉得过高；窄屏它在读取卡片下面，保持原样。 */
@media(min-width:1001px){.hp-hero-grid>.hp-app{align-self:start;position:sticky;top:92px}}
/* 弹窗沿用站内 dialog 的外观，只需要把 .hp 的字号拉回站内尺寸。 */
#hpNotifyDialog.hp{font-size:14px;line-height:1.7}

/* The same navigation and language controls serve landing and reading views. */

.hp-announcement-short{display:none}
#hpAnnounce{border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;padding:6px 12px;font-size:12.5px;line-height:1.5}
.hp-home-layout{align-items:stretch;gap:14px 40px;padding-top:30px;padding-bottom:44px}
.hp-home-layout .hp-top-left{display:flex;flex-direction:column;min-width:0}
/* Reserve the account note before authentication at every homepage width. */
.hp-home-layout #guestBanner.hide{display:block!important;visibility:hidden}
.hp-home-layout .hero{text-align:left;padding:12px 0 0}
.hp-home-layout .hero h1{font-size:clamp(36px,4.6vw,54px);line-height:1.12;letter-spacing:-.02em;font-weight:700;margin:10px 0 14px}
html[lang="en"] .hp-home-layout .hero h1{font-size:clamp(34px,3.8vw,46px)}
.hp-home-layout .hero .sub{font-size:clamp(16px,1.3vw,18px);color:var(--ink-2);line-height:1.6;max-width:30em;margin:0 0 18px;text-align:left}
.hp-home-layout .hp-badges{margin:0 0 20px;gap:7px}
.hp-home-layout .hp-badge{font-size:12.5px;padding:5px 10px}
.hp-home-layout .capture{width:100%;max-width:none;padding:18px;margin:0;border-radius:16px;box-shadow:0 1px 2px #1c1f2e0d,0 8px 24px #3c3cb009}
.hp-home-layout .capture-head{gap:8px;margin-bottom:12px;align-items:baseline;flex-wrap:wrap}
.hp-home-layout .capture-head label{font-size:15px}
.hp-precheck{font-size:12px;color:var(--muted);line-height:1.6}
.hp-home-layout .primary{box-shadow:none}
.hp-home-layout .input-row>.primary{padding:10px 15px;font-size:14px;min-height:48px}
.hp-home-layout .button-arrow{margin-left:4px}
.hp-home-layout #url{height:50px;padding-left:38px;font-size:13px}
.hp-platform-dots{display:inline-flex;gap:4px;align-items:center;height:20px;left:12px;top:15px}
.hp-platform-dots i{width:7px;height:7px;border-radius:50%;background:var(--bili)}
.hp-platform-dots i:last-child{background:var(--yt)}
.hp-home-layout .hp-hint{display:block;text-align:left;font-size:14px;line-height:1.6;margin:10px 0 0}
.hp-home-layout .capture-foot{margin-top:8px}
.hp-home-layout .options{font-size:13px}
.hp-home-layout .hp-trust{margin-top:0;gap:7px 14px}
.hp-home-layout>.hp-app{position:static;align-self:start;box-shadow:0 1px 2px #1c1f2e0d,0 8px 24px #3c3cb009}
.hp-home-layout .hp-speaker-intro{grid-column:1/-1;margin:14px 0 0;padding:12px 0 0;border:0;background:none}
.hp-home-layout .hp-speaker-intro h3{font-size:15px}
.hp-home-layout .hp-speaker-intro p{font-size:13px}
.hp-home-layout .hp-speaker-intro .primary{background:transparent;color:var(--accent-ink);border:1px solid var(--line-strong);font-size:13px}
@media(min-width:1001px){
  /* Both columns hang from the row top: the card starts level with the h1 (a bottom-anchored card
     would move its top edge while the parser paints it, CI measured a 476px jump, CLS 0.10). Its
     height comes from the left column alone (contain:size, stretched in row 1), so the card ends
     level with the capture whichever example or tab it shows, and neither parsing nor the English
     re-render can change the row. The demo script shows whole lines only: it hides what does not
     fit (fitDemo) and the fill rules spread the rest (a speaker-filtered list stays at the top).
     The trust line follows the capture below. */
  .hp-home-layout{grid-template-rows:max-content 1fr}
  .hp-home-layout .hp-top-left{grid-column:1;grid-row:1;align-self:start}
  .hp-home-layout .capture{flex:none}
  .hp-home-layout>.hp-app{grid-column:2;grid-row:1;align-self:stretch;margin-top:44px;contain:size;display:flex;flex-direction:column}
  .hp-home-layout>.hp-app>.hp-app-body{flex:1 1 0;min-height:0;overflow:hidden;grid-template-rows:minmax(0,1fr)}
  .hp-home-layout>.hp-app .hp-filled-translate{display:flex;flex-direction:column}
  .hp-home-layout>.hp-app .hp-filled-translate #hpDemoTranslatedCues{flex:1;display:flex;flex-direction:column}
  .hp-home-layout>.hp-app .hp-filled-transcript .hp-cue-list,.hp-home-layout>.hp-app .hp-filled-translate #hpDemoTranslatedCues,.hp-home-layout>.hp-app #hpDemoSearchResults.hp-search-many{justify-content:space-evenly}
  /* A speaker filter leaves a short list: it starts at the top like any filtered list, the card keeps its height. */
  .hp-home-layout>.hp-app .hp-filled-transcript .hp-cue-list.hp-cue-filtered{justify-content:flex-start}
  .hp-home-layout>.hp-trust{grid-column:1;grid-row:2;align-self:start}
  .hp-home-layout>.hp-speaker-intro{grid-row:3}
}
@media(min-width:1001px) and (max-width:1199px){
  .hp-home-layout>.hp-app>.hp-app-body{grid-template-columns:1fr}
  .hp-home-layout>.hp-app .hp-app-side{display:none}
}
.hp-examples{display:flex;flex-direction:column;align-items:stretch;gap:3px}
.hp-examples>a[data-demo]{display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 9px;border-radius:8px;border-left:3px solid transparent;background:transparent;color:var(--ink);font-size:13px;overflow:visible}
.hp-examples>a[data-demo] .hp-stack{display:block;min-width:0}
.hp-examples>a[data-demo] .hp-pri{font-weight:600;line-height:1.5}
.hp-examples>a[data-demo] .hp-title-alt{display:none;font-size:12px;color:var(--muted);opacity:1;margin-left:6px}
.hp-examples>a[data-demo] small{font-size:12px;color:var(--muted);opacity:1}
.hp-examples>a[data-demo] i{margin:0}
.hp-examples>a.hp-on{background:var(--accent-soft);border-left-color:var(--accent);color:var(--accent-ink)}
.hp-examples>a[data-demo]:hover{background:var(--surface-2);filter:none}
.hp-examples .hp-examples-more{display:inline-flex;align-self:flex-start;padding:8px 0 0;border-radius:0;background:none;color:var(--accent-ink);font-weight:600;line-height:1.5}
.hp-app-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding:4px 8px 0;gap:0}
.hp-app-tabs button{flex:none;font-size:12px;padding:7px 8px;min-height:44px}
.hp-app-bar{padding:9px 12px;gap:7px}
.hp-app-bar .hp-title-alt{display:none}
.hp-open{min-height:44px;padding:5px 0;border-radius:0;background:none;color:var(--accent-ink)!important;font-size:12.5px;font-weight:600;box-shadow:none}
.hp-open:hover{filter:none;text-decoration:underline}
.hp-speaker-toolbar{padding:0;background:none;border:0;border-radius:0;gap:6px 10px;margin-bottom:8px}
.hp-speaker-toolbar strong{font-size:12px;flex-basis:auto;font-weight:500;color:var(--muted);order:3}
.hp-speaker-toolbar label{font-size:12px;font-weight:500}
.hp-speaker-toolbar select{min-height:36px;padding:5px 26px 5px 9px}
.hp-speaker-toolbar #hpSpeakerCount{font-size:12px;margin-left:auto}
.hp-speaker-cue .hp-zh{font-size:13px}
.hp-cue .hp-spk{margin:0 5px 2px 0;padding:0 6px}
.hp-cue .hp-en{font-size:12px;line-height:1.45}
.hp-cue .hp-t{font-size:12px}
.hp-app-main,.hp-app-side{padding:10px}
@media(min-width:641px){
  .hp-app-main.hp-filled-transcript{display:flex;flex-direction:column;gap:8px}
  .hp-filled-transcript .hp-cue-list{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:8px}
}
.hp-demo-note{font-size:12px;line-height:1.55;text-align:left;padding:7px 12px}
.hp-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hp-grid-4 .hp-card{padding:18px}
.hp-grid-4 .hp-card h3{font-size:16px;margin-top:10px}
.hp-grid-4 .hp-card p{font-size:14px}
.hp-more{color:var(--ink-2)}

@media(min-width:1200px){.hp-examples>a[data-demo] .hp-title-alt{display:inline}}

/* Mobile badges follow the form visually; reveal them once its static tail is parsed. */
@media(max-width:1000px){.hp-top-left:not(:has(#logDetails)) .hp-badges{visibility:hidden}.hp-home-layout .hp-badges{order:3;margin:14px 0 0}.hp-home-layout .capture{order:2}.hp-home-layout .hero{order:1}.hp-home-layout>.hp-app{margin-top:14px}.hp-home-layout .hero .sub{max-width:40em}}
@media(max-width:900px){.hp-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  
  
  
  
  
  
  
  
  
  .hp-home-layout{padding-top:24px;padding-bottom:36px;gap:14px 24px}
  .hp-home-layout>.hp-app{margin-top:10px}
  .hp-home-layout .hp-speaker-intro{margin-top:10px}
  .hp-home-layout .hero{padding:0}
  .hp-home-layout .hero h1{font-size:36px;line-height:1.16;margin:8px 0 14px}
  .hp-home-layout .hero .sub{font-size:16px;max-width:none;margin:0 0 14px}
  .hp-home-layout .hero .eyebrow{font-size:12px;margin-bottom:6px}
  .hp-home-layout .input-row{gap:9px}
  .hp-home-layout .input-row>.primary{font-size:16px}
  .hp-home-layout .capture{padding:16px}
  .hp-home-layout .hp-precheck{font-size:12px}
  .hp-home-layout .hp-hint{font-size:13px}
  .hp-sec-head p{font-size:16px}
  .hp-section{padding-block:44px}
  .hp-sec-head{margin-bottom:24px}
  .hp-step,.hp-card{padding:20px}
  .hp-plan{padding:22px}
}
@media(max-width:640px){.hp-announcement-long{display:none}.hp-announcement-short{display:inline}#hpAnnounce{font-size:12px;padding:6px 8px}.hp-app-tabs button{padding:7px 8px;font-size:12px}.hp-app-side{border-left:0}}
@media(max-width:520px){.hp-grid-4{grid-template-columns:1fr}.hp-badge{font-size:12px}}

@media(max-width:359px){.hp-home-layout .hero h1{font-size:34px}}



/* Reading workspace: document first, with link entry and search one tap away.
   These selectors belong to the reader, independently of the homepage demo. */
.capture-details>summary{display:none}
.capture-details>summary .capture-current-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.capture-details>summary .capture-change{flex:none;color:var(--accent);font-weight:600;margin-left:auto}
.has-video .hero{display:none}
.has-video #hpTop{display:block;margin:0;padding:0}
.has-video #readerMain{padding-top:12px}
.has-video .capture{padding:0 14px;margin-bottom:12px;border-radius:12px;box-shadow:none}
.has-video .capture-details>summary{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:var(--muted)}
.has-video .capture-details[open]{padding-bottom:14px}
.has-video .capture-details[open]>.capture-head{padding-top:8px}
.has-video .capture #status:not(:empty),.has-video .capture #fetchCancel:not(:empty){padding-bottom:8px}
.has-video .capture .err-box{margin:0 0 12px}
.has-video .workspace{display:block}
.reader-search{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fcfcff}
.reader-search>summary{padding:8px 22px;min-height:42px;color:var(--muted);font-size:12px}
.reader-search .chapter-nav{display:block;margin-top:14px;padding-top:12px}
.reader-search .chapter-nav.hide{display:none}
.reader-search .chapter-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}
/* A hash route cannot be rendered by the server. Reserve the reading area
   before deferred app/account code starts; keep the no-JavaScript home intact. */
#readerRouteLoading{display:none;padding:65px 20px;text-align:center;color:var(--muted)}
.route-video #hpTop,.route-video #emptyState,.route-video #hpAnnounce,.route-video #hpNavLinks{display:none}
.route-video #readerRouteLoading{display:block;min-height:calc(100svh - 64px)}
.route-video #readerMain,body.workspace-mode #readerMain{min-height:calc(100svh - 92px)}
.has-video .document-head{padding:18px 22px 12px}
.has-video .document-overline{margin:10px 0 0}
.has-video .document-head h2{margin-bottom:6px}
.has-video #viewFull>.view-heading{display:none}
@media(max-width:700px){
  .has-video #readerMain{padding:8px 12px 28px}
  .has-video .capture{margin-bottom:10px;padding:0 12px}
  .has-video .document-head{padding:12px 16px 10px}
  .has-video .document-head h2{font-size:19px;line-height:1.4}
  .has-video .document-overline{gap:6px;flex-wrap:wrap}
  .has-video .document-actions{gap:6px;justify-content:flex-start}
  .has-video .document-actions .mini{font-size:11px;padding:4px 6px}
  .has-video .translation-tools{padding:6px 16px}
  .has-video #viewFull{padding-top:8px}
  .has-video .selection-tools{margin-bottom:8px;row-gap:6px}
  .has-video .speaker-tools{margin-bottom:8px}
  .reader-search>summary{padding:8px 16px}
  .reader-search .chapter-list{grid-template-columns:1fr}
}

/* PR-38 reader layout (B1–B7): on desktop the document column (720px) and a sticky sidebar (300px) share one grid; phones
   stack them. One sticky toolbar under the document head; the export menus drop down from it; a floating bar appears only
   while sentences are selected; chapters sit inline in the transcript and in the sidebar. */
.has-video .result-panel{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.has-video #readerMain{padding-top:4px}
.has-video .capture{max-width:1068px;margin:0 auto;padding:0;background:transparent;border:0;box-shadow:none;border-radius:0}
.has-video .capture-details>summary{justify-content:flex-end;min-height:30px;padding:0;font-size:var(--fs-1)}
.has-video .capture-details>summary .capture-current-label,.has-video .capture-details>summary .capture-current-title{display:none}
.has-video .capture-details>summary .capture-change{margin-left:0;font-weight:600;color:var(--accent-ink)}
.has-video .capture-details[open]{padding-bottom:10px}
.has-video .document-head{padding:0 0 4px}
.doc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:var(--fs-2);color:var(--muted)}
.has-video .source-badge{font-size:var(--fs-1);font-weight:700;letter-spacing:.04em;padding:2px 8px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2)}
.has-video .video-facts{font-size:var(--fs-2);color:var(--muted)}
.has-video .document-head h2{font-size:var(--fs-6);line-height:1.35;letter-spacing:-.01em;margin:8px 0 6px;font-weight:700}
.has-video .document-actions{justify-content:flex-start;gap:4px 16px;font-size:var(--fs-2)}
.has-video .document-actions .mini,.has-video .document-actions .source-link,.has-video .document-actions .script-toggle{border:0;background:transparent;padding:0;min-height:0;color:var(--ink-2);font-size:var(--fs-2);font-weight:500;box-shadow:none}
.has-video .document-actions .mini:hover,.has-video .document-actions .source-link:hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}
.has-video .document-actions select{font-size:var(--fs-2);min-height:32px;padding:4px 8px}
.reader-bar{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 4px;padding:8px 0;background:var(--bg)}
.reader-bar .tabs{display:inline-flex;gap:2px;padding:3px;background:var(--surface-2);border-radius:var(--r-pill)}
.reader-bar .tab,.reader-bar .tab-speakers{padding:5px 12px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--muted);font-size:var(--fs-2);font-weight:600;line-height:1.4;white-space:nowrap}
.reader-bar .tab.on,.reader-bar .tab-speakers[aria-expanded="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-sm)}
.reader-bar .tab:hover{color:var(--ink-2)}
.reader-bar .tab-count{background:transparent;color:var(--muted);padding:0;margin-left:5px;font-weight:500;font-size:var(--fs-2)}
.reader-bar .tab.on .tab-count{color:var(--accent-ink);background:transparent}
.reader-bar .tab-speakers{padding:8px 12px;background:var(--surface-2)}
.reader-search-row{display:flex;align-items:center;gap:8px 12px;margin:2px 0 8px;min-width:0}
.reader-search-row .search-form{flex:1;display:flex;flex-direction:row;gap:8px;min-width:0}
.reader-search-row .search-form input{flex:1;min-width:0;min-height:38px;padding:8px 12px;font-size:var(--fs-3)}
.reader-search-row .search-form .primary{padding:7px 14px;font-size:var(--fs-2);box-shadow:none;white-space:nowrap}
.reader-search-row .search-options{position:relative;flex:none;margin:0;font-size:var(--fs-1);color:var(--muted)}
.reader-search-row .search-options>summary{white-space:nowrap}
.reader-search-row .search-options-body{position:absolute;right:0;top:calc(100% + 8px);z-index:7;width:max-content;max-width:min(300px,calc(100vw - 32px));padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-md);color:var(--ink-2)}
.reader-search-row .search-option-fields{padding-top:0}
.reader-search-row .search-tip{margin:8px 0 0;line-height:1.7}
.reader-search-row .search-meta{display:none}
.bar-right{margin-left:auto;display:flex;align-items:center;gap:8px;position:relative}
.bar-right .translation-view{display:flex;align-items:center;gap:6px;font-size:var(--fs-2);color:var(--muted)}
.translation-caption{display:contents}
.translation-view-label{font-weight:550;white-space:nowrap}
.bar-right .translation-view.hide{display:none}
.bar-right .translation-view select{min-height:34px;font-size:var(--fs-2);padding:4px 8px}
.bar-right .aigc-mark{margin:0}
.reader-bar .selection-tools{position:static;margin:0;padding:0;background:transparent;border:0;box-shadow:none;display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.reader-bar .selection-toolbar-primary{display:flex;gap:6px}
.reader-bar .selection-toolbar-toggle{display:inline-flex;min-height:34px;padding:5px 10px;color:var(--ink)}
.reader-bar .selection-toolbar-toggle::after{content:"▾";font-size:var(--fs-1);opacity:.7;margin-left:2px}
.reader-bar .selection-toolbar-toggle[aria-expanded="true"]{border-color:var(--accent);color:var(--accent-ink);background:var(--surface)}
.reader-bar #selectionMoreActions,.reader-bar #resultTools{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:7;flex-direction:column;align-items:stretch;gap:2px;width:max-content;min-width:200px;margin:0;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-md);border-top:1px solid var(--line)}
.reader-bar .selection-tools[data-panel="more"] #selectionMoreActions,.reader-bar .selection-tools[data-panel="export"] #resultTools{display:flex}
.reader-bar #resultTools .mini,.reader-bar #selectionMoreActions .mini{justify-content:flex-start;border:0;background:transparent;text-align:left;min-height:34px;color:var(--ink)}
.reader-bar #resultTools .mini:hover,.reader-bar #selectionMoreActions .mini:hover{background:var(--surface-2);color:var(--accent-ink)}
.reader-bar #allExportScope:not(.hide){display:block;font-size:var(--fs-1);color:var(--muted);margin:4px 8px 2px;max-width:260px;white-space:normal}
.reader-bar #exportStatus:not(.hide){display:block;font-size:var(--fs-1);color:var(--muted);margin:0}
.has-video #viewFull,.has-video #viewSum,.has-video #viewHits{padding:4px 0 24px}
.has-video .speaker-tools{margin:0 0 12px}
.has-video .speaker-tools:not(.open){display:none}
.speaker-toolbar-title{font-weight:600;font-size:var(--fs-3);color:var(--ink)}
.has-video .fulltext{border:0;border-radius:0;max-height:none;overflow:visible;margin-top:2px}
.has-video .cue{display:flex;gap:0 4px;align-items:flex-start;padding:7px 8px 7px 0;border-left:0;border-radius:var(--r-sm);scroll-margin-top:70px}
.has-video .cue:hover{background:var(--surface)}
.has-video .cue.selected{background:var(--accent-soft)}
.has-video .cue.match{background:var(--hl-soft)}
.has-video .cue.focus{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}
.has-video .cue .cue-select{flex:0 0 auto;width:16px;height:16px;margin:8px 4px 0 4px;opacity:0;transition:opacity .12s}
.has-video .cue:hover .cue-select,.has-video .cue.selected .cue-select,.has-video .cue .cue-select:focus-visible{opacity:1}
@media(hover:none){.has-video .cue .cue-select{opacity:1}}
.has-video .cue .ts{flex:0 0 62px;font:500 var(--fs-1)/1.75 var(--mono);color:var(--muted);padding-top:3px;font-variant-numeric:tabular-nums}
.has-video .cue .ts a{color:inherit}.has-video .cue .ts a:hover{color:var(--accent-ink)}
.has-video .cue .tx{font-size:var(--fs-4);line-height:1.75;color:var(--ink)}
.has-video .cue .tr{display:block;font-size:15px;line-height:1.7;color:var(--ink-2);margin-top:3px}
.cue-chapter{display:flex;align-items:baseline;gap:10px;margin:26px 0 6px;padding:0 0 8px 90px;border-bottom:1px solid var(--line);font-size:15px;font-weight:700;color:var(--ink);position:relative;scroll-margin-top:64px}
.cue-chapter .chapter-idx{position:absolute;left:30px;top:2px;font:600 var(--fs-1)/1 var(--mono);color:var(--accent-ink);background:var(--accent-soft);padding:3px 6px;border-radius:var(--r-sm)}
.cue-chapter .chapter-title{min-width:0;overflow-wrap:anywhere}
.cue-chapter time{margin-left:auto;font:500 var(--fs-1)/1 var(--mono);color:var(--muted)}
.cue-chapter:first-child{margin-top:8px}
.has-video :is(.cue,.cue-chapter,.sec,.view){scroll-margin-top:var(--reader-scroll-offset,100px)}
.cue-more{margin:18px 0 0 90px}
.selection-bar{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:30;display:none;align-items:center;gap:2px;max-width:calc(100vw - 24px);padding:6px 8px 6px 16px;background:var(--ink);color:var(--on-accent);border-radius:var(--r-pill);box-shadow:var(--sh-md);font-size:var(--fs-2);white-space:nowrap}
.selection-bar.has-selection{display:flex}
.selection-bar .selection-count{font-weight:600;margin-right:8px;font-size:var(--fs-2)}
.selection-bar .selection-count-wide{display:none}.selection-bar .selection-count-narrow{display:inline}
.selection-bar #selectionQuickActions{display:flex;gap:2px}
.selection-bar .mini{border:0;background:transparent;color:var(--on-accent);font-weight:600;padding:6px 10px;min-height:0;border-radius:var(--r-pill);font-size:var(--fs-2)}
.selection-bar .mini:hover{background:var(--cta-soft);color:var(--on-accent)}
.selection-bar .mini[aria-disabled="true"],.selection-bar .mini:disabled{opacity:.5}
.selection-bar-close{opacity:.8}
.has-video .hintbar{font-size:var(--fs-1)}
.reader-side .reader-search{border:0;background:transparent}
.side-body{display:flex;flex-direction:column;gap:20px;font-size:var(--fs-2)}
.side-block h3{margin:0 0 8px;font-size:var(--fs-1);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.side-block h3 .side-count{font-weight:500;letter-spacing:0;text-transform:none;margin-left:6px}
.reader-side .chapter-nav{margin:0;padding:0;border:0}
.reader-side .chapter-list{display:block;max-height:min(46vh,420px);overflow:auto;gap:0}
.chapter-list button{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:baseline;width:100%;padding:5px 8px;border-radius:var(--r-sm);background:transparent;color:var(--ink-2);font-size:var(--fs-2);line-height:1.45;text-align:left}
.chapter-list button:hover{background:var(--surface-2);color:var(--ink)}
.chapter-list li.on button{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}
.chapter-list .chapter-idx{font:500 var(--fs-1)/1.6 var(--mono);color:var(--muted);flex:none}
.chapter-list li.on .chapter-idx{color:var(--accent-ink)}
.chapter-list .chapter-title{min-width:0;overflow-wrap:anywhere}
.chapter-list time{font:500 var(--fs-1)/1.6 var(--mono);color:var(--muted)}
.side-point-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.side-point{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:baseline;width:100%;padding:4px 0;background:transparent;color:var(--ink-2);text-align:left;line-height:1.5;font-size:var(--fs-2)}
.side-point:hover{color:var(--ink)}
.side-point span{overflow-wrap:anywhere}
.side-point time{font:500 var(--fs-1)/1.6 var(--mono);color:var(--accent-ink)}
.side-link{margin-top:6px;padding:0;color:var(--accent-ink);font-size:var(--fs-2)}
.reader-side .translation-tools{padding:0;background:transparent;border:0}
.reader-side .translation-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.reader-side .translation-row select{max-width:100%;min-height:36px;font-size:var(--fs-2)}
.reader-side .translation-message{margin:8px 0 0;font-size:var(--fs-1);color:var(--muted);line-height:1.6}
.src-note{margin:0;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-1);line-height:1.6}
.src-note .text-btn{padding:0;font-size:var(--fs-1);color:var(--accent-ink)}
@media(min-width:1000px){
  .has-video .result-panel{display:grid;grid-template-columns:minmax(0,var(--measure)) var(--side-w);gap:0 48px;justify-content:center;align-items:start}
  .has-video .reader-doc{grid-column:1;grid-row:1;min-width:0}
  .has-video .reader-side{grid-column:2;grid-row:1;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;scrollbar-width:thin;padding-top:6px}
  .reader-side>details>summary{display:none}
  .has-video .capture-details>summary{margin-right:0}
}
@media(min-width:1000px) and (max-width:1119px){
  .has-video .result-panel{grid-template-columns:minmax(0,var(--measure)) 260px;gap:0 32px}
}
@media(max-width:999px){
  .has-video .reader-side{margin:0 0 8px}
  .reader-side>details>summary{display:flex;align-items:center;gap:6px;padding:8px 0;min-height:40px;color:var(--muted);font-size:var(--fs-2)}
  .reader-side .side-body{padding:4px 0 12px}
}
@media(max-width:640px){
  .has-video .document-head h2{font-size:var(--fs-5)}
  .reader-bar{gap:6px;padding:4px 0}
  .reader-bar .tabs{flex:1 1 0;min-width:0;max-width:100%;overflow:auto;scrollbar-width:none;padding:0;gap:4px;background:transparent}
  .reader-bar .tab{background:var(--surface-2)}
  .reader-bar .bar-right{flex-basis:100%;min-width:0;max-width:100%;margin-left:0;justify-content:flex-end;gap:4px}
  .bar-right .translation-view{gap:4px}
  .translation-caption{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:14px}
  .translation-caption .aigc-mark{font-size:0;line-height:1;padding:0 4px}
  .translation-caption .aigc-mark::after{content:"AI";font-size:10px;line-height:11px}
  .reader-bar .selection-toolbar-primary{gap:4px}
  .reader-bar .tab,.reader-bar .tab-speakers{padding:4px 10px}
  .reader-bar .tab-speakers{padding:6px 10px}
  .reader-bar .selection-toolbar-toggle,.bar-right .translation-view select{min-height:30px;padding:3px 5px}
  .has-video .cue .ts{flex-basis:64px}
  .has-video .cue .tx{font-size:15px}
  .has-video .cue .tr{font-size:14px}
  .cue-chapter{padding-left:0}.cue-chapter .chapter-idx{position:static;margin-right:2px}
  .cue-more{margin-left:0}
  .selection-bar{left:12px;right:12px;transform:none;flex-wrap:wrap;gap:0 2px;padding:4px 8px 6px 12px;max-width:none;border-radius:18px}
  .selection-bar .selection-count{flex:1;margin-right:4px}
  .selection-bar .selection-bar-close{order:1}
  .selection-bar #selectionQuickActions{order:2;flex-basis:100%;justify-content:space-between;gap:0}
  .selection-bar #selectionQuickActions .mini{padding:5px 6px;font-size:var(--fs-1)}
}

/* Account sections share the reader's palette, with a compact mobile navigation. */
#accountPage{max-width:1240px;margin:28px auto 60px}
.account-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:start}
.account-sidebar{display:grid;gap:7px;position:sticky;top:22px}
.account-sidebar a{display:flex;align-items:center;gap:10px;padding:12px 15px;text-decoration:none;color:var(--muted);border:1px solid transparent;border-radius:10px;white-space:nowrap;font-size:14px}
.account-sidebar a[aria-current=page]{background:var(--soft);color:var(--accent);border-color:#dddafa;font-weight:650}
.account-sidebar a:hover{background:var(--soft)}
#accountPage .account-grid{display:flex;flex-direction:column;gap:20px;min-width:0}
#accountPage .account-grid>section{width:100%;min-width:0;box-sizing:border-box}
#accountSectionTitle{font-size:28px;margin:0 0 7px;letter-spacing:-.5px}
.account-section-head{margin-bottom:24px}.account-section-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.account-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.account-card-grid .panel{padding:23px}.account-card-grid h3{margin:0 0 14px;font-size:16px}
.account-state-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.account-state-row:last-child{border-bottom:0}.account-state-row small{display:block;color:var(--muted);margin-top:5px}
.account-callout{padding:17px 20px;border:1px solid #d5d0fa;border-radius:13px;background:var(--soft);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--accent);font-size:14px;margin-bottom:22px}.account-callout p{margin:4px 0 0;color:var(--muted);font-size:12px}

.account-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 30px}.account-plan-card{position:relative;display:flex;flex-direction:column;padding:23px 18px;border:1px solid var(--line);border-radius:15px;background:var(--surface,#fff);min-width:0}.account-plan-card.recommended{border:2px solid var(--accent);padding:22px 17px;box-shadow:0 6px 22px #6058dc12}.account-plan-card h3{font-size:19px;margin:2px 0 14px}.account-plan-card .plan-badge{position:absolute;top:-11px;left:17px;background:var(--accent);border-radius:12px;padding:3px 10px;font-size:11px;color:white}.plan-discount{color:#b02a4a;background:#fff0f3;border-radius:5px;padding:3px 6px;font-size:11px;align-self:flex-start;margin-bottom:9px}.plan-price{font-size:31px;font-weight:720;letter-spacing:-1px;white-space:nowrap}.plan-price small{font-size:13px;letter-spacing:0;font-weight:500}.plan-regular{font-size:12px;color:var(--muted);min-height:20px}.plan-unit{font-size:12px;color:var(--muted);line-height:1.8;margin:9px 0 16px}.account-plan-card ul{list-style:none;padding:16px 0 0;margin:0 0 22px;border-top:1px solid var(--line);display:grid;gap:12px;font-size:13px;line-height:1.65}.account-plan-card li:before{content:"✓";color:var(--ok);margin-right:7px}.account-plan-card li.dim{color:var(--muted)}.account-plan-card li.dim:before{content:"−";color:var(--muted)}.account-plan-card button{margin-top:auto;width:100%;min-height:43px}.account-plan-card .plan-fine{font-size:11px;color:var(--muted);line-height:1.7;margin:12px 0 0;text-align:center}
.account-compare{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:20px 0 30px}.account-compare table{border-collapse:collapse;width:100%;min-width:600px;font-size:13px;text-align:left}.account-compare th,.account-compare td{padding:14px 15px;border-bottom:1px solid var(--line);line-height:1.6}.account-compare th{background:var(--soft)}.account-compare th:first-child,.account-compare td:first-child{position:sticky;left:0;background:var(--surface,#fff);min-width:115px}.account-faq details{padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.account-faq summary{cursor:pointer;font-weight:600}.account-faq p{color:var(--muted);line-height:1.9;font-size:13px}
#billingSection{padding:0;background:none;border:0;box-shadow:none}#billingSection>h2,#billingSection>h3{font-size:22px}.billing-order-card,#billingBalance,#billingPasses{border:1px solid var(--line)!important;background:var(--surface,#fff);border-radius:13px;padding:20px!important;margin:14px 0}#billingBalance>h3,#billingPasses>h3{margin-top:0}.account-empty{padding:28px 15px;text-align:center;color:var(--muted);font-size:14px;line-height:1.9}.account-security-log{overflow:auto}.account-security-log table{width:100%;border-collapse:collapse;font-size:13px}.account-security-log td,.account-security-log th{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line)}
.purchase-dialog{width:min(570px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:17px;color:var(--fg);background:var(--surface,#fff);box-shadow:0 24px 80px #171d3d33;overflow:auto}.purchase-dialog::backdrop{background:#14183380}.purchase-dialog-inner{padding:27px}.purchase-dialog h2{font-size:23px;margin:0 40px 20px 0}.purchase-dialog .dialog-close{position:absolute;right:15px;top:15px}.purchase-dialog dl{margin:0}.purchase-dialog dl>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.75}.purchase-dialog dt{color:var(--muted)}.purchase-dialog dd{margin:0}.purchase-dialog details{font-size:13px;line-height:1.9;margin:19px 0}.purchase-dialog details p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}.purchase-consent{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.8;margin:17px 0}.purchase-consent input{margin-top:5px;flex-shrink:0}.purchase-dialog .purchase-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}.purchase-dialog .account-message{margin:0}
@media(max-width:900px){.account-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}.account-plan-grid{grid-template-columns:1fr}.account-plan-card.recommended{order:-1}.account-plan-card{padding:24px}.account-plan-card.recommended{padding:23px}.account-card-grid{grid-template-columns:1fr}}
@media(max-width:700px){#accountPage{padding:0 16px 30px;margin-top:20px}.account-layout{display:block}.account-sidebar{position:static;display:flex;overflow-x:auto;gap:7px;margin:0 -16px 23px;padding:0 16px 8px;scrollbar-width:thin}.account-sidebar a{font-size:13px;padding:9px 13px;border:1px solid var(--line);border-radius:24px;flex-shrink:0;background:var(--surface,#fff)}.account-sidebar .nav-icon{display:none}#accountSectionTitle{font-size:24px}.account-section-head{margin-bottom:20px}.account-callout{padding:15px;font-size:13px}.account-card-grid .panel{padding:20px}.purchase-dialog-inner{padding:23px 20px}.purchase-dialog dl>div{grid-template-columns:70px minmax(0,1fr);gap:10px}.account-state-row{font-size:13px}.account-page-head{margin-top:0}.account-compare{max-width:100%}}

body.account-mode #hpNavLinks{display:none}

.account-section-head:empty,#accountSectionContent:empty{display:none}

#accountPage:not([data-account-ready]) .account-grid{display:none}
#accountPage:not([data-account-ready])::after{content:"正在加载账号页面…";display:block;color:var(--muted);padding:24px 0}
html[lang="en"] #accountPage:not([data-account-ready])::after{content:"Loading account page…"}
.homepage-first-offer{display:block;margin-top:12px}.homepage-first-offer s{font-size:12px;color:var(--muted)}
