/* InLine: a quiet, product-led space for academic writing. */
:root {
  color-scheme:dark;
  --bg:#111113;
  --surface:#1a1a1e;
  --ink:#f3f1f6;
  --muted:#a09da8;
  --accent:#c0a6fa;
  --line:#ffffff16;
  --window-shadow:0 28px 72px #0007,0 8px 24px #0004;
  --window-shadow-soft:0 18px 48px #0005;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"SFMono-Regular","Roboto Mono",ui-monospace,monospace;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scrollbar-color:#4d4a52 transparent;
}

::-webkit-scrollbar-track,
::-webkit-scrollbar-corner {
  background:transparent;
}

body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:15px/1.7 var(--sans);
  -webkit-font-smoothing:antialiased;
}

main [id] {
  scroll-margin-top:78px;
}

a {
  color:inherit;
  text-decoration:none;
}

button {
  font:inherit;
  cursor:pointer;
}

[hidden] {
  display:none!important;
}

img {
  max-width:100%;
}

::selection {
  background:#ffffff26;
}

:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:5px;
}

.wrap {
  width:min(1140px,calc(100% - 96px));
  margin-inline:auto;
}

.skip {
  position:fixed;
  left:16px;
  top:-80px;
  z-index:20;
  background:var(--accent);
  color:#111;
  padding:10px 20px;
}

.skip:focus {
  top:10px;
}

.topbar {
  position:sticky;
  top:0;
  z-index:100;
  border-bottom:1px solid #ffffff12;
  background:#111113c2;
  box-shadow:0 10px 30px #0000001a;
  -webkit-backdrop-filter:blur(22px) saturate(165%);
  backdrop-filter:blur(22px) saturate(165%);
}

.topbar-inner {
  height:62px;
  display:flex;
  align-items:center;
  gap:56px;
}

.brand {
  display:flex;
  align-items:center;
  gap:11px;
  font-size:26px;
  letter-spacing:-1px;
  font-weight:650;
}

/* 深色页面使用白色品牌标志。 */

nav {
  display:flex;
  gap:32px;
  font-size:14px;
  color:#bbb7c4;
}

.topbar-actions {
  display:flex;
  align-items:center;
  gap:14px;
  margin-left:auto;
}

.theme-toggle {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  border:0;
  background:transparent;
  color:#bdb8c7;
  transition:color .2s;
}

html:not(.theme-ready) .theme-toggle {
  display:none;
}

.theme-toggle:hover {
  background:transparent;
  color:var(--accent);
}

