/* InLine: a quiet, product-led space for academic writing. */
:root {
  color-scheme:dark;
  --bg:#111113;
  --surface:#1a1a1e;
  --ink:#f3f1f6;
  --muted:#a09da8;
  --accent:var(--ink);
  --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:var(--bg);
  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:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
}

.brand {
  display:flex;
  align-items:center;
  gap:11px;
  justify-self:start;
  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;
  justify-self:end;
}

.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;
}

/* 语言切换做成明确的按钮式控件：30px 高、有边线与悬停底，命中区域比一行小字大得多。 */
.language-switch {
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:30px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:8px;
  color:#918c97;
  font-size:12px;
  font-weight:500;
  text-decoration:none;
  transition:color .15s ease,border-color .15s ease,background .15s ease;
}

.language-switch:hover {
  color:var(--accent);
  border-color:var(--accent);
  background:#ffffff0f;
}

:root[data-theme="light"] .language-switch:hover {
  background:#17171a0d;
}

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:var(--bg);
  border-radius:7px;
  font-weight:600;
  font-size:14px;
  appearance:none;
  -webkit-appearance:none;
  transition:background .2s;
}

.btn:hover {
  opacity:.86;
}

/* 首页下载入口与定价横幅按钮：照 ChatGPT 的「Download app ›」——整圆胶囊 + 反色底 + 右向箭头。
   深浅两套主题靠 --ink / --bg 互换（暗色下是浅胶囊配深字），不用品牌紫；
   下载按钮的链接仍由 download.js 按平台换成安装包直链。 */
.btn.download-app,
.btn.plan-cta-button {
  gap:8px;
  border-radius:999px;
  background:var(--ink);
  color:var(--bg);
}

.btn.download-app:hover,
.btn.plan-cta-button:hover {
  background:var(--ink);
  opacity:.86;
}

.btn.download-app svg,
.btn.plan-cta-button svg {
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* 亮色主题的 .btn 覆盖把底换成品牌紫，这两处胶囊要的是反色黑，按同样的选择器权重压回来。 */
html[data-theme="light"] .btn.download-app,
html[data-theme="light"] .btn.plan-cta-button { background:var(--ink); color:var(--bg); }
html[data-theme="light"] .btn.download-app:hover,
html[data-theme="light"] .btn.plan-cta-button:hover { background:var(--ink); opacity:.86; }

.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;
}







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

.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:var(--ink);
  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:flex;
  flex-direction:column;
}

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

.nf-page .foot {
  width:100%;
}

.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);
  }
}

