.ai-perspectives{grid-template-columns:repeat(2,minmax(0,1fr))}
.fulltext-config-help{font-size:13px;line-height:1.75;color:var(--ink2);margin:12px 0 18px}
.fulltext-config-help[hidden]{display:none}
.fulltext-reader{max-width:860px;margin:0 auto;color:var(--ink);overflow-wrap:anywhere}
.fulltext-reader-head{padding:12px 0 22px;border-bottom:1px solid var(--border)}
.fulltext-eyebrow{color:var(--accent);font-size:13px;font-weight:650;margin-bottom:12px}
.fulltext-reader-head h3{font-family:var(--serif);font-size:27px;line-height:1.45;letter-spacing:.01em;margin-bottom:12px}
.fulltext-note{font-size:12px;line-height:1.7;color:var(--ink3)}
.fulltext-document-label{display:block;font-size:13px;margin:18px 0;color:var(--ink2)}
.fulltext-document-label select{display:block;width:100%;max-width:100%;margin-top:7px;font:inherit;font-size:15px;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:8px;padding:10px}
.fulltext-reader-toolbar,.fulltext-history-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}
.fulltext-mode,.fulltext-history-tabs button{font:inherit;font-size:14px;color:var(--ink2);border:1px solid var(--border);background:var(--surface);border-radius:8px;min-height:40px;padding:7px 17px;cursor:pointer}
.fulltext-mode[aria-pressed=true],.fulltext-history-tabs button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-light);font-weight:650}
.fulltext-mode:focus-visible,.fulltext-history-tabs button:focus-visible,.fulltext-original summary:focus-visible,.fulltext-reading-notes summary:focus-visible,.fulltext-page-preview summary:focus-visible,.fulltext-page-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.fulltext-history-tabs{padding:0 22px;margin-bottom:0}
.fulltext-reader-content{font-size:16px;line-height:1.95}
.fulltext-block{margin:0 0 24px}
.fulltext-block p{white-space:pre-wrap}
.fulltext-indent{text-indent:2em}
.fulltext-heading{margin:30px 0 18px;padding:10px 14px;border-radius:9px;background:var(--accent-light);border-left:3px solid var(--accent)}
.fulltext-heading h3,.fulltext-heading h4,.fulltext-heading h5,.fulltext-heading h6{font-family:var(--serif);font-size:22px;line-height:1.5}
.fulltext-heading h4{font-size:20px}.fulltext-heading h5,.fulltext-heading h6{font-size:18px}
.fulltext-original{margin-top:7px;font-size:13px;color:var(--ink2);line-height:1.8}
.fulltext-original summary{display:list-item;width:fit-content;cursor:pointer;font-size:12px;color:var(--ink3);padding:2px 0;user-select:none}
.fulltext-original p{padding:10px 14px;background:var(--surface2);border-left:2px solid var(--border2);border-radius:0 6px 6px 0;margin-top:5px}
.fulltext-caption{font-size:14px;line-height:1.8;margin:14px 0 28px}
.fulltext-reference{font-size:13px;line-height:1.75;color:var(--ink2)}
.fulltext-number-warning{border-left:3px solid var(--red);padding-left:14px}
.fulltext-number-note{font-size:12px;line-height:1.7;color:var(--red);margin-top:10px}
.fulltext-number-note small{display:block;margin-top:5px;color:var(--ink3)}
.fulltext-reading-notes{font-size:13px;line-height:1.75;border:1px solid var(--border);border-radius:8px;margin:0 0 24px;color:var(--ink2)}
.fulltext-reading-notes>summary{cursor:pointer;padding:10px 14px;color:var(--orange);font-size:13px}
.fulltext-reading-notes-body{padding:0 14px 12px}
.fulltext-reading-notes-body p{margin:0 0 9px}
.fulltext-reading-notes-body ul{padding-left:20px;margin:0}
.fulltext-reading-notes-body li{margin:0 0 7px;white-space:pre-wrap}
.fulltext-page-preview{margin:18px 0;border:1px solid var(--border);border-radius:8px;background:var(--surface)}
.fulltext-page-preview>summary{cursor:pointer;color:var(--accent);font-size:14px;line-height:1.7;padding:11px 14px}
.fulltext-page-preview-note{font-size:12px;line-height:1.7;color:var(--ink3);padding:0 14px;margin:0 0 12px}
.fulltext-page-preview .fulltext-figure{margin:0;border-width:1px 0 0;border-radius:0 0 8px 8px}
.fulltext-page-link{display:block;width:fit-content;max-width:100%;font:inherit;font-size:14px;line-height:1.7;text-align:left;color:var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:8px;margin:18px 0;padding:10px 14px;cursor:pointer}
.fulltext-figure{margin:22px 0;border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}
.fulltext-figure-zoom{display:block;width:62%;margin:0 auto;padding:0;border:0;background:none;cursor:zoom-in;transition:width .18s ease}
.fulltext-figure-zoom:focus-visible{outline:2px solid var(--accent, #2e8095);outline-offset:2px}
.fulltext-figure.is-wide .fulltext-figure-zoom{width:100%;cursor:zoom-out}
.fulltext-figure img{display:block;width:100%;height:auto;background:#fff}
.fulltext-figure img[hidden]{display:none}
.fulltext-figure figcaption{padding:8px 12px;color:var(--ink3);font-size:12px;border-top:1px solid var(--border)}
@media (max-width:700px){.fulltext-figure-zoom{width:100%;cursor:default}}
.fulltext-asset-state{font-size:13px;color:var(--ink2);padding:30px 16px;text-align:center}
.fulltext-asset-state[hidden]{display:none}
.fulltext-reader .ai-result-actions{border-top:1px solid var(--border);padding-top:18px;margin-top:24px}
@media(min-width:1200px){.ai-perspectives{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){.ai-perspectives{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-perspective{padding:12px}.ai-perspective strong{font-size:15px}.ai-perspective span{font-size:12px}.fulltext-reader-head h3{font-size:22px}.fulltext-reader-content{font-size:16px;line-height:1.9}.fulltext-mode{flex:1;padding:7px 10px}.fulltext-block{margin-bottom:22px}.fulltext-history-tabs{padding:0 14px}.fulltext-number-warning{padding-left:10px}}

.fulltext-share-entry{margin-left:auto}
.fulltext-share-dialog{margin:auto;width:calc(100% - 32px);max-width:520px;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 24px 70px rgba(8,31,43,.28);overflow:auto}
.fulltext-share-dialog::backdrop{background:rgba(15,25,32,.56)}
.fulltext-share-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 21px 16px;border-bottom:1px solid var(--border)}
.fulltext-share-head h3{margin:0;font-family:var(--serif);font-size:23px;line-height:1.4}
.fulltext-share-head p{margin:6px 0 0;font-size:13px;line-height:1.7;color:var(--ink2)}
.fulltext-share-close{flex:none;width:32px;height:32px;border:1px solid var(--border);border-radius:50%;font-size:23px;line-height:1;background:var(--surface2);color:var(--ink2);cursor:pointer}
.fulltext-share-body{padding:19px 21px 22px}
.fulltext-share-title{font-family:var(--serif);font-size:17px;line-height:1.6;margin:0 0 15px;overflow-wrap:anywhere}
.fulltext-share-scope{font-size:14px;line-height:1.8;margin:0 0 9px;color:var(--ink)}
.fulltext-share-body>.fulltext-note{margin-bottom:18px}
.fulltext-share-state,.fulltext-share-message{font-size:13px;line-height:1.7;color:var(--ink2);margin:14px 0}
.fulltext-share-message[hidden]{display:none}
.fulltext-share-url-label{display:block;font-size:12px;color:var(--ink3)}
.fulltext-share-url-label input{display:block;box-sizing:border-box;width:100%;min-width:0;margin-top:7px;border:1px solid var(--border);border-radius:8px;padding:11px;background:var(--surface2);color:var(--ink2);font-size:12px;font-family:var(--mono)}
.fulltext-share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.fulltext-share-actions button,.fulltext-share-primary,.fulltext-share-preview{box-sizing:border-box;font:inherit;font-size:14px;line-height:1.6;text-align:center;border:1px solid var(--border);border-radius:8px;padding:9px 13px;background:var(--surface);color:var(--ink2);cursor:pointer;text-decoration:none}
.fulltext-share-body>.fulltext-share-primary{margin-top:5px}
.fulltext-share-primary,.fulltext-share-actions .fulltext-share-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.fulltext-share-actions .fulltext-share-revoke{color:var(--red);margin-left:auto}
.fulltext-share-dialog button:disabled,.fulltext-share-preview[aria-disabled=true]{opacity:.55;cursor:default}
.fulltext-share-dialog button:focus-visible,.fulltext-share-dialog a:focus-visible,.fulltext-share-dialog input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:560px){.fulltext-share-entry{flex-basis:100%;margin-left:0}.fulltext-share-dialog{margin:auto;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.fulltext-share-head{padding:17px 15px 14px}.fulltext-share-body{padding:15px}.fulltext-share-actions>*{flex:1;min-width:0;white-space:nowrap}.fulltext-share-actions .fulltext-share-revoke{margin-left:0}}

/* 中英对照：左原文右译文逐段成行；悬停一侧，另一侧对应位置跟着亮起来，点一下钉住。 */
.fulltext-reader.compare{max-width:100%}
.fulltext-compare{margin:0 0 10px}
.fulltext-compare-head{position:sticky;top:-18px;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:10px 12px;margin-bottom:2px;background:var(--surface);border-bottom:1px solid var(--border);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--ink3)}
.fulltext-pair{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:12px;border-radius:10px;border:1px solid transparent;box-shadow:inset 3px 0 0 transparent;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease;position:relative}
/* 两栏之间一条淡分隔线，扫读时一眼看清左右边界 */
.fulltext-pair::after{content:'';position:absolute;top:10px;bottom:10px;left:calc(50% - .5px);width:1px;background:var(--border);opacity:.55;pointer-events:none}
.fulltext-pair-full::after{display:none}
.fulltext-pair:hover,.fulltext-pair:focus-visible,.fulltext-pair.pinned{background:var(--surface2);border-color:var(--border);box-shadow:inset 3px 0 0 var(--accent)}
.fulltext-pair:focus-visible{outline:none}
.fulltext-pair-heading{margin-top:16px}
.fulltext-pair-full{display:block;padding:0 12px}
.fulltext-pair-full .fulltext-block{margin-bottom:18px}
.fulltext-cell{min-width:0;border-radius:8px;padding:6px 8px;margin:-6px -8px;transition:background .12s ease}
.fulltext-cell p,.fulltext-cell h3,.fulltext-cell h4,.fulltext-cell h5,.fulltext-cell h6{white-space:pre-wrap;margin:0}
.fulltext-cell-source{font-size:15px;line-height:1.85;color:var(--ink2)}
.fulltext-cell-target{font-size:16px;line-height:1.95;color:var(--ink)}
.fulltext-pair:has(.fulltext-cell-source:hover) .fulltext-cell-target,
.fulltext-pair:has(.fulltext-cell-target:hover) .fulltext-cell-source{background:var(--accent-light)}
.fulltext-pair-heading .fulltext-cell h3,.fulltext-pair-heading .fulltext-cell h4,.fulltext-pair-heading .fulltext-cell h5,.fulltext-pair-heading .fulltext-cell h6{font-family:var(--serif);font-size:19px;line-height:1.5}
.fulltext-pair-heading .fulltext-cell-source h3,.fulltext-pair-heading .fulltext-cell-source h4,.fulltext-pair-heading .fulltext-cell-source h5,.fulltext-pair-heading .fulltext-cell-source h6{font-size:17px;color:var(--ink2)}
.fulltext-pair .fulltext-number-note{grid-column:1/-1;margin-top:8px}
.fulltext-pair.fulltext-number-warning{box-shadow:inset 3px 0 0 var(--red)}
.fulltext-pair-full .fulltext-figure{margin:6px 0 14px}
/* 粘顶的列标要盖住滚动容器的上内边距，否则正文会从上面的缝里露出来 */
@media(max-width:700px){.fulltext-compare-head{top:-14px}}
@media(max-width:820px){
  .fulltext-compare-head{display:none}
  .fulltext-pair{grid-template-columns:1fr;gap:10px;padding:10px}
  .fulltext-pair::after{display:none}
  .fulltext-cell{margin:0;padding:0}
  .fulltext-cell-source{padding-left:10px;border-left:2px solid var(--border2)}
  .fulltext-cell-source::before,.fulltext-cell-target::before{display:block;font-size:11px;color:var(--ink3);margin-bottom:3px;letter-spacing:.06em}
  .fulltext-cell-source::before{content:'原文'}
  .fulltext-cell-target::before{content:'译文'}
  .fulltext-pair:has(.fulltext-cell-source:hover) .fulltext-cell-target,
  .fulltext-pair:has(.fulltext-cell-target:hover) .fulltext-cell-source{background:transparent}
}
/* 引用编号排成真正的上标，跟在词的右上角 */
.fulltext-ref{font-size:.66em;line-height:0;vertical-align:super;color:var(--accent);font-weight:650;margin-left:1px}

/* 目录：点标题直接跳过去 */
.fulltext-toc{border:1px solid var(--border);border-radius:10px;margin:0 0 18px;background:var(--surface)}
.fulltext-toc>summary{cursor:pointer;padding:10px 14px;font-size:13px;color:var(--ink2);user-select:none}
.fulltext-toc>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fulltext-toc-list{display:flex;flex-direction:column;gap:2px;max-height:210px;overflow:auto;padding:0 10px 10px}
.fulltext-toc-item{flex:0 0 auto;font:inherit;font-size:13px;line-height:1.6;min-height:26px;text-align:left;background:none;border:0;color:var(--accent);padding:4px 8px;border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fulltext-toc-item:hover{background:var(--surface2)}
.fulltext-toc-level2{padding-left:22px;color:var(--ink2)}
.fulltext-toc-level3{padding-left:34px;color:var(--ink2);font-size:12.5px}
.fulltext-jumped{animation:fulltext-flash 1.4s ease}
@keyframes fulltext-flash{0%,45%{box-shadow:0 0 0 3px var(--accent-mid)}100%{box-shadow:0 0 0 0 transparent}}
/* 摘要之前的稿件信息：压缩、淡化，一组只占一行 */
.fulltext-front{margin:0 0 20px;padding:10px 14px;border-radius:9px;background:var(--surface2);border:1px solid var(--border)}
.fulltext-front-line{font-size:12.5px;line-height:1.7;color:var(--ink3);margin:0 0 3px}
.fulltext-front-line:last-child{margin-bottom:0}
.fulltext-front .fulltext-original{margin-top:6px;font-size:12px}
.fulltext-pair-front .fulltext-cell{font-size:12.5px;line-height:1.7;color:var(--ink3)}
.fulltext-pair-front .fulltext-cell-target{color:var(--ink2)}
/* 参考文献只保留原文 */
.fulltext-original-only .fulltext-source-text{font-size:13px;line-height:1.75;color:var(--ink2)}
.fulltext-reference.fulltext-original-only{margin:0 0 10px}
.fulltext-heading.fulltext-original-only{margin:28px 0 14px}
.fulltext-pair-full .fulltext-heading.fulltext-original-only{margin:22px 0 10px}
/* 标题加底色，和正文分开 */
.fulltext-pair-heading{background:var(--accent-light);box-shadow:inset 3px 0 0 var(--accent)}
.fulltext-pair-heading:hover,.fulltext-pair-heading:focus-visible,.fulltext-pair-heading.pinned{background:var(--accent-light);border-color:var(--accent-mid);box-shadow:inset 3px 0 0 var(--accent)}
.fulltext-pair-heading::after{display:none}

/* 说明性前缀加粗，和后面的内容分开 */
.fulltext-label{font-weight:700;color:var(--ink)}
.fulltext-cell-source .fulltext-label,.fulltext-front-line .fulltext-label{color:var(--ink2)}
/* 标题：中文为主，原题跟在下面 */
.fulltext-original-title{margin-top:8px;font-size:15px;line-height:1.55;color:var(--ink2)}

/* 原文入口跟在译文末尾，点开才在下面展开 */
.fulltext-source-toggle{font:inherit;font-size:12px;line-height:1.5;color:var(--ink3);background:none;border:0;border-radius:5px;padding:1px 6px;margin-left:6px;cursor:pointer;white-space:nowrap}
.fulltext-source-toggle:hover{color:var(--accent);background:var(--surface2)}
.fulltext-source-toggle.on{color:var(--accent);background:var(--accent-light)}
.fulltext-source-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fulltext-source-body{margin:8px 0 0;padding:10px 14px;background:var(--surface2);border-left:2px solid var(--border2);border-radius:0 6px 6px 0;font-size:13px;line-height:1.8;color:var(--ink2);white-space:pre-wrap}
.fulltext-share-wechat-tip{margin:12px 0 0;padding:10px 12px;border-radius:9px;background:var(--orange-light);color:var(--ink2);font-size:13px;line-height:1.75}
/* 原版式：译文页与原文页按原 PDF 页面显示；左右对照时放宽阅读区。 */
.fulltext-reader.pages-side{max-width:1320px}
.fulltext-page-views{margin-top:-8px}
.fulltext-pages{display:flex;flex-direction:column;gap:22px}
.fulltext-page-body{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.fulltext-pages.is-side .fulltext-page-body{grid-template-columns:repeat(2,minmax(0,1fr))}
.fulltext-page-image{position:relative;margin:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:auto;-webkit-overflow-scrolling:touch}
.fulltext-page-zoom{display:block;width:100%;aspect-ratio:1/var(--page-ratio,1.3333);padding:0;border:0;background:#fff;cursor:zoom-in}
.fulltext-page-zoom:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.fulltext-page-image.is-zoomed .fulltext-page-zoom{width:200%;cursor:zoom-out}
.fulltext-page-image img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.fulltext-page-image img[hidden]{display:none}
.fulltext-page-image .fulltext-asset-state{position:absolute;left:0;right:0;top:38%;pointer-events:none}
.fulltext-page-image figcaption{padding:7px 12px;color:var(--ink3);font-size:12px;border-top:1px solid var(--border)}
@media(min-width:900px){.fulltext-page-image.is-zoomed .fulltext-page-zoom{width:150%}}
@media(max-width:560px){.fulltext-pages{gap:16px}.fulltext-pages.is-side .fulltext-page-body{gap:6px}.fulltext-page-image figcaption{padding:5px 8px;font-size:11px}}