.theme-toggle svg {
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.theme-icon-sun {
  display:block;
}

.theme-icon-moon {
  display:none;
}

:root[data-theme="light"] .theme-icon-sun {
  display:none;
}

:root[data-theme="light"] .theme-icon-moon {
  display:block;
}

.language-switch {
  padding:8px 3px;
  color:#918c97;
  font-size:12px;
}

.language-switch:hover {
  color:var(--accent);
}

nav a,.text-link {
  transition:color .2s;
}

nav a:hover,.text-link:hover {
  color:var(--accent);
}

.hero {
  padding-top:36px;
  overflow:visible;
  background:radial-gradient(ellipse 60% 35% at 50% 88%,#ffffff08,transparent);
}

.hero-copy {
  text-align:center;
  padding:0 24px;
  animation:enter .8s both;
}

.eyebrow {
  font-size:12px;
  letter-spacing:.15em;
  color:var(--muted);
  margin:0 0 20px;
}

.hero h1 {
  font-size:clamp(78px,8.2vw,112px);
  line-height:1.05;
  letter-spacing:-7px;
  margin:0 0 23px;
  font-weight:650;
}

.brand-period {
  color:var(--accent);
}

.hero h2 {
  font-size:clamp(30px,3.1vw,43px);
  letter-spacing:-1.4px;
  font-weight:550;
  line-height:1.3;
  margin:0;
}

.lede {
  font-size:16px;
  color:var(--muted);
  line-height:1.85;
  margin:23px 0;
}

.hero-actions {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:30px;
  margin-top:27px;
}

.hero-actions .btn {
  gap:18px;
}

.hero-actions .text-link span {
  margin-left:8px;
}

.btn {
  display:inline-flex;
  gap:27px;
  align-items:center;
  justify-content:center;
  padding:13px 23px;
  border:0;
  background:var(--accent);
  color:#21172f;
  border-radius:7px;
  font-weight:600;
  font-size:14px;
  appearance:none;
  -webkit-appearance:none;
  transition:background .2s;
}

.btn:hover {
  background:#d2befc;
}

.btn span,.text-link span {
  display:inline-block;
  transition:transform .2s;
}

.btn:hover span,.text-link:hover span {
  transform:translate(2px,-2px);
}

.text-link {
  font-size:14px;
}

.text-link span {
  margin-left:12px;
}

.product-stage {
  width:min(1140px,calc(100% - 96px));
  margin:48px auto 0;
  animation:enter 1s .15s both;
}

.principles {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:65px;
  padding-block:85px 95px;
  border-bottom:1px solid var(--line);
}

.small-icon { display:grid; place-items:center; width:38px; height:38px; color:#d9cbf4; transition:color .3s ease,transform .3s ease; }
.principle-icon { width:22px; height:22px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.principles>div:hover .small-icon { color:#e4d9f6; transform:translateY(-1px); }

.principles .principle-tag {
  display:block;
  font-size:12px;
  letter-spacing:.12em;
  color:var(--accent);
  margin:0;
}

.principles h3 {
  font-size:19px;
  font-weight:550;
  margin:8px 0 0;
}

h2 {
  font-size:clamp(32px,4vw,48px);
  font-weight:550;
  line-height:1.35;
  letter-spacing:-1.4px;
  margin:0;
}

.selection-section {
  padding-block:110px 95px;
  background:transparent;
  border-bottom:1px solid #ffffff07;
}

.selection-section .knowledge-heading {
  margin-bottom:48px;
}

.knowledge-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:48px;
}

.knowledge-heading>div {
  flex:1;
  min-width:0;
}

.knowledge-heading>p {
  font-size:14px;
  color:var(--muted);
  margin-bottom:5px;
  line-height:1.9;
}

.knowledge-heading.is-single-line h2 {
  font-size:clamp(14px,4vw,48px);
  white-space:nowrap;
}

.heading-subtitle {
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
  letter-spacing:.04em;
}

.heading-line {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  width:100%;
}

.heading-line .heading-subtitle {
  flex:none;
  margin:0 0 4px auto;
  white-space:nowrap;
}

.closing {
  text-align:center;
  padding-block:110px 80px;
}

.closing-typewriter {
  min-height:1.35em;
}

.typewriter-cursor {
  display:inline-block;
  width:.055em;
  height:.82em;
  margin-left:.08em;
  border-radius:1px;
  background:currentColor;
  vertical-align:-.04em;
  animation:typewriter-cursor 1s step-end infinite;
}

@keyframes typewriter-cursor {
  0%,49% {
    opacity:1;
  }
  50%,100% {
    opacity:0;
  }
}

.closing>p:not(.eyebrow) {
  font-size:14px;
  color:var(--muted);
  line-height:1.9;
  margin:24px 0 28px;
}

/* 页尾下载按钮 */
.preview-actions {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:30px;
  margin-top:32px;
}

.preview-launch {
  gap:18px;
  white-space:nowrap;
}

.foot {
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  column-gap:26px;
  row-gap:13px;
  padding-block:32px 45px;
  font-size:11px;
  color:#8b8296;
}

.foot .brand {
  color:#ddd6e6;
  font-size:22px;
}

/* 联系方式整体靠右：第一个联系方式吃掉弹性留白 */
.foot>a[href^="mailto:"] {
  margin-left:auto;
}

.foot>a:not(.brand):hover {
  color:var(--accent);
}

.foot-xhs {
  display:inline-flex;
  align-items:center;
  gap:5px;
}

/* 官方账号矩阵靠右成组（Follow us）：文字标签独占一行在上，账号图标横排在下，后续图标往右追加 */
.foot-follow {
  margin-left:auto;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  column-gap:12px;
  row-gap:9px;
  font-size:12px;
  color:#918c97;
}

.foot-follow-label {
  flex-basis:100%;
}

.foot-follow a {
  display:inline-flex;
}

.foot-follow a:hover {
  opacity:.78;
}

/* 备案号：独占页脚最后一行，中英文页同一份文案与链接 */
.foot-filings {
  flex-basis:100%;
  display:flex;
  align-items:center;
  gap:12px;
}

.foot-filings a {
  display:inline-flex;
  align-items:center;
  gap:5px;
}

.foot-filings a:hover {
  color:var(--accent);
}

.foot-filings img {
  display:block;
  width:14px;
  height:14px;
}

.foot-filings-sep {
  width:1px;
  height:11px;
  background:currentColor;
  opacity:.34;
}

[data-reveal] {
  transition:opacity .78s ease,transform .88s cubic-bezier(.2,.75,.25,1);
}

[data-reveal].reveal-pending {
  opacity:0;
  transform:translateY(18px);
}

.reveal-part {
  transition:opacity .68s ease,transform .78s cubic-bezier(.2,.75,.25,1);
  transition-delay:var(--reveal-delay,0ms);
}

[data-reveal].reveal-pending .reveal-part {
  opacity:0;
  transform:translateY(12px);
}

@keyframes enter {
  from {
    opacity:0;
    transform:translateY(20px);
  }
  to {
    opacity:1;
    transform:none;
  }
}

.nf-page {
  min-height:100svh;
  display:grid;
  place-items:center;
}

.nf {
  max-width:620px;
  padding:30px;
}

.nf img {
  margin-bottom:30px;
}

.nf__title {
  font-size:40px;
  line-height:1.3;
}

.nf__lede {
  color:var(--muted);
  margin-bottom:30px;
}

.btn__arrow {
  width:24px;
  height:12px;
  fill:none;
  stroke:currentColor;
}

@media(min-width:1600px) {
  .hero {
    padding-top:55px;
  }
  .product-stage {
    margin-top:64px;
  }
}

@media(max-width:1000px) {
  .wrap {
    width:calc(100% - 56px);
  }
  .principles {
    gap:30px;
  }
  .knowledge-heading>p {
    max-width:300px;
  }
}

@media(max-width:900px) {
  .topbar-inner {
    gap:28px;
  }
}

@media(max-width:640px) {
  .wrap {
    width:calc(100% - 36px);
  }
  main [id] {
    scroll-margin-top:70px;
  }
  .topbar-inner {
    height:54px;
    gap:14px;
  }
  .brand {
    font-size:23px;
  }
  .brand img {
    height:17px;
    width:auto;
  }
  .topbar nav {
    gap:14px;
    font-size:11px;
  }
  .topbar-actions {
    gap:7px;
  }
  .theme-toggle {
    width:30px;
    height:30px;
    border-radius:8px;
  }
  .language-switch {
    font-size:10px;
  }
  .hero {
    padding-top:34px;
}
  .hero h1 {
    font-size:84px;
    letter-spacing:-5px;
    margin-bottom:20px;
  }
  .hero h2 {
    font-size:31px;
  }
  .hero .eyebrow {
    font-size:10px;
  }
  .lede {
    font-size:13px;
  }
  .hero-actions {
    gap:21px;
  }
  .preview-actions {
    gap:21px;
  }
  .btn {
    font-size:13px;
    padding:12px 20px;
  }
  .text-link {
    font-size:12px;
  }
  .product-stage {
    width:calc(100% - 24px);
    margin-top:35px;
  }
  .principles {
    grid-template-columns:1fr;
    gap:27px;
    padding-block:55px;
  }
  .principles>div { display:grid; grid-template-columns:38px 1fr; align-items:start; column-gap:12px; }
  .principles .principle-tag {
    grid-column:2;
    font-size:11px;
  }
  .principles h3 {
    grid-column:2;
    margin:4px 0 0;
    font-size:18px;
  }
  .eyebrow {
    font-size:10px;
    margin-bottom:16px;
  }
  .selection-section {
    padding-block:60px;
  }
  .knowledge-heading {
    display:block;
    margin-bottom:28px;
  }
  .knowledge-heading h2 br {
    display:none;
  }
  .knowledge-heading>p {
    font-size:13px;
    margin-top:20px;
  }
  .heading-subtitle {
    margin-top:9px;
    font-size:12px;
  }
  .heading-line {
    display:block;
  }
  .heading-line .heading-subtitle {
    margin:9px 0 0 auto;
    text-align:right;
    white-space:normal;
  }
  .closing {
    padding-block:65px 50px;
  }
  .closing h2 {
    font-size:33px;
  }
  .closing>p:not(.eyebrow) {
    font-size:12px;
  }
  .foot {
    flex-wrap:wrap;
    gap:16px;
    padding-block:25px 30px;
  }
  .foot-follow {
    margin-left:0;
    flex-basis:100%;
  }
  .foot-filings {
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
  .foot-filings-sep {
    display:none;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
  }
  [data-reveal].reveal-pending {
    opacity:1;
    transform:none;
  }
  [data-reveal].reveal-pending .reveal-part {
    opacity:1;
    transform:none;
  }
}

/* 第二屏：拿首屏那套看板当底，上面浮一个对话窗，演一遍人和 InLine AI 的来回。 */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ai-section { padding-top: 110px; }
/* 与首屏工作台同比例（16:10）；窄屏放不下时用 min-height 兜住——520px 是对话窗演完这一轮
   （问候语、提问、六条工具事件、一段回答）所需的净高，比它矮就会有内容被推出窗外。 */
.agent-stage { position: relative; width: 100%; aspect-ratio: 16 / 10; min-height: 520px; border: 1px solid #ffffff25; border-radius: 12px; background: #1e1e1e; box-shadow: 0 24px 80px #0004; overflow: hidden; }
.agent-stage-board { position: absolute; inset: 0; transition: filter .8s ease; }
.agent-stage-board .studio-scroll { height: 100%; border: 0; border-radius: 0; box-shadow: none; background: #1e1e1e; overflow: hidden; }
.agent-stage-board .studio { width: 100%; height: 100%; min-width: 0; aspect-ratio: auto; }
.agent-stage-board .studio-document { overflow: hidden; }
.agent-stage-veil { position: absolute; inset: 0; background: radial-gradient(ellipse 64% 64% at 50% 50%, #13131699, #1313163d 62%, #13131614); opacity: 0; transition: opacity .8s ease; }
.agent-stage.is-chat .agent-stage-board { filter: blur(3.5px) brightness(.6) saturate(.85); }
.agent-stage.is-chat .agent-stage-veil { opacity: 1; }
/* 待审修订面板先进入，公式晚 1 秒再以插入修订出现。 */
.agent-stage-board .studio-review { transition: transform .62s cubic-bezier(.2,.7,.3,1), opacity .45s ease; }
.agent-stage:not(.is-review) .agent-stage-board .studio-review { transform: translateX(124%); opacity: 0; }
.agent-stage-board [data-agent-formula] { display:none; }
.agent-stage.is-revision .agent-stage-board [data-agent-formula] { position:relative; display:block; margin-left:8px; border-left:3px solid #75bd8c; border-radius:6px; background:linear-gradient(90deg,#27533bbd,#27533b30 78%,transparent); box-shadow:inset 0 0 0 1px #75bd8c2e; animation:formula-insert .5s cubic-bezier(.2,.75,.25,1) both; }
.agent-stage.is-revision .agent-stage-board [data-agent-formula]::before { position:absolute; left:-15px; top:50%; color:#8fd0a0; content:"+"; transform:translateY(-50%); font:600 16px/1 var(--sans); }
.agent-stage.is-revision .agent-stage-board [data-agent-formula] math { color:#b8dfc1; }
.agent-stage.is-revision .agent-stage-board [data-agent-formula] .studio-equation-number { color:#83b991; }
@keyframes formula-insert { from { opacity:0; transform:translateY(-7px); } to { opacity:1; transform:none; } }
.agent-chat { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) scale(.96); opacity: 0; visibility: hidden; display: flex; flex-direction: column; width: min(540px, calc(100% - 48px)); height: min(468px, calc(100% - 48px)); border: 1px solid rgba(255,255,255,.10); border-radius: 16px; background: rgba(52,52,52,.86); -webkit-backdrop-filter: blur(22px) saturate(160%); backdrop-filter: blur(22px) saturate(160%); box-shadow: 0 20px 56px rgba(0,0,0,.45), inset 0 1px 1px rgba(255,255,255,.10); transition: opacity .45s ease, transform .45s cubic-bezier(.2,.7,.3,1); }
.agent-stage.is-chat .agent-chat { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); }
.agent-chat-head { display: flex; flex: none; align-items: center; gap: 10px; height: 46px; padding: 0 12px 0 20px; border-bottom: 1px solid rgba(255,255,255,.09); }
.agent-brand { display: flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; color: #ececec; }
.agent-brand .studio-icon { width: 18px; height: 18px; }
.agent-chat-actions { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; color: #6b6b6b; }
.agent-chat-actions .studio-icon { width: 15px; height: 15px; }
.agent-chat-body { display: flex; flex: 1; min-height: 0; flex-direction: column; gap: 10px; padding: 14px 10px 4px 20px; overflow: hidden; }
.agent-greeting { margin: 0; color: #ececec; font-size: 13px; line-height: 1.75; }
.agent-bubble { margin: 0 0 0 auto; max-width: 84%; padding: 4px 12px; border-radius: 12px 12px 4px 12px; background: #ececec; color: #161616; font-size: 13px; line-height: 1.5; animation: agent-rise .42s cubic-bezier(.2,.7,.3,1) both; }
.agent-status-dots { display: inline-flex; align-items: center; gap: 4px; }
.agent-status-dots i { width: 5px; height: 5px; border-radius: 50%; background: #6b6b6b; animation: agent-typing 1.1s ease-in-out infinite; }
.agent-status-dots i:nth-child(2) { animation-delay: .15s; }
.agent-status-dots i:nth-child(3) { animation-delay: .3s; }
.agent-activity { display: flex; align-items: center; gap: 6px; margin: 0; padding-left: 2px; color: #6b6b6b; font-size: 11px; line-height: 1.6; }
/* 这一轮做了什么：一行一件，左边一枚类别象征（读 / 找 / 写 / 文件），后面跟服务端折出的
   计数型摘要。名字与摘要取应用里同名的文案（`app.chat.tool.*` 与 tools.py 的 summary），
   与应用 AI 窗口的 .chat-tool 同一套语言：没有边框与底色，一串动作读起来是连贯的。 */
.agent-tools { display: flex; flex-direction: column; gap: 2px; }
.agent-tool { display: flex; align-items: center; gap: 6px; max-width: 100%; margin: 0; padding: 2px 0; color: #b9b9b9; font-size: 11px; line-height: 1.5; animation: agent-rise .3s cubic-bezier(.2,.7,.3,1) both; }
/* 象征的左缘与上面的正文对齐（与应用一致：事件行不缩进，靠颜色与形状分开） */
.agent-tool .studio-icon { width: 12px; height: 12px; color: var(--evt-ink, #6b6b6b); }
.agent-tool-name { flex: none; }
.agent-tool-plugins { display: inline-flex; flex: none; align-items: center; gap: 3px; margin-left: 1px; }
.agent-tool-plugin { display: block; width: 14px; height: 14px; border-radius: 4px; object-fit: contain; opacity: 1; animation: agent-plugin-in .26s cubic-bezier(.2,.7,.3,1) both; }
.agent-tool-plugin:nth-child(2) { animation-delay: .08s; }
.agent-tool-plugin:nth-child(3) { animation-delay: .16s; }
.agent-tool-detail { min-width: 0; overflow: hidden; color: #6b6b6b; white-space: nowrap; text-overflow: ellipsis; }
/* 类别色：与应用同一份深色标签色板（--tag-N-ink），只列这一屏用到的四类。
   形状负责区分，颜色只帮忙扫读。 */
.evt-read { --evt-ink: #a9c6f5; }
.evt-search { --evt-ink: #8ed3e0; }
.evt-write { --evt-ink: #f0ab86; }
.evt-file { --evt-ink: #e3c878; }
.agent-reply { margin: 0; color: #ececec; font-size: 13px; line-height: 1.75; animation: agent-rise .42s cubic-bezier(.2,.7,.3,1) both; }
/* 流式输出时句尾那根光标（应用里是 .chat-caret，同一档规格） */
.agent-stream-caret { display: none; width: 2px; height: 1em; margin-left: 2px; vertical-align: -2px; background: #ececec; }
.agent-chat.is-streaming .agent-stream-caret { display: inline-block; animation: agent-caret 1s step-end infinite; }
.agent-context { display: flex; flex: none; align-items: center; gap: 5px; margin: 4px 20px 0; color: #6b6b6b; font-size: 11px; line-height: 1.4; }
.agent-context .studio-icon { width: 13px; height: 13px; }
.agent-chat-composer { display: flex; flex: none; align-items: flex-end; gap: 8px; margin: 8px 20px 18px; padding: 7px 8px 7px 12px; border: 1px solid rgba(255,255,255,.17); border-radius: 12px; background: rgba(52,52,52,.75); }
.agent-typed { padding: 4px 0; color: #ececec; font-size: 13px; line-height: 1.6; }
.agent-chat-placeholder { padding: 4px 0; color: #6b6b6b; font-size: 13px; line-height: 1.6; }
.agent-caret { display: none; width: 2px; height: 15px; margin: 0 0 5px 2px; background: #ececec; }
.agent-chat.is-typing .agent-caret { display: block; animation: agent-caret 1s steps(1) infinite; }
.agent-chat.is-typing .agent-chat-placeholder { display: none; }
.agent-send { display: grid; place-items: center; width: 30px; height: 30px; margin-left: auto; border-radius: 999px; background: #ececec; color: #161616; box-shadow: 0 4px 12px rgba(0,0,0,.45); }
.agent-send .studio-icon { width: 15px; height: 15px; }
/* 第三屏：正文划选、浮动工具栏、带引用追问。 */
.selection-stage .studio-review, .selection-stage .studio-comment { display:none; }
.selection-stage .studio-document { right:4%; }
.selection-stage .studio-paper [data-demo-selection] { background-image:linear-gradient(#b99ce04d,#b99ce04d); background-repeat:no-repeat; background-size:0 100%; border-radius:2px; box-decoration-break:clone; -webkit-box-decoration-break:clone; transition:background-size .82s cubic-bezier(.2,.75,.25,1); }
.selection-stage.is-selecting .studio-paper [data-demo-selection] { background-size:100% 100%; }
.selection-stage-board { transition:filter .7s ease; }
.selection-stage.has-chat .selection-stage-board { filter:brightness(.72) saturate(.88); }
.selection-stage.has-chat .selection-stage-veil { opacity:.2; }
.selection-demo-cursor { position:absolute; z-index:48; left:0; top:0; width:22px; height:22px; transform:translate(var(--selection-cursor-x,50%),var(--selection-cursor-y,50%)); transition:transform .72s cubic-bezier(.2,.75,.2,1),opacity .3s ease; pointer-events:none; filter:drop-shadow(0 2px 3px #0009); }
.selection-demo-cursor path { fill:#f2f2f2; stroke:#181818; stroke-width:1.2; stroke-linejoin:round; }
.selection-demo-cursor::after { position:absolute; left:3px; top:3px; width:4px; height:4px; border:1px solid #f2f2f2; border-radius:50%; content:""; opacity:0; }
.selection-stage.is-clicking .selection-demo-cursor::after { animation:selection-click .42s ease-out both; }
.selection-stage.has-chat .selection-demo-cursor { opacity:0; }
@keyframes selection-click { from { opacity:.9; transform:scale(1); } to { opacity:0; transform:scale(5); } }
.selection-demo-toolbar { position:absolute; z-index:46; left:var(--selection-toolbar-x,60%); top:var(--selection-toolbar-y,60%); display:flex; align-items:center; gap:2px; padding:5px 6px; border:1px solid rgba(255,255,255,.11); border-radius:9px; background:rgba(50,50,52,.92); box-shadow:0 12px 32px #0008,inset 0 1px 0 #ffffff0d; -webkit-backdrop-filter:blur(18px) saturate(150%); backdrop-filter:blur(18px) saturate(150%); opacity:0; visibility:hidden; transform:translate(-50%,8px); transition:opacity .22s ease,transform .28s cubic-bezier(.2,.75,.25,1); pointer-events:none; white-space:nowrap; }
.selection-stage.has-selection:not(.has-chat) .selection-demo-toolbar { opacity:1; visibility:visible; transform:translate(-50%,0); }
.selection-demo-action { display:grid; place-items:center; width:28px; height:28px; border-radius:7px; color:#aaa; }
.selection-demo-action .studio-icon { width:14px; height:14px; }
.selection-demo-divider { width:1px; height:16px; margin:0 2px; background:#ffffff1d; }
.selection-demo-inline { display:flex; align-items:center; gap:5px; height:28px; padding:0 8px; border-radius:7px; color:#ededed; font-size:11.5px; font-weight:500; transition:background .15s ease; }
.selection-demo-inline .studio-icon { width:14px; height:14px; }
.selection-stage.is-toolbar-hover .selection-demo-inline, .selection-stage.is-clicking .selection-demo-inline { background:#ffffff12; }
.agent-chat.selection-chat { left:auto; right:1.3%; top:7%; bottom:3.8%; width:42%; height:auto; transform:translateX(24px) scale(.98); transform-origin:right center; background:rgba(49,49,50,.94); }
.selection-stage.has-chat .agent-chat.selection-chat { opacity:1; visibility:visible; transform:none; }
.selection-chat-body { padding:14px 10px 4px 16px; }
.selection-transcript { display:flex; flex:1; min-height:0; flex-direction:column; gap:10px; overflow-y:auto; padding-right:4px; scrollbar-width:thin; scrollbar-color:#ffffff1f transparent; }
.selection-transcript::-webkit-scrollbar { width:5px; }
.selection-transcript::-webkit-scrollbar-thumb { border-radius:20px; background:#ffffff1f; }
.selection-message { display:flex; }
.selection-message.is-user { justify-content:flex-end; }
.selection-user-bubble { max-width:92%; padding:8px 10px; border-radius:12px 12px 4px 12px; background:#ececec; color:#161616; font-size:12px; line-height:1.5; animation:agent-rise .36s cubic-bezier(.2,.7,.3,1) both; }
.selection-sent-quote { padding:5px 7px 6px; border-left:2px solid #16161645; border-radius:0 7px 7px 0; background:#16161612; }
.selection-sent-quote>span:first-of-type { display:flex; align-items:center; gap:5px; color:#575757; font-size:10px; }
.selection-sent-quote .studio-icon { width:11px; height:11px; }
.selection-sent-quote-text { margin:5px 0 0; color:#353535; font-size:10.5px; line-height:1.5; }
.selection-user-bubble>p:last-child { margin:7px 0 0; font-size:12.5px; }
.selection-reply { color:#ececec; font-size:12.5px; line-height:1.75; animation:agent-rise .36s cubic-bezier(.2,.7,.3,1) both; }
.selection-reply p { margin:0; }
.selection-answer-piece { white-space:pre-wrap; }
.selection-answer-math { display:inline-flex; align-items:center; margin:0 3px; padding:0 3px; border-radius:4px; background:#ffffff0b; color:#ececec; vertical-align:-.16em; animation:selection-math-in .28s ease both; }
.selection-answer-math math { font-size:1.28em; line-height:1; }
.selection-answer-math msqrt { padding:0 1px; }
@keyframes selection-math-in { from { opacity:0; transform:translateY(2px); } to { opacity:1; transform:none; } }
.selection-pending-quote { display:flex; flex:none; align-items:center; gap:6px; margin:8px 20px 0; padding:4px 5px 4px 8px; border-left:2px solid #ffffff3d; border-radius:0 7px 7px 0; background:#ffffff0c; color:#b9b9b9; font-size:11px; line-height:1.5; animation:agent-rise .34s cubic-bezier(.2,.7,.3,1) both; }
.selection-pending-quote[hidden] { display:none; }
.selection-pending-quote .studio-icon { flex:none; width:12px; height:12px; color:#777; }
.selection-pending-text { flex:1; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.selection-pending-count { flex:none; color:#777; font-size:10.5px; }
.selection-pending-remove { display:grid; flex:none; place-items:center; width:18px; height:18px; color:#777; }
.selection-pending-remove .studio-icon { width:12px; height:12px; }
.selection-chat-composer.has-draft .agent-chat-placeholder { display:none; }
.selection-chat-composer.is-sending .agent-send { opacity:.65; transform:scale(.9); }
@keyframes agent-typing { 0%,60%,100% { opacity: .35; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
@keyframes agent-rise { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes agent-plugin-in { from { opacity: 0; transform: translateY(2px) scale(.78); } to { opacity: 1; transform: none; } }
@keyframes agent-caret { 0%,49% { opacity: 1; } 50%,100% { opacity: 0; } }
@media (max-width: 640px) {
  .ai-section { padding-top: 60px; }
  .agent-chat { width: calc(100% - 32px); height: calc(100% - 32px); }
  .ai-section .knowledge-heading h2 br { display: initial; }
  .agent-stage .studio { transform:scale(.58); transform-origin:top left; }
  .agent-chat.selection-chat { top:12px; right:12px; bottom:auto; width:calc(100% - 24px); height:calc(100% - 24px); }
  .selection-chat-body { padding-left:14px; }
}

/* Scoped product demonstration, independently adjustable from the application. */
.studio-scroll { overflow:auto; border:1px solid #ffffff25; border-radius:12px; background:#1e1e1e; box-shadow:0 24px 80px #0004; }
.studio { position:relative; width:100%; min-width:1080px; aspect-ratio:16 / 10; text-align:left; color:#bbb; font:12px/1.6 var(--sans); --studio-side:14.2%; --studio-right:24%; }
.studio-sidebar { position:absolute; inset:0 auto 0 0; width:var(--studio-side); background:#191919; border-right:1px solid #ffffff12; padding:12px 16px; }
.studio-dots { display:flex; gap:7px; margin-bottom:24px; }
.studio-dots i { width:10px; height:10px; border-radius:50%; background:#ff5f57; }
.studio-dots i:nth-child(2) { background:#febc2e; }.studio-dots i:nth-child(3) { background:#28c840; }
.studio-brand { display:flex; gap:8px; align-items:center; color:#eee; font-size:19px; font-weight:600; }
.studio-navigation { display:grid; gap:11px; margin:22px 0; font-size:11px; }
.studio-switch { display:flex; background:#141414; border-radius:7px; padding:3px; text-align:center; font-size:11px; }
.studio-switch>* { flex:1; padding:5px 6px; font-weight:400; }.studio-switch strong { background:#272727; color:#eee; border-radius:5px; }
.studio-outline-label { display:flex; justify-content:space-between; color:#777; margin:16px 0 7px; }
.studio-outline { display:grid; gap:2px; font-size:11px; }.studio-outline span { padding:5px 3px; border-radius:4px; }
.studio { --studio-header-height:48px; --studio-writing-top:calc(var(--studio-header-height) + 38px); --studio-review-top-gap:10px; }
.studio-top { height:var(--studio-header-height); margin-left:var(--studio-side); display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 16px; border-bottom:1px solid #ffffff12; font-size:11px; }
.studio-top strong { font-weight:500; }.studio-top>div { display:flex; gap:3px; align-items:center; padding:3px; border-radius:9px; background:#171717; }.studio-top>div span { padding:4px 12px; }.studio-top b { font-weight:500; color:#eee; background:#292929; padding:4px 12px; border-radius:7px; }.studio-top>span { color:#777; }
.studio-toolbar { margin-left:var(--studio-side); height:38px; padding:9px 20px; border-bottom:1px solid #ffffff10; color:#999; }
.studio-document { position:absolute; inset:var(--studio-writing-top) var(--studio-right) 27px var(--studio-side); overflow:auto; scrollbar-width:thin; scrollbar-color:#444 transparent; }
.studio-paper { padding:18px 44px 50px 15%; font-family:"Songti SC","SimSun",serif; font-size:15px; line-height:2.25; color:#c6c6c6; }
.studio-paper h3 { margin:18px 0 20px; font-size:17px; font-weight:600; scroll-margin-top:18px; }.studio-paper h3:first-child { margin-top:0; }.studio-paper p { text-indent:2em; margin:0 0 22px; }.studio-paper mark { background:#77643188; color:#ddd3ae; }
.studio-inline-revision { display:inline; white-space:normal; }
.studio-inline-revision del { color:#d99898; background:#6d2f3188; text-decoration-color:#e19b9b; text-decoration-thickness:1px; text-decoration-line:line-through; padding:1px 2px; }
.studio-inline-revision ins { color:#a7cfb1; background:#27533b99; text-decoration:none; padding:1px 2px; }
.studio-review,.studio-comment { position:absolute; border:1px solid #ffffff20; border-radius:13px; background:#2c2c2c; box-shadow:0 10px 40px #0004; }
.studio-review header { display:flex; align-items:center; justify-content:space-between; padding:0 12px; height:var(--studio-header-height); border-bottom:1px solid #ffffff14; color:#ddd; }
.studio-review { right:1.5%; top:calc(var(--studio-writing-top) + var(--studio-review-top-gap)); display:flex; width:19.5%; max-height:calc(100% - var(--studio-writing-top) - var(--studio-review-top-gap) - 27px); flex-direction:column; overflow:hidden; }.studio-review header { height:36px; flex:none; justify-content:flex-start; gap:7px; font-size:11px; }.studio-review header>span:first-child { border-radius:50%; background:#ddd; color:#333; font-size:9px; padding:0 5px; }.studio-review header>span:last-child { margin-left:auto; color:#888; }.studio-review-body { flex:1; min-height:0; overflow:auto; padding:2px 12px 8px; }.studio-review-item { padding:8px 0 9px; border-bottom:1px solid #ffffff14; }.studio-review-item:last-of-type { border-bottom:0; }.studio-ai-label { margin:0 0 6px; color:#ddd; font-weight:500; }.studio-ai-label span { color:#888; font-size:9px; font-weight:400; margin-left:6px; }.studio-review-item>p:not(.studio-ai-label) { color:#999; font-size:10px; line-height:1.45; margin:0; }.studio-review del,.studio-review ins { display:block; padding:4px 7px; margin-top:4px; border-radius:5px; font-size:10px; line-height:1.4; }.studio-review del { background:#602b2d; color:#dd9a98; }.studio-review ins { text-decoration:none; background:#254e37; color:#9dc7a8; }
.studio-review-item-compact { padding-top:8px; }.studio-review-item-compact .studio-ai-label { margin-bottom:5px; }.studio-review-item-compact .studio-compact-change { display:flex; flex-wrap:wrap; gap:3px; margin-top:4px!important; }.studio-review-item-compact .studio-compact-change del,.studio-review-item-compact .studio-compact-change ins { display:inline; margin:0; padding:3px 5px; font-size:9px; line-height:1.25; }
.studio-formula-review { margin-top:5px!important; padding:5px 7px; border-radius:5px; background:#254e37; color:#9dc7a8!important; font:10px/1.45 Georgia,"Times New Roman",serif; }
.studio-decisions { display:flex; justify-content:flex-end; gap:16px; margin-top:8px; }.studio-decisions button { background:none; border:0; padding:2px 0; font-size:11px; color:#d99592; }.studio-decisions button:last-child { color:#94c6a3; }.studio-decisions button:hover { text-decoration:underline; }
/* 面板空状态：与应用 .panel-empty 同一组规格（图标 + 标题 + 一句说明） */
.panel-empty { display:flex; flex-direction:column; align-items:center; padding:26px 10px 30px; color:#6b6b6b; text-align:center; }
.panel-empty .studio-icon { width:26px; height:26px; margin-bottom:10px; color:#6b6b6b; }
.panel-empty h3 { margin:0 0 5px; color:#b9b9b9; font-size:12px; font-weight:600; }
.panel-empty p { max-width:190px; margin:0; color:#8b8b8b; font-size:10.5px; line-height:1.65; }
.studio-comment { right:1.5%; bottom:31px; width:19.5%; padding:10px 12px; background:#252525; border-color:#ffffff50; }.studio-comment-meta { display:flex; align-items:center; justify-content:space-between; color:#ddd; font-size:10px; }.studio-comment-meta b { font-size:11px; font-weight:600; }.studio-comment-meta time { color:#777; font-size:9px; }.studio-comment-question { font-size:11px; line-height:1.65; margin:6px 0 0; color:#c9c9c9; }.studio-comment-reply-action { display:flex; justify-content:flex-end; align-items:center; gap:4px; margin-top:3px; color:#8a8a8a; font-size:10px; }.studio-comment-reply-action .studio-icon { width:11px; height:11px; }.studio-comment-replies { margin-top:10px; padding-top:8px; border-top:1px solid #ffffff14; }.studio-comment-reply { padding-left:10px; border-left:2px solid #ffffff30; }.studio-comment-reply-head { display:flex; align-items:center; justify-content:space-between; color:#9a9a9a; font-size:10px; }.studio-comment-reply-head b { font-weight:600; }.studio-comment-reply-head time { color:#777; font-size:9px; }.studio-comment-reply p { font-size:10px; line-height:1.6; margin:2px 0 0; color:#b2b2b2; }.studio-comment footer { border-top:1px solid #ffffff14; padding-top:7px; margin-top:9px; color:#888; font-size:9px; display:flex; justify-content:space-between; }
.studio-comment { overflow:visible; }
.studio-comment::before { content:""; position:absolute; right:100%; top:60%; width:clamp(28px, 2.2vw, 33px); border-top:2px dashed #d5d5d5; opacity:.9; }
.studio-footer { position:absolute; right:20px; bottom:5px; display:flex; align-items:center; gap:14px; pointer-events:none; }
.studio-disclaimer { margin:0; color:#666; font-size:9px; line-height:1.4; white-space:nowrap; }
.studio-status { position:static; color:#777; font-size:10px; }
@media(max-width:640px) { .studio-scroll { border-radius:7px; }.studio-paper { font-size:14px; } }

.studio-icon { width:16px; height:16px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
.studio-brand>.studio-icon { width:22px; height:22px; }
.studio-brand { font-size:17px; gap:7px; }.studio-collapse { margin-left:auto; color:#999; }
.studio-navigation>span,.studio-switch>*,.studio-top>span,.studio-review header>span:last-child,.studio-decisions button,.studio-comment footer>span,.studio-status,.studio-ai-label { display:flex; align-items:center; gap:9px; }
.studio-switch>* { justify-content:center; gap:5px; }.studio-switch .studio-icon { width:14px; height:14px; }
.studio-toolbar { display:flex; align-items:center; gap:16px; padding-block:0; }.studio-toolbar>span { font-size:11px; }.studio-separator { height:16px; border-left:1px solid #ffffff20; }
.studio-toolbar-end { margin-left:auto; display:flex; align-items:center; gap:10px; color:#8b8b8b; }
.studio-agent-marks { display:flex; align-items:center; gap:10px; }
.studio-agent-marks .studio-icon { width:17px; height:17px; }
.studio-agent-marks>img { display:block; width:18px; height:18px; border-radius:4px; }
.studio-agent-button { display:grid; place-items:center; width:20px; height:30px; color:#f1f1f1; background:transparent; box-shadow:none; }
.studio-agent-button .studio-icon { width:17px; height:17px; }
.studio-author { display:flex; align-items:center; gap:6px; }.studio-author .studio-icon { width:14px; height:14px; }.studio-author b { color:#ddd; font-weight:500; }
.studio-header-actions { gap:2px!important; }
.studio-header-actions .studio-author { margin-right:10px; color:#888; }
.studio-header-actions button { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:5px; background:transparent; color:#777; }
.studio-header-actions button:hover { background:#ffffff0d; color:#d8d8d8; }
.studio-header-actions button:disabled { opacity:.5; }
.studio-header-actions button:focus-visible { outline-offset:1px; }
.studio-header-actions .studio-icon { width:16px; height:16px; }
.studio-review header>span:last-child { gap:12px; }.studio-review header .studio-icon { width:14px; height:14px; }
.studio-decisions button { gap:4px; }.studio-decisions .studio-icon,.studio-comment footer .studio-icon { width:12px; height:12px; }
.studio-comment footer .studio-icon { width:11px; height:11px; }
.studio-ai-label { gap:5px; font-size:10px; }.studio-ai-label .studio-icon { width:19px; height:19px; }.studio-ai-label span { margin-left:0; }
.studio-agent-icon { width:19px; height:19px; border-radius:5px; }
.studio-document { border-right:1px solid #ffffff16; }

.studio-paper[lang="en"] { font-family:Georgia,"Times New Roman",serif; font-size:14px; line-height:1.8; padding:20px 30px 45px 12%; }
.studio-paper[lang="en"] h3 { font-size:16px; margin:16px 0 12px; }
.studio-paper[lang="en"] p { text-indent:0; margin:0 0 17px; }
.studio-paper math { font-size:1.05em; }
.studio-equation { position:relative; padding:14px 18px 14px 0; margin:8px 0 20px; overflow-x:auto; }
.studio-equation math { font-size:15px; margin:0; }
.studio-equation-number { position:absolute; right:0; top:50%; transform:translateY(-50%); color:#929292; font-size:11px; }
.studio-outline span { overflow-wrap:anywhere; }
.studio-paper .studio-paper-source { font:10px/1.7 var(--sans); color:#929292; margin-top:-5px; }
.studio-paper .studio-comment-anchor { box-decoration-break:clone; -webkit-box-decoration-break:clone; background:#8d71342b; border-bottom:1px solid #f2f2f2; color:#e5d5a9; padding:1px 2px; }
.studio-paper-source a:hover { color:var(--accent); }
.studio-paper-quote { margin:17px 0; padding:0 0 0 13px; border-left:2px solid #ffffff30; color:#d0d0d0; }

.studio-document { overflow:visible; }
.studio-paper[lang="en"] { padding-top:16px; font-size:13px; line-height:1.65; }
.studio-paper[lang="en"] h3 { margin:12px 0 9px; font-size:15px; }
.studio-paper[lang="en"] p { margin-bottom:12px; }
.studio-paper-quote { margin:12px 0; }
.studio-equation { margin:6px 0 14px; padding-block:12px; }
.studio-paper[lang="en"] { padding-bottom:12px; }

/* 更多功能展台：Obsidian 式双列模块，底部是真正的 HTML 演示容器。 */
.feature-showcase { padding-block:124px 132px; border-bottom:1px solid #ffffff07; }
.feature-showcase-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,38%); align-items:end; column-gap:48px; margin-bottom:72px; }
.feature-showcase-heading .eyebrow { grid-column:1/-1; }
.feature-showcase-heading>p:last-child { margin:0 0 7px; color:var(--muted); font-size:14px; line-height:1.9; }
.feature-showcase-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.feature-module { min-width:0; overflow:hidden; border:1px solid #ffffff18; border-radius:16px; background:#1d1c20; transition:border-color .35s ease,box-shadow .45s ease; }
.feature-module:hover { border-color:#c0a6fa40; box-shadow:0 24px 65px #0004; }
.feature-module>header { position:relative; min-height:152px; padding:32px 38px 28px; }
.feature-module>header>span { position:absolute; right:36px; top:38px; color:#766f80; font:500 10px/1 var(--mono); letter-spacing:.12em; }
.feature-module h3 { max-width:calc(100% - 44px); margin:0 0 12px; color:#f0edf3; font-size:28px; font-weight:600; letter-spacing:-.03em; }
.feature-module header p { max-width:470px; margin:0; color:#aaa5ae; font-size:15px; line-height:1.65; }
.feature-demo { position:relative; min-height:380px; margin-left:7%; overflow:hidden; border-top:1px solid #ffffff13; border-left:1px solid #ffffff13; border-radius:14px 0 0; background:#121215; isolation:isolate; }
.feature-demo::before { position:absolute; inset:0; z-index:-1; background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px); background-size:38px 38px; content:""; -webkit-mask-image:linear-gradient(135deg,#000,transparent 78%); mask-image:linear-gradient(135deg,#000,transparent 78%); }
.feature-placeholder { position:absolute; inset:0; display:grid; place-content:center; place-items:center; color:#706b78; text-align:center; }
.feature-placeholder span { color:#c0a6fa66; font:500 10px/1 var(--mono); letter-spacing:.16em; }
.feature-placeholder p { margin:13px 0 0; color:#77727e; font-size:10px; letter-spacing:.12em; }

/* 丰富插件：目录直接铺在演示区里，用分组标题区分 Agent 与资料源/服务。 */
.plugin-demo { padding:24px 22px 26px; }
.plugin-demo::before { display:none; }
.plugin-demo-body { display:grid; align-content:start; gap:20px; color:#d7d3db; }
.plugin-demo-group>header { display:flex; align-items:center; gap:6px; margin-bottom:7px; color:#77717c; }
.plugin-demo-group>header strong { color:#aaa4b0; font-size:7px; font-weight:550; letter-spacing:.08em; text-transform:uppercase; }
.plugin-demo-group>header span { display:grid; place-items:center; min-width:14px; height:14px; border-radius:7px; background:#ffffff0b; color:#706a75; font:500 6.5px/1 var(--mono); }
.plugin-demo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.plugin-demo-grid.is-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
.plugin-demo-item { display:grid; grid-template-columns:28px minmax(0,1fr); align-items:center; gap:8px; min-height:54px; padding:8px 9px; border:1px solid #ffffff0d; border-radius:7px; background:#1e1d22; box-shadow:inset 0 1px 0 #ffffff05; }
.plugin-demo-icon { display:grid; place-items:center; width:28px; height:28px; border-radius:7px; background:#ffffff08; }
.plugin-demo-icon img { display:block; width:25px; height:25px; object-fit:contain; }
.plugin-demo-icon.is-inline { border:0; background:transparent; color:#d4c2f2; }
.plugin-demo-icon.is-inline svg { width:20px; height:20px; }
.plugin-demo-item>span:last-child { display:grid; gap:3px; min-width:0; }
.plugin-demo-item b { color:#d8d4dc; font-size:8px; font-weight:550; line-height:1.15; white-space:normal; }
.plugin-demo-item small { overflow:hidden; color:#716c77; font-size:6.5px; text-overflow:ellipsis; white-space:nowrap; }

/* 本地优先：用一页静态面板说明文档、资料与密钥都留在本机。 */
.local-safe-demo { --safe-bleed:18px; }
.local-safe-demo::before { display:none; }
.local-safe-window { position:absolute; inset:14px -18px 14px 14px; display:flex; flex-direction:column; overflow:hidden; border:1px solid #ffffff16; border-radius:11px 0 0; background:#18181a; color:#d7d3db; box-shadow:0 20px 55px #0005; }
.local-safe-head { display:flex; align-items:center; gap:10px; min-height:58px; padding:0 calc(16px + var(--safe-bleed)) 0 16px; border-bottom:1px solid #ffffff10; background:#1d1d20; }
.local-safe-mark { display:grid; flex:none; place-items:center; width:28px; height:28px; border:1px solid #75bd8c42; border-radius:8px; background:#75bd8c12; color:#a7d2b1; }
.local-safe-mark svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.local-safe-head>div { display:grid; gap:3px; min-width:0; }
.local-safe-head b { color:#e6e2e9; font-size:10.5px; font-weight:600; }
.local-safe-head small { color:#716c77; font:6.5px/1 var(--mono); letter-spacing:.06em; }
.local-safe-state { display:flex; align-items:center; gap:5px; margin-left:auto; padding:5px 8px; border:1px solid #75bd8c2e; border-radius:12px; background:#75bd8c0d; color:#8fc29b; font-size:6.5px; white-space:nowrap; }
.local-safe-state i { width:5px; height:5px; border-radius:50%; background:#79b789; box-shadow:0 0 8px #79b78966; }
.local-safe-body { display:grid; gap:8px; padding:15px calc(16px + var(--safe-bleed)) 12px 16px; }
.local-safe-item { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:56px; padding:8px 10px 8px 12px; border:1px solid #ffffff0d; border-radius:8px; background:#1e1e20; box-shadow:inset 0 1px 0 #ffffff05; }
.local-safe-icon { display:grid; place-items:center; width:29px; height:29px; border-radius:7px; background:#ffffff0a; color:#aaa5b1; }
.local-safe-icon svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.local-safe-icon.is-file { background:#6681aa1c; color:#9bb1d5; }
.local-safe-icon.is-library { background:#72a1841c; color:#a2c8ac; }
.local-safe-icon.is-key { background:#bd8b701c; color:#d3ad96; }
.local-safe-item>span:nth-child(2) { display:grid; gap:4px; min-width:0; }
.local-safe-item b { color:#d8d4dc; font-size:9px; font-weight:550; }
.local-safe-item small { overflow:hidden; color:#716c77; font-size:6.8px; text-overflow:ellipsis; white-space:nowrap; }
.local-safe-item em { padding:4px 7px; border-radius:10px; background:#75bd8c14; color:#8fc29b; font-size:6.5px; font-style:normal; white-space:nowrap; }
.local-safe-foot { display:flex; align-items:center; gap:6px; margin:auto 0 0; padding:12px calc(16px + var(--safe-bleed)) 16px 16px; border-top:1px solid #ffffff0d; color:#8fc29b; font-size:7.5px; }
.local-safe-foot svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* 项目文献库：深色应用窗口与其余功能演示统一，用真实表格密度呈现文献、片段与标签。 */
.project-library-demo { --library-bleed:18px; }
.project-library-demo::before { display:none; }
.project-library-window { position:absolute; inset:14px -18px -22px 14px; display:flex; flex-direction:column; overflow:hidden; border:1px solid #ffffff20; border-radius:11px 0 0; background:#18171b; color:#d7d3db; box-shadow:0 20px 55px #0005; }
.project-library-window svg { display:block; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.project-library-topbar { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; flex:none; min-height:34px; padding:0 calc(12px + var(--library-bleed)) 0 13px; border-bottom:1px solid #ffffff12; background:#1d1c20; }
.project-library-topbar>strong { overflow:hidden; color:#d8d4dc; font-size:7px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.project-library-topbar nav { display:flex; padding:3px; border-radius:6px; background:#ffffff0a; }
.project-library-topbar nav span { padding:4px 8px; border-radius:4px; color:#8f8a94; font-size:6.5px; white-space:nowrap; }
.project-library-topbar nav span.is-active { background:#2a292f; color:#ece8f0; box-shadow:0 1px 3px #0004; }
.project-library-window-tools { display:flex; justify-self:end; gap:5px; }
.project-library-window-tools span { display:grid; place-items:center; width:20px; height:20px; border:0; border-radius:50%; background:#ffffff0b; color:#aaa5ae; }
.project-library-window-tools svg { width:10px; height:10px; }
.project-library-body { display:grid; grid-template-columns:108px minmax(0,1fr); flex:1; min-height:0; }
.project-library-sidebar { position:relative; min-width:0; padding:13px 8px 10px; overflow:hidden; border-right:1px solid #ffffff10; background:#151418; }
.project-library-title { display:flex; align-items:center; gap:6px; padding:0 5px 11px; color:#d8d4dc; }
.project-library-title svg { width:11px; height:11px; flex:none; }
.project-library-title b { overflow:hidden; font-size:7px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.project-library-sidebar nav { display:grid; gap:3px; }
.project-library-sidebar nav>span { display:grid; grid-template-columns:11px minmax(0,1fr) auto; align-items:center; gap:5px; min-height:24px; padding:0 5px; border-radius:5px; color:#8f8a94; }
.project-library-sidebar nav>span.is-active { background:#2a292f; color:#ece8f0; box-shadow:0 1px 3px #0004; }
.project-library-sidebar nav svg { width:10px; height:10px; }
.project-library-sidebar nav em { overflow:hidden; font-size:6.5px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.project-library-sidebar nav b { color:#77727e; font:500 6px/1 var(--mono); }
.project-library-tags { display:grid; gap:4px; margin-top:14px; }
.project-library-tags p { display:flex; justify-content:space-between; margin:0 5px 4px; color:#77727e; font-size:6px; }
.project-library-tags p b { font:500 6px/1 var(--mono); }
.project-library-tags>span { display:grid; grid-template-columns:5px minmax(0,1fr) auto; align-items:center; gap:4px; padding:0 5px; color:#8f8a94; }
.project-library-tags i { width:4px; height:4px; border-radius:50%; }
.project-library-tags em { overflow:hidden; font-size:5.8px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.project-library-tags b { color:#6f6a74; font:500 5.5px/1 var(--mono); }
.project-library-tags i.is-blue { background:#4c78aa; }.project-library-tags i.is-cyan { background:#4e91a2; }.project-library-tags i.is-teal { background:#4f8f84; }.project-library-tags i.is-green { background:#6d966e; }.project-library-tags i.is-pink { background:#b65d73; }
.project-library-note { position:absolute; left:12px; right:8px; bottom:9px; margin:0; color:#77727e; font-size:5.4px; line-height:1.55; }
.project-library-main { min-width:0; padding:13px calc(12px + var(--library-bleed)) 0 13px; overflow:hidden; background:#18171b; }
.project-library-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.project-library-heading>div { display:flex; align-items:baseline; gap:7px; min-width:0; }
.project-library-heading h4 { margin:0; color:#ece8f0; font-size:12px; font-weight:650; letter-spacing:-.02em; }
.project-library-heading span { color:#8f8a94; font-size:6px; }
.project-library-heading>svg { width:11px; height:11px; flex:none; color:#aaa5ae; }
.project-library-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:9px; margin-top:11px; }
.project-library-search { display:flex; align-items:center; gap:6px; height:28px; min-width:0; padding:0 9px; border:1px solid #ffffff20; border-radius:5px; background:#202025; box-shadow:inset 0 1px 0 #ffffff08; color:#77727e; }
.project-library-search svg { width:10px; height:10px; flex:none; color:#8f8a94; }
.project-library-search span { overflow:hidden; font-size:6px; text-overflow:ellipsis; white-space:nowrap; }
.project-library-sort { display:flex; align-items:center; gap:3px; color:#aaa5ae; font-size:6px; white-space:nowrap; }
.project-library-sort svg { width:8px; height:8px; }
.project-library-hint { margin:9px 0 7px; color:#77727e; font-size:5.5px; }
.project-library-table { min-width:0; }
.project-library-table-head, .project-library-row { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,.78fr) minmax(0,1.05fr) 22px 21px minmax(62px,.9fr); gap:6px; }
.project-library-table-head { align-items:end; padding-bottom:5px; border-bottom:1px solid #ffffff14; color:#77727e; font-size:5.4px; }
.project-library-rows { min-width:0; }
.project-library-row { align-items:start; min-height:52px; padding:7px 0; border-bottom:1px solid #ffffff0d; animation:project-library-row-in .48s cubic-bezier(.2,.75,.25,1) both; }
.project-library-row:nth-child(2) { animation-delay:.06s; }
.project-library-row:nth-child(3) { animation-delay:.12s; }
.project-library-row:nth-child(4) { animation-delay:.18s; }
[data-reveal].reveal-pending .project-library-row { opacity:0; animation:none; }
@keyframes project-library-row-in { from { opacity:0; transform:translateY(5px) } to { opacity:1; transform:none } }
.project-library-row strong { display:-webkit-box; overflow:hidden; color:#e5e1e8; font-size:7px; font-weight:650; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.project-library-row>span { display:-webkit-box; overflow:hidden; color:#8f8a94; font-size:5.9px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.project-library-row time, .project-library-row>span:nth-of-type(3) { color:#77727e; font:500 5.8px/1.45 var(--mono); }
.project-library-tagset { display:flex; flex-wrap:wrap; align-content:flex-start; gap:3px; min-width:0; }
.project-library-tagset span { display:block; max-width:100%; overflow:hidden; padding:2px 5px; border:1px solid var(--tag-border); border-radius:8px; background:var(--tag-bg); color:var(--tag-color); font-size:6px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.project-library-tagset span:nth-child(n+4) { display:none; }
.project-library-tagset .is-teal { --tag-bg:#75bd8c18; --tag-border:#75bd8c42; --tag-color:#9fcfae; }
.project-library-tagset .is-blue { --tag-bg:#6681aa1c; --tag-border:#6681aa4a; --tag-color:#9bb1d5; }
.project-library-tagset .is-cyan { --tag-bg:#5da6ae18; --tag-border:#5da6ae45; --tag-color:#91c9ce; }
.project-library-tagset .is-orange { --tag-bg:#d189681c; --tag-border:#d1896848; --tag-color:#dda98f; }
.project-library-tagset .is-peach { --tag-bg:#c884671c; --tag-border:#c8846748; --tag-color:#d9a38d; }
.project-library-tagset .is-purple { --tag-bg:#9a7ed418; --tag-border:#9a7ed447; --tag-color:#bba6e2; }
.project-library-tagset .is-sky { --tag-bg:#679bc318; --tag-border:#679bc342; --tag-color:#9bbdd6; }
.project-library-tagset .is-yellow { --tag-bg:#bd98451c; --tag-border:#bd984545; --tag-color:#d3b875; }
.project-library-tagset .is-green { --tag-bg:#75a87818; --tag-border:#75a87845; --tag-color:#a2c9a5; }
.project-library-status { display:flex; align-items:center; justify-content:space-between; flex:none; min-height:25px; padding:0 calc(12px + var(--library-bleed)) 0 13px; border-top:1px solid #ffffff10; background:#1d1d20; color:#77727e; font-size:5.5px; }

/* 本地资料检索：对齐应用内检索视图，近义词一起命中，原文片段保留页码与上下文。 */
.corpus-search-demo::before { display:none; }
.corpus-search-window { position:absolute; inset:14px -18px -22px 14px; overflow:hidden; padding:18px 20px 30px; border:1px solid #ffffff16; border-radius:11px 0 0; background:#18171b; color:#d7d3db; box-shadow:0 20px 55px #0005; }
.corpus-search-window::after { position:absolute; inset:auto 0 0; height:46px; background:linear-gradient(transparent,#18171b); content:""; pointer-events:none; }
.corpus-search-field { display:flex; align-items:center; gap:9px; height:42px; padding:0 11px; border:1px solid #ffffff20; border-radius:8px; background:#202025; box-shadow:inset 0 1px 0 #ffffff08; color:#ece8f0; font-size:11px; }
.corpus-search-field svg { width:15px; height:15px; flex:none; fill:none; stroke:#a9a4af; stroke-width:1.8; stroke-linecap:round; }
.corpus-search-field>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.corpus-search-aliases { display:flex; align-items:center; gap:8px; margin:12px 2px 0; }
.corpus-search-label { flex:none; color:#77727e; font-size:8.5px; }
.corpus-search-alias { display:inline-flex; align-items:center; gap:5px; overflow:hidden; padding:5px 10px; border-radius:20px; background:#c0a6fa; color:#221c2c; font-size:8px; font-weight:550; white-space:nowrap; }
.corpus-search-alias svg { width:9px; height:9px; flex:none; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.corpus-search-summary { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:13px 2px 0; padding-bottom:11px; border-bottom:1px solid #ffffff10; color:#8f8a94; font-size:8.5px; }
.corpus-search-summary b { color:#d6d1da; font-weight:600; }
.corpus-search-echo { min-width:0; overflow:hidden; color:#5f5b64; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.corpus-search-related { display:flex; align-items:center; gap:6px; margin:12px 2px 0; }
.corpus-search-concept { padding:4px 8px; border:1px solid #ffffff10; border-radius:6px; background:#ffffff05; color:#a09aa6; font-size:7.5px; white-space:nowrap; }
.corpus-search-concept b { margin-left:3px; color:#69656e; font-weight:500; }
.corpus-search-result { padding-top:15px; }
.corpus-search-result>header { display:grid; grid-template-columns:26px minmax(0,1fr) auto; gap:9px; align-items:start; }
.corpus-search-index { padding-top:2px; color:#615c67; font:8px/1 var(--mono); }
.corpus-search-result>header>div { min-width:0; }
.corpus-search-result h4 { margin:0; color:#e5e1e8; font-size:10.5px; font-weight:600; letter-spacing:-.01em; line-height:1.5; }
.corpus-search-result>header p { margin:4px 0 0; overflow:hidden; color:#7e7983; font-size:7.5px; line-height:1.55; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.corpus-search-journal { display:inline-block; margin-left:6px; padding:1px 5px; border:1px solid #e5484d59; border-radius:4px; color:#e5484d; font-size:7px; line-height:1.5; vertical-align:1px; white-space:nowrap; }
.corpus-search-menu { padding-top:2px; color:#5f5b64; font-size:8px; letter-spacing:1px; }
.corpus-search-snippet { display:grid; grid-template-columns:26px minmax(0,1fr); gap:9px; margin-top:11px; padding-top:11px; border-top:1px solid #ffffff0d; }
.corpus-search-snippet>span { padding-top:2px; color:#6f6a74; font:7.5px/1 var(--mono); }
.corpus-search-snippet p { display:-webkit-box; margin:0; overflow:hidden; color:#aaa5ae; font:9px/1.72 Georgia,"Times New Roman",serif; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.corpus-search-snippet mark { margin:0 1px; padding:1px 2px; border-radius:2px; background:#c0a6fa2b; color:#e7dcfa; box-shadow:inset 0 -1px 0 #c0a6fa73; }
.corpus-search-expand { display:flex; align-items:center; gap:5px; margin-top:12px; color:#77727e; font-size:8px; }
.corpus-search-expand svg { width:10px; height:10px; flex:none; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

@media(max-width:1000px) {
  .feature-showcase { padding-block:100px 110px; }
  .feature-showcase-heading { margin-bottom:56px; }
  .feature-showcase-grid { gap:22px; }
  .feature-module>header { min-height:150px; padding:28px; }
  .feature-module>header>span { right:28px; top:32px; }
  .feature-module h3 { font-size:24px; }
  .feature-module header p { font-size:13px; }
  .feature-demo { min-height:360px; }
  .plugin-demo { min-height:380px; padding:22px 20px 24px; }
  .local-safe-demo { min-height:380px; }
  .plugin-demo-grid, .plugin-demo-grid.is-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .plugin-demo-item { grid-template-columns:25px minmax(0,1fr); gap:7px; min-height:46px; padding:6px 7px; }
  .plugin-demo-grid { gap:6px; }
  .plugin-demo-icon { width:25px; height:25px; }
  .plugin-demo-icon img { width:22px; height:22px; }
  .plugin-demo-icon.is-inline svg { width:18px; height:18px; }
  .plugin-demo-body { gap:14px; }
  .local-safe-demo { --safe-bleed:16px; min-height:360px; }
  .local-safe-window { inset:12px -16px 12px 12px; }
  .local-safe-item { min-height:52px; }
  .project-library-demo { --library-bleed:16px; }
  .project-library-window { inset:12px -16px -20px 12px; }
  .corpus-search-window { inset:12px -16px -20px 12px; padding:15px 16px 26px; }
  .project-library-body { grid-template-columns:118px minmax(0,1fr); }
  .project-library-sidebar { padding-inline:10px; }
  .project-library-main { padding-left:14px; }
  .project-library-table-head, .project-library-row { grid-template-columns:minmax(0,1.5fr) minmax(0,.82fr) minmax(0,1.05fr) 23px 22px minmax(68px,.95fr); gap:7px; }
  .project-library-row strong { font-size:7.4px; }
  .project-library-row>span { font-size:6.2px; }
  .project-library-tagset span { font-size:6.2px; }
}

@media(max-width:640px) {
  .feature-showcase { padding-block:66px 74px; }
  .feature-showcase-heading { display:block; margin-bottom:38px; }
  .feature-showcase-heading h2 br { display:none; }
  .feature-showcase-heading>p:last-child { margin-top:20px; font-size:13px; }
  .feature-showcase-grid { grid-template-columns:1fr; gap:18px; }
  .feature-module { border-radius:12px; }
  .feature-module>header { min-height:0; padding:25px 24px 24px; }
  .feature-module>header>span { right:23px; top:27px; }
  .feature-module h3 { margin-bottom:9px; font-size:22px; }
  .feature-module header p { padding-right:12px; font-size:12px; }
  .feature-demo { min-height:270px; margin-left:6%; border-radius:10px 0 0; }
  .feature-demo::before { background-size:28px 28px; }
  .plugin-demo { min-height:380px; padding:18px 16px 22px; }
  .plugin-demo-body { gap:14px; }
  .plugin-demo-group>header { margin-bottom:5px; }
  .plugin-demo-grid, .plugin-demo-grid.is-services { gap:5px; }
  .plugin-demo-item { grid-template-columns:22px minmax(0,1fr); gap:5px; min-height:40px; padding:5px 6px; }
  .plugin-demo-icon { width:22px; height:22px; border-radius:5px; }
  .plugin-demo-icon img { width:20px; height:20px; }
  .plugin-demo-item b { font-size:7.2px; }
  .plugin-demo-item small { font-size:5.9px; }
  .local-safe-demo { --safe-bleed:12px; min-height:340px; }
  .local-safe-window { inset:9px -12px 9px 9px; }
  .local-safe-head { min-height:49px; }
  .local-safe-body { gap:6px; padding-top:10px; padding-bottom:9px; }
  .local-safe-item { grid-template-columns:24px minmax(0,1fr) auto; gap:7px; min-height:47px; padding:6px 7px 6px 8px; }
  .local-safe-icon { width:24px; height:24px; }
  .local-safe-icon svg { width:14px; height:14px; }
  .local-safe-item b { font-size:7.5px; }
  .local-safe-item small { font-size:5.8px; }
  .local-safe-foot { padding-bottom:12px; }
  .project-library-demo { --library-bleed:12px; min-height:350px; }
  .project-library-window { inset:9px -12px -18px 9px; }
  .corpus-search-window { inset:9px -12px -18px 9px; padding:12px 13px 22px; }
  .corpus-search-field { height:34px; font-size:10px; }
  .corpus-search-alias { padding:4px 8px; font-size:7.5px; }
  .corpus-search-result h4 { font-size:9.5px; }
  .corpus-search-snippet p { font-size:8px; -webkit-line-clamp:3; }
  .project-library-topbar { grid-template-columns:1fr auto; min-height:32px; padding:0 calc(9px + var(--library-bleed)) 0 10px; }
  .project-library-topbar>strong { display:none; }
  .project-library-window-tools { grid-column:2; grid-row:1; margin-left:8px; }
  .project-library-topbar nav { grid-column:1; justify-self:start; }
  .project-library-body { grid-template-columns:76px minmax(0,1fr); }
  .project-library-sidebar { padding:9px 5px; }
  .project-library-title { padding-inline:3px; }
  .project-library-title b { font-size:5.8px; }
  .project-library-sidebar nav>span { grid-template-columns:9px minmax(0,1fr) auto; gap:3px; min-height:22px; padding-inline:3px; }
  .project-library-sidebar nav svg { width:8px; height:8px; }
  .project-library-sidebar nav em { font-size:5.4px; }
  .project-library-tags>span:nth-child(n+5), .project-library-note { display:none; }
  .project-library-main { padding:10px calc(9px + var(--library-bleed)) 0 9px; }
  .project-library-heading h4 { font-size:10px; }
  .project-library-controls { gap:6px; margin-top:8px; }
  .project-library-search { height:25px; padding-inline:7px; }
  .project-library-search span { font-size:5.4px; }
  .project-library-sort { font-size:5.4px; }
  .project-library-hint { display:none; }
  .project-library-table { margin-top:9px; }
  .project-library-table-head, .project-library-row { grid-template-columns:minmax(0,1.3fr) minmax(72px,1fr); gap:6px; }
  .project-library-table-head span:nth-child(2), .project-library-table-head span:nth-child(3), .project-library-table-head span:nth-child(4), .project-library-table-head span:nth-child(5),
  .project-library-row>span:nth-child(2), .project-library-row>span:nth-child(3), .project-library-row>time, .project-library-row>span:nth-child(5) { display:none; }
  .project-library-row { min-height:48px; }
  .project-library-row strong { font-size:6.5px; }
  .project-library-tagset span { font-size:5.5px; }
  .project-library-tagset span:nth-child(n+3) { display:none; }
  .project-library-status { min-height:23px; padding-inline:10px calc(9px + var(--library-bleed)); }
}

/* Word 往返：从已有 DOCX 导入，逐条审批，再带着 InLine 修订身份导出。 */
.word-section { padding-block:110px 100px; background:transparent; border-bottom:1px solid #ffffff07; }
.word-heading { margin-bottom:44px; }
.word-stage { position:relative; height:clamp(530px,54vw,650px); min-height:530px; border:1px solid #ffffff1e; border-radius:14px; background:radial-gradient(ellipse 78% 70% at 50% 44%,#252529 0,#171719 66%,#131315 100%); box-shadow:0 28px 90px #0005,inset 0 1px 0 #ffffff0a; overflow:hidden; isolation:isolate; }
.word-stage::before { position:absolute; inset:0; background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px); background-size:38px 38px; content:""; opacity:.36; -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent); mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent); pointer-events:none; }
.word-stage::after { position:absolute; inset:0; background:linear-gradient(115deg,#ffffff05,transparent 38%,#75bd8c08); content:""; pointer-events:none; }
.word-stage-rail { position:absolute; z-index:30; left:50%; top:20px; display:flex; align-items:center; gap:9px; padding:7px 11px; border:1px solid #ffffff12; border-radius:20px; background:#17171ac7; color:#87838d; font-size:9px; letter-spacing:.04em; transform:translateX(-50%); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); transition:opacity .5s ease; }
.word-stage-rail i { width:30px; border-top:1px solid #ffffff1d; }
.word-document-window,.word-app-surface { position:absolute; overflow:hidden; backface-visibility:hidden; }
.word-document-window { border:1px solid #ffffff3d; border-radius:11px; background:#eeecea; color:#262626; box-shadow:0 24px 70px #0007; container-type:inline-size; }
.word-origin-window { z-index:10; left:50%; top:10%; width:48%; height:80%; transform:translateX(-50%); transform-origin:50% 50%; transition:opacity .55s ease,transform .9s cubic-bezier(.2,.75,.25,1),left .8s cubic-bezier(.2,.75,.25,1),top .8s cubic-bezier(.2,.75,.25,1),width .8s cubic-bezier(.2,.75,.25,1),height .8s cubic-bezier(.2,.75,.25,1); }
.word-window-bar { display:flex; align-items:center; gap:8px; height:37px; padding:0 11px; border-bottom:1px solid #d9d6d1; background:#f7f6f4; color:#4c4b49; font-size:9.5px; }
.word-app-mark { display:grid; flex:none; place-items:center; width:21px; height:21px; border-radius:4px; background:#2f67a1; color:#fff; font:700 10px/1 var(--sans); box-shadow:inset 0 0 0 1px #ffffff29; }
.word-window-controls { display:flex; align-items:center; gap:11px; margin-left:auto; padding-right:3px; }
.word-window-controls i { width:8px; height:8px; border:1px solid #b8b5b0; border-radius:50%; }
.word-window-controls i:nth-child(2) { border-radius:1px; }
.word-window-controls i:nth-child(3) { border-radius:2px; background:#d8d4ce; }
.word-ribbon { display:flex; align-items:center; gap:15px; height:32px; padding:0 16px; border-bottom:1px solid #ddd9d4; background:#efede9; color:#696763; font-size:8.5px; }
/* 两份 Word 的纸面排版整体随窗口宽度等比缩放：审批版的纸面列宽是原稿的 65%（右侧修订面板占 35%），
   字号与纵向边距按同一比例取 0.65 倍，两份文档逐行折行一致，只差缩放档次。 */
.word-paper { height:calc(100% - 69px); padding:20px 13% 24px 11%; padding:4cqw 13% 4.8cqw 11%; background:#fff; color:#292929; font-family:"Songti SC","SimSun",serif; font-size:11px; font-size:max(2.2cqw,7px); line-height:1.95; }
.word-paper h3 { margin:0 0 4px; margin:0 0 .8cqw; color:#202020; font:600 15px/1.5 var(--sans); font-size:max(3cqw,6px); letter-spacing:-.02em; }
.word-paper p { margin:0 0 10px; margin:0 0 2cqw; text-indent:2em; }
.word-paper-quote { margin:10px 10%; margin:2cqw 10%; }
.word-paper-meta { margin-bottom:14px!important; margin-bottom:2.8cqw!important; color:#999; font:8px/1.5 var(--sans)!important; font-size:max(1.6cqw,4px)!important; text-indent:0!important; }
.word-paper-note { margin-top:20px!important; margin-top:4cqw!important; color:#aaa; font:8px/1.5 var(--sans)!important; font-size:max(1.6cqw,4px)!important; text-indent:0!important; }

.word-import-mark { display:grid; place-items:center; width:18px; height:18px; border-radius:4px; background:#2f6fb3; color:#fff; font:700 9px/1 var(--sans); }
.word-app-surface { z-index:3; inset:9.5% 3% 3%; border:1px solid #ffffff23; border-radius:14px; background:#1e1e1e; box-shadow:0 28px 90px #0006; opacity:0; transform:scale(.985); transition:opacity .62s ease,transform .78s cubic-bezier(.2,.75,.25,1),border-color .35s ease,box-shadow .35s ease; }
.word-app-board { position:absolute; inset:0; }
.word-app-surface .studio-scroll { height:100%; border:0; border-radius:0; box-shadow:none; background:#1e1e1e; overflow:hidden; }
.word-app-surface .studio { width:100%; height:100%; min-width:0; aspect-ratio:auto; }
.word-app-surface .studio-document { overflow:hidden; }
.word-app-surface .studio-comment { display:none; }
.word-app-surface .studio-review { display:none; }
.word-app-surface .studio-document { border-right:0; }
.word-app-board button { pointer-events:none; }
.word-stage.is-editor .word-app-surface .studio-review { display:flex; }
.word-app-board .studio-review-item[data-word-board-revision] { display:none; opacity:0; transform:translateY(7px); transition:opacity .32s ease,transform .38s cubic-bezier(.2,.75,.25,1),border-color .25s ease; }
.word-app-board .studio-review-item[data-word-board-revision].is-visible { display:block; opacity:1; transform:none; }
.word-app-board .studio-review-item[data-word-board-revision].is-accepted { border-color:#75bd8c52; }
.word-app-board .studio-review-item[data-word-board-revision].is-accepted .studio-ai-label::after { margin-left:5px; color:#8fd0a0; content:"✓"; }
.word-app-board .word-app-empty .studio-top>strong,
.word-app-board .word-app-empty .studio-outline-label,
.word-app-board .word-app-empty .studio-outline>span,
.word-app-board .word-app-empty .studio-paper>* { visibility:hidden; }
.word-app-board [data-word-board-change] del { padding:0; background:transparent; color:inherit; text-decoration:none; }
.word-app-board [data-word-board-change] ins { display:none; }
.word-app-board [data-word-board-change].is-visible del { padding:1px 2px; background:#6d2f3188; color:#d99898; text-decoration:line-through; text-decoration-color:#e19b9b; }
.word-app-board [data-word-board-change].is-visible ins { display:inline; padding:1px 2px; background:#27533b99; color:#a7cfb1; text-decoration:none; }
.word-app-board [data-word-board-change].is-accepted del { display:none; }
.word-app-board [data-word-board-change].is-accepted ins { display:inline; padding:0; background:transparent; color:inherit; }
.word-app-board .studio-review header .word-accept-one { margin-left:auto; padding:3px 7px; border:1px solid #ffffff16; border-radius:5px; background:#ffffff08; color:#77737e; font-size:9px; transition:opacity .25s ease,background .25s ease,color .25s ease,border-color .25s ease; pointer-events:none; }
.word-app-board .studio-review header>span:last-child { margin-left:6px; }
.word-stage.has-revisions .word-app-board .word-accept-one { border-color:#c0a6fa66; background:#c0a6fa16; color:#d4c2f9; }
.word-stage.is-accepting .word-app-board .word-accept-one,.word-stage.is-accepted .word-app-board .word-accept-one { border-color:#75bd8c54; background:#75bd8c14; color:#a7d5b3; }
.word-stage.is-export-menu .word-app-board button[aria-label="导出"] { border-radius:5px; background:#c0a6fa18; color:#d9c8ff; box-shadow:inset 0 0 0 1px #c0a6fa55; }

.word-app-import-overlay { position:absolute; z-index:7; inset:14.5% 1.5% 4% 14.2%; display:grid; place-content:center; justify-items:center; gap:7px; border:1px dashed #d6d6d64f; border-radius:10px; background:radial-gradient(ellipse 58% 42% at 50% 47%,#29282d,#1c1b20 72%); color:#d5d2d9; opacity:0; transform:scale(.99); transition:opacity .5s ease,transform .6s cubic-bezier(.2,.75,.25,1),border-color .3s ease,background .3s ease; }
.word-app-upload-icon { display:grid; place-items:center; width:44px; height:44px; margin-bottom:7px; border-radius:10px; background:#111114; color:#f2f1f4; box-shadow:0 12px 28px #0005,inset 0 0 0 1px #ffffff0c; transition:opacity .28s ease,transform .34s cubic-bezier(.2,.75,.25,1); }
.word-app-upload-icon .studio-icon { width:20px; height:20px; animation:word-drop-pulse 1.15s ease-in-out infinite; }
.word-stage.is-importing .word-app-upload-icon,.word-stage.is-imported .word-app-upload-icon { opacity:0; transform:scale(.82); }
@keyframes word-drop-pulse { 50% { transform:translateY(-3px); opacity:.72; } }
.word-app-import-overlay strong { font-size:12px; font-weight:500; }
.word-app-import-overlay small { color:#85818a; font-size:8.5px; }
.word-dropped-file { display:flex; align-items:center; gap:5px; padding:4px 7px; border-radius:5px; background:#2f6fb3; color:#fff; font-size:8.5px; box-shadow:0 5px 14px #0003; opacity:0; transform:translateY(3px); transition:opacity .25s ease,transform .32s cubic-bezier(.2,.75,.25,1); }
.word-dropped-file .word-import-mark { background:#fff; color:#2f6fb3; }
.word-drag-file { position:absolute; z-index:22; left:var(--word-file-left,29%); top:var(--word-file-top,50%); display:grid; justify-items:center; gap:7px; opacity:0; filter:drop-shadow(0 15px 18px #0006); transform:translate(-50%,-50%) scale(.64); transition:left .78s cubic-bezier(.2,.75,.2,1),top .78s cubic-bezier(.2,.75,.2,1),opacity .26s ease,transform .36s cubic-bezier(.2,.75,.25,1); pointer-events:none; }
.word-drag-file svg { width:48px; height:59px; }
.word-drag-file>span { padding:4px 7px; border:1px solid #ffffff18; border-radius:6px; background:#151419e8; color:#e6e2ea; font-size:8px; white-space:nowrap; box-shadow:0 8px 20px #0005; }
.word-stage.is-shrinking .word-origin-window,.word-stage.is-collapsed .word-origin-window,.word-stage.is-dragging .word-origin-window,.word-stage.is-dropping .word-origin-window,.word-stage.is-importing .word-origin-window,.word-stage.is-imported .word-origin-window,.word-stage.is-editor .word-origin-window { opacity:0; transform:translateX(-50%) scale(.06); pointer-events:none; }
.word-stage.is-shrinking .word-drag-file,.word-stage.is-collapsed .word-drag-file,.word-stage.is-dragging .word-drag-file,.word-stage.is-dropping .word-drag-file,.word-stage.is-importing .word-drag-file { opacity:1; transform:translate(-50%,-50%) scale(1); }
.word-stage.is-importing .word-drag-file { opacity:0; transform:translate(-50%,-50%) scale(.58); }
.word-stage.is-shrinking .word-app-surface { opacity:.35; transform:scale(.99); }
.word-stage.is-collapsed .word-app-surface,.word-stage.is-dragging .word-app-surface,.word-stage.is-dropping .word-app-surface,.word-stage.is-importing .word-app-surface,.word-stage.is-imported .word-app-surface { opacity:1; transform:none; }
.word-stage.is-collapsed .word-app-import-overlay,.word-stage.is-dragging .word-app-import-overlay,.word-stage.is-dropping .word-app-import-overlay,.word-stage.is-importing .word-app-import-overlay,.word-stage.is-imported .word-app-import-overlay { opacity:1; transform:none; }
.word-stage.is-dragging .word-app-surface,.word-stage.is-dropping .word-app-surface { border-color:#c0a6fa73; box-shadow:0 0 0 4px #c0a6fa12,0 28px 90px #0007; }
.word-stage.is-dragging .word-app-import-overlay { border-color:#c0a6fa8c; background:radial-gradient(ellipse 58% 42% at 50% 47%,#2b2b30,#1c1b20 72%); }
.word-stage.is-dragging .word-dropped-file,.word-stage.is-dropping .word-dropped-file,.word-stage.is-importing .word-dropped-file,.word-stage.is-imported .word-dropped-file { opacity:1; transform:none; }
.word-stage.is-dropping .word-app-import-overlay { border-style:solid; border-color:#c0a6fa99; box-shadow:inset 0 0 0 1px #c0a6fa1f; }
.word-stage.is-importing .word-app-import-overlay,.word-stage.is-imported .word-app-import-overlay { border-color:#75bd8c7a; background:radial-gradient(ellipse 58% 42% at 50% 47%,#243129,#1c1b20 72%); }
.word-stage.is-editor .word-app-import-overlay,.word-stage.is-editor .word-drag-file { opacity:0; transform:scale(.985); pointer-events:none; }

.word-export-popover { position:absolute; z-index:36; right:5.5%; top:12.5%; width:216px; padding:7px; border:1px solid #ffffff18; border-radius:10px; background:#2c2b31f5; box-shadow:0 18px 50px #0008; opacity:0; visibility:hidden; transform:translateY(-5px) scale(.98); transition:opacity .22s ease,visibility .22s ease,transform .28s cubic-bezier(.2,.75,.25,1); }
.word-export-popover>p { margin:2px 7px 6px; color:#89858e; font-size:8px; }
.word-export-popover button { display:flex; width:100%; align-items:center; gap:9px; padding:9px; border:0; border-radius:7px; background:#ffffff0b; color:#e3e0e6; text-align:left; pointer-events:none; }
.word-export-popover button>span:last-child { display:grid; gap:2px; }
.word-export-popover b { font-size:10px; font-weight:500; }
.word-export-popover small { color:#9a96a0; font-size:7.5px; }
.word-stage.is-export-menu .word-export-popover { opacity:1; visibility:visible; transform:none; }
.word-stage.is-export-click .word-export-popover button { background:#c0a6fa1f; box-shadow:inset 0 0 0 1px #c0a6fa33; }

.word-result-window { z-index:18; right:14%; top:9%; width:54%; height:80%; opacity:0; transform:translateX(28px) scale(.96); transition:opacity .65s ease,transform .85s cubic-bezier(.2,.75,.25,1),right .85s cubic-bezier(.2,.75,.25,1),top .85s cubic-bezier(.2,.75,.25,1),width .85s cubic-bezier(.2,.75,.25,1),height .85s cubic-bezier(.2,.75,.25,1),left .85s cubic-bezier(.2,.75,.25,1); }
.word-stage.is-exported .word-result-window { opacity:1; transform:none; }
.word-stage.is-exported .word-app-surface { opacity:.12; filter:blur(2px) saturate(.5); transform:translateX(-18px) scale(.97); }
.word-result-body { display:grid; grid-template-columns:minmax(0,1fr) 35%; height:calc(100% - 69px); min-height:0; }
.word-result-paper { height:100%; padding:9px 13% 11px 11%; padding:2.6cqw 13% 3.1cqw 11%; overflow:hidden; font-size:9px; font-size:max(1.43cqw,4.55px); line-height:1.95; }
.word-result-paper h3 { margin:0 0 3px; margin:0 0 .5cqw; font:600 13px/1.5 var(--sans); font-size:max(1.95cqw,3.9px); letter-spacing:-.02em; }
.word-result-paper p { margin-bottom:7px; margin-bottom:1.3cqw; }
.word-result-paper .word-paper-meta { margin-bottom:9px!important; margin-bottom:1.8cqw!important; font-size:max(1.04cqw,3px)!important; }
.word-result-paper .word-paper-quote { margin:6px 10%; margin:1.3cqw 10%; }
.word-tracked-change del { padding:0 1px; background:#f3d7d8; color:#a04446; text-decoration-color:#d17073; }.word-tracked-change ins { padding:0 1px; background:#d8ebdc; color:#356c46; text-decoration:underline; text-decoration-color:#75a985; text-underline-offset:2px; }
.word-tracked-add { padding:0 1px; background:#d8ebdc; color:#356c46; text-decoration:underline; text-decoration-color:#75a985; text-underline-offset:2px; }
.word-review-pane { min-width:0; overflow:hidden; border-left:1px solid #ddd9d4; background:#f5f3f0; color:#4a4947; font-family:var(--sans); }
.word-review-pane>header { display:flex; align-items:center; height:34px; padding:0 10px; border-bottom:1px solid #ddd9d4; color:#5d5b58; font-size:9px; }
.word-review-pane>header>span:last-child { margin-left:auto; color:#93908b; }
.word-review-identity { display:flex; align-items:center; gap:7px; padding:10px; border-bottom:1px solid #e2dfda; }
.word-review-identity>span { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#aa8be0; color:#fff; font-size:8px; font-weight:700; }
.word-review-identity div { display:grid; }.word-review-identity b { font-size:8.5px; font-weight:600; }.word-review-identity small { color:#96928c; font-size:7px; }
.word-review-line { display:flex; align-items:flex-start; gap:5px; margin:8px 8px 0; padding:6px; border-radius:5px; background:#fff; color:#666; }
.word-review-line i { color:#4e9662; font-style:normal; }.word-review-line p { margin:0; font-size:7.5px; line-height:1.45; }
.word-stage.is-comparing .word-result-window { right:5%; top:15%; width:43%; height:70%; }
.word-stage.is-comparing .word-origin-window { z-index:19; left:5%; top:15%; width:43%; height:70%; opacity:1; transform:none; }
.word-stage.is-comparing .word-app-surface { opacity:0; transform:scale(.96); }
.word-stage.is-comparing .word-stage-rail { opacity:.32; }
.word-final-label { position:absolute; z-index:31; top:calc(85% + 16px); color:#9d98a4; font-size:10px; letter-spacing:.03em; opacity:0; transform:translate(-50%,8px); transition:opacity .4s ease,transform .5s cubic-bezier(.2,.75,.25,1); pointer-events:none; }
.word-final-label-origin { left:26.5%; }
.word-final-label-result { left:73.5%; }
.word-stage.is-comparing .word-final-label { opacity:1; transform:translate(-50%,0); }
.word-stage.is-cursor-on .word-demo-cursor { opacity:.95; }
.word-stage.is-import-result .word-demo-cursor { opacity:0; }
.word-stage.is-comparing .word-demo-cursor { opacity:0; }
.word-stage-status { position:absolute; z-index:40; left:21px; bottom:18px; display:flex; align-items:center; gap:7px; min-width:148px; padding:7px 10px; border:1px solid #ffffff10; border-radius:8px; background:#17161ad9; color:#9a96a2; font-size:8.5px; box-shadow:0 9px 25px #0004; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.word-stage-status .agent-status-dots { display:none; }
.word-stage.is-active .word-stage-status .agent-status-dots { display:inline-flex; }
.word-stage.is-comparing .word-stage-status .agent-status-dots { display:none; }
.word-demo-cursor { position:absolute; z-index:60; left:0; top:0; width:22px; height:22px; opacity:0; filter:drop-shadow(0 2px 3px #0009); transform:translate(var(--word-cursor-x,0),var(--word-cursor-y,0)); transition:transform .62s cubic-bezier(.2,.75,.2,1),opacity .3s ease; pointer-events:none; }
.word-demo-cursor svg { width:22px; height:22px; }
.word-demo-cursor path { fill:#f2f2f2; stroke:#181818; stroke-width:1.2; stroke-linejoin:round; }
.word-demo-cursor::after { position:absolute; left:3px; top:3px; width:4px; height:4px; border:1px solid #f2f2f2; border-radius:50%; content:""; opacity:0; }
.word-stage.is-clicking .word-demo-cursor::after { animation:word-cursor-click .42s ease-out both; }
@keyframes word-cursor-click { from { opacity:.9; transform:scale(1); } to { opacity:0; transform:scale(5); } }

@media(max-width:1000px) {
  .word-section { padding-block:90px 80px; }
  .word-stage { height:570px; }
  .word-origin-window { width:50%; }
  .word-app-surface { inset:9.5% 3% 3%; }
  .word-result-window { right:10%; width:60%; }
  .word-stage.is-comparing .word-origin-window,.word-stage.is-comparing .word-result-window { width:45%; }
}

@media(max-width:640px) {
  .word-section { padding-block:60px; }
  .word-heading { margin-bottom:28px; }
  .word-stage { height:540px; min-height:540px; border-radius:9px; }
  .word-stage::before { background-size:26px 26px; }
  .word-stage-rail { top:14px; gap:5px; padding:5px 7px; font-size:7px; }
  .word-stage-rail i { width:14px; }
  .word-origin-window { left:50%; top:10%; width:80%; height:72%; transform:translateX(-50%); }
  .word-ribbon { gap:9px; padding-inline:10px; }
  .word-app-surface { inset:9.5% 3% 3%; }
  .word-app-import-overlay { inset:15% 2% 4% 14.2%; }
  .word-app-upload-icon { width:36px; height:36px; }
  .word-app-import-overlay strong { font-size:9px; }
  .word-app-import-overlay small { font-size:6.5px; }
  .word-dropped-file { font-size:6.5px; }
  .word-drag-file svg { width:38px; height:47px; }
  .word-drag-file>span { font-size:7px; }
  .word-export-popover { right:3%; top:27%; width:190px; }
  .word-result-window { right:5%; top:17%; width:88%; height:68%; }
  .word-stage.is-comparing .word-origin-window,.word-stage.is-comparing .word-result-window { left:3%; right:auto; top:19%; width:47%; height:61%; }
  .word-stage.is-comparing .word-result-window { right:3%; left:auto; }
  .word-stage.is-comparing .word-origin-window .word-ribbon,.word-stage.is-comparing .word-result-window .word-ribbon { display:none; }
  .word-stage.is-comparing .word-origin-window .word-paper,.word-stage.is-comparing .word-result-window .word-result-body { height:calc(100% - 37px); }
  .word-stage.is-comparing .word-window-controls { display:none; }
  .word-stage.is-comparing .word-window-bar>span:nth-child(2) { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .word-stage.is-comparing .word-review-identity { padding:7px; }
  .word-stage.is-comparing .word-review-identity small { display:none; }
  .word-stage.is-comparing .word-review-line { margin:6px 5px 0; padding:4px; }
  .word-stage.is-comparing .word-review-line p { font-size:6.5px; line-height:1.3; }
  .word-stage-status { left:12px; bottom:12px; min-width:126px; padding:6px 8px; font-size:7px; }
  .word-final-label { top:calc(80% + 10px); font-size:7px; }
  .word-final-label-origin { left:26.5%; }
  .word-final-label-result { left:73.5%; }
}

/* 浅色主题：白色主面、深色文字；暗色模式继续使用上面的原始规格。 */
:root[data-theme="light"] {
  color-scheme:light;
  --bg:#fff;
  --surface:#fff;
  --ink:#17171a;
  --muted:#66636d;
  --accent:#6f4fc3;
  --line:#17171a16;
  --window-shadow:0 30px 76px #17171a24,0 8px 24px #17171a14;
  --window-shadow-soft:0 18px 48px #17171a12;
}

html[data-theme="light"] {
  scrollbar-color:#b8b5bd transparent;
}

html[data-theme="light"] body {
  background:#fff;
  color:#17171a;
}

html[data-theme="light"] ::selection {
  background:#6f4fc32e;
}

html[data-theme="light"] .topbar {
  border-bottom-color:#17171a12;
  background:#ffffffc7;
  box-shadow:0 10px 30px #17171a08;
}

html[data-theme="light"] .brand img,
html[data-theme="light"] .nf img,
html[data-theme="light"] .foot .brand img {
  filter:invert(1);
}

html[data-theme="light"] nav {
  color:#615d67;
}

html[data-theme="light"] .theme-toggle {
  color:#5f5b65;
}

html[data-theme="light"] .theme-toggle:hover {
  background:transparent;
  color:var(--accent);
}

html[data-theme="light"] .language-switch {
  color:#78747e;
}

html[data-theme="light"] .hero {
  background:radial-gradient(ellipse 60% 35% at 50% 88%,#ffffff,transparent);
}

html[data-theme="light"] .btn {
  background:#6f4fc3;
  color:#fff;
}

html[data-theme="light"] .btn:hover {
  background:#6042b1;
}

html[data-theme="light"] .small-icon {
  color:#6f4fc3;
}

html[data-theme="light"] .principles>div:hover .small-icon {
  color:#5f41af;
}

html[data-theme="light"] .selection-section,
html[data-theme="light"] .feature-showcase,
html[data-theme="light"] .word-section {
  border-bottom-color:#17171a0d;
}

html[data-theme="light"] .foot {
  color:#706c76;
}

html[data-theme="light"] .foot .brand {
  color:#242328;
}

html[data-theme="light"] .skip {
  color:#fff;
}

/* 应用工作台：亮色下使用白底窗口与浅灰分区，文字层级保持和应用一致。 */
html[data-theme="light"] .studio-scroll,
html[data-theme="light"] .agent-stage,
html[data-theme="light"] .agent-stage-board .studio-scroll,
html[data-theme="light"] .word-app-surface .studio-scroll {
  border-color:#17171a16;
  background:#fff;
  box-shadow:0 24px 80px #17171a10;
}

html[data-theme="light"] .studio {
  color:#56525c;
}

html[data-theme="light"] .studio-sidebar {
  border-right-color:#17171a12;
  background:#f7f7f9;
}

html[data-theme="light"] .studio-brand {
  color:#1d1c20;
}

html[data-theme="light"] .studio-collapse,
html[data-theme="light"] .studio-outline-label,
html[data-theme="light"] .studio-top>span,
html[data-theme="light"] .studio-toolbar,
html[data-theme="light"] .studio-toolbar-end {
  color:#74717a;
}

html[data-theme="light"] .studio-agent-button {
  color:#343139;
}

html[data-theme="light"] .studio-switch {
  background:#ecebef;
}

html[data-theme="light"] .studio-switch strong {
  background:#fff;
  color:#1d1c20;
  box-shadow:0 1px 3px #17171a12;
}

html[data-theme="light"] .studio-top,
html[data-theme="light"] .studio-toolbar,
html[data-theme="light"] .studio-document {
  border-color:#17171a12;
}

html[data-theme="light"] .studio-top>div {
  background:#f1f0f3;
}

html[data-theme="light"] .studio-top b {
  background:#fff;
  color:#1d1c20;
  box-shadow:0 1px 3px #17171a14;
}

html[data-theme="light"] .studio-separator {
  border-color:#17171a16;
}

html[data-theme="light"] .studio-paper {
  color:#3f3c44;
}

html[data-theme="light"] .studio-paper h3 {
  color:#1d1c20;
}

html[data-theme="light"] .studio-paper .studio-paper-source,
html[data-theme="light"] .studio-equation-number {
  color:#77737c;
}

html[data-theme="light"] .studio-paper-quote {
  border-left-color:#17171a24;
  color:#4b4850;
}

html[data-theme="light"] .studio-paper mark {
  background:#f2e7b8;
  color:#5f4c14;
}

html[data-theme="light"] .studio-paper .studio-comment-anchor {
  border-bottom-color:#17171a45;
  background:#f1e6bd;
  color:#5e4c17;
}

html[data-theme="light"] .studio-inline-revision del,
html[data-theme="light"] .studio-review del,
html[data-theme="light"] .word-app-board [data-word-board-change].is-visible del {
  background:#f7dddd;
  color:#9f3e41;
  text-decoration-color:#c5686b;
}

html[data-theme="light"] .studio-inline-revision ins,
html[data-theme="light"] .studio-review ins,
html[data-theme="light"] .word-app-board [data-word-board-change].is-visible ins {
  background:#dcefe1;
  color:#336c45;
}

html[data-theme="light"] .studio-review,
html[data-theme="light"] .studio-comment {
  border-color:#17171a16;
  background:#fff;
  box-shadow:0 10px 40px #17171a12;
}

html[data-theme="light"] .studio-review header,
html[data-theme="light"] .studio-review-item,
html[data-theme="light"] .studio-comment-replies,
html[data-theme="light"] .studio-comment footer {
  border-color:#17171a12;
}

html[data-theme="light"] .studio-review header,
html[data-theme="light"] .studio-review header>span:last-child,
html[data-theme="light"] .studio-ai-label,
html[data-theme="light"] .studio-comment-meta,
html[data-theme="light"] .studio-comment-reply-head b {
  color:#343139;
}

html[data-theme="light"] .studio-review header>span:first-child {
  background:#343139;
  color:#fff;
}

html[data-theme="light"] .studio-review-item>p:not(.studio-ai-label),
html[data-theme="light"] .studio-comment-reply p {
  color:#66626b;
}

html[data-theme="light"] .studio-ai-label span,
html[data-theme="light"] .studio-comment-meta time,
html[data-theme="light"] .studio-comment-reply-head time {
  color:#8b8790;
}

html[data-theme="light"] .studio-comment {
  border-color:#17171a20;
  background:#fff;
}

html[data-theme="light"] .studio-comment-question {
  color:#454149;
}

html[data-theme="light"] .studio-comment-reply-action,
html[data-theme="light"] .studio-comment footer,
html[data-theme="light"] .studio-comment-reply-head {
  color:#7b7780;
}

html[data-theme="light"] .studio-comment-reply {
  border-left-color:#17171a24;
}

html[data-theme="light"] .studio-comment::before {
  border-top-color:#8d8992;
}

html[data-theme="light"] .studio-formula-review {
  background:#dcefe1;
  color:#336c45!important;
}

html[data-theme="light"] .agent-stage.is-revision .agent-stage-board [data-agent-formula] {
  border-left-color:#4c9866;
  background:linear-gradient(90deg,#d9eddf,#edf6ef 78%,transparent);
  box-shadow:inset 0 0 0 1px #4c98662e;
}

html[data-theme="light"] .agent-stage.is-revision .agent-stage-board [data-agent-formula]::before {
  color:#397a4d;
}

html[data-theme="light"] .agent-stage.is-revision .agent-stage-board [data-agent-formula] math {
  color:#245c37;
}

html[data-theme="light"] .agent-stage.is-revision .agent-stage-board [data-agent-formula] .studio-equation-number {
  color:#4b7a5a;
}

html[data-theme="light"] .studio-decisions button {
  color:#a14144;
}

html[data-theme="light"] .studio-decisions button:last-child {
  color:#3f7f51;
}

html[data-theme="light"] .studio-header-actions button:hover {
  background:#17171a0d;
  color:#2d2b31;
}

html[data-theme="light"] .studio-header-actions .studio-author {
  color:#77737c;
}

html[data-theme="light"] .studio-author b {
  color:#343139;
}

html[data-theme="light"] .panel-empty,
html[data-theme="light"] .panel-empty .studio-icon {
  color:#8a8690;
}

html[data-theme="light"] .panel-empty h3 {
  color:#4b4750;
}

html[data-theme="light"] .panel-empty p {
  color:#77737c;
}

html[data-theme="light"] .studio-disclaimer,
html[data-theme="light"] .studio-status {
  color:#8a8690;
}

/* AI 对话与划选工具栏：从深色浮层切换为白色浮层。 */
html[data-theme="light"] .agent-stage.is-chat .agent-stage-board {
  filter:blur(3.5px) brightness(1.03) saturate(.78);
}

html[data-theme="light"] .agent-stage-veil {
  background:radial-gradient(ellipse 64% 64% at 50% 50%,#ffffffd9,#ffffffa3 62%,#ffffff52);
}

html[data-theme="light"] .agent-chat {
  border-color:#17171a16;
  background:#ffffffeb;
  box-shadow:0 20px 56px #17171a24,inset 0 1px 1px #fff;
}

html[data-theme="light"] .agent-chat-head,
html[data-theme="light"] .agent-chat-composer {
  border-color:#17171a14;
}

html[data-theme="light"] .agent-brand,
html[data-theme="light"] .agent-greeting,
html[data-theme="light"] .agent-reply,
html[data-theme="light"] .agent-typed,
html[data-theme="light"] .selection-reply,
html[data-theme="light"] .selection-answer-math {
  color:#252329;
}

html[data-theme="light"] .agent-chat-actions,
html[data-theme="light"] .agent-activity,
html[data-theme="light"] .agent-context,
html[data-theme="light"] .agent-chat-placeholder,
html[data-theme="light"] .agent-tool-detail {
  color:#77737c;
}

html[data-theme="light"] .agent-bubble {
  background:#6f4fc3;
  color:#fff;
}

html[data-theme="light"] .agent-tool {
  color:#5f5b65;
}

html[data-theme="light"] .agent-chat-composer {
  background:#fff;
}

html[data-theme="light"] .agent-send {
  background:#6f4fc3;
  color:#fff;
  box-shadow:0 4px 12px #6f4fc329;
}

html[data-theme="light"] .agent-stream-caret,
html[data-theme="light"] .agent-caret {
  background:#252329;
}

html[data-theme="light"] .agent-chat.selection-chat {
  background:#ffffffee;
}

html[data-theme="light"] .selection-stage.has-chat .selection-stage-board {
  filter:brightness(1.02) saturate(.82);
}

html[data-theme="light"] .selection-stage.has-chat .selection-stage-veil {
  opacity:.34;
}

html[data-theme="light"] .selection-demo-toolbar {
  border-color:#17171a16;
  background:#ffffffed;
  box-shadow:0 12px 32px #17171a18,inset 0 1px 0 #fff;
}

html[data-theme="light"] .selection-demo-action,
html[data-theme="light"] .selection-demo-inline {
  color:#4d4952;
}

html[data-theme="light"] .selection-demo-divider {
  background:#17171a18;
}

html[data-theme="light"] .selection-stage.is-toolbar-hover .selection-demo-inline,
html[data-theme="light"] .selection-stage.is-clicking .selection-demo-inline {
  background:#17171a0d;
}

html[data-theme="light"] .selection-user-bubble {
  background:#6f4fc3;
  color:#fff;
}

html[data-theme="light"] .selection-sent-quote {
  border-left-color:#ffffff52;
  background:#ffffff1f;
}

html[data-theme="light"] .selection-sent-quote>span:first-of-type,
html[data-theme="light"] .selection-sent-quote-text {
  color:#ffffffd1;
}

html[data-theme="light"] .selection-answer-math {
  background:#efedf2;
}

html[data-theme="light"] .selection-pending-quote {
  border-left-color:#17171a30;
  background:#17171a08;
  color:#5f5b65;
}

html[data-theme="light"] .selection-pending-quote .studio-icon,
html[data-theme="light"] .selection-pending-count,
html[data-theme="light"] .selection-pending-remove {
  color:#86818b;
}

/* 功能展台：模块保持白色，演示窗口用浅灰分层。 */
html[data-theme="light"] .feature-module {
  border-color:#17171a14;
  background:#fff;
}

html[data-theme="light"] .feature-module:hover {
  border-color:#6f4fc340;
  box-shadow:0 24px 65px #17171a10;
}

html[data-theme="light"] .feature-module>header>span {
  color:#88838d;
}

html[data-theme="light"] .feature-module h3 {
  color:#1d1c20;
}

html[data-theme="light"] .feature-module header p,
html[data-theme="light"] .feature-showcase-heading>p:last-child {
  color:#66636d;
}

html[data-theme="light"] .feature-demo {
  border-color:#17171a12;
  background:#f7f7f9;
}

html[data-theme="light"] .feature-demo::before {
  background-image:linear-gradient(#17171a08 1px,transparent 1px),linear-gradient(90deg,#17171a08 1px,transparent 1px);
}

html[data-theme="light"] .feature-placeholder {
  color:#8e8994;
}

html[data-theme="light"] .feature-placeholder span {
  color:#6f4fc366;
}

html[data-theme="light"] .feature-placeholder p {
  color:#85808a;
}

html[data-theme="light"] .plugin-demo-body {
  color:#454149;
}

html[data-theme="light"] .plugin-demo-group>header,
html[data-theme="light"] .plugin-demo-group>header strong {
  color:#817c86;
}

html[data-theme="light"] .plugin-demo-group>header span {
  background:#17171a08;
  color:#77727c;
}

html[data-theme="light"] .plugin-demo-item {
  border-color:#17171a10;
  background:#fff;
  box-shadow:inset 0 1px 0 #fff;
}

html[data-theme="light"] .plugin-demo-icon {
  background:#17171a06;
}

html[data-theme="light"] .plugin-demo-icon.is-inline {
  border:0;
  background:transparent;
  color:#17171a;
}

html[data-theme="light"] .plugin-demo-item b {
  color:#35323a;
}

html[data-theme="light"] .plugin-demo-item small {
  color:#847f89;
}

html[data-theme="light"] .local-safe-window,
html[data-theme="light"] .project-library-window,
html[data-theme="light"] .corpus-search-window {
  border-color:#17171a16;
  background:#fff;
  color:#4a4650;
  box-shadow:0 20px 55px #17171a12;
}

html[data-theme="light"] .local-safe-head,
html[data-theme="light"] .project-library-topbar,
html[data-theme="light"] .project-library-status {
  border-color:#17171a12;
  background:#f7f7f9;
}

html[data-theme="light"] .local-safe-head b,
html[data-theme="light"] .project-library-topbar>strong,
html[data-theme="light"] .project-library-title,
html[data-theme="light"] .project-library-heading h4,
html[data-theme="light"] .project-library-row strong,
html[data-theme="light"] .corpus-search-field,
html[data-theme="light"] .corpus-search-result h4 {
  color:#2e2b32;
}

html[data-theme="light"] .local-safe-head small,
html[data-theme="light"] .local-safe-item small,
html[data-theme="light"] .project-library-heading span,
html[data-theme="light"] .project-library-hint,
html[data-theme="light"] .project-library-note,
html[data-theme="light"] .project-library-row>span,
html[data-theme="light"] .project-library-row time,
html[data-theme="light"] .project-library-tags,
html[data-theme="light"] .project-library-tags p,
html[data-theme="light"] .project-library-tags>span,
html[data-theme="light"] .project-library-tags b,
html[data-theme="light"] .corpus-search-label,
html[data-theme="light"] .corpus-search-summary,
html[data-theme="light"] .corpus-search-related,
html[data-theme="light"] .corpus-search-result>header p,
html[data-theme="light"] .corpus-search-snippet p {
  color:#75717b;
}

html[data-theme="light"] .local-safe-body,
html[data-theme="light"] .project-library-main,
html[data-theme="light"] .project-library-sidebar {
  background:#fff;
}

html[data-theme="light"] .project-library-sidebar {
  border-right-color:#17171a10;
}

html[data-theme="light"] .local-safe-item,
html[data-theme="light"] .project-library-search,
html[data-theme="light"] .corpus-search-field {
  border-color:#17171a16;
  background:#f8f8f9;
  box-shadow:inset 0 1px 0 #fff;
}

html[data-theme="light"] .local-safe-icon {
  background:#17171a06;
  color:#66626c;
}

html[data-theme="light"] .local-safe-item b,
html[data-theme="light"] .project-library-heading,
html[data-theme="light"] .project-library-search,
html[data-theme="light"] .project-library-sort,
html[data-theme="light"] .project-library-topbar nav span,
html[data-theme="light"] .project-library-sidebar nav>span {
  color:#5e5a64;
}

html[data-theme="light"] .project-library-topbar nav,
html[data-theme="light"] .project-library-window-tools span {
  background:#17171a08;
}

html[data-theme="light"] .project-library-topbar nav span.is-active,
html[data-theme="light"] .project-library-sidebar nav>span.is-active {
  background:#fff;
  color:#252329;
  box-shadow:0 1px 3px #17171a18;
}

html[data-theme="light"] .project-library-table-head,
html[data-theme="light"] .project-library-row,
html[data-theme="light"] .corpus-search-summary,
html[data-theme="light"] .corpus-search-snippet {
  border-color:#17171a10;
}

html[data-theme="light"] .corpus-search-window::after {
  background:linear-gradient(transparent,#fff);
}

html[data-theme="light"] .corpus-search-field svg {
  stroke:#77737c;
}

html[data-theme="light"] .corpus-search-alias {
  background:#6f4fc3;
  color:#fff;
}

html[data-theme="light"] .corpus-search-summary b {
  color:#4a4650;
}

html[data-theme="light"] .corpus-search-echo,
html[data-theme="light"] .corpus-search-index,
html[data-theme="light"] .corpus-search-menu,
html[data-theme="light"] .corpus-search-snippet>span,
html[data-theme="light"] .corpus-search-expand {
  color:#88838d;
}

html[data-theme="light"] .corpus-search-concept {
  border-color:#17171a10;
  background:#17171a05;
  color:#6f6a74;
}

html[data-theme="light"] .corpus-search-concept b {
  color:#88838d;
}

html[data-theme="light"] .corpus-search-snippet mark {
  background:#eadffd;
  color:#583b9e;
  box-shadow:inset 0 -1px 0 #9d83df;
}

/* Word 往返：舞台改成白色画布，Word 文稿仍保持纸面质感。 */
html[data-theme="light"] .word-stage {
  border-color:#17171a16;
  background:radial-gradient(ellipse 78% 70% at 50% 44%,#fff 0,#f4f4f6 66%,#ececef 100%);
  box-shadow:0 28px 90px #17171a12,inset 0 1px 0 #fff;
}

html[data-theme="light"] .word-stage::before {
  background-image:linear-gradient(#17171a08 1px,transparent 1px),linear-gradient(90deg,#17171a08 1px,transparent 1px);
}

html[data-theme="light"] .word-stage::after {
  background:linear-gradient(115deg,#fff,transparent 38%,#6f4fc308);
}

html[data-theme="light"] .word-stage-rail {
  border-color:#17171a20;
  background:#fffffff0;
  color:#403c46;
  font-weight:500;
}

html[data-theme="light"] .word-stage-rail i {
  border-color:#17171a33;
}

html[data-theme="light"] .word-document-window {
  border-color:#17171a20;
  box-shadow:0 24px 70px #17171a24;
}

html[data-theme="light"] .word-app-surface {
  border-color:#17171a16;
  background:#fff;
  box-shadow:0 28px 90px #17171a18;
}

html[data-theme="light"] .word-app-import-overlay {
  border-color:#6f4fc34d;
  background:radial-gradient(ellipse 58% 42% at 50% 47%,#fff,#f2f0f5 72%);
  color:#4e4953;
}

html[data-theme="light"] .word-stage.is-dragging .word-app-import-overlay,
html[data-theme="light"] .word-stage.is-dropping .word-app-import-overlay {
  background:radial-gradient(ellipse 58% 42% at 50% 47%,#fff,#f2f0f5 72%);
}

html[data-theme="light"] .word-stage.is-importing .word-app-import-overlay,
html[data-theme="light"] .word-stage.is-imported .word-app-import-overlay {
  background:radial-gradient(ellipse 58% 42% at 50% 47%,#eef7f0,#f2f0f5 72%);
}

html[data-theme="light"] .word-app-upload-icon {
  background:#6f4fc3;
  color:#fff;
  box-shadow:0 12px 28px #6f4fc329,inset 0 0 0 1px #ffffff33;
}

html[data-theme="light"] .word-app-import-overlay small {
  color:#77727c;
}

html[data-theme="light"] .word-drag-file>span {
  border-color:#17171a16;
  background:#ffffffee;
  color:#39363e;
  box-shadow:0 8px 20px #17171a18;
}

html[data-theme="light"] .word-export-popover {
  border-color:#17171a16;
  background:#fffffff5;
  box-shadow:0 18px 50px #17171a1f;
}

html[data-theme="light"] .word-export-popover>p,
html[data-theme="light"] .word-export-popover small {
  color:#7d7882;
}

html[data-theme="light"] .word-export-popover button {
  background:#17171a06;
  color:#343139;
}

html[data-theme="light"] .word-stage-status {
  border-color:#17171a14;
  background:#ffffffe8;
  color:#68646e;
  box-shadow:0 9px 25px #17171a10;
}

html[data-theme="light"] .word-final-label {
  color:#77727c;
}

/* 演示窗口统一抬离背景；亮色下为主，暗色下只保留必要的边缘分离。 */
html[data-theme] .studio-scroll,
html[data-theme] .agent-stage,
html[data-theme] .word-stage,
html[data-theme] .latex-stage {
  box-shadow:var(--window-shadow);
}

html[data-theme] .word-stage,
html[data-theme] .latex-stage {
  box-shadow:var(--window-shadow),inset 0 1px 0 #ffffff0a;
}

html[data-theme] .feature-module,
html[data-theme] .local-safe-window,
html[data-theme] .project-library-window,
html[data-theme] .corpus-search-window {
  box-shadow:var(--window-shadow-soft);
}

html[data-theme] .feature-module:hover {
  box-shadow:var(--window-shadow);
}

/* LaTeX 工程：复用首屏工作台——文档区换成带修订的 LaTeX 源码 + PDF 预览分屏，
   右侧不放修订面板（--studio-right 收窄，文档列占满）；看板由 main.js 注入，无 JS 时留空。 */
.latex-section { padding-block:110px 100px; border-bottom:1px solid #ffffff07; }
.latex-heading { margin-bottom:44px; }
.latex-stage { position:relative; width:100%; aspect-ratio:16/10; min-height:520px; border:1px solid #ffffff25; border-radius:12px; background:#1e1e1e; overflow:hidden; isolation:isolate; }
/* 侧栏比写作幕略宽，装下 LaTeX 工程的文件名；条目一律单行省略，窄容器不溢出。 */
.latex-stage .studio { --studio-right:1.5%; --studio-side:17%; }
.latex-stage .studio-outline span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.latex-files { display:grid; gap:1px; font-size:10.5px; }
.latex-file { display:flex; align-items:center; gap:6px; min-width:0; padding:4px 6px; border-radius:4px; color:#a8a4b0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.latex-file .studio-icon { flex:none; width:11px; height:11px; }
.latex-file.is-active { background:#272727; color:#eee; }
.latex-file.is-nested { margin-left:15px; }
.latex-stage .studio-document { display:flex; }
.latex-split { flex:1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); min-width:0; min-height:0; }
.latex-pane { display:flex; flex-direction:column; min-width:0; min-height:0; }
.latex-editor-pane { border-right:1px solid #ffffff10; background:#18181b; }
.latex-pane-head { display:flex; align-items:center; justify-content:space-between; flex:none; height:32px; padding:0 13px; border-bottom:1px solid #ffffff0d; color:#6f6a78; font-size:9px; letter-spacing:.06em; }
.latex-pane-head b { color:#b3adbc; font-size:10px; font-weight:500; letter-spacing:.01em; }
.latex-compile { display:flex; align-items:center; gap:5px; padding:3px 9px; border:1px solid #ffffff16; border-radius:5px; background:#ffffff08; color:#a29dae; font-size:9px; letter-spacing:.02em; }
.latex-compile .studio-icon { width:10px; height:10px; }

.latex-source { flex:1; min-height:0; padding:10px 0; overflow:auto; scrollbar-width:none; font-family:var(--mono); font-size:10px; line-height:1.8; color:#c7c3d0; }
.latex-source::-webkit-scrollbar { width:0; height:0; }
.latex-source .latex-revision-actions { padding:0 14px 0 56px; white-space:normal; }
.latex-source .latex-revision-actions::before, .latex-source .latex-revision-actions::after { content:none; }
.latex-source ol { margin:0; padding:0; list-style:none;  }
.latex-source li { position:relative; min-height:1.85em; padding:0 14px 0 56px; white-space:pre-wrap; }
.latex-source li::before, .latex-source li::after { position:absolute; top:0; color:#4b4854; font-size:8.5px; text-align:right; }
.latex-source li::before { left:4px; width:19px; content:attr(data-latex-old-number); }
.latex-source li::after { left:27px; width:23px; content:attr(data-latex-new-number); }
.latex-tok-cmd { color:#c0a6fa; }
.latex-tok-brace { color:#6e6879; }
.latex-tok-env { color:#9dc7a8; }
.latex-tok-sup { font-size:.72em; vertical-align:.45em; }
.latex-tok-sub { font-size:.72em; vertical-align:-.25em; }
.latex-cite-insert { text-decoration:none; }

.latex-source li[hidden], .latex-revision-controls button[hidden] { display:none; }
.latex-source .latex-revision-delete { background:#dd435319; }
.latex-source .latex-revision-delete::after { color:#ef939e; }
.latex-source .latex-revision-add { background:#39a76520; border-left:3px solid #43ae72; padding-left:53px; }
.latex-source .latex-revision-add::after { left:24px; color:#43ae72; }
.latex-revision-add ins { background:#39a76535; color:#91d7ac; text-decoration:none; }
.latex-revision-delete del { background:#dd435335; color:#ef939e; text-decoration:line-through; }
.latex-revision-controls { flex:none; display:flex; align-items:center; justify-content:flex-end; gap:12px; min-height:32px; padding:4px 0; background:transparent; font-size:9px; }
.latex-revision-controls > span { margin-right:auto; color:#9993a2; }
.latex-revision-controls button { border:0; padding:4px 6px; border-radius:4px; background:transparent; font:inherit; cursor:pointer; color:#91d7ac; }
.latex-revision-controls button[data-latex-decision="reject"] { color:#ef939e; }
.latex-revision-controls button:hover { background:#88888815; }
.latex-revision-controls button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.latex-split.is-resolved .latex-source [data-latex-old], .latex-split.is-resolved .latex-source [data-latex-new] { background:none; color:inherit; border-left:0; padding-left:56px; }
.latex-split.is-resolved .latex-source [data-latex-old]::after, .latex-split.is-resolved .latex-source [data-latex-new]::after { left:27px; color:#4b4854; }
.latex-split.is-resolved ins, .latex-split.is-resolved del { background:none; color:inherit; text-decoration:none; }
html[data-theme="light"] .latex-source .latex-revision-delete { background:#fbe9eb; }
html[data-theme="light"] .latex-source .latex-revision-delete::after { color:#b94250; }
html[data-theme="light"] .latex-source .latex-revision-add { background:#e7f3eb; }
html[data-theme="light"] .latex-revision-delete del { background:#eab7bd66; color:#b42332; }
html[data-theme="light"] .latex-revision-add ins { background:#a6d2b566; color:#18783c; }
html[data-theme="light"] .latex-split.is-resolved ins, html[data-theme="light"] .latex-split.is-resolved del { background:none; color:inherit; }
html[data-theme="light"] .latex-revision-controls { background:transparent; }
html[data-theme="light"] .latex-revision-controls button { color:#267745; }
html[data-theme="light"] .latex-revision-controls button[data-latex-decision="reject"] { color:#b94250; }
html[data-theme="light"] .latex-split.is-resolved .latex-source [data-latex-old], html[data-theme="light"] .latex-split.is-resolved .latex-source [data-latex-new] { color:#45414d; background:none; }
@media(max-width:640px) {
  .latex-source .latex-revision-add, .latex-split.is-resolved .latex-source [data-latex-old], .latex-split.is-resolved .latex-source [data-latex-new] { padding-left:46px; }
  .latex-source .latex-revision-add { padding-left:43px; }
  .latex-source .latex-revision-add::after { left:19px; }
}


.latex-preview-pane { background:#151518; }
/* 预览纸张复用首屏 demo 文稿（.studio-paper，由 JS 去掉修订标记后克隆进来），
   只在这里定纸张外观与按预览面板缩放；文字颜色固定取亮色主题值，纸张永远是白底。 */
.latex-paper { flex:1; min-height:0; margin:12px 13px 13px; overflow:hidden; border-radius:2px; background:#fcfcfa; box-shadow:0 10px 26px #0005; }
.latex-paper .studio-paper { padding:14px 18px 30px; font-size:10.5px; line-height:1.75; color:#3f3c44; }
.latex-paper .studio-paper h3 { color:#1d1c20; font-size:12px; margin:12px 0 8px; }
.latex-paper .studio-paper p { margin-bottom:9px; }
.latex-paper .studio-paper .studio-paper-source { font-size:7.5px; margin-top:-2px; color:#77737c; }
.latex-paper .studio-paper .studio-paper-quote { margin:9px 0; padding-left:9px; border-left-color:#17171a24; color:#4b4850; }
.latex-paper .studio-paper .studio-equation { margin:8px 0; padding:6px 12px 6px 0; }
.latex-paper .studio-paper .studio-equation math { font-size:11px; }
.latex-paper .studio-paper .studio-equation-number { color:#77737c; font-size:8px; }

@media(max-width:640px) {
  .latex-section { padding-block:60px; }
  .latex-heading { margin-bottom:28px; }
  .latex-stage { aspect-ratio:auto; height:600px; min-height:600px; border-radius:9px; }
  .latex-split { grid-template-columns:1fr; grid-template-rows:minmax(0,1.1fr) minmax(0,1fr); }
  .latex-editor-pane { border-right:0; border-bottom:1px solid #ffffff10; }
  .latex-pane-head { height:26px; padding:0 9px; font-size:7.5px; }
  .latex-pane-head b { font-size:8.5px; }
  .latex-source { padding:7px 0; font-size:8px; }
  .latex-source li { padding:0 9px 0 46px; }
  .latex-source li::before { left:3px; width:16px; font-size:7px; }
  .latex-source li::after { left:22px; width:19px; font-size:7px; }
  .latex-source .latex-revision-actions { padding-left:46px; }
  .latex-split.is-resolved .latex-source [data-latex-old]::after, .latex-split.is-resolved .latex-source [data-latex-new]::after { left:22px; }
  .latex-paper { margin:8px 9px 10px; }
  .latex-paper .studio-paper { padding:10px 12px 22px; font-size:9px; }
  .latex-paper .studio-paper h3 { font-size:10px; margin:9px 0 6px; }
  .latex-paper .studio-paper .studio-equation math { font-size:9.5px; }
  .latex-files { font-size:9px; }
  .latex-file { padding:3px 5px; gap:4px; }
  .latex-file.is-nested { margin-left:11px; }
}

html[data-theme="light"] .latex-stage { border-color:#17171a16; background:#fff; box-shadow:0 24px 80px #17171a10; }
html[data-theme="light"] .latex-editor-pane { border-right-color:#17171a10; background:#faf9fc; }
html[data-theme="light"] .latex-pane-head { border-bottom-color:#17171a0d; color:#8b8692; }
html[data-theme="light"] .latex-pane-head b { color:#4c4852; }
html[data-theme="light"] .latex-compile { border-color:#17171a16; background:#ffffffc9; color:#7b7683; }
html[data-theme="light"] .latex-source { color:#45414d; }
html[data-theme="light"] .latex-source li::before, html[data-theme="light"] .latex-source li::after { color:#96919e; }
html[data-theme="light"] .latex-source .latex-revision-add::after { color:#267745; }
html[data-theme="light"] .latex-source .latex-revision-delete::after { color:#b94250; }
html[data-theme="light"] .latex-split.is-resolved .latex-source li::after { color:#96919e; }
html[data-theme="light"] .latex-tok-cmd { color:#6f4fc3; }
html[data-theme="light"] .latex-tok-brace { color:#a49eb0; }
html[data-theme="light"] .latex-tok-env { color:#356c46; }
html[data-theme="light"] .latex-preview-pane { background:#efeef3; }
html[data-theme="light"] .latex-paper { background:#fff; box-shadow:0 10px 26px #17171a12; }
html[data-theme="light"] .latex-file { color:#5f5b66; }
html[data-theme="light"] .latex-file.is-active { background:#e9e7ef; color:#26252b; }

/* 更新日志页（/changelog/，由 scripts/build_changelog_page.py 从 changelog.json 生成） */
.changelog-page {
  max-width:720px;
  margin-inline:auto;
  padding-block:64px 90px;
}

.changelog-page h1 {
  margin:8px 0 34px;
  font-size:40px;
  letter-spacing:-1px;
}

.changelog-release {
  padding-block:24px;
  border-top:1px solid var(--line);
}

.changelog-release header {
  display:flex;
  align-items:baseline;
  gap:14px;
}

.changelog-release h2 {
  margin:0;
  font-size:20px;
  letter-spacing:0;
}

.changelog-release time {
  color:var(--muted);
  font-size:12px;
}

.changelog-release ul {
  margin:12px 0 0;
  padding-left:18px;
  display:grid;
  gap:7px;
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
}

/* 分组条目的组名（新增 / 改进 / 修复）：小号强调标题，紧跟自己的条目列表 */
.changelog-group {
  margin:18px 0 0;
  font-size:15px;
  font-weight:600;
  color:var(--ink);
}

.changelog-group + ul {
  margin-top:8px;
}

:root[data-theme="light"] .changelog-release ul {
  color:#5f5b66;
}

/* 窄屏导航独立一行，让下载、更新日志与关于入口保持可见。 */
.topbar nav a { white-space:nowrap; }
.topbar nav a:hover,
.topbar nav a[aria-current="page"] { color:var(--accent); }
@media(max-width:480px) {
  .topbar-inner { height:auto; min-height:54px; flex-wrap:wrap; gap:0 14px; padding-block:10px; }
  .topbar nav { order:3; width:100%; justify-content:center; gap:24px; padding-top:10px; font-size:12px; }
}