@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;
  }




  .eyebrow {
    font-size:10px;
    margin-bottom:16px;
  }
  .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;
  }
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.evt-read { --evt-ink: #a9c6f5; }
.evt-search { --evt-ink: #8ed3e0; }
.evt-write { --evt-ink: #f0ab86; }
.evt-file { --evt-ink: #e3c878; }
.evt-library { --evt-ink: #96d8b0; }
/* 亮色主题换成应用浅色标签色板里的同号色（暗色那几枚在白底上太浅）。 */
html[data-theme="light"] .evt-read { --evt-ink: #1f4e9c; }
html[data-theme="light"] .evt-search { --evt-ink: #14606b; }
html[data-theme="light"] .evt-write { --evt-ink: #95431a; }
html[data-theme="light"] .evt-file { --evt-ink: #7d5b0a; }
html[data-theme="light"] .evt-library { --evt-ink: #1e6b41; }

/* 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:18%; --studio-right:30%; }
.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-status { position:static; color:#777; font-size:10px; }
.studio-status .studio-icon { width:12px; height:12px; }
@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-selection { 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; }

/* 浅色主题：白色主面、深色文字；暗色模式继续使用上面的原始规格。 */
:root[data-theme="light"] {
  color-scheme:light;
  --bg:#fff;
  --surface:#fff;
  --ink:#17171a;
  --muted:#66636d;
  --accent:var(--ink);
  --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:#17171a24;
}

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"] .foot {
  color:#706c76;
}

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

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

/* 应用工作台：亮色下使用白底窗口与浅灰分区，文字层级保持和应用一致。 */
html[data-theme="light"] .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-selection {
  border-bottom-color:#17171a45;
  background:#f1e6bd;
  color:#5e4c17;
}

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

html[data-theme="light"] .studio-inline-revision ins,
html[data-theme="light"] .studio-review 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"] .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-status {
  color:#8a8690;
}


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

/* 更新日志页（/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);
  scroll-margin-top:80px;
}

.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) {
  /* 回到 flex 换行布局，导航独占一行居中。 */
  .topbar-inner { height:auto; min-height:54px; display:flex; 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; }
}

/* 当前工作台：正文旁常驻聊天，批注浮窗锚定到正文中的句子。右栏宽度见 `.studio` 上的 --studio-right（三段统一 30%）。 */
.studio-toolbar { margin-right:var(--studio-right); }
.studio-chat { position:absolute; inset:var(--studio-header-height) 0 27px auto; width:var(--studio-right); display:flex; flex-direction:column; border-left:1px solid var(--demo-line,#ffffff16); background:var(--demo-chat-bg,#202020); color:var(--demo-text,#c9c9c9); }
.studio-chat-head { display:flex; align-items:center; justify-content:space-between; gap:8px; height:38px; padding:0 12px; border-bottom:1px solid var(--demo-line,#ffffff16); flex:none; }
.studio-chat-actions { display:flex; gap:9px; color:var(--demo-muted,#888); }
.studio-chat-actions .studio-icon { width:13px; height:13px; }
.studio-chat-messages { flex:1; min-height:0; overflow:auto; padding:12px 13px; scrollbar-width:thin; font-size:11px; line-height:1.75; }
.studio-chat-user { margin:0 0 13px 18px; padding:8px 10px; border:0; border-radius:12px 12px 4px 12px; background:#3d3d3d; }
html[data-theme="light"] .studio-chat-user { background:#ececec; }
/* 对话里的工具事件：一行一件——类别象征 + 工具名 + 来源插件徽标 + 计数/摘要。
   规格取应用 AI 窗口的 .chat-tool / .chat-tool-plugin（无边框底色，14px 圆角徽标）； */
.studio-chat-tool { display:flex; align-items:center; gap:6px; margin:0 0 5px; color:var(--demo-text,#c9c9c9); font-size:10px; line-height:1.5; }
.studio-chat-tool .studio-icon { flex:none; width:12px; height:12px; color:var(--evt-ink,var(--demo-muted,#888)); }
.studio-chat-tool-name { flex:none; }
.studio-chat-tool-count { flex:none; color:var(--demo-muted,#888); }
.studio-chat-tool-detail { min-width:0; overflow:hidden; color:var(--demo-muted,#888); white-space:nowrap; text-overflow:ellipsis; }
.studio-chat-tool-plugin { flex:none; width:14px; height:14px; border-radius:4px; object-fit:contain; }
/* 执行计划：与应用 .chat-plan 同一套（标题 + 圆点/对勾 + 右侧状态）。 */
.studio-chat-answer { margin-bottom:10px; }
/* 对话回答里的公式与段落引用：形态取应用的 .chat-formula / .chat-block-link。 */
.studio-chat-formula { display:flex; justify-content:center; margin:7px 0; }
.studio-chat-formula.is-inline { display:inline; margin:0 1px; }
.studio-chat-formula math { margin:0; font-size:14px; }
.studio-chat-formula.is-inline math { font-size:12px; }
.studio-chat-block-link { display:inline-flex; align-items:center; gap:3px; padding:0 3px; border:0; border-radius:4px; background:var(--demo-bubble); color:inherit; font:inherit; line-height:inherit; text-decoration:underline; text-decoration-style:dotted; text-underline-offset:2px; cursor:pointer; }
.studio-chat-block-link .studio-icon { flex:none; width:11px; height:11px; }
.studio-chat-block-link:hover { text-decoration-style:solid; }
.studio-chat-answer p { margin:5px 0; }
/* 工具行穿插在说话之间，间距沿用原来的紧凑节奏。 */
.studio-chat-answer .studio-chat-tool { margin:0 0 4px; }
/* 面板底部还留着 27px 的画布页脚条（缩放控件），输入框只留 2px 内边距，整体往下靠。 */
/* 首屏对话窗的回放动画：元素上浮淡入、插件徽标带一点缩放，输入框打字光标与答复流式光标共用一组关键帧。
   做法取自去动画前的站点备份（site-before-animation-removal-20261015.zip）；系统开启「减弱动态效果」时保持静态。 */
@keyframes studio-chat-rise { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
@keyframes studio-chat-plugin-in { from { opacity:0; transform:translateY(2px) scale(.78); } to { opacity:1; transform:none; } }
@keyframes studio-chat-caret { 0%,49% { opacity:1; } 50%,100% { opacity:0; } }
@media (prefers-reduced-motion: no-preference) {
  .studio-chat-user,
  .studio-chat-tool { animation:studio-chat-rise .32s cubic-bezier(.2,.7,.3,1) both; }
  .studio-chat-answer { animation:studio-chat-rise .42s cubic-bezier(.2,.7,.3,1) both; }
  .studio-chat-tool-plugin { animation:studio-chat-plugin-in .26s cubic-bezier(.2,.7,.3,1) both; }
}
.studio-chat-caret,
.studio-chat-stream-caret { display:none; width:1.5px; height:11px; margin-left:1px; background:currentColor; }
.studio-chat-composer.is-typing .studio-chat-caret { display:inline-block; animation:studio-chat-caret 1s steps(1) infinite; }
.studio-chat-composer.is-typing .studio-chat-placeholder { display:none; }
.studio-chat-messages.is-streaming .studio-chat-stream-caret { display:inline-block; vertical-align:-1px; animation:studio-chat-caret 1s steps(1) infinite; }

/* 写作段的指针从正文移动到聊天输入框。 */
.studio-write-cursor {
  position:absolute; left:0; top:0; width:11px; height:15px; pointer-events:none; will-change:transform,opacity;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 18'%3E%3Cpath d='M1 1l9.1 8-4 .6 2.3 4.5-2 .9-2.3-4.6L1 13z' fill='%23fff' stroke='%23111' stroke-width='1.1' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));
}
/* 写作段的指针盖在正文之上，点击输入框后淡出 */
/* 鼠标始终位于浮动工具栏上方，点击位置保持可见。 */
.studio-write-cursor { z-index:9; opacity:0; }
/* 正文里打字的插入光标 */
/* 正文打字：这一句就是该段全部内容，原地逐字打出，插入光标跟在字后 */
.studio-body-caret { display:none; width:1.5px; height:11px; margin-left:1px; background:currentColor; vertical-align:-1px; }
.studio-document p.is-typing-body .studio-body-caret { display:inline-block; animation:studio-chat-caret 1s steps(1) infinite; }
/* 鼠标点输入框时的一点涟漪 */
.studio-chat-composer { position:relative; }
/* 「提交段落修订」落地时，正文那处修订闪一下（写作模式下修订本身是普通文本） */
.studio-inline-revision.is-flashing { border-radius:3px; background:#f0c26552; transition:background .35s ease; }
html[data-theme="light"] .studio-inline-revision.is-flashing { background:#f0c2658c; }
.studio-comment.is-typing .studio-comment-question::after,
.studio-comment.is-streaming .studio-comment-reply p::after {
  content:""; display:inline-block; width:1.5px; height:11px; margin-left:1px; vertical-align:-1px;
  background:currentColor; animation:studio-chat-caret 1s steps(1) infinite;
}

.studio-chat-bottom { flex:none; padding:0 11px 2px; }
.studio-chat-context { display:flex; align-items:center; gap:5px; margin:0 0 6px; font-size:8px; color:var(--demo-muted,#888); }
.studio-chat-context .studio-icon { width:11px; height:11px; }
.studio-chat-composer { padding:9px; border:1px solid var(--demo-input-border,#ffffff60); border-radius:10px; font-size:10px; color:var(--demo-muted,#888); }
.studio-chat-composer>div { display:flex; align-items:center; gap:5px; margin-top:18px; }
.studio-chat-composer .studio-icon { width:11px; height:11px; }
.studio-chat-send { margin-left:auto; }
.studio-chat-send { display:grid; flex:none; place-items:center; width:30px; height:30px; border-radius:50%; background:#999; color:#fff; box-shadow:0 4px 12px #00000012; }
.studio-chat-composer .studio-chat-send .studio-icon { width:16px; height:16px; stroke-width:2; }
.studio-comment-thread { position:relative; width:fit-content; max-width:100%; }
.studio-paper .studio-comment-anchor { border:0; padding:0; background:transparent; color:inherit; text-align:left; font:inherit; cursor:pointer; }
.studio-comment-thread .studio-comment { left:auto; right:0; top:calc(100% + 4px); bottom:auto; width:min(250px,100%); padding:8px 10px; z-index:2; font-family:var(--sans); background:linear-gradient(145deg,#382e31f5,#29292df5); border-color:#ffffff38; backdrop-filter:blur(20px); }
.studio-comment-thread .studio-comment::before { display:none; }
.studio-comment-thread .studio-comment[hidden] { display:none; }
.studio-paper .studio-comment p { text-indent:0; margin:4px 0 0; font-family:var(--sans); line-height:1.45; }
.studio-paper .studio-comment .studio-comment-question { font-size:10px; }
/* 演示颜色在暗色模式下也需完整定义，批注与停靠面板共用。 */
.studio { --demo-chat-bg:#202020; --demo-line:#ffffff16; --demo-line-strong:rgba(255,255,255,.17); --demo-comment-bg:#242424; --demo-text:#c9c9c9; --demo-muted:#8b8b8b; --demo-bubble:#3d3d3d; --demo-input-border:#ffffff77; }
html[data-theme="light"] .studio { --demo-line-strong:rgba(0,0,0,.16); --demo-comment-bg:#fff; --demo-chat-bg:#fff; --demo-line:#1d192219; --demo-text:#37343c; --demo-muted:#96929a; --demo-bubble:#f5f4f6; --demo-input-border:#29252f77; }
html[data-theme="light"] .studio-comment-thread .studio-comment { background:linear-gradient(145deg,#fff3f5f5,#f6f6f8f5); border-color:#fff; box-shadow:0 15px 45px #201b2426; }
html[data-theme="light"] .studio-chat .studio-agent-button { color:#333; }

/* 公式修订与正文修订放在上半部，为下方批注留出独立空间。 */
.studio-formula-revision { display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; padding-right:12px; }
.studio-formula-revision del,.studio-formula-revision ins { display:block; padding:5px 7px; border-radius:4px; }
.studio-formula-revision del { position:relative; color:#d99898; background:#6d2f3188; text-decoration:none; }
.studio-formula-revision del::after { content:""; position:absolute; top:50%; left:5px; right:5px; border-top:1px solid currentColor; }
.studio-formula-revision ins { color:#a7cfb1; background:#27533b99; text-decoration:none; }
.studio-formula-revision del math { font-size:12px; }
.studio-formula-revision ins math { font-size:14px; }
html[data-theme="light"] .studio-formula-revision del { color:#ac4545; background:#fbe5e5; }
html[data-theme="light"] .studio-formula-revision ins { color:#38764c; background:#e1f0e5; }
.studio-comment-thread .studio-comment-replies { margin-top:5px; padding-top:5px; }
.studio-comment-thread .studio-comment footer { margin-top:5px; padding-top:5px; }

/* 固定文稿画面将滚轮交给官网，长文内容继续提供批注预览与审批示例。 */
#workspace .studio-scroll { overflow-x:auto; overflow-y:hidden; }
/* 保持滚轮用于官网分段浏览，正文由修订记录定位。 */
#workspace .studio-document { overflow:hidden; }
#workspace .studio-paper[lang="en"] p { margin-bottom:10px; }
#workspace .studio-paper[lang="en"] h3 { margin-block:10px 7px; }
#workspace .studio-equation { padding-block:9px; margin-bottom:10px; }
@media(max-width:640px) {
  #workspace .studio { min-width:1140px; }
  #workspace .studio-paper[lang="en"] { font-size:13px; }
}


.studio-chat-review { position:relative; display:grid; place-items:center; width:25px; height:26px; padding:0; border:0; border-radius:5px; color:var(--demo-text,#ddd); background:transparent; }
.studio-chat-review:not(:disabled):hover { background:var(--demo-bubble,#ffffff14); }
.studio-chat-review .studio-icon { width:16px; height:16px; }
.studio-chat-review>span { position:absolute; top:0; right:-2px; min-width:12px; padding:0 3px; border-radius:8px; background:var(--demo-text,#ddd); color:var(--demo-chat-bg,#202020); font:8px/12px var(--sans); }

.studio-comment-ruler { position:absolute; left:7px; top:39%; display:grid; gap:11px; pointer-events:none; }
.studio-comment-ruler i { display:block; width:10px; height:2px; border-radius:2px; background:#737373; }
html[data-theme="light"] .studio-comment-ruler i { background:#b7b7b7; }
/* 每条批注一枚刻度；悬停、聚焦或点击仅显示快速预览。 */
.studio-comment-ruler { top:50%; transform:translateY(-50%); width:24px; z-index:4; pointer-events:auto; }
.studio-ruler-tick { display:flex; align-items:center; width:24px; height:16px; padding:0; border:0; background:transparent; cursor:pointer; }
.studio-ruler-tick>span { display:block; width:10px; height:2px; border-radius:2px; background:var(--demo-muted,#888); transition:width .2s,background .2s; }
.studio-ruler-tick:hover>span,.studio-ruler-tick.is-active>span { width:24px; background:var(--demo-text,#ddd); }
.studio-ruler-preview { position:absolute; top:-12px; left:32px; width:240px; padding:10px 12px; border:1px solid var(--demo-line,#ffffff28); border-radius:10px; background:var(--demo-chat-bg,#292929); box-shadow:0 10px 28px #0003; }
.studio-ruler-preview p { margin:7px 0 0; font-size:11px; line-height:1.5; }
.studio-paper .studio-comment-anchor.is-ruler-active .studio-comment-selection { background:#b28b3f55; border-bottom-color:#bb984c; }
html[data-theme="light"] .studio-paper .studio-comment-anchor.is-ruler-active .studio-comment-selection { background:#f5df91; }
.studio-chat-head .studio-agent-button,.studio-chat-review { width:25px; height:26px; padding:0; border:0; border-radius:5px; cursor:pointer; }
.studio-chat-head .studio-agent-button.is-active,.studio-chat-review.is-active { background:var(--demo-bubble,#ffffff14); }
.studio [hidden] { display:none!important; }
/* 与 App 的 ChangesPanel 共用视觉层次，演示保留单条修订操作。 */
.studio-approval-panel { display:flex; flex:1; flex-direction:column; min-height:0; overflow:hidden; font:10px/1.6 var(--sans); }
/* 修订演示固定在窗口内，超出下沿的内容裁切，滚轮交给官网页面。 */
.studio-approval-list { flex:1; min-height:0; overflow:clip; padding:6px 14px; }
.studio-approval-card { padding:16px 4px; border-bottom:1px solid var(--demo-line,#ffffff20); cursor:pointer; }
.studio-approval-card:last-child { border-bottom:0; }
.studio-approval-head { display:flex; align-items:center; gap:6px; min-height:22px; color:var(--demo-muted,#999); font-size:9px; }
.studio-approval-head>img,.studio-approval-head>.studio-icon { flex:none; width:16px; height:16px; }
.studio-approval-head>b { color:var(--demo-text,#ddd); font-size:11px; font-weight:600; }
.studio-approval-head>span { opacity:.7; }
.studio-approval-reason { margin:7px 0 0; padding:6px 0; color:var(--demo-muted,#999); font-size:10px; }
.studio-approval-paragraph { display:flex; align-items:center; margin:10px 0 6px; color:var(--demo-muted,#999); }
.studio-approval-paragraph>strong { font-size:10px; font-weight:500; }
.studio-approval-diff { display:flex; align-items:baseline; gap:7px; margin-top:6px; padding:6px 9px; border-radius:8px; font:11px/1.6 var(--serif); overflow-wrap:anywhere; }
.studio-approval-diff>span { flex:none; font:11px var(--mono,monospace); }
.studio-approval-diff del,.studio-approval-diff ins { min-width:0; }
.studio-approval-diff.before { color:#d99898; background:#6d2f3188; }
.studio-approval-diff.after { color:#a7cfb1; background:#27533b99; }
.studio-approval-diff ins { text-decoration:underline; text-underline-offset:3px; }
.studio-approval-diff math { font-size:11px; }
.studio-approval-decisions { display:flex; justify-content:flex-end; gap:16px; margin:9px 0 0 auto; }
.studio-approval-decisions button { display:inline-flex; align-items:center; justify-content:center; gap:4px; min-width:22px; min-height:22px; padding:3px; border:0; border-radius:5px; background:transparent; font:10px var(--sans); cursor:pointer; }
.studio-approval-decisions button:hover { background:var(--demo-bubble,#ffffff14); }
.studio-approval-decisions .studio-icon { width:13px; height:13px; }
.studio-approval-decisions .accepted { color:#70ac82; font-weight:600; }
.studio-approval-decisions .rejected { color:#ca7878; }
.studio-approval-done { padding:24px 0; text-align:center; color:var(--demo-muted,#999); }
html[data-theme="light"] .studio-approval-diff.before { color:#d01020; background:#fce8eb; }
html[data-theme="light"] .studio-approval-diff.after { color:#078536; background:#e1f3e9; }
html[data-theme="light"] .studio-approval-decisions .accepted { color:#078536; }
html[data-theme="light"] .studio-approval-decisions .rejected { color:#d01020; }

/* 标尺固定在写作区左侧，全部刻度均可快速预览。 */
.studio>.studio-comment-ruler { left:calc(var(--studio-side) + 7px); top:calc(var(--studio-writing-top) + (100% - var(--studio-writing-top) - 27px) / 2); display:flex; flex-direction:column; gap:0; }
.studio-ruler-tick { flex:none; height:13px; }
.studio-outline { max-height:calc(100% - 285px); overflow:auto; scrollbar-width:none; }
.studio-reading-section { margin-top:25px; }
#workspace .studio-paper[lang="en"] { padding-bottom:180px; }

/* 首屏展示讨论、写作与审阅三项用途。 */
.hero .hero-headline { max-width:1120px; margin:0 auto; font-size:clamp(30px,7vw,96px); line-height:1.14; letter-spacing:-.045em; word-spacing:.04em; font-weight:650; }
.hero-headline>span { display:block; }
.hero-modes { position:relative; display:inline-block; }
.hero-modes>button { border:0; padding:0; background:transparent; color:inherit; font:inherit; letter-spacing:inherit; word-spacing:inherit; cursor:pointer; }
/* 首屏封面：主标题是「InLine.」，Chat, write & review. / Bring AI in line with your research. 降为副标题 */
.brand-period { background:linear-gradient(90deg,#39a9db,#f1cb69,#f1a6be); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero .hero-subtitle { max-width:860px; margin:16px auto 0; font-size:clamp(20px,2.5vw,33px); line-height:1.4; letter-spacing:-.02em; font-weight:550; }
.hero-mode-underline { position:absolute; left:0; bottom:0; width:24%; height:3px; border-radius:3px; background:linear-gradient(90deg,#39a9db,#f1cb69,#f1a6be); pointer-events:none; }
.hero-modes.is-ready .hero-mode-underline { transition:transform .42s cubic-bezier(.22,1,.36,1),width .42s cubic-bezier(.22,1,.36,1); }
.hero .hero-actions { margin-top:30px; }
@media(max-width:640px) {
  .hero .hero-headline { font-size:clamp(40px,13vw,64px); line-height:1.1; }
  .hero .hero-subtitle { margin-top:12px; font-size:clamp(17px,4.6vw,22px); }
  .hero-mode-underline { height:2px; bottom:0; }
}

/* 画幅能完整容纳主界面时，以固定展示区承载三段用途。 */
.workspace-scroll-scene { margin-top:48px; }
.workspace-scroll-scene.is-sticky { height:calc(var(--workspace-height) + var(--workspace-hold,0px) + var(--workspace-dwell)); }
@media(min-width:1600px) { .workspace-scroll-scene { margin-top:64px; } }
@media(max-width:640px) { .workspace-scroll-scene { margin-top:35px; } }

/* 同一驻留画面由完整工作台过渡为三段用途介绍。 */
.workspace-presentation { position:relative; width:min(1440px,calc(100% - 96px)); margin-inline:auto; }
.workspace-presentation>.product-stage { width:min(1140px,100%); margin:0 auto; animation:none; transform:translateX(var(--workspace-shift,0px)) scale(var(--workspace-scale,1)); transform-origin:center; will-change:transform; }
.workspace-scroll-scene.is-sticky>.workspace-presentation { position:sticky; top:var(--workspace-top); height:var(--workspace-height); }
.workspace-features { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:32px; visibility:hidden; }
.workspace-scroll-scene.is-ready:not(.is-sticky) .workspace-features { visibility:visible; }
.workspace-feature { border-top:1px solid var(--line); }
.workspace-feature>button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:20px 0; border:0; background:transparent; color:var(--muted); font:500 25px/1.3 var(--sans); text-align:left; cursor:pointer; }
.workspace-feature-number { font-size:11px; font-weight:400; }
.workspace-feature.is-active>button { color:var(--ink); }
.workspace-feature-body { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .38s cubic-bezier(.22,.61,.36,1),opacity .24s ease; }
.workspace-feature-content { min-height:0; overflow:hidden; }
.workspace-feature.is-active .workspace-feature-body { grid-template-rows:1fr; opacity:1; }
.workspace-feature>button { transition:color .2s ease; }
.workspace-feature-body h2 { margin:6px 0 20px; font:550 19px/1.6 var(--sans); letter-spacing:-.02em; }
.workspace-feature-body p { margin:0 0 24px; color:var(--muted); font-size:15px; line-height:1.8; }
.workspace-scroll-scene.is-sticky .workspace-features { position:absolute; left:0; top:50%; width:min(320px,26%); margin:0; display:block; transform:translateY(-50%) translateX(calc(-18px * (1 - var(--feature-reveal,0)))); opacity:var(--feature-reveal,0); visibility:hidden; pointer-events:none; }
.workspace-scroll-scene.is-sticky.has-story .workspace-features { visibility:visible; pointer-events:auto; }
@media(max-width:640px) {
  .workspace-presentation { width:calc(100% - 24px); }
  .workspace-features { grid-template-columns:1fr; gap:0; padding-inline:12px; }
  .workspace-feature>button { font-size:23px; padding-block:16px; }
}

/* 讨论与写作显示原稿；审阅假定这些编辑痕迹已被接受，正文只显示接受后的文字，不再画增删标记。
   `.is-revealed` 是写作场景刚提交的那一句：它仍按待审痕迹显示（红删 / 绿增），其余段落保持原稿。
   批注不受影响：审阅阶段批注照常展开（见下一组规则）。 */
#workspace .studio:not([data-studio-mode="review"]) [data-studio-revision]:not(.is-revealed)>ins { display:none; }
#workspace .studio:not([data-studio-mode="review"]) [data-studio-revision]:not(.is-revealed)>del { display:inline; color:inherit; background:transparent; padding:0; text-decoration:none; }
#workspace .studio:not([data-studio-mode="review"]) [data-studio-revision]:not(.is-revealed)>del::after { display:none; }
#workspace .studio[data-studio-mode="review"] [data-studio-revision]>del { display:none; }
#workspace .studio[data-studio-mode="review"] [data-studio-revision]>ins { display:inline; color:inherit; background:transparent; padding:0; text-decoration:none; }
/* 批注同理：写作与检索阶段不出现批注卡片、左侧标尺与批注高亮，审阅阶段才展开。
   高亮是正文文字本身，只能还原样式、不能 display:none；锚点按钮同时停掉指针交互。 */
#workspace .studio:not([data-studio-mode="review"]) .studio-comment,
#workspace .studio:not([data-studio-mode="review"])>.studio-comment-ruler { display:none; }
#workspace .studio:not([data-studio-mode="review"]) .studio-comment-selection { padding:0; color:inherit; border-bottom-color:transparent; background:transparent; }
#workspace .studio:not([data-studio-mode="review"]) .studio-comment-anchor { pointer-events:none; cursor:default; }

/* 缩放与右移由触发线启动一次完整动画，滚动只负责切换三段内容。 */
.workspace-scroll-scene.is-ready.is-sticky .workspace-presentation>.product-stage { transition:transform .85s cubic-bezier(.22,1,.36,1); }
.workspace-scroll-scene.is-ready.is-sticky .workspace-features { transition:opacity .4s ease,transform .6s cubic-bezier(.22,1,.36,1),visibility 0s linear .4s; }
.workspace-scroll-scene.is-sticky.has-story .workspace-features { transition-delay:.18s,.18s,0s; }

/* 定价入口：功能卡片之后的一条横幅，左边标题与说明、右边胶囊按钮，视觉照 ChatGPT 的
   「Plans and pricing」条：整条圆角面板、文案靠左、按钮靠右。亮色主题的 --surface 与页底同色，
   所以面板底色走一条单独的浅灰。 */
.plan-cta { padding-block:0 24px; }
.plan-cta-panel { display:flex; align-items:center; justify-content:space-between; gap:36px; padding:44px 48px; border-radius:20px; background:var(--surface); }
html[data-theme="light"] .plan-cta-panel { background:#f6f5f8; }
.plan-cta-copy h2 { margin:0; font-size:clamp(24px,2.6vw,32px); line-height:1.3; font-weight:550; letter-spacing:-.03em; }
.plan-cta-copy p { max-width:46ch; margin:10px 0 0; color:var(--muted); font-size:14px; line-height:1.7; }
.plan-cta-button { flex:none; }
@media(max-width:640px) {
  .plan-cta-panel { flex-direction:column; align-items:flex-start; gap:22px; padding:28px 24px; }
}

/* 横向功能卡片：每张卡片展示一项用途与对应的局部界面。 */
.feature-cards { padding-block:108px 96px; overflow:clip; }
.feature-cards-heading { text-align:center; }
.feature-cards-heading h2 { margin:0; font-size:clamp(34px,4.2vw,58px); line-height:1.18; font-weight:550; letter-spacing:-.04em; }
.feature-cards-controls { display:flex; justify-content:center; gap:8px; margin:36px 0 28px; }
.feature-cards-controls button { display:grid; place-items:center; width:38px; height:38px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--ink); cursor:pointer; transition:background .2s,opacity .2s; }
.feature-cards-controls button:hover:not(:disabled) { background:var(--surface); }
.feature-cards-controls button:disabled { opacity:.4; cursor:default; }
.feature-cards-controls svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.feature-cards-track { display:flex; align-items:stretch; gap:24px; overflow-x:auto; overflow-y:hidden; width:min(1280px,calc(100% - 96px)); margin-inline:auto; padding:8px 0 34px; scroll-padding-inline:0; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; }
.feature-cards-track::-webkit-scrollbar { display:none; }
.feature-card { --card-bg:#27282e; --card-window:#191a1f; --card-line:#ffffff17; --card-muted:#b1b0b8; position:relative; display:flex; flex-direction:column; flex:0 0 clamp(310px,29vw,400px); height:560px; border-radius:14px; overflow:hidden; scroll-snap-align:start; background:var(--card-bg); color:#f4f3f5; }
.feature-card>header { position:relative; z-index:1; flex:1; padding:28px 28px 0; }
.feature-card h3 { margin:0 0 14px; font-size:25px; line-height:1.3; letter-spacing:-.03em; font-weight:550; }
.feature-card>header>p { margin:0; max-width:34ch; color:var(--card-muted); font-size:14px; line-height:1.75; }
/* 七张卡的图区与图窗统一高度：面板顶边对齐，卡内的上方留白也一致。 */
.feature-card-art { position:relative; flex:none; height:360px; margin-top:18px; overflow:hidden; font:12px/1.6 var(--sans); }
.feature-card-docx { --card-bg:#272e39; }
.feature-card-latex { --card-bg:#2b2b3d; }
.feature-card-translate { --card-bg:#342c33; }
.feature-card-local { --card-bg:#29352f; }
.feature-card-library { --card-bg:#332f29; }
.feature-mini-window { position:absolute; left:32px; right:-30px; bottom:-12px; height:320px; overflow:hidden; border:1px solid var(--card-line); border-radius:13px 0 0 0; background:var(--card-window); box-shadow:0 16px 36px #0004; }
.feature-mini-paper { margin:14px 18px 0; padding:18px 20px 70px; background:#fdfcf9; color:#343237; font:12px/1.75 Georgia,serif; }
.feature-mini-paper small { font:9px/1.5 var(--sans); color:#9a959e; }
.feature-mini-paper h4 { margin:8px 0 12px; font-size:15px; line-height:1.35; }
.feature-mini-paper p { margin:0 0 12px; }
.feature-mini-paper mark { background:#dcecdf; color:#396c47; }
.feature-paper-lines { display:grid; gap:7px; margin-top:18px; }
.feature-paper-lines i { height:2px; background:#7772; }
.feature-paper-lines i:last-child { width:63%; }
.feature-file-chip { position:absolute; display:flex; align-items:center; gap:10px; left:16px; right:24px; bottom:27px; padding:14px; border:1px solid var(--card-line); border-radius:12px; background:var(--card-window); box-shadow:0 10px 32px #0004; }
.feature-file-chip>.studio-icon:first-child { width:30px; height:34px; color:#7ea9de; }
.feature-file-chip div { min-width:0; flex:1; }
.feature-file-chip strong,.feature-file-chip span { display:block; }
.feature-file-chip strong { font-size:12px; overflow-wrap:anywhere; }
.feature-file-chip span { font-size:9px; margin-top:3px; color:var(--card-muted); }
.feature-file-chip>.studio-icon:last-child { width:15px; height:15px; color:#7fb78b; }
/* LaTeX 卡：源码 diff（文件名 + 增删计数 + 行号与红绿增删块）＋ 浮起的指令输入框，
   照 ChatGPT 的 Coding 卡。 */
.feature-tex-window { left:26px; right:-24px; }
.feature-tex-diff { padding:12px 14px; }
.feature-tex-file { display:flex; align-items:center; gap:8px; margin:0 0 10px; font:9px/1.4 var(--mono); }
.feature-tex-file span { color:var(--card-muted); }
.feature-tex-file b { color:#7fb78b; font-weight:400; }
.feature-tex-file i { color:#d99898; font-style:normal; }
.feature-tex-lines { display:flex; flex-direction:column; font:9px/1.65 var(--mono); }
.feature-tex-lines>span { display:flex; gap:10px; padding:1px 6px; border-radius:3px; color:#c4c2c9; }
.feature-tex-lines i { flex:none; width:16px; color:#96939e; font-style:normal; text-align:right; }
.feature-tex-lines .del { color:#d99898; background:#6d2f3166; }
.feature-tex-lines .add { color:#a7cfb1; background:#27533b80; }
/* 指令输入框照应用批注框：内边距与左右两枚 30px 圆钮取 .selection-composer / .composer-icon-button，
   材质走下面那条与翻译窗口共用的浮层玻璃规则。 */
.feature-prompt { position:absolute; left:25px; right:25px; bottom:44px; display:flex; flex-direction:column; gap:8px; padding:12px 12px 10px 16px; }
.feature-prompt p { margin:0; font:13px/20px var(--sans); }
.feature-prompt-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.feature-prompt-foot>span { min-width:0; overflow:hidden; color:var(--card-muted); font-size:10px; white-space:nowrap; text-overflow:ellipsis; }
.feature-prompt-actions { display:flex; flex:none; align-items:center; gap:6px; }
.feature-prompt-icon { display:grid; place-items:center; width:30px; height:30px; padding:0; color:var(--card-muted); border:0; border-radius:999px; background:transparent; }
.feature-prompt-icon .studio-icon { width:15px; height:15px; }
.feature-prompt-icon.is-primary { color:#191a1f; background:#f4f3f5; box-shadow:0 4px 12px #ffffff2b; }
.feature-prompt-icon.is-primary .studio-icon { width:16px; height:16px; }

.feature-translation-paper { padding:22px 26px; font:14px/1.8 Georgia,serif; }
.feature-translation-paper small { font:9px/1.5 var(--sans); color:var(--card-muted); }
.feature-translation-paper h4 { margin:8px 0 16px; font-size:17px; }
.feature-translation-paper p { margin:0 0 14px; }
/* Mirrors the editor translation surface: shared glass tint, blur and inset edge. */
.feature-translation-paper mark { color:inherit; background:#ffffff29; padding:1px 2px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
/* 浮层玻璃：翻译窗口与指令输入框共用同一套材质（应用 --float-* 令牌——微透底 + blur(22px)
   saturate(160%) + 内侧高光 + 0 20px 56px 阴影，亮色主题换成白玻璃）。改材质只改这一处。 */
.feature-prompt,.feature-translation-result { border:1px solid #ffffff1a; border-radius:16px; background:rgba(52,52,52,.75); -webkit-backdrop-filter:blur(22px) saturate(160%); backdrop-filter:blur(22px) saturate(160%); box-shadow:0 20px 56px #0004,inset 0 1px 1px #ffffff1a; }
html[data-theme="light"] .feature-prompt,html[data-theme="light"] .feature-translation-result { border-color:rgba(255,255,255,.78); background:rgba(255,255,255,.6); box-shadow:0 20px 56px #24202e22,inset 0 1px 1px rgba(255,255,255,.9); }
.feature-translation-result { position:absolute; left:48px; right:18px; bottom:8px; padding:12px 12px 10px 16px; }
.feature-translation-head { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#b8b8b8; font-size:12px; font-weight:600; }
.feature-translation-head>span { display:inline-flex; align-items:center; gap:6px; }
.feature-translation-head .studio-icon { width:14px; height:14px; }
.feature-translation-result .feature-translation-text { margin:8px 0; color:#eee; font:13px/1.7 var(--sans); font-weight:400; }
.feature-local-window { left:38px; }
.feature-local-tree { padding:18px 16px; }
.feature-local-row { display:flex; align-items:center; gap:9px; height:38px; padding-inline:12px; border-bottom:1px solid var(--card-line); font-size:12px; }
.feature-local-row:first-child { font-weight:500; }
.feature-local-row:not(:first-child) { margin-left:16px; color:var(--card-muted); }
.feature-local-row:nth-child(n+3) { padding-left:28px; }
.feature-local-row .studio-icon { width:15px; height:15px; color:#92b4a1; }
.feature-local-status { position:absolute; display:flex; align-items:center; gap:12px; left:20px; right:28px; bottom:23px; padding:16px; border:1px solid var(--card-line); border-radius:12px; background:var(--card-window); box-shadow:0 8px 32px #0004; }
.feature-local-status>.studio-icon { width:24px; height:24px; color:#86b89b; }
.feature-local-status strong,.feature-local-status span { display:block; }
.feature-local-status strong { font-size:12px; font-weight:500; }
.feature-local-status span { margin-top:4px; font-size:10px; color:var(--card-muted); }

/* 项目文献库的条目视图（无侧栏）：文稿标题 + 库内检索框 + 两条语料，
   语料卡复用检索卡的 .feature-corpus-* 结构（标签、原文、译文、用途、核验来源）。
   这张卡的图窗比同排其他卡高，所以图区也加高，文案区仍放得下标题与说明。 */
.feature-library-content { padding:12px 44px 12px 14px; }
.feature-library-doc { display:flex; align-items:baseline; gap:8px; margin:0 0 8px; }
.feature-library-doc strong { min-width:0; flex:1; overflow:hidden; font-size:10px; font-weight:500; white-space:nowrap; text-overflow:ellipsis; }
.feature-library-doc small { flex:none; color:var(--card-muted); font-size:8px; }
/* 两条语料要一屏放下：条目之间留一档间距，条目内部比检索卡略紧。 */
.feature-library-content .feature-corpus-entry + .feature-corpus-entry { margin-top:8px; }
.feature-library-content .feature-corpus-source { margin-top:6px; line-height:1.5; }
.feature-library-content .feature-corpus-use { margin-top:5px; }
.feature-library-content .feature-corpus-meta { margin-top:5px; padding-top:4px; }
.feature-corpus-entry { padding:9px 10px 8px; border:1px solid var(--card-line); border-radius:9px; background:var(--card-bg); }
.feature-corpus-tags { display:flex; align-items:center; gap:5px; }
.feature-corpus-tags b { padding:1px 7px; border-radius:9px; background:#d9b96a26; font-size:8px; font-weight:400; }
.feature-corpus-tags b:nth-child(3) { background:#d98a9e26; }
.feature-corpus-tags i { color:var(--card-muted); font-size:9px; font-style:normal; }
/* 条目左上角的来源标记：图标自带白底圆角，直接当徽标用。 */
.feature-corpus-source-icon { display:grid; place-items:center; flex:none; width:16px; height:16px; }
.feature-corpus-source-icon img { display:block; width:16px; height:16px; object-fit:contain; }
.feature-corpus-source { margin:8px 0 0; font:10px/1.55 Georgia,serif; }
.feature-corpus-translation { margin:5px 0 0; color:var(--card-muted); font-size:9px; line-height:1.5; }
.feature-corpus-use { display:flex; gap:5px; margin:6px 0 0; color:var(--card-muted); font-size:8px; line-height:1.45; }
.feature-corpus-use b { flex:none; opacity:.7; font-weight:400; }
.feature-corpus-meta { margin:6px 0 0; padding-top:5px; color:var(--card-muted); border-top:1px solid var(--card-line); font-size:7px; line-height:1.4; opacity:.8; }
/* 插件卡：照 ChatGPT 的 Work 卡——一个圆角面板里列资料源（图标 + 名称 + 一句说明），
   底部一行接入数。面板不随其他卡向右下出血，四边留白、四角圆角，行间用细分割线。 */
.feature-card-plugins { --card-bg:#2c2f37; }
.feature-card-agents { --card-bg:#2e2c33; }
/* 插件卡与 Agent 卡都是五行，行距收一档，才能连状态行一起放进 320px 的面板。 */
.feature-card-plugins .feature-plugin-list li,
.feature-card-agents .feature-plugin-list li { padding:7px 0; }
.feature-plugins-window { left:26px; right:26px; display:flex; flex-direction:column; height:320px; border-radius:14px; }
.feature-plugin-list { margin:0; padding:6px 16px; list-style:none; }
.feature-plugin-list li { display:flex; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid var(--card-line); }
.feature-plugin-list li:last-child { border-bottom:0; }
.feature-plugin-icon { display:grid; place-items:center; flex:none; width:26px; height:26px; }
.feature-plugin-icon img { display:block; width:22px; height:22px; object-fit:contain; }
.feature-plugin-copy { min-width:0; }
.feature-plugin-copy strong { display:block; font-size:11px; font-weight:500; }
.feature-plugin-copy small { display:block; margin-top:2px; color:var(--card-muted); font-size:9px; }
/* 面板底部下沉 12px（.feature-mini-window 的 bottom:-12px），状态行补出这段下内边距，字才完整可见。 */
.feature-plugin-status { margin:auto 0 0; padding:10px 16px 22px; border-top:1px solid var(--card-line); color:var(--card-muted); font-size:9px; }
html[data-theme="light"] .feature-card { --card-window:#fff; --card-line:#20202b16; --card-muted:#6e6a75; color:#29262e; }
html[data-theme="light"] .feature-card-docx { --card-bg:#edf1f6; }
html[data-theme="light"] .feature-card-latex { --card-bg:#f0eff7; }
html[data-theme="light"] .feature-card-translate { --card-bg:#f7eff2; }
html[data-theme="light"] .feature-card-local { --card-bg:#edf4ef; }
html[data-theme="light"] .feature-card-library { --card-bg:#f5f1e9; }
html[data-theme="light"] .feature-card-plugins { --card-bg:#eef1f5; }
html[data-theme="light"] .feature-card-agents { --card-bg:#f0eef1; }
html[data-theme="light"] .feature-mini-window,html[data-theme="light"] .feature-file-chip,html[data-theme="light"] .feature-local-status { box-shadow:0 12px 30px #24202e18; }
html[data-theme="light"] .feature-translation-paper mark { background:#00000016; color:inherit; }
html[data-theme="light"] .feature-translation-head { color:#6e6b74; }
html[data-theme="light"] .feature-translation-result .feature-translation-text { color:#2c2a30; }
html[data-theme="light"] .feature-tex-lines>span { color:#4a4750; }
html[data-theme="light"] .feature-tex-lines .del { color:#9c4a4a; background:#f7dddd; }
html[data-theme="light"] .feature-tex-lines .add { color:#396c47; background:#dcecdf; }
html[data-theme="light"] .feature-prompt-icon.is-primary { color:#fff; background:#17171a; box-shadow:0 4px 12px #00000029; }
@media(max-width:640px) {
  .feature-cards { padding-block:72px 54px; }
  .feature-cards-heading h2 { font-size:35px; }
  .feature-cards-track { width:calc(100% - 40px); gap:16px; }
  .feature-card { flex-basis:calc(100vw - 64px); }
  .feature-card>header { padding:24px 24px 0; }
  .feature-card h3 { font-size:23px; }
  .feature-card>header>p { font-size:13px; }
  .feature-card-art { height:350px; }
  .feature-cards-controls { margin:25px 0 20px; }
}

/* Review 使用正文页边批注轨，卡片与锚定段落一起滚动。 */
#workspace .studio[data-studio-mode="review"]>.studio-chat { display:none; }
#workspace .studio[data-studio-mode="review"] .studio-document { right:0; border-right:0; }
#workspace .studio[data-studio-mode="review"] .studio-paper { padding-right:calc(29.27% + 30px); padding-left:8.5%; background:linear-gradient(to right,transparent calc(70.73% - 1px),var(--demo-line-strong) calc(70.73% - 1px),var(--demo-line-strong) 70.73%,transparent 70.73%); }
#workspace .studio[data-studio-mode="review"] .studio-comment-thread { width:100%; max-width:none; }
#workspace .studio[data-studio-mode="review"] .studio-comment-thread>.studio-comment { left:calc(100% + 50px); right:auto; top:0; width:240px; max-width:none; padding:10px 12px; border:1px solid var(--demo-line-strong); border-radius:14px; background:var(--demo-comment-bg); box-shadow:0 8px 20px #00000012; backdrop-filter:none; }
#workspace .studio[data-studio-mode="review"] .studio-comment-thread>.studio-comment.is-active { border-color:var(--demo-text); }
/* 批注卡的牵引线：卡片距正文 50px，分隔线在外侧 30px 处，线长 20px 正好从分隔线拉到卡片左缘。 */
#workspace .studio[data-studio-mode="review"] .studio-comment-thread>.studio-comment::before { display:block; top:20px; right:100%; width:20px; border-top:1px dashed var(--demo-muted); }
#workspace .studio[data-studio-mode="review"] .studio-comment-selection { background:#c8b66d50; border-bottom:1px solid #b89a41; }
html[data-theme="light"] #workspace .studio[data-studio-mode="review"] .studio-comment-selection { background:#ffedab; color:inherit; }

/* 演示页签由时间线控制，保留当前状态外观。 */
.studio-chat-head button:disabled { cursor:default; opacity:1; }

/* Review 的完整工具栏与 App 一致横跨文稿区，Agent 入口保留在右端。 */
.studio-review-toolbar-agents { display:none; }
.studio-toolbar-comment-control { display:inline-flex; align-items:center; gap:5px; padding:4px 6px; border-radius:5px; background:var(--demo-bubble); }
.studio-toolbar-comment-control small { padding:0 3px; border-radius:6px; background:var(--demo-text); color:var(--demo-chat-bg); font:8px/12px var(--sans); }
/* 工具栏在三段保持一致：图标间距沿用基础 16px；审阅阶段（对话列收起）才占满整行并接上 agent 图标。
   审阅的对话回合里右侧对话列是显示的，此时工具栏和对话 / 写作一样止于对话列左边缘。 */
#workspace .studio[data-studio-mode="review"]>.studio-toolbar { margin-right:0; }
#workspace .studio[data-studio-mode="review"].is-review-chatting>.studio-toolbar { margin-right:var(--studio-right); }
#workspace .studio[data-studio-mode="review"] .studio-review-toolbar-agents { display:flex; flex:none; align-items:center; gap:13px; margin-left:auto; }
/* 审阅阶段视为修订已接受，工具栏那枚修订图标不再挂待审计数。 */
#workspace .studio[data-studio-mode="review"].is-review-chatting .studio-review-toolbar-agents { display:none; }
.studio-review-toolbar-agents img { width:15px; height:15px; }
.studio-toolbar-revision-icon { position:relative; display:flex; }
#workspace .studio[data-studio-mode="review"].is-review-chatting>.studio-chat { display:flex; transition:opacity .9s ease,transform .9s ease; }
#workspace .studio[data-studio-mode="review"].is-review-chatting>.studio-document { right:var(--studio-right); }
#workspace .studio[data-studio-mode="review"].is-review-chatting .studio-paper { padding-right:30px; padding-left:12%; background:none; }
#workspace .studio[data-studio-mode="review"].is-review-chatting .studio-comment,
#workspace .studio[data-studio-mode="review"].is-review-chatting>.studio-comment-ruler { display:none; }
/* 高亮跟随批注卡显示，等待审阅时保持普通正文；覆盖浅色主题的高亮样式。 */
#workspace .studio[data-studio-mode="review"].is-review-chatting .studio-paper .studio-comment-selection,
#workspace .studio[data-studio-mode="review"] .studio-comment-thread:has(>.studio-comment[hidden]) .studio-comment-selection { background:transparent; border-bottom-color:transparent; color:inherit; }
#workspace .studio[data-studio-mode="review"].is-review-closing>.studio-chat { opacity:0; transform:translateX(24px); }
#workspace .studio.is-review-revealing .studio-comment:not([hidden]) { animation:studio-review-rail-in 1.1s cubic-bezier(.22,.61,.36,1) both; }
@keyframes studio-review-rail-in { from { opacity:0; transform:translateX(36px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) {
  #workspace .studio.is-review-revealing .studio-comment:not([hidden]) { animation:none; }
}

/* 将位移动画约束在应用窗口内，外层仍保留小屏横向浏览。 */
#workspace .studio { overflow:clip; }

/* 英文对话采用紧凑排版，保留整轮内容并由动画定位最新消息。 */
html[lang="en"] .studio-chat-messages { overflow:hidden; padding:10px 12px; font-size:10px; line-height:1.55; }
html[lang="en"] .studio-chat-user { margin-bottom:9px; padding:7px 9px; }
html[lang="en"] .studio-chat-tool { gap:5px; margin-bottom:4px; font-size:9px; line-height:1.4; }
html[lang="en"] .studio-chat-answer { margin-bottom:8px; }
html[lang="en"] .studio-chat-answer p { margin:4px 0; }

/* 写作选区先进入浮动聊天入口，发送后作为消息内的引用卡保留。 */
.studio-write-selected { background:#b9d5fc; color:#212b3b; }
.studio-selection-toolbar { position:absolute; z-index:7; display:flex; align-items:center; gap:9px; padding:6px 8px; border-radius:12px; color:var(--demo-text); font:10px/1.5 var(--sans); }
.studio-selection-toolbar>span { display:flex; align-items:center; gap:4px; }
.studio-selection-toolbar img,.studio-selection-toolbar .studio-icon { width:14px; height:14px; }
.studio-selection-toolbar>i { height:15px; border-left:1px solid var(--demo-line); }
.studio-selection-chat { padding:3px 5px; border-radius:5px; }
.studio-selection-chat.is-clicked { background:var(--demo-bubble); box-shadow:inset 0 0 0 1px var(--demo-line); transform:scale(.96); }
.studio-chat-quote { margin:0 0 7px; padding:6px 9px; border-left:2px solid #9998; border-radius:0 8px 8px 0; background:#ffffff12; }
.studio-chat-quote>small { display:block; color:var(--demo-text); font:9px/1.5 var(--sans); }
.studio-chat-quote>p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:3px 0 0; color:inherit; font:inherit; line-height:1.5; }
html[data-theme="light"] .studio-chat-quote { background:#e2e2e2; }
.studio-chat-draft-quote { color:var(--demo-text); font:10px/1.5 var(--sans); }

/* 对齐 App 的 float-surface 材质与主题参数。 */
.studio { --demo-float-bg:rgba(52,52,52,.75); --demo-float-edge:rgba(255,255,255,.10); --demo-float-shadow:0 20px 56px rgba(255,255,255,.17),inset 0 1px 1px rgba(255,255,255,.10); }
html[data-theme="light"] .studio { --demo-float-bg:rgba(255,255,255,.6); --demo-float-edge:rgba(255,255,255,.78); --demo-float-shadow:0 20px 56px rgba(0,0,0,.16),inset 0 1px 1px rgba(255,255,255,.9); }
#workspace .studio .studio-write-comment,
#workspace .studio .studio-selection-toolbar { border:1px solid var(--demo-float-edge); background:var(--demo-float-bg); box-shadow:var(--demo-float-shadow); -webkit-backdrop-filter:blur(22px) saturate(160%); backdrop-filter:blur(22px) saturate(160%); }
@media(prefers-reduced-transparency:reduce) {
  #workspace .studio .studio-write-comment,
  #workspace .studio .studio-selection-toolbar { background:var(--demo-chat-bg); -webkit-backdrop-filter:none; backdrop-filter:none; }
}

.studio-write-cursor.is-clicking::after { content:""; position:absolute; left:-8px; top:-8px; width:18px; height:18px; border:2px solid #8f8f8f99; border-radius:50%; animation:studio-pointer-click .65s ease-out both; }
@keyframes studio-pointer-click { from { opacity:.9; transform:scale(.45); } to { opacity:0; transform:scale(1.7); } }

/* 功能区以实际驻留距离固定展示，卡片横向按整张停靠。 */
.feature-cards-presentation { display:flow-root; }
.feature-cards.is-pinned { height:calc(var(--feature-presentation-height) + var(--feature-section-padding) + var(--feature-hold)); }
.feature-cards.is-pinned>.feature-cards-presentation { position:sticky; top:var(--feature-scroll-anchor,112px); }
.feature-card { scroll-snap-stop:always; }

/* 研究对话保留文稿，写作场景在原位呈现输入、表格与公式。 */
/* 写作场景新插入的内容按修订呈现：浅绿底 + 左缘竖线，与审阅场景的插入标记同一套色。 */
.studio-generated-equation.is-inserted,
.studio-generated-table.is-inserted { margin-inline:-6px; padding-inline:6px; border-radius:5px; background:#27533b44; box-shadow:inset 2px 0 0 #6fbb8b; }
html[data-theme="light"] .studio-generated-equation.is-inserted,
html[data-theme="light"] .studio-generated-table.is-inserted { background:#e1f3e9; box-shadow:inset 2px 0 0 #4a9b6b; }
.studio-generated { display:block; }
.studio-generated table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.studio-generated table { border-top:2px solid currentColor; border-bottom:2px solid currentColor; }
.studio-generated th,.studio-generated td { border:0; padding:10px 8px; font:12px/1.6 var(--sans); text-align:center; }
.studio-generated thead { border-bottom:1px solid currentColor; }
.studio-generated th { background:transparent; font-weight:500; }
.studio-generated small { display:block; margin:10px 0; color:var(--demo-muted); font:10px/1.5 var(--sans); }
.studio-generated .studio-equation math { font-size:16px; }
.studio-generated-table,.studio-generated-equation { margin-top:25px; }
#workspace .studio .studio-chat-messages[hidden],
#workspace .studio .studio-chat-bottom[hidden],
#workspace .studio .studio-generated [hidden],
#workspace .studio .studio-chat-messages [hidden],
#workspace .studio .studio-selection-toolbar[hidden] { display:none; }
@media(prefers-reduced-motion:no-preference) {
  .studio-generated-table:not([hidden]),.studio-generated-equation:not([hidden]) { animation:studio-chat-rise .5s ease both; }
}

/* 对话场景收起「修订」页签；写作场景要留着——回合结束会打开待审列表，头上得能切回来。 */
#workspace .studio[data-studio-mode="chat"] .studio-chat-review,
#workspace .studio:not([data-studio-mode="review"]) .studio-toolbar-revision-icon { display:none; }

.studio-generated>section { margin-top:30px; }
.studio-manuscript-heading { margin-bottom:28px; }
.studio-generated .studio-manuscript-heading h3 { font-size:20px; line-height:1.4; }

.studio-paper .studio-manuscript-references p { padding-left:20px; text-indent:-20px; font-size:11px; line-height:1.7; }
.studio-manuscript-references a { color:inherit; text-decoration:underline; text-underline-offset:2px; }

/* 首屏完成态即时呈现，进入滚动舞台后才启用演示动画。 */
#workspace .studio:not(.is-demo-playing) * { animation:none !important; }

/* 中文稿件沿用现有画布和批注轨，仅调整正文排版。 */
#workspace .studio-paper[lang="zh-CN"] { font-family:"Songti SC","SimSun",serif; font-size:14px; line-height:1.95; padding:20px 30px 180px 12%; }

#workspace .studio-paper[lang="zh-CN"] p { margin:0; }
#workspace .studio-paper[lang="zh-CN"] .studio-comment p { text-indent:0; margin:4px 0 0; }
#workspace .studio-paper[lang="zh-CN"] .studio-generated>section { margin-top:16px; }
#workspace .studio-paper[lang="zh-CN"] h3 { margin:10px 0 7px; }
