/* ===== 赛道智能体操盘台 · 共享设计系统（小红书风） ===== */
:root{
  --ink:#241f1a; --ink-soft:#8f8578; --paper:#ffffff; --paper-2:#faf8f2;
  /* 品牌主色：朱砂红 → 金色（深金作强调，保证白底可读）*/
  --cinnabar:#a5813a; --cinnabar-deep:#846527; --indigo:#2b3a52;
  --brand-gold-1:#d9bd7a; --brand-gold-2:#b3903f; --brand-gold-ink:#3a2c0e;
  --line:#ece4d4; --xhs-red:#a5813a; --xhs-tag:#3a5a8c;
  /* 语义色（统一各处写死的金/合伙人/朱砂浅底）· 金色=PPT 高级质感主辅色 */
  --gold:#9a6b1e; --gold-bg:#fff3da; --gold-line:#f0d09a; --partner:#8a5a22;
  --gold-lt:#c9a85f; --gold-deep:#a5813a; --gold-hair:#e8dcbf;
  --tint:#fcf7ea; --tint-2:#faf4e6; --tint-deep:#f4e8cc;
  /* 圆角尺度（4 档）*/
  --r-pill:999px; --r-lg:14px; --r-md:10px; --r-sm:8px;
  /* 卡片阴影 */
  --shadow-card:0 8px 28px -18px rgba(17,24,39,.18);
  --shadow-pop:0 16px 40px -12px rgba(17,24,39,.28);
}
html[data-theme="dark"]{
  --ink:#ececec; --ink-soft:#8a8d93; --paper:#161616; --paper-2:#222224;
  --line:#2c2c2e; --cinnabar:#b3903f; --cinnabar-deep:#d9bd7a;
  --gold:#d9b066; --gold-bg:#2c2616; --gold-line:#4a3d1e; --partner:#d9b066;
  --tint:#241b1e; --tint-2:#2a2024; --tint-deep:#3a2429;
  --shadow-card:0 8px 28px -18px rgba(0,0,0,.6); --shadow-pop:0 16px 40px -12px rgba(0,0,0,.7);
}
/* 统一内容容器：替代各页内联 max-width/padding */
.ag-page{ max-width:1240px; margin:0 auto; padding:24px 26px 60px; }
.ag-page.narrow{ max-width:1040px; }
@media(max-width:880px){ .ag-page{ padding:18px 15px 48px; } }
*{ -webkit-font-smoothing:antialiased; }
body{ font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Helvetica Neue",sans-serif;
  color:var(--ink); transition:background .3s ease, color .3s ease; }
/* 标题统一宋体衬线（对齐 PPT 高级质感）；正文仍用无衬线 */
.font-display{ font-family:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC","SimSun",serif; letter-spacing:-.005em; }
.font-song{ font-family:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC","SimSun",serif; font-weight:700; }
.xhs{ font-family:-apple-system,"PingFang SC","Noto Sans SC",sans-serif; }
/* 金色小标 kicker（页面上方 letter-spacing 很宽的英文/拼音小标）自动转金色 */
[class*="tracking-[.3em]"],[class*="tracking-[.26em]"],[class*="tracking-[.28em]"],[class*="tracking-[.24em]"],[class*="tracking-[.2em]"]{ color:var(--gold-deep)!important; }
/* 可复用：金色分割线 + 金色小标 */
.hd-rule{ display:block; height:1px; width:60px; border:0; margin:14px 0; background:linear-gradient(90deg,var(--gold-lt),rgba(201,168,95,0)); }
.hd-kick{ color:var(--gold-deep); letter-spacing:.28em; font-size:12px; font-weight:600; }

/* 浅灰页面底 + 白卡片，出层次（小红书 feed 风）*/
.stage{ background:#faf8f2; position:relative; isolation:isolate; }
html[data-theme="dark"] .stage{ background:#121212; }
.grain::after{ content:none; display:none; }

/* 顶栏悬浮吸顶（毛玻璃）*/
body > header{ position:sticky; top:0; z-index:40;
  background:rgba(255,255,255,.82); backdrop-filter:saturate(1.6) blur(14px); -webkit-backdrop-filter:saturate(1.6) blur(14px); }
html[data-theme="dark"] body > header{ background:rgba(20,20,20,.82); }

.hairline{ border-color:var(--gold-hair); }
.panel{ background:#fff; }
html[data-theme="dark"] .panel{ background:var(--paper-2); }

/* 小红书红徽标（原朱砂印章位）*/
/* 步骤序号标签：只是个标记不是按钮，弱化成浅底红字，别跟真正的 CTA 一样抢眼 */
.stamp{ background:rgba(165,129,58,.12); color:var(--cinnabar-deep); border-radius:7px; font-weight:600; box-shadow:none; }
.vlabel{ writing-mode:vertical-rl; text-orientation:upright; letter-spacing:.35em; }

/* 输入：浅灰填充、聚焦变白描红边 */
.field{ background:var(--paper-2); border:1px solid transparent; color:var(--ink); border-radius:12px; transition:.15s; }
.field:focus{ outline:none; background:#fff; border-color:var(--cinnabar); box-shadow:0 0 0 3px rgba(165,129,58,.18); }
html[data-theme="dark"] .field{ background:#2a2a2c; }
html[data-theme="dark"] .field:focus{ background:#1c1c1e; }
html[data-theme="dark"] select.field option{ background:#2a2a2c; }

/* 按钮（小红书现代风 · 红色胶囊 + 按压手感）*/
/* 默认金按钮=次级：淡金底 + 深金字（降级，避免满屏金色抢焦点）*/
.btn-go{ display:inline-flex; align-items:center; justify-content:center; gap:6px; background:linear-gradient(180deg,#f2e6c8,#e6d1a1); color:#7a5c1e; border-radius:999px !important; font-weight:600; letter-spacing:.01em;
  box-shadow:0 1px 3px rgba(150,110,30,.18), inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .14s ease, filter .15s, box-shadow .15s; }
.btn-go svg{ flex:none; }
.btn-go:hover{ filter:brightness(1.02); transform:translateY(-1px); box-shadow:0 4px 10px -3px rgba(150,110,30,.3), inset 0 1px 0 rgba(255,255,255,.5); }
/* 主行动按钮=主级：实金底 + 白字白 icon，突出唯一主 CTA（如「开始创作」「去获客」）*/
.btn-go.primary{ background:linear-gradient(180deg,#e6cf8e,#cca552); color:#fff; font-weight:700; text-shadow:0 1px 2px rgba(120,88,20,.55); box-shadow:0 5px 14px -4px rgba(190,150,50,.5), inset 0 1px 0 rgba(255,255,255,.55); }
.btn-go.primary:hover{ filter:brightness(1.05); }
.btn-go:active{ transform:translateY(0); filter:brightness(.92); box-shadow:0 1px 2px rgba(0,0,0,.1); }
.btn-go:disabled{ opacity:.45; cursor:not-allowed; transform:none; box-shadow:none; }
.btn-ghost{ background:#fff; border:1px solid var(--line); color:#444; border-radius:999px !important; font-weight:500;
  transition:transform .16s cubic-bezier(.34,1.45,.5,1), background .15s, border-color .15s; }
.btn-ghost:hover{ background:var(--paper-2); border-color:#d7dbe0; color:var(--ink); transform:translateY(-1px); }
.btn-ghost:active{ transform:translateY(0) scale(.97); }
html[data-theme="dark"] .btn-ghost{ background:#202022; border-color:#2c2c2e; color:#cfcfcf; }
html[data-theme="dark"] .btn-ghost:hover{ background:#2a2a2c; border-color:#3a3a3c; }

.theme-toggle{ width:34px; height:34px; border-radius:999px; border:1px solid var(--line);
  background:#fff; display:grid; place-items:center; cursor:pointer; transition:.2s; }
.theme-toggle:hover{ border-color:var(--cinnabar); }
html[data-theme="dark"] .theme-toggle{ background:var(--paper-2); }

/* 顶栏 tab：选中＝粉底红字 */
.tab{ padding:6px 14px; border-radius:999px; font-size:13.5px; color:var(--ink-soft); transition:.15s; white-space:nowrap; font-weight:500; }
.tab:hover{ color:var(--ink); background:var(--paper-2); }
.tab.active{ background:rgba(165,129,58,.12); color:var(--cinnabar); font-weight:600; }
.tab.disabled{ opacity:.4; pointer-events:none; }

.needverify{ background:rgba(165,129,58,.1); color:var(--cinnabar-deep); border-bottom:1px dashed var(--cinnabar); padding:0 3px; border-radius:3px; }
html[data-theme="dark"] .needverify{ background:rgba(165,129,58,.18); color:#ff7c93; }

/* 卡片：白底柔和阴影 */
.card{ background:#fff; border:1px solid #f0f1f4; border-radius:18px;
  box-shadow:0 1px 2px rgba(17,24,39,.05), 0 10px 28px -14px rgba(17,24,39,.12); transition:box-shadow .2s, transform .2s; }
.card:hover{ box-shadow:0 2px 4px rgba(17,24,39,.05), 0 18px 44px -18px rgba(17,24,39,.18); }
html[data-theme="dark"] .card{ background:var(--paper-2); border-color:#262628; box-shadow:0 8px 28px -18px rgba(0,0,0,.6); }
.out{ background:var(--paper-2); border:1px solid var(--line); border-radius:14px; }
html[data-theme="dark"] .out{ background:#1c1c1e; }
.chip{ display:inline-flex; align-items:center; gap:4px; padding:3px 11px; border-radius:999px; font-size:12px;
  background:var(--paper-2); color:#6b7280; border:none; }
html[data-theme="dark"] .chip{ background:#2a2a2c; color:#aeb1b6; }

/* 流水线步骤轨（精简：单行、小圆点、状态只靠点的颜色） */
.step{ display:flex; gap:10px; align-items:center; padding:8px 10px; border-radius:10px; cursor:pointer; transition:.15s; }
.step:hover{ background:var(--paper-2); }
.step.active{ background:rgba(165,129,58,.08); }
.step-name{ font-size:13px; font-weight:500; color:var(--ink-soft); line-height:1.2; }
.step.done .step-name{ color:var(--ink); }
.step.active .step-name{ color:var(--ink); font-weight:600; }
.step-no{ flex:0 0 23px; width:23px; height:23px; border-radius:999px; background:var(--paper-2); color:var(--ink-soft);
  display:grid; place-items:center; font-size:12px; font-weight:700; transition:.15s; }
.step.done .step-no{ background:#00c25e; color:#fff; }
.step.active .step-no{ background:var(--cinnabar); color:#fff; }

/* S2 找对标：一个干净的分隔列表（替代多张厚卡片） */
.fd-list{ border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--paper); }
.fd-row{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:10px 13px; border-top:1px solid var(--line); }
.fd-row:first-child{ border-top:none; }
.fd-row:hover{ background:var(--paper-2); }
.fd-main{ flex:1 1 auto; min-width:0; }
.fd-kw{ font-size:13px; font-weight:600; color:var(--ink); }
.fd-kw::before{ content:"🔍"; margin-right:5px; opacity:.7; }
.fd-why{ font-size:11px; color:var(--ink-soft); margin-top:2px; line-height:1.4; }
/* 去搜：灰色次级按钮（每行重复出现，非主操作） */
.fd-go{ flex:0 0 auto; font-size:12px; font-weight:600; color:#444; background:#f5f5f5; border:1px solid #ddd; padding:5px 15px; border-radius:999px;
  text-decoration:none; white-space:nowrap; transition:transform .15s, filter .15s; }
.fd-go:hover{ filter:brightness(.98); transform:translateY(-1px); }
.fd-go:active{ transform:translateY(0) scale(.96); }
/* 怎么挑：移到筛选维度下方，重点突出 */
.fd-pick{ font-size:12.5px; line-height:1.65; background:rgba(165,129,58,.06); border:1px solid rgba(165,129,58,.2); border-radius:10px; padding:10px 12px; }

/* reveal / loading */
.rv{ opacity:0; transform:translateY(10px); }
.rv.in{ opacity:1; transform:none; transition:opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1); }
@keyframes spin{ to{ transform:rotate(360deg); } }
.spin{ animation:spin .8s linear infinite; display:inline-block; }

/* 赛道 chip：浅灰胶囊，选中＝红 */
.tk-chip{ padding:8px 16px; border-radius:999px; border:1px solid transparent; background:var(--paper-2); color:var(--ink);
  font-size:13.5px; font-weight:500; cursor:pointer; transition:.15s; display:inline-flex; align-items:center; gap:5px; }
.tk-chip:hover{ background:#ebedf0; }
.tk-chip.on{ background:rgba(165,129,58,.14); color:var(--cinnabar-deep); border:1.5px solid var(--cinnabar); font-weight:800; box-shadow:0 2px 10px -4px rgba(165,129,58,.5); }
.tk-chip.add{ background:transparent; border:1px dashed var(--line); color:var(--cinnabar); }
.tk-chip.add:hover{ border-color:var(--cinnabar); background:rgba(165,129,58,.05); }
.tk-chip .x{ margin-left:4px; opacity:.55; font-size:11px; }
.tk-chip .x:hover{ opacity:1; }
html[data-theme="dark"] .tk-chip{ background:#2a2a2c; }
html[data-theme="dark"] .tk-chip:hover{ background:#343436; }
html[data-theme="dark"] .tk-chip.on{ background:#3a3a3c; color:#ddd; border-color:#555; }

/* 弹窗 */
.modal-overlay{ position:fixed; inset:0; z-index:50; background:rgba(0,0,0,.4); backdrop-filter:blur(3px);
  display:none; align-items:flex-start; justify-content:center; padding:6vh 16px; overflow:auto; }
.modal-overlay.open{ display:flex; }
.modal{ width:100%; max-width:560px; background:#fff; }
html[data-theme="dark"] .modal{ background:var(--paper-2); }

/* 封面预览（流水线 S6）：标题叠图 + 裁掉底部 AI 水印 */
.cv-frame{ position:relative; width:248px; aspect-ratio:3/4; border-radius:14px; overflow:hidden; box-shadow:0 6px 18px -8px rgba(0,0,0,.35); container-type:inline-size; }
/* AI 封面/配图图片填满画框（画框比例由 state.imgRatio 决定，2:3/3:4/9:16），按所选比例裁切显示 */
.cv-frame > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.cv-frame > img{ position:absolute; inset:0; width:100%; height:109%; object-fit:cover; object-position:top center; }
.cv-scrim{ position:absolute; inset:0; background:radial-gradient(120% 80% at 50% 38%, rgba(0,0,0,.30), transparent 62%); }
.cv-title{ position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); text-align:center; padding:0 18px;
  color:#fff; font-weight:800; font-size:23px; line-height:1.22; text-shadow:0 2px 12px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.7); }
/* 配图上的主题文字（要点/标签），底部叠字 */
.cv-cap{ position:absolute; left:0; right:0; bottom:0; z-index:6; padding:10px 9px 11px; color:#fff; font-weight:700;
  font-size:13px; line-height:1.25; text-align:center; text-shadow:0 1px 6px rgba(0,0,0,.7),0 1px 2px rgba(0,0,0,.6);
  background:linear-gradient(transparent, rgba(0,0,0,.6)); }

/* 结构化叠字信息卡（标题+内容，跟随对标版式）。字号用 cqw 随图尺寸缩放，文字不进图里 → 不乱码 */
.cv-card{ position:absolute; inset:0; z-index:6; display:flex; flex-direction:column; justify-content:flex-start;
  padding:7cqw 6cqw; gap:3.4cqw; pointer-events:none; }
.cv-card-t{ font-weight:800; color:#fff; line-height:1.18; font-size:10.5cqw; letter-spacing:.2px;
  text-shadow:0 2px 11px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.75); }
.cv-card-b{ display:flex; flex-direction:column; gap:2.8cqw; }
.cv-li{ font-weight:700; color:#fff; font-size:6.4cqw; line-height:1.3; text-align:left;
  background:rgba(15,18,26,.34); border-radius:2.6cqw; padding:2.4cqw 3.2cqw; backdrop-filter:blur(2px);
  text-shadow:0 1px 5px rgba(0,0,0,.55); }
.cv-li.ok{ background:rgba(0,158,82,.66); } .cv-li.no{ background:rgba(225,42,64,.62); }
.cv-li.num{ display:flex; align-items:center; gap:2.8cqw; background:rgba(15,18,26,.34); }
.cv-li.num b{ flex:none; display:grid; place-items:center; width:6.6cqw; height:6.6cqw; border-radius:999px;
  background:var(--cinnabar,#a5813a); color:#fff; font-size:4.4cqw; font-weight:800; }
/* 封面：大字居中 */
.cv-card.is-cover, .cv-card.lay-封面{ justify-content:center; align-items:center; text-align:center; padding:10cqw 9cqw; gap:4cqw; }
.cv-card.is-cover .cv-card-t, .cv-card.lay-封面 .cv-card-t{ font-size:15cqw; }
.cv-card.is-cover .cv-card-b, .cv-card.lay-封面 .cv-card-b{ align-items:center; }
.cv-card.is-cover .cv-li, .cv-card.lay-封面 .cv-li{ background:transparent; backdrop-filter:none; font-size:7cqw; text-shadow:0 1px 9px rgba(0,0,0,.7); }

/* editorial 主题（实拍复刻封面：照片是主角，文字细腻压在底部左侧，像杂志/编辑封面，不糊不抢画面） */
.cv-card.theme-editorial{ justify-content:flex-end; align-items:flex-start; text-align:left; padding:8cqw 7.5cqw 9cqw; gap:2.6cqw; }
.cv-card.theme-editorial::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(14,11,8,.14) 56%,rgba(12,9,7,.68) 100%); }
.cv-card.theme-editorial>*{ position:relative; z-index:1; }
.cv-card.theme-editorial .cv-card-t{ font-family:"Noto Serif SC","Songti SC","SimSun",serif; font-size:7.2cqw; line-height:1.3; font-weight:700; max-width:88%; letter-spacing:.2cqw; text-shadow:0 .3cqw 1.8cqw rgba(0,0,0,.6),0 .1cqw .4cqw rgba(0,0,0,.7); }
.cv-card.theme-editorial .cv-card-t::before{ content:""; display:block; width:11cqw; height:.55cqw; background:#e6c885; margin-bottom:3.4cqw; border-radius:1cqw; }
.cv-card.theme-editorial .cv-card-b{ display:flex; flex-direction:column; gap:1.3cqw; margin-top:2.8cqw; align-items:flex-start; }
.cv-card.theme-editorial .cv-li{ background:transparent; backdrop-filter:none; padding:0; font-size:3.5cqw; font-weight:500; color:rgba(255,255,255,.9); letter-spacing:.3cqw; text-shadow:0 .2cqw 1cqw rgba(0,0,0,.75); }
/* poster 主题（干净白底·干货笔记风：大黑标题 + 短色条 + 利落分点 + 克制强调） */
.cv-card.theme-poster{ justify-content:flex-start; }
/* AI 封面叠字（参考小红书设计封面：底部暗角蒙版 + 大白标题 + 副标题条，靠下排版） */
.cv-card.theme-poster.is-cover, .cv-card.theme-poster.lay-封面{ justify-content:flex-end; align-items:center; padding:10cqw 7cqw 13cqw; }
.cv-card.theme-poster.is-cover::before, .cv-card.theme-poster.lay-封面::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.14) 0%,rgba(0,0,0,.06) 38%,rgba(0,0,0,.34) 70%,rgba(0,0,0,.62) 100%); }
.cv-card.theme-poster .cv-card-t{ color:#1a1a1a; text-shadow:none; font-weight:900; font-size:11.5cqw; line-height:1.32; letter-spacing:.2px; }
/* 内页标题下方一条短粗主题色条（简洁设计感，替代花哨高亮块）*/
.cv-card.theme-poster:not(.is-cover):not(.lay-封面) .cv-card-t::after{ content:""; display:block; width:13cqw; height:1.5cqw; border-radius:1cqw; background:var(--tpl-acc,#ff7a59); margin-top:2.6cqw; }
.cv-card.theme-poster .cv-card-b{ gap:3cqw; }
/* ===== 稿定风 AI 封面（1:1 复刻参考：顶部拼音 + 大号白标题 + 黄色副标题条 + 底部竖线分隔标签）===== */
.cv-card.cv-coverx{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:8cqw 7cqw 16cqw; gap:0; background:none; box-shadow:none; }
.cv-card.cv-coverx::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.12) 26%,rgba(0,0,0,.04) 50%,rgba(0,0,0,.30) 78%,rgba(0,0,0,.58) 100%); }
.cv-card.cv-coverx>*{ position:relative; z-index:1; }
/* 拼音+标题+副标题条统一裹进 .cx-mid：外层只居中这一个块，避免 html2canvas 对「居中+换行多子元素」flex 算错高度导致副标题压住标题 */
.cv-coverx .cx-mid{ display:flex; flex-direction:column; align-items:center; width:100%; }
.cv-coverx .cx-py{ color:rgba(255,255,255,.92); font-size:3cqw; font-weight:600; letter-spacing:.42em; text-indent:.42em; margin-bottom:3.4cqw; text-shadow:0 1px 6px rgba(0,0,0,.55); white-space:nowrap; max-width:100%; }
.cv-coverx .cx-t{ color:#fff; font-size:13cqw; font-weight:900; line-height:1.22; letter-spacing:.5px; text-shadow:0 2px 16px rgba(0,0,0,.55); padding-bottom:1cqw; }
/* 黄框副标题用 SVG 画（rect 底 + text 数学居中）：浏览器与 html2canvas 渲染一致、上下左右都居中 */
.cv-coverx .cx-sub{ margin-top:5.5cqw; display:block; max-width:88%; filter:drop-shadow(0 3px 12px rgba(0,0,0,.28)); }
.cv-coverx .cx-tags{ position:absolute; left:0; right:0; bottom:7cqw; z-index:1; display:flex; align-items:center; justify-content:center; gap:2.4cqw; flex-wrap:wrap; color:#fff; font-size:3.4cqw; font-weight:600; text-shadow:0 1px 6px rgba(0,0,0,.65); padding:0 6cqw; }
.cv-coverx .cx-tags i{ opacity:.55; font-style:normal; }
/* 条目：干净段落，深字，左侧小色点 */
.cv-card.theme-poster .cv-li{ background:transparent; border:none; box-shadow:none; backdrop-filter:none; color:#34383f; font-size:6.6cqw; line-height:1.55; text-align:left; padding:0 0 0 5.2cqw; position:relative; }
.cv-card.theme-poster .cv-li::before{ content:""; position:absolute; left:0; top:2.4cqw; width:2.6cqw; height:1.1cqw; border-radius:1cqw; background:var(--tpl-acc,#ff7a59); }
.cv-card.theme-poster .cv-li b{ color:#1a1a1a; }
.cv-card.theme-poster .cv-li.ok{ color:#0a7a45; } .cv-card.theme-poster .cv-li.ok::before{ background:#10b266; }
.cv-card.theme-poster .cv-li.no{ color:#d8324a; } .cv-card.theme-poster .cv-li.no::before{ background:#e23b54; }
/* 编号：黑底圆数字，利落 */
.cv-card.theme-poster .cv-li.num{ padding-left:0; align-items:flex-start; gap:2.8cqw; }
.cv-card.theme-poster .cv-li.num::before{ display:none; }
.cv-card.theme-poster .cv-li.num b{ flex:none; background:#1a1a1a; color:#fff; }
/* 封面：大字黑体居中，干净简单 */
/* 标题：大号白字 + 强阴影（靠暗角蒙版保证任意底图清晰），居中、自适应缩放防溢出 */
.cv-card.theme-poster.is-cover .cv-card-t, .cv-card.theme-poster.lay-封面 .cv-card-t{
  position:relative; color:#fff; text-align:center; align-self:center; max-width:96%;
  font-size:11.5cqw; line-height:1.18; font-weight:900; letter-spacing:.3px;
  text-shadow:0 2px 12px rgba(0,0,0,.5),0 1px 3px rgba(0,0,0,.85);
  background:none; -webkit-backdrop-filter:none; backdrop-filter:none; padding:0; border-radius:0; box-shadow:none;
}
/* 标题下短色条（设计感） */
.cv-card.theme-poster.is-cover .cv-card-t::after, .cv-card.theme-poster.lay-封面 .cv-card-t::after{ content:""; display:block; width:16cqw; height:1.3cqw; border-radius:1cqw; background:#ff3f5c; margin:3cqw auto 0; }
/* 副标题：半透明深色条，居中（像参考图的副标题栏） */
.cv-card.theme-poster.is-cover .cv-li, .cv-card.theme-poster.lay-封面 .cv-li{
  position:relative; color:#fff; padding:1.8cqw 5cqw; text-align:center; align-self:center; display:inline-block;
  background:rgba(18,20,28,.5); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
  border-radius:2cqw; font-weight:700; font-size:5.2cqw; margin-top:.6cqw;
  text-shadow:0 1px 4px rgba(0,0,0,.5);
}
.cv-card.theme-poster.is-cover .cv-li::before, .cv-card.theme-poster.lay-封面 .cv-li::before{ display:none; }
/* 强调高亮：mark() 把 ==文字== 渲染成橙色 highlighter */
.cv-card .hl{ background:linear-gradient(180deg,transparent 58%, var(--tpl-hl,rgba(255,170,70,.55)) 58%); padding:0 .08em; }

/* ===== 方案B：模板底图 = 干净白底 + 左侧主题色细条（克制装饰，照片类仍走 AI）===== */
.cv-tpl{ position:absolute; inset:0; background:#fff; overflow:hidden; }
.cv-tpl::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:1.6cqw; background:var(--tpl-acc,#ff7a59); }
.cv-tpl.t0{ --tpl-acc:#ff7a59; --tpl-hl:rgba(255,170,70,.55); }
.cv-tpl.t1{ --tpl-acc:#3a7afe; --tpl-hl:rgba(120,180,255,.5); }
.cv-tpl.t2{ --tpl-acc:#13b06a; --tpl-hl:rgba(120,225,170,.5); }
.cv-tpl.t3{ --tpl-acc:#f5a623; --tpl-hl:rgba(255,216,120,.6); }
.tpl .cv-card{ justify-content:flex-start; padding:9cqw 8cqw; gap:3.6cqw; }
.tpl .cv-card.is-cover, .tpl .cv-card.lay-封面{ justify-content:center; }

/* ===== 长文笔记款：用 S4 正文排成"真实手机截图感"的密集长图笔记（白底中文，零乱码）===== */
/* 颜色全部走变量：默认白底橙高亮；planNotePage 可按 S3 每张图的版式注入 bg/高亮/暗色文字 */
.cv-note{ --nt-bg:#fff; --nt-ink:#16181d; --nt-ink2:#33373d; --nt-meta:#b6bbc2; --nt-accent:#ff6a3d; --nt-hl:rgba(255,150,60,.42); --nt-hl-line:#ff8a3d; --nt-tag:#3a5a8c;
  position:absolute; inset:0; background:var(--nt-bg); overflow:hidden; padding:7cqw 6.5cqw; display:flex; flex-direction:column; text-align:left; word-break:break-word; overflow-wrap:anywhere; }
/* 自动适配包裹层：内容超出 3:4 时由 JS 等比缩小（transform scale），绝不裁切 */
.cv-note .cv-note-fit{ transform-origin:top left; width:100%; }
.cv-note .nt-h1{ font-size:8.2cqw; font-weight:900; color:var(--nt-ink); line-height:1.28; letter-spacing:.1cqw; }
/* 封面带要点列表时（非纯大字封面）：标题更克制，留出要点空间 */
.cv-note:not(.is-cover) .nt-h1{ font-size:7.4cqw; margin-bottom:1.6cqw; }
.cv-note .nt-meta{ font-size:3.4cqw; color:var(--nt-meta); margin:2.4cqw 0 4cqw; }
.cv-note .nt-sec{ font-size:5.3cqw; font-weight:900; color:var(--nt-ink); margin:3cqw 0 1.4cqw; display:flex; align-items:center; gap:2cqw; }
/* 竖条用 align-items:center 会按文字行盒居中，而 CJK 字形在行盒里偏下→竖条显得偏高；translateY(0.2cqw) 把竖条压到与中文标题视觉中心齐平（Noto CJK 实测校准，离散<0.2px） */
.cv-note .nt-sec .nt-dot{ width:1.4cqw; height:4.4cqw; border-radius:.8cqw; background:var(--nt-accent); flex:none; transform:translateY(0.2cqw); }
.cv-note .nt-sub{ font-size:4.2cqw; font-weight:800; color:var(--nt-ink); margin:2.2cqw 0 .6cqw; }
.cv-note .nt-p{ font-size:3.7cqw; line-height:1.55; color:var(--nt-ink2); margin:1.2cqw 0; }
.cv-note .nt-ol{ margin:1cqw 0; }
/* 序号圆点＝内联 <svg>（圆 + 居中数字，填色写成 SVG 内联属性，见 noteBlock）。
   ⚠ 排版用 flex 两栏（序号列 + 文字列），align-items:flex-start 让序号与首行文字顶对齐。
   之前用「悬挂缩进 + 负 text-indent」在 html2canvas 导出时会把序号挤到单独一行/左上角错位，
   改 flex 后预览与导出都稳定对齐。 */
/* 列表项不用 flexbox（html2canvas 对 flex 支持不稳、缩放导出时会把序号堆到左边）→ 序号绝对定位在左、文字左缩进，html2canvas 渲染稳定，根治序号偏移 */
/* 编号列表：flex 布局让序号 SVG 天然与文字首行对齐（不再靠绝对定位猜 top 偏移，行高/换行都不会错位）*/
.cv-note .nt-ol li{ list-style:none; display:flex; align-items:flex-start; gap:2cqw; padding-left:0; margin:1.7cqw 0; font-size:3.7cqw; line-height:1.55; color:var(--nt-ink2); }
.cv-note .nt-num{ position:static; flex:none; margin-top:.5cqw; width:5.6cqw; height:5.6cqw; overflow:visible; }
.cv-note .nt-tx{ flex:1; min-width:0; }
.cv-note .nt-ol b{ color:var(--nt-ink); }
.cv-note .nt-tags{ font-size:3.7cqw; color:var(--nt-tag); margin-top:auto; padding-top:3cqw; line-height:1.75; }
/* 高亮：marker 厚度/位置都用 em（跟字号走，不随行高漂移）；clone 让跨行各自包住文字 */
.cv-note .hl{ background-image:linear-gradient(var(--nt-hl),var(--nt-hl)); background-repeat:no-repeat; background-size:100% .5em; background-position:0 .92em; padding:0 .12em; font-weight:700; color:var(--nt-ink); -webkit-box-decoration-break:clone; box-decoration-break:clone; }
/* 封面页：大字居中（只有标题+副标题时） */
.cv-note.is-cover{ justify-content:center; text-align:center; padding:10cqw 8cqw; }
.cv-note.is-cover .nt-h1{ font-size:11cqw; line-height:1.28; }
.cv-note.is-cover .nt-meta{ font-size:4cqw; margin:5cqw 0 0; }

/* ===== 苹果备忘录风（is-memo）：仿真 iPhone 备忘录截图（状态栏+导航栏+底部工具栏+Home条，不随内容缩放）===== */
/* 纸面背景跟随 --nt-bg（可自定义颜色）；顶栏/底栏保持白色，像真 iOS UI */
.cv-note.is-memo{ background:var(--nt-bg,#fff); padding:15cqw 0 13cqw; font-family:-apple-system,"SF Pro Text","PingFang SC","Noto Sans SC",sans-serif; --nt-meta:#9a9aa0; }
/* 实拍背景模式：AI 出的实拍空场景当底图，真字卡作为「桌上的一张纸」叠在中间（照片质感 + 清晰真字） */
.cv-photoframe{ position:absolute; inset:0; background-color:#d8d2c8; background-size:cover; background-position:center; background-repeat:no-repeat; }
.cv-photoframe .cv-note.is-memo{ position:absolute; inset:7cqw 6cqw; border-radius:3.2cqw; overflow:hidden; box-shadow:0 3cqw 9cqw rgba(0,0,0,.32), 0 1cqw 3cqw rgba(0,0,0,.18); }
/* 整页真字直接铺在纸张背景上（无卡片边框/无 iOS 外壳）：合成感最小，像一张做旧纸上的笔记 */
.cv-photoframe.is-full{ background-color:#f5efe2; }
.cv-photoframe.is-full .cv-note.is-memo.is-onpaper{ position:absolute; inset:0; border-radius:0; box-shadow:none; background:transparent !important; padding:11cqw 9cqw; }
.cv-note.is-memo.is-onpaper .cv-note-fit{ padding:0; }
.cv-note.is-memo.is-onpaper .nt-h1{ color:#241c12; }
.cv-note.is-memo.is-onpaper .nt-p, .cv-note.is-memo.is-onpaper .nt-ol li{ color:#3a2f22; }
.cv-note.is-memo.is-onpaper .nt-sec{ color:#241c12; }
/* ===== 海报式封面：参照「梵高·星月夜珠宝海报」——深海军蓝底 + 烫金衬线 + 中英排版 + 细金分隔 + 引言/品牌徽记 ===== */
.cv-poster{ position:absolute; inset:0; background-color:#1c0a18; background-size:cover; background-position:center; color:#ede6d6; overflow:hidden; font-family:"Noto Serif SC","Songti SC","SimSun",serif; --gold:#c9a85f; --gold-lt:#e7cf95; }
/* 中性偏暖深色蒙版（不带蓝调）→ 不论背景是酒红/墨绿/深蓝都按真色透出 */
.cv-poster .pst-scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(14,9,13,.58) 0%, rgba(14,9,13,.38) 30%, rgba(14,9,13,.48) 66%, rgba(10,6,9,.80) 100%); }
/* 叠在偏亮实拍照片上 → 更厚蒙版，浅色真字处处可读 */
.cv-poster.is-photo .pst-scrim{ background:linear-gradient(180deg, rgba(10,7,10,.90) 0%, rgba(10,7,10,.82) 38%, rgba(10,7,10,.84) 70%, rgba(7,4,7,.93) 100%); }
.cv-poster .pst-body{ position:absolute; inset:0; padding:7.5cqw 7.5cqw 6cqw; display:flex; flex-direction:column; }
/* 顶部品牌横条：左品牌（斜体衬线）—— 金线 —— 右栏目 */
.cv-poster .pst-top{ display:flex; align-items:center; gap:1.8cqw; font-size:2.6cqw; letter-spacing:.35cqw; color:var(--gold-lt); font-family:"Times New Roman",serif; }
.cv-poster .pst-top .l{ font-style:italic; flex:none; white-space:nowrap; }
/* 分隔线改用内联 SVG：几何居中，html2canvas 导出/预览都精确对齐两侧文字（不再用 cqw 细条被挤偏） */
.cv-poster .pst-top .pst-line{ flex:1 1 auto; min-width:0; align-self:center; height:1em; display:block; }
.cv-poster .pst-top .r{ flex:none; white-space:nowrap; letter-spacing:.28cqw; }
/* 标题：大号中文衬线 + 烫金英文副标 */
.cv-poster .pst-head{ margin:6.5cqw 0 5cqw; }
.cv-poster .pst-title{ font-size:8.8cqw; line-height:1.22; font-weight:700; color:#f7efdf; letter-spacing:.2cqw; margin:0; text-shadow:0 .4cqw 2.4cqw rgba(0,0,0,.4); }
.cv-poster .pst-en{ margin-top:2.2cqw; font-family:"Times New Roman",serif; font-style:italic; font-size:3.9cqw; color:var(--gold-lt); letter-spacing:.3cqw; }
/* 要点行：细金线分隔，term(中文白) + 描述(淡金)，整组纵向居中铺满 */
.cv-poster .pst-list{ display:flex; flex-direction:column; flex:1; justify-content:center; }
.cv-poster .pst-item{ padding:3.2cqw 0; border-top:.1cqw solid rgba(201,168,95,.30); }
.cv-poster .pst-item:first-child{ border-top:0; }
.cv-poster .pst-ttl{ font-size:4.7cqw; font-weight:700; color:#fbf6ea; line-height:1.32; }
.cv-poster .pst-dsc{ margin-top:1cqw; font-size:3.2cqw; font-weight:500; color:#ece0c6; line-height:1.5; font-family:-apple-system,"PingFang SC",sans-serif; }
/* 叠在实拍照片上时：正文真字用米色、加粗、加阴影，保证在浅色照片上也清晰 */
.cv-poster.is-photo .pst-ttl{ color:#fdf6e8; text-shadow:0 .2cqw 1.2cqw rgba(0,0,0,.85),0 .1cqw .4cqw rgba(0,0,0,.7); }
.cv-poster.is-photo .pst-dsc{ color:#ecdfc4; font-weight:600; text-shadow:0 .2cqw 1cqw rgba(0,0,0,.85); }
.cv-poster.is-photo .pst-title{ text-shadow:0 .4cqw 2.4cqw rgba(0,0,0,.7),0 .15cqw .5cqw rgba(0,0,0,.6); }
.cv-poster.is-photo .pst-en{ color:#f0dca8; text-shadow:0 .2cqw 1cqw rgba(0,0,0,.8); }
.cv-poster.is-photo .pst-item{ border-top-color:rgba(255,240,210,.4); }
/* 底部：引言 + 居中徽记品牌落款 */
.cv-poster .pst-quote{ margin-top:4cqw; text-align:center; font-size:3cqw; color:rgba(237,230,214,.8); font-style:italic; line-height:1.5; }
.cv-poster .pst-foot{ margin-top:3.6cqw; padding-top:3.2cqw; border-top:.1cqw solid rgba(201,168,95,.24); display:flex; flex-direction:column; align-items:center; gap:1.1cqw; }
.cv-poster .pst-foot .em{ color:var(--gold); font-size:3.4cqw; line-height:1; }
.cv-poster .pst-foot .bn{ color:var(--gold-lt); font-size:2.9cqw; letter-spacing:1.1cqw; text-indent:1.1cqw; }
.cv-poster .pst-foot .bs{ color:rgba(201,168,95,.62); font-size:2cqw; letter-spacing:.6cqw; font-family:"Times New Roman",serif; }
.cv-note.is-memo .cv-note-fit{ padding:1.5cqw 6.5cqw 0; }
/* 字号整体向参考图（密集干货长图）看齐：标题更克制、正文更小更密 */
/* 标题=系统苹方粗体（与真 iOS 备忘录一致）；不内嵌字体、不描边 */
.cv-note.is-memo .nt-h1{ font-size:7.2cqw; font-weight:900; color:#1c1c1e; margin-bottom:1.4cqw; letter-spacing:-.04cqw; line-height:1.22; }
/* 小节标题：emoji 引导、加粗，但比之前小一档，贴近参考图分节标题 */
.cv-note.is-memo .nt-sec{ font-size:4.1cqw; font-weight:800; color:#1c1c1e; margin:1.6cqw 0 .9cqw; gap:1.1cqw; }
/* 正文/列表统一缩到 3.35cqw、行距收紧，密度对齐参考图 */
.cv-note.is-memo .nt-p,.cv-note.is-memo .nt-ol li{ font-size:3.7cqw; line-height:1.42; }
.cv-note.is-memo .nt-p{ margin:.7cqw 0; }
.cv-note.is-memo .nt-ol li{ margin:.8cqw 0; }
/* 备忘录：序号 SVG 用 flex 列跟随，天然与首行文字对齐（不再靠绝对定位/左缩进），跨平台 + html2canvas 导出都不偏 */
.cv-note.is-memo .nt-ol li{ padding-left:0; gap:1.8cqw; }
.cv-note.is-memo .nt-num{ width:4.5cqw; height:4.5cqw; margin-top:.35cqw; }
.cv-note.is-memo .nt-box-li{ font-size:3.7cqw; }
.cv-note.is-memo .nt-p{ margin:.8cqw 0; line-height:1.45; }
.cv-note.is-memo .nt-sec .nt-dot{ display:none; }
/* 小节之间细虚线分隔（对齐参考图：灰蓝色横虚线，是这类干货长图最显眼的特征）；首个标题前不画 */
.cv-note.is-memo .nt-sec:not(:first-child){ position:relative; border-top:.35cqw dashed rgba(96,108,130,.42); margin-top:2.6cqw; padding-top:2.4cqw; }
/* ✅ 绿色总结块（对齐参考图右下角"核心就是…"）：浅绿底 + 绿边 + 圆角卡 */
.cv-note.is-memo .nt-box{ margin:2.8cqw 0 1cqw; padding:2.6cqw 3cqw; background:rgba(52,199,89,.12); border:.35cqw solid rgba(52,199,89,.5); border-radius:2.6cqw; }
.cv-note.is-memo .nt-box .nt-box-li{ font-size:3.5cqw; line-height:1.45; color:#1c1c1e; font-weight:600; margin:.9cqw 0; display:flex; align-items:flex-start; gap:1.2cqw; }
.cv-note.is-memo .nt-box .nt-box-li::before{ content:"✅"; font-size:3.4cqw; flex:none; line-height:1.5; }
.cv-note.is-memo .nt-p,.cv-note.is-memo .nt-ol li{ color:#2c2c2e; }
/* 高亮改成饱满荧光笔：覆盖大半个字高（.66em）、上移到字身中部（.34em），更贴近真备忘录手写马克笔感 */
/* 荧光带位置随收紧后的行距(1.4)重新对齐：盖在字身上、居中，不再偏高 */
.cv-note.is-memo .hl{ background-size:100% .62em; background-position:0 .5em; padding:0 .12em; border-radius:.06em; }
/* @@红圈@@ 标注：默认就是红字加粗（非手帐页温和降级） */
.hl-circle{ color:#e0322d; font-weight:700; }
/* ===== 手帐标注风（仅备忘录封面卡片 .is-tiezhan，不影响其它内页）=====
   ①数字方块小标题（CSS 计数器自动编号）②橙色波浪下划线（==）③红圈（@@）④⭐重点 */
.cv-note.is-memo.is-tiezhan .cv-note-fit{ counter-reset: tzsec; }
/* 数字方块用「行内块 + 垂直居中」（不依赖 flex/绝对定位）→ 浏览器预览和 html2canvas 导出都与小标题文字稳定对齐 */
.cv-note.is-memo.is-tiezhan .nt-sec{ counter-increment: tzsec; display:block; padding-left:0; gap:0; font-size:4.3cqw; line-height:1.5; }
/* 序号：用真实文本 span .nt-no（不用 CSS counter::before —— html2canvas 不渲染 counter，数字会小且偏角）。
   真实文本 + line-height 居中，html2canvas 支持良好。 */
.cv-note.is-memo.is-tiezhan .nt-sec::before{ content:none; }
/* 序号用 SVG 画（rect 底 + text 数学居中 dominant-baseline:central）：浏览器与 html2canvas 渲染一致、像素级居中。容器只管尺寸。 */
.cv-note.is-memo.is-tiezhan .nt-no{ display:inline-block; vertical-align:middle; width:5cqw; height:5cqw; margin-right:1.6cqw; position:relative; top:.6cqw; }
.cv-note.is-memo.is-tiezhan .nt-no svg{ display:block; width:100%; height:100%; overflow:visible; filter:drop-shadow(0 .5cqw 1.4cqw rgba(255,122,26,.35)); }
.cv-note.is-memo.is-tiezhan .nt-sec .nt-dot{ display:none; }
/* 橙色波浪下划线替代荧光块 */
.cv-note.is-memo.is-tiezhan .hl{ background:none; color:inherit; padding:0 .1cqw .9cqw; border-radius:0; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0 0 12 6'%3E%3Cpath d='M0 3 Q3 0 6 3 T12 3' fill='none' stroke='%23ff8a00' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:repeat-x; background-position:0 100%; background-size:auto 1.4cqw; }
/* 手画红圈强调 */
.cv-note.is-memo.is-tiezhan .hl-circle{ position:relative; color:#e0322d; font-weight:800; padding:0 1.2cqw; white-space:nowrap; }
.cv-note.is-memo.is-tiezhan .hl-circle::after{ content:""; position:absolute; left:-.4cqw; right:-.4cqw; top:-.9cqw; bottom:-.9cqw; border:.5cqw solid #e0322d; border-radius:50%; transform:rotate(-2.5deg); pointer-events:none; }
/* 顶部：状态栏 + 导航栏。背景跟随纸面色（真 iOS 备忘录顶栏与纸面同色，白色顶栏一看就假）；底部加极淡分隔线 */
.cv-note.is-memo .nt-ios-top{ position:absolute; top:0; left:0; right:0; z-index:4; background:var(--nt-bg,#fff); }
.cv-note.is-memo .nt-ios-status{ position:relative; height:6cqw; padding:0 6cqw 0 7.5cqw; }
/* 时钟用 line-height=栏高 居中（html2canvas 对 translateY(-50%) 的文字会算偏→被裁，line-height 两边一致）；右侧纯图标用 flex 即可 */
.cv-note.is-memo .nt-clock{ position:absolute; left:7.5cqw; top:0; height:6cqw; display:flex; align-items:center; font-size:3.5cqw; font-weight:700; color:#000; letter-spacing:.03em; line-height:1; }
.cv-note.is-memo .nt-stat-r{ position:absolute; right:6cqw; top:0; height:6cqw; display:flex; align-items:center; gap:1.5cqw; }
/* 状态栏右侧元素：统一视觉高度（信号/wifi/电池同高），100 字号贴近图标，整体更像真 iOS 状态栏、不显错位 */
.cv-note.is-memo .nt-si{ height:3.1cqw; width:auto; fill:#000; display:block; }
/* 「100」改 SVG（文字 y 坐标写死，html2canvas 跨平台一致，不再因 macOS 字体度量偏移）；其余信号/电池本就是 SVG */
.cv-note.is-memo svg.nt-batpct{ height:3.1cqw; width:auto; display:block; margin-right:.5cqw; overflow:visible; }
.cv-note.is-memo .nt-bat{ height:3.1cqw; width:auto; fill:#000; color:#000; display:block; }
.cv-note.is-memo .nt-ios-nav{ position:relative; height:9cqw; padding:0 4.5cqw; border-bottom:.3cqw solid rgba(0,0,0,.09); }
/* 用 flex align-items:center 几何居中（实测：140px 缩略图与 360px 预览都 0px 对齐，360px 导出 0.33px 对齐）。
   line-height 居中在小字号 CJK 下像素不稳（140px 偏 2.7px），故弃用；flex 按盒子几何中心居中，跨尺寸稳定。 */
/* 「< 备忘录」整块做成 SVG（chevron 路径 + <text> 文字，文字用 y 坐标定位）。
   原因：HTML 文字在 html2canvas 里垂直位置依赖字体度量，macOS(PingFang) 会把中文压低；
   SVG 里文字位置是绝对坐标，html2canvas 与浏览器、跨平台都按坐标画 → 永远居中、不掉。实测 html2canvas 输出验证。 */
.cv-note.is-memo svg.nt-nav-back{ position:absolute; left:0.2cqw; top:0; height:9cqw; width:calc(9cqw * 88 / 26); z-index:1; overflow:visible; }
.cv-note.is-memo .nt-nav-date{ position:absolute; left:0; right:0; top:0; height:9cqw; display:flex; align-items:center; justify-content:center; color:#8a8a90; font-size:2.85cqw; font-weight:600; white-space:nowrap; letter-spacing:.01em; line-height:1; pointer-events:none; }
/* 右侧纯图标区：用 flex（图标是 SVG，不受 html2canvas 文字掉位影响），避免 inline-block 右对齐被 html2canvas 算错而裁掉「...」 */
.cv-note.is-memo .nt-nav-r{ position:absolute; right:4.5cqw; top:0; height:9cqw; display:flex; align-items:center; gap:3.2cqw; z-index:1; }
/* 描边图标（撤销/重做/分享，带 stroke 属性）：fill 必须 none，否则会被基础 .nt-ny 的 fill 填成实心球 */
.cv-note.is-memo .nt-nav-r .nt-ny[stroke]{ fill:none; }
.cv-note.is-memo .nt-ny{ height:5cqw; width:auto; fill:#e8a400; color:#e8a400; display:block; }
/* 底部：工具栏 + Home 指示条 */
.cv-note.is-memo .nt-ios-bottom{ position:absolute; bottom:0; left:0; right:0; z-index:4; background:var(--nt-bg,#fff); }
.cv-note.is-memo .nt-ios-tools{ height:9cqw; display:flex; align-items:center; justify-content:space-between; padding:0 7cqw; border-top:.3cqw solid rgba(0,0,0,.09); }
.cv-note.is-memo .nt-tool{ height:4.7cqw; width:auto; color:#48484a; fill:none; }
.cv-note.is-memo .nt-tool.acc{ color:#e8a400; }
.cv-note.is-memo .nt-home{ height:4cqw; display:flex; align-items:center; justify-content:center; }
.cv-note.is-memo .nt-home::after{ content:""; width:33cqw; height:1.1cqw; border-radius:1cqw; background:#000; }

/* 「更多封面玩法」展开器：展开后箭头标签变「收起 ▴」，让用户知道这里可点 */
#moreCoverDetails[open] .mcd-arrow{ background:var(--ink-soft,#8a8a90); }
#moreCoverDetails[open] .mcd-arrow::after{ content:""; }
#moreCoverDetails .mcd-arrow{ white-space:nowrap; }
#moreCoverDetails[open] summary .mcd-arrow{ font-size:0; }
#moreCoverDetails[open] summary .mcd-arrow::before{ content:"收起 ▴"; font-size:12px; }

/* ===== 自有封面模板库（CSS 排版渲染，文字精准、html2canvas 可导出；填 cover_lines）===== */
.cv-ctpl{ position:absolute; inset:0; overflow:hidden; display:flex; flex-direction:column; font-family:-apple-system,"PingFang SC","Noto Sans SC",sans-serif;
  --c-bg:#fff; --c-ink:#16181d; --c-accent:#a5813a; background:var(--c-bg); }
.cv-ctpl .ct-t{ font-weight:900; color:var(--c-ink); line-height:1.18; }
.cv-ctpl .ct-s{ color:var(--c-ink); opacity:.62; line-height:1.5; }
.cv-ctpl em{ font-style:normal; color:var(--c-accent); }
/* 1) 大字冲击 bold：超大黑体居中 + 关键词色块 */
.cv-ctpl.ctpl-bold{ justify-content:center; align-items:flex-start; padding:11cqw 9cqw; }
.cv-ctpl.ctpl-bold .ct-t{ font-size:14cqw; letter-spacing:-.02em; }
.cv-ctpl.ctpl-bold .ct-t em{ color:#fff; background:var(--c-accent); padding:0 1.5cqw; border-radius:1.5cqw; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.cv-ctpl.ctpl-bold .ct-s{ font-size:4.6cqw; margin-top:5cqw; font-weight:600; }
.cv-ctpl.ctpl-bold::after{ content:""; position:absolute; left:9cqw; bottom:9cqw; width:16cqw; height:1.6cqw; background:var(--c-accent); border-radius:2cqw; }
/* 2) 杂志风 mag：衬线大标题 + 顶部栏目线 + 底部期号 */
.cv-ctpl.ctpl-mag{ padding:9cqw 8cqw; justify-content:center; font-family:"Songti SC","Noto Serif SC",serif; }
.cv-ctpl.ctpl-mag .ct-kicker{ position:absolute; top:8cqw; left:8cqw; right:8cqw; display:flex; justify-content:space-between; align-items:center; font-size:3.2cqw; letter-spacing:.2em; color:var(--c-accent); font-weight:700; border-bottom:.4cqw solid var(--c-ink); padding-bottom:2cqw; font-family:-apple-system,sans-serif; }
.cv-ctpl.ctpl-mag .ct-t{ font-size:12cqw; font-weight:800; }
.cv-ctpl.ctpl-mag .ct-s{ font-size:4.2cqw; margin-top:4cqw; font-family:-apple-system,sans-serif; }
.cv-ctpl.ctpl-mag .ct-foot{ position:absolute; bottom:8cqw; left:8cqw; font-size:3cqw; color:var(--c-ink); opacity:.5; letter-spacing:.1em; font-family:-apple-system,sans-serif; }
/* 3) 色块 block：左上大色块压标题 */
.cv-ctpl.ctpl-block{ padding:0; }
.cv-ctpl.ctpl-block .ct-block{ background:var(--c-accent); color:#fff; padding:10cqw 8cqw 8cqw; }
.cv-ctpl.ctpl-block .ct-t{ color:#fff; font-size:12cqw; }
.cv-ctpl.ctpl-block .ct-s{ color:var(--c-ink); opacity:.75; font-size:4.4cqw; padding:6cqw 8cqw; font-weight:600; }
/* 4) 手账胶带 tape：米纸 + 胶带 + 手写感 */
.cv-ctpl.ctpl-tape{ background:var(--c-bg,#fbf7ee); justify-content:center; padding:12cqw 9cqw; }
.cv-ctpl.ctpl-tape::before{ content:""; position:absolute; top:7cqw; left:50%; transform:translateX(-50%) rotate(-3deg); width:34cqw; height:7cqw; background:rgba(255,210,90,.55); }
.cv-ctpl.ctpl-tape .ct-t{ font-size:12.5cqw; }
.cv-ctpl.ctpl-tape .ct-t em{ text-decoration:underline; text-decoration-color:var(--c-accent); text-decoration-thickness:1.2cqw; text-underline-offset:1.5cqw; }
.cv-ctpl.ctpl-tape .ct-s{ font-size:4.4cqw; margin-top:4cqw; }
/* 5) 上图下字 split：上半图位(渐变/上传图)，下半白底大标题 */
.cv-ctpl.ctpl-split{ padding:0; }
.cv-ctpl.ctpl-split .ct-img{ height:52%; background:linear-gradient(135deg,var(--c-accent),#ffffff); background-size:cover; background-position:center; }
.cv-ctpl.ctpl-split .ct-cap{ flex:1; padding:7cqw 8cqw; display:flex; flex-direction:column; justify-content:center; }
.cv-ctpl.ctpl-split .ct-t{ font-size:11cqw; }
.cv-ctpl.ctpl-split .ct-s{ font-size:4.2cqw; margin-top:3cqw; }
/* 7) 备忘录 memo：iPhone 备忘录风封面（顶部备忘录栏 + 大标题 + 黄荧光） */
.cv-ctpl.ctpl-memo{ background:var(--c-bg,#fff); padding:14cqw 7cqw 0; font-family:-apple-system,"SF Pro Text","PingFang SC",sans-serif; }
.cv-ctpl.ctpl-memo .ct-memobar{ position:absolute; top:0; left:0; right:0; height:9.5cqw; display:flex; align-items:center; justify-content:space-between; padding:0 5cqw; border-bottom:.3cqw solid rgba(0,0,0,.08); }
.cv-ctpl.ctpl-memo .ct-memobar .l{ color:#e8a400; font-size:4cqw; font-weight:500; }
.cv-ctpl.ctpl-memo .ct-memobar .c{ color:#8a8a90; font-size:3cqw; font-weight:600; letter-spacing:.02em; }
.cv-ctpl.ctpl-memo .ct-t{ font-size:11cqw; font-weight:800; color:#1c1c1e; line-height:1.22; margin-top:3cqw; }
.cv-ctpl.ctpl-memo .ct-t em{ font-style:normal; background:linear-gradient(#ffe14d,#ffe14d); background-size:100% .5em; background-repeat:no-repeat; background-position:0 .9em; padding:0 .1em; color:#1c1c1e; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.cv-ctpl.ctpl-memo .ct-s{ font-size:4.4cqw; margin-top:5cqw; color:#3a3a3c; opacity:1; font-weight:500; }
/* 6) 金句 quote：大引号居中 */
.cv-ctpl.ctpl-quote{ justify-content:center; align-items:center; text-align:center; padding:12cqw 10cqw; }
.cv-ctpl.ctpl-quote::before{ content:"\201C"; position:absolute; top:6cqw; left:9cqw; font-size:26cqw; color:var(--c-accent); opacity:.25; font-family:Georgia,serif; line-height:1; }
.cv-ctpl.ctpl-quote .ct-t{ font-size:10.5cqw; line-height:1.32; }
.cv-ctpl.ctpl-quote .ct-s{ font-size:4cqw; margin-top:5cqw; }
/* 8) 网格杂志 grid：细网格底 + 主色竖条标题 + 栏目期号 */
.cv-ctpl.ctpl-grid{ justify-content:center; padding:11cqw 8cqw; background:var(--c-bg,#fff);
  background-image:linear-gradient(rgba(0,0,0,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.045) 1px,transparent 1px); background-size:11cqw 11cqw; }
.cv-ctpl.ctpl-grid .ct-kicker{ position:absolute; top:8cqw; left:8cqw; right:8cqw; display:flex; justify-content:space-between; font-size:3cqw; letter-spacing:.18em; color:var(--c-accent); font-weight:800; }
.cv-ctpl.ctpl-grid .ct-t{ font-size:12cqw; border-left:2.4cqw solid var(--c-accent); padding-left:4.5cqw; }
.cv-ctpl.ctpl-grid .ct-s{ font-size:4.4cqw; margin-top:5cqw; padding-left:4.5cqw; }
/* 9) 撞色 clash：上半主色块压大标题，下半白底副标题 */
.cv-ctpl.ctpl-clash{ padding:0; }
.cv-ctpl.ctpl-clash .ct-top{ background:var(--c-accent); min-height:55%; padding:10cqw 8cqw 8cqw; display:flex; align-items:flex-end; }
.cv-ctpl.ctpl-clash .ct-top .ct-t{ color:#fff; font-size:13.5cqw; letter-spacing:-.01em; }
.cv-ctpl.ctpl-clash .ct-top .ct-t em{ color:var(--c-accent); background:#fff; padding:0 1.4cqw; border-radius:1.4cqw; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.cv-ctpl.ctpl-clash .ct-s{ padding:7cqw 8cqw; font-size:4.8cqw; font-weight:700; color:var(--c-ink); }
/* 10) 弥散渐变 glow：柔光色斑底 + 居左大标题 */
.cv-ctpl.ctpl-glow{ justify-content:center; align-items:flex-start; padding:12cqw 9cqw; background:var(--c-bg,#fff); overflow:hidden; }
.cv-ctpl.ctpl-glow::before{ content:""; position:absolute; width:72cqw; height:72cqw; border-radius:50%; background:var(--c-accent); filter:blur(58px); opacity:.4; top:-22cqw; right:-16cqw; }
.cv-ctpl.ctpl-glow::after{ content:""; position:absolute; width:62cqw; height:62cqw; border-radius:50%; background:#8a7cff; filter:blur(64px); opacity:.3; bottom:-20cqw; left:-14cqw; }
.cv-ctpl.ctpl-glow .ct-t{ position:relative; font-size:12.5cqw; }
.cv-ctpl.ctpl-glow .ct-s{ position:relative; font-size:4.4cqw; margin-top:5cqw; }

/* 11) 艺术边框 frame：内缩双线框 + 四角直角标 */
.cv-ctpl.ctpl-frame{ justify-content:center; padding:13cqw 10cqw; background:var(--c-bg,#fff); }
.cv-ctpl.ctpl-frame::before{ content:""; position:absolute; inset:5cqw; border:.5cqw solid var(--c-ink); opacity:.18; }
.cv-ctpl.ctpl-frame .ct-corner{ position:absolute; width:6cqw; height:6cqw; border:.7cqw solid var(--c-accent); }
.cv-ctpl.ctpl-frame .ct-corner.tl{ top:5cqw; left:5cqw; border-right:none; border-bottom:none; }
.cv-ctpl.ctpl-frame .ct-corner.tr{ top:5cqw; right:5cqw; border-left:none; border-bottom:none; }
.cv-ctpl.ctpl-frame .ct-corner.bl{ bottom:5cqw; left:5cqw; border-right:none; border-top:none; }
.cv-ctpl.ctpl-frame .ct-corner.br{ bottom:5cqw; right:5cqw; border-left:none; border-top:none; }
.cv-ctpl.ctpl-frame .ct-t{ font-size:11.5cqw; text-align:center; }
.cv-ctpl.ctpl-frame .ct-s{ font-size:4.2cqw; margin-top:5cqw; text-align:center; }

/* 12) 斜角丝带 ribbon：右上角日期斜签 + 居左大标题 */
.cv-ctpl.ctpl-ribbon{ justify-content:center; padding:12cqw 9cqw; background:var(--c-bg,#fff); overflow:hidden; }
.cv-ctpl.ctpl-ribbon .ct-ribbon{ position:absolute; top:5cqw; right:-9cqw; transform:rotate(40deg); background:var(--c-accent); color:#fff; font-size:3.4cqw; font-weight:700; padding:1.4cqw 11cqw; letter-spacing:.05em; }
.cv-ctpl.ctpl-ribbon .ct-t{ font-size:12.5cqw; }
.cv-ctpl.ctpl-ribbon .ct-s{ font-size:4.4cqw; margin-top:5cqw; }

/* 13) 复古印章 stamp：圆形印章角标 + 衬线大字 */
.cv-ctpl.ctpl-stamp{ justify-content:center; padding:12cqw 9cqw; background:var(--c-bg,#fbf8f1); font-family:"Songti SC","Noto Serif SC",serif; }
.cv-ctpl.ctpl-stamp .ct-stamp{ position:absolute; top:7cqw; right:7cqw; width:15cqw; height:15cqw; border-radius:50%; border:.6cqw double var(--c-accent); color:var(--c-accent); display:flex; align-items:center; justify-content:center; font-size:3.6cqw; font-weight:800; transform:rotate(12deg); }
.cv-ctpl.ctpl-stamp .ct-t{ font-size:11.5cqw; }
.cv-ctpl.ctpl-stamp .ct-s{ font-size:4.2cqw; margin-top:5cqw; font-family:-apple-system,sans-serif; }
.cv-ctpl.ctpl-stamp .ct-foot{ position:absolute; bottom:7cqw; left:9cqw; font-size:2.8cqw; color:var(--c-ink); opacity:.45; letter-spacing:.1em; font-family:-apple-system,sans-serif; }

/* 14) 票根风 ticket：登机牌抬头 + 右侧打孔圆 */
.cv-ctpl.ctpl-ticket{ justify-content:center; padding:11cqw 9cqw; background:var(--c-bg,#fff); }
.cv-ctpl.ctpl-ticket .ct-tkhead{ position:absolute; top:7cqw; left:9cqw; right:9cqw; display:flex; justify-content:space-between; font-size:3cqw; letter-spacing:.16em; color:var(--c-accent); font-weight:800; border-bottom:.35cqw dashed var(--c-ink); opacity:.85; padding-bottom:2cqw; }
.cv-ctpl.ctpl-ticket .ct-t{ font-size:11.5cqw; margin-top:2cqw; }
.cv-ctpl.ctpl-ticket .ct-s{ font-size:4.2cqw; margin-top:4.5cqw; }
.cv-ctpl.ctpl-ticket .ct-tkhole{ position:absolute; right:-3.5cqw; top:50%; transform:translateY(-50%); width:7cqw; height:7cqw; border-radius:50%; background:var(--c-bg,#fff); border:.4cqw solid var(--c-ink); opacity:.25; }

/* 15) 暗夜霓虹 neon：深底发光描边大字 */
.cv-ctpl.ctpl-neon{ justify-content:center; align-items:flex-start; padding:12cqw 9cqw; background:#0c0d14; }
.cv-ctpl.ctpl-neon .ct-t{ font-size:13cqw; color:#fff; text-shadow:0 0 1.4cqw var(--c-accent),0 0 4cqw var(--c-accent); }
.cv-ctpl.ctpl-neon .ct-s{ font-size:4.4cqw; margin-top:5cqw; color:#fff; opacity:.75; }
.cv-ctpl.ctpl-neon .ct-t em{ color:var(--c-accent); text-shadow:0 0 1.6cqw var(--c-accent); }

/* 16) 撕纸层叠 paper：顶部纸带贴纸 + 手写感大字 */
.cv-ctpl.ctpl-paper{ justify-content:center; padding:13cqw 9cqw; background:var(--c-bg,#fbf7ee); }
.cv-ctpl.ctpl-paper .ct-papertape{ position:absolute; top:6cqw; left:50%; transform:translateX(-50%) rotate(-2deg); width:30cqw; height:6.5cqw; background:rgba(255,255,255,.7); box-shadow:0 1cqw 2cqw rgba(0,0,0,.08); }
.cv-ctpl.ctpl-paper .ct-t{ font-size:12cqw; margin-top:3cqw; }
.cv-ctpl.ctpl-paper .ct-s{ font-size:4.4cqw; margin-top:5cqw; }

/* ===== 顶栏两大下拉：内容生成 Agent / 获客 Agent ===== */
.ag-dd{ position:relative; display:inline-block; }
.ag-dd-btn{ display:inline-flex; align-items:center; gap:5px; height:34px; padding:0 13px; border-radius:999px; border:1px solid rgba(165,129,58,.2);
  background:#fff; color:var(--ink); font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap; transition:.15s; }
.ag-dd-btn:hover{ border-color:var(--cinnabar); }
.ag-dd-btn.on{ background:rgba(165,129,58,.08); color:var(--cinnabar-deep); border-color:rgba(165,129,58,.25); }
/* 当前所在功能：底部高亮条，明确告诉用户停在哪个界面 */
.ag-dd-btn.cur{ position:relative; font-weight:700; }
.ag-dd-btn.cur::after{ content:''; position:absolute; left:12px; right:12px; bottom:-8px; height:3px; border-radius:3px 3px 0 0; background:var(--cinnabar); box-shadow:0 -1px 6px -1px rgba(165,129,58,.6); }
.ag-dd-btn i{ font-style:normal; font-size:10px; opacity:.8; }
.ag-dd-menu{ position:absolute; top:calc(100% + 7px); left:0; min-width:212px; background:#fff; border:1px solid var(--line); border-radius:13px;
  box-shadow:0 18px 50px -18px rgba(0,0,0,.34); padding:6px; z-index:120; display:none; max-height:70vh; overflow:auto; }
.ag-dd.open .ag-dd-menu{ display:block; }
.ag-dd-h{ font-size:10.5px; color:var(--ink-soft); padding:6px 9px 3px; letter-spacing:.05em; }
.ag-dd-sep{ height:1px; background:var(--line); margin:5px 4px; }
.ag-dd-item{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border-radius:9px; font-size:13.5px; color:var(--ink); cursor:pointer; text-decoration:none; font-family:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC","SimSun",serif; font-weight:600; }
.ag-dd-item:hover{ background:rgba(165,129,58,.07); }
.ag-dd-item.on{ background:rgba(165,129,58,.1); font-weight:700; color:var(--cinnabar-deep); }
.ag-dd-item.add{ color:var(--cinnabar); font-weight:600; }
.ag-dd-item.disabled{ color:var(--ink-soft); cursor:default; }
.ag-dd-item.disabled:hover{ background:none; }
.ag-dd-item .trk-mine{ font-style:normal; font-size:9.5px; background:var(--cinnabar); color:#fff; border-radius:5px; padding:1px 4px; margin-left:3px; }
.ag-dd-item .soon{ font-style:normal; font-size:10px; color:#fff; background:#c9ccd1; border-radius:6px; padding:1px 6px; }
.ag-dd-x{ font-size:11px; color:var(--ink-soft); padding:0 4px; border-radius:5px; }
.ag-dd-x:hover{ background:rgba(0,0,0,.08); color:var(--cinnabar); }
/* 边栏「获客·账号矩阵」次要入口（弱化，避免跟「开始创作」抢视觉重点）*/
.ag-growth-cta{ display:flex; align-items:center; justify-content:center; gap:7px; margin:9px 4px 0; padding:10px;
  border-radius:14px; background:rgba(165,129,58,.08); color:#8a6a24; font-weight:600; font-size:13.5px;
  font-family:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC","SimSun",serif;
  border:1px solid rgba(165,129,58,.22); transition:background .15s; }
.ag-growth-cta:hover{ background:rgba(165,129,58,.14); }
.ag-growth-cta:active{ background:rgba(165,129,58,.18); }
/* 当前所在菜单高亮：让用户清楚停留在哪个模块 */
.ag-growth-cta.active{ background:rgba(165,129,58,.16); color:var(--cinnabar-deep); border-color:rgba(165,129,58,.5); font-weight:700; box-shadow:inset 3px 0 0 var(--cinnabar); }
.ag-create.active{ box-shadow:0 5px 14px -4px rgba(190,150,50,.5), inset 3px 0 0 var(--cinnabar-deep); }

/* 封面模板·微调（位置/对齐/字号）——叠加在各模板之上 */
.cv-ctpl.adj-top{ justify-content:flex-start; }
.cv-ctpl.adj-center{ justify-content:center; }
.cv-ctpl.adj-bottom{ justify-content:flex-end; }
.cv-ctpl.adj-ct{ align-items:center; text-align:center; }
.cv-ctpl.adj-ct .ct-t,.cv-ctpl.adj-ct .ct-s,.cv-ctpl.adj-ct .ct-cap{ text-align:center; }
.cv-ctpl.adj-left{ align-items:flex-start; text-align:left; }
.cv-ctpl.adj-left .ct-t,.cv-ctpl.adj-left .ct-s{ text-align:left; }
.cv-ctpl.tsz-sm .ct-t{ font-size:8.5cqw; }
.cv-ctpl.tsz-md .ct-t{ font-size:12cqw; }
.cv-ctpl.tsz-lg .ct-t{ font-size:16cqw; }

/* 健康状态点 */
.dot{ width:7px; height:7px; border-radius:999px; background:#c9ccd1; display:inline-block; }
.dot.ok{ background:#00c25e; } .dot.err{ background:var(--cinnabar); }

/* ============================================================
   全局外壳：左侧品牌边栏 + 顶部操作栏 + 右侧内容区（参考工作台范式）
   由 app.js 注入；色调=朱砂红。仅在 body.ag-shelled 时生效。
   ============================================================ */
:root{ --side-w:222px; }
body.ag-shelled{ padding-left:var(--side-w); transition:padding-left .25s ease; }
body.ag-shelled > header{ display:none !important; }            /* 隐藏各页旧顶栏 */

/* —— 左侧边栏（浅色渐变毛玻璃）—— */
.ag-side{ position:fixed; left:0; top:0; bottom:0; width:var(--side-w); z-index:95; contain:strict; will-change:transform;
  display:flex; flex-direction:column; padding:16px 13px 14px;
  background:var(--paper); color:var(--ink); border-right:1px solid var(--line);
  transition:transform .25s ease; }
html[data-theme="dark"] .ag-side{ background:var(--paper); border-right-color:#2c2c2e; }
.ag-brand{ display:flex; align-items:center; gap:10px; padding:6px 6px 14px; }
.ag-brand img{ width:34px; height:34px; border-radius:9px; }
.ag-brand .bn{ font-weight:800; font-size:15.5px; letter-spacing:.5px; line-height:1.05; color:var(--ink); }
.ag-brand .bs{ font-size:9px; letter-spacing:.22em; color:var(--ink-soft); }
/* 边栏唯一核心 CTA：开始创作——全站只留这一个强红色，其余入口都弱化，突出重点 */
.ag-create{ display:flex; align-items:center; justify-content:center; gap:7px; margin:6px 4px 0; padding:13px;
  border-radius:14px; background:linear-gradient(180deg,#f2e6c8,#e6d1a1); color:#7a5c1e; font-weight:700; font-size:15px;
  font-family:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC","SimSun",serif;
  box-shadow:0 5px 14px -4px rgba(190,150,50,.4), inset 0 1px 0 rgba(255,255,255,.55); transition:transform .14s ease, filter .15s; }
.ag-create:hover{ transform:translateY(-1px); filter:brightness(.96); }
.ag-create:active{ transform:translateY(0); filter:brightness(.92); }
.ag-side-hint{ margin:14px 6px 0; font-size:11.5px; line-height:1.7; color:var(--ink-soft); }
.ag-grow{ flex:1; }
.ag-usage{ background:var(--paper-2); border:1px solid var(--line); border-radius:14px; padding:12px 13px; }
.ag-usage .uprofile{ display:flex; align-items:center; gap:9px; margin-bottom:11px; }
.ag-usage .uava{ width:34px; height:34px; border-radius:50%; flex:none; display:grid; place-items:center; font-weight:700; font-size:15px; color:#fff; background:var(--cinnabar); }
.ag-usage .uinfo{ min-width:0; }
.ag-usage .unick{ font-weight:700; font-size:13.5px; color:var(--ink); line-height:1.15; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:120px; }
.ag-usage .ulvl{ font-size:10.5px; color:var(--cinnabar-deep); margin-top:2px; }
.ag-usage .row{ display:flex; align-items:center; gap:9px; font-size:12px; margin-bottom:9px; }
.ag-usage .row .v{ font-weight:800; font-size:15px; color:var(--cinnabar-deep); }
.ag-usage .row .l{ color:var(--ink-soft); font-size:11px; line-height:1.2; }
/* 次级：个人中心/退出用中性描边，避免和主 CTA「开始创作笔记」抢红 */
.ag-usage .uout{ width:100%; margin-top:2px; background:#fff; border:1px solid var(--line);
  color:var(--ink-soft); border-radius:10px; padding:8px 0; font-size:12px; font-weight:600; cursor:pointer; transition:.15s; }
.ag-usage .uout:hover{ background:rgba(0,0,0,.03); color:var(--ink); }

/* —— 顶栏赛道选择 chips —— */
.ag-tracks{ display:flex; align-items:center; gap:9px; flex-wrap:nowrap; overflow:visible; margin-left:4px; padding:2px 0; scrollbar-width:none; }
.ag-tracks::-webkit-scrollbar{ display:none; }
.ag-trk{ display:inline-flex; align-items:center; gap:5px; height:32px; padding:0 13px; border-radius:999px; font-size:13px;
  font-weight:500; white-space:nowrap; background:var(--paper-2); color:var(--ink); border:1px solid transparent; cursor:pointer; transition:.15s; }
.ag-trk:hover{ background:var(--line); }
.ag-trk.on{ background:var(--cinnabar); color:#fff; }
.ag-trk.add{ background:transparent; border:1px dashed rgba(165,129,58,.4); color:var(--cinnabar-deep); }
.ag-trk.own:not(.on){ border-color:rgba(165,129,58,.28); }
.ag-trk .trk-mine{ font-size:9px; font-weight:700; font-style:normal; background:var(--cinnabar); color:#fff; border-radius:4px; padding:1px 4px; margin-left:3px; }
.ag-trk.on .trk-mine{ background:#fff; color:var(--cinnabar); }
.ag-trk-x{ opacity:.7; font-size:11px; margin-left:1px; padding:0 1px; }
.ag-trk-x:hover{ opacity:1; }
/* 当前智能体标识 + 人设设置入口 */
.ag-myagent{ display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 13px; border-radius:999px;
  background:rgba(165,129,58,.1); color:var(--cinnabar-deep); font-weight:700; font-size:13px; white-space:nowrap; transition:.15s; }
.ag-myagent:hover{ background:rgba(165,129,58,.17); }
.ag-myagent .gear{ opacity:.6; }
.ag-tracks-div{ flex:none; width:1px; height:18px; background:var(--line); margin:0 4px; }
/* 工作台旧的赛道选择区移到顶栏后，隐藏内容区里的那块 */
body.ag-shelled #trackSection{ display:none !important; }

/* —— 顶部操作栏 —— */
.ag-top{ position:sticky; top:0; z-index:80; height:58px; display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:0 26px; background:color-mix(in srgb,var(--paper) 96%, transparent); contain:layout style;
  border-bottom:1px solid var(--line); }
.ag-top-l{ display:flex; align-items:center; gap:12px; min-width:0; }
.ag-title{ font-weight:700; font-size:16px; letter-spacing:.3px; white-space:nowrap; }
.ag-sub{ font-size:12px; color:var(--ink-soft); }
.ag-top-r{ display:flex; align-items:center; gap:8px; }
.ag-tbtn{ display:inline-flex; align-items:center; gap:6px; height:36px; padding:0 15px; border-radius:var(--r-pill); font-size:13px;
  font-weight:500; color:var(--ink); background:var(--paper-2); border:1px solid transparent; cursor:pointer; transition:.15s; white-space:nowrap; }
.ag-tbtn:hover{ background:var(--line); transform:translateY(-1px); }
/* 顶栏「充值」弱化为浅底红字，跟边栏「开始创作」的实心红区分主次，避免一屏多个红块抢视觉 */
.ag-tbtn.primary{ background:rgba(165,129,58,.08); color:var(--cinnabar-deep); font-weight:600; }
.ag-tbtn.primary:hover{ background:rgba(165,129,58,.14); }
.ag-tbtn.acct{ background:rgba(165,129,58,.08); color:var(--cinnabar-deep); font-weight:600; }
.ag-tbtn.gift{ background:var(--gold-bg); color:var(--gold); font-weight:600; }
.ag-tbtn.gift:hover{ filter:brightness(.98); background:var(--gold-bg); }
.ag-tbtn.admin{ background:rgba(43,58,82,.1); color:var(--indigo,#2b3a52); font-weight:600; }
.ag-tbtn.admin:hover{ background:rgba(43,58,82,.18); }
html[data-theme="dark"] .ag-tbtn.admin{ background:rgba(120,140,170,.18); color:#aebbcf; }
.ag-burger{ display:none; width:36px; height:36px; border-radius:10px; border:none; background:var(--paper-2); font-size:17px; cursor:pointer; }
.ag-drop{ position:relative; }
.ag-menu{ display:none; position:absolute; right:0; top:calc(100% + 7px); background:var(--paper); border:1px solid var(--line);
  border-radius:13px; box-shadow:0 16px 40px -12px rgba(0,0,0,.28); padding:6px; min-width:170px; z-index:120; }
.ag-menu a{ display:flex; align-items:center; gap:8px; padding:9px 11px; border-radius:9px; font-size:13px; color:var(--ink); white-space:nowrap; cursor:pointer; }
.ag-menu a:hover{ background:var(--paper-2); }
.ag-drop:hover .ag-menu, .ag-drop.open .ag-menu{ display:block; }
.ag-menu a{ cursor:pointer; }
.uout-row{ display:flex; gap:7px; }
.uout-row .uout{ flex:1; }

/* 内容区留白：各页 main 顶部间距随顶栏 */
body.ag-shelled > main, body.ag-shelled > .ag-page{ }

/* —— 响应式：窄屏边栏抽屉化 —— */
@media (max-width:880px){
  body.ag-shelled{ padding-left:0; }
  .ag-side{ transform:translateX(-100%); box-shadow:0 0 0 100vmax rgba(0,0,0,0); }
  body.ag-side-open .ag-side{ transform:translateX(0); box-shadow:8px 0 40px -8px rgba(0,0,0,.4); }
  body.ag-side-open::after{ content:''; position:fixed; inset:0; z-index:90; background:rgba(0,0,0,.4); }
  .ag-burger{ display:inline-flex; align-items:center; justify-content:center; }
}

/* 账户页·近期流水时间线 */
.ag-timeline{ position:relative; }
.tl-row{ display:flex; gap:11px; align-items:flex-start; padding:9px 0; position:relative; }
.tl-row:not(:last-child)::before{ content:''; position:absolute; left:13px; top:30px; bottom:-9px; width:1.5px; background:var(--line); }
.tl-dot{ flex:none; width:28px; height:28px; border-radius:50%; background:var(--paper-2); border:1px solid var(--line); display:grid; place-items:center; font-size:14px; z-index:1; }
.tl-body{ flex:1; min-width:0; }
.tl-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.tl-label{ font-size:13px; font-weight:600; }
.tl-amt{ font-size:13px; font-weight:700; white-space:nowrap; }
.tl-sub{ font-size:11px; color:var(--ink-soft); margin-top:2px; line-height:1.5; }
