/* ==========================================================
   把 AI 真正用起来 · 网页讲义共用样式（风格 C · 台阶）
   所有尺寸用 rem，A− / A+ 改根字号即可整页缩放
   ========================================================== */
:root{
  --paper:#FFFFFF; --soft:#F4F5F7; --soft2:#ECEEF1;
  --ink:#14171C; --ink2:#4A515C; --ink3:#8A919C; --line:#E3E6EA;
  --l0:#5E6875; --l0t:#E8EBEE;
  --l1:#2463D1; --l1t:#DCE7FA;
  --l2:#F2A007; --l2t:#FDEBC4; --l2d:#B87800;
  --l3:#0E9460; --l3t:#D3EFE3;
  --l4:#D23A68; --l4t:#F8DCE5;
  --red:#D23A3A; --redt:#FBE7E7;
  --sans:"DeckSans","Noto Sans CJK SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --num:"DeckNum","DeckSans","Noto Sans CJK SC",sans-serif;
  --mono:"Consolas","Menlo","DeckSans",monospace;
  --c:var(--ink); --ct:var(--soft); --cx:var(--ink); --con:#fff;
  --wrap:76rem;
}
body.ch-ai{--c:var(--l0);--ct:var(--l0t);--cx:var(--l0)}
body.ch-l1{--c:var(--l1);--ct:var(--l1t);--cx:var(--l1)}
body.ch-l2{--c:var(--l2);--ct:var(--l2t);--cx:var(--l2d);--con:var(--ink)}
body.ch-l3{--c:var(--l3);--ct:var(--l3t);--cx:var(--l3)}
body.ch-l4{--c:var(--l4);--ct:var(--l4t);--cx:var(--l4)}
.c0{--c:var(--l0);--ct:var(--l0t);--cx:var(--l0);--con:#fff}
.c1{--c:var(--l1);--ct:var(--l1t);--cx:var(--l1);--con:#fff}
.c2{--c:var(--l2);--ct:var(--l2t);--cx:var(--l2d);--con:var(--ink)}
.c3{--c:var(--l3);--ct:var(--l3t);--cx:var(--l3);--con:#fff}
.c4{--c:var(--l4);--ct:var(--l4t);--cx:var(--l4);--con:#fff}
.cr{--c:var(--red);--ct:var(--redt);--cx:var(--red);--con:#fff}

*{margin:0;padding:0;box-sizing:border-box}
html{font-size:17px;scroll-behavior:smooth;scroll-padding-top:5rem}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.65;font-size:1.12rem;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
img{max-width:100%}
b,strong{font-weight:700}
main{transform-origin:0 0;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
body.magmode main,body.magmode main *{cursor:zoom-in!important}
body.magged main,body.magged main *{cursor:zoom-out!important}

/* ---------- 顶部导航 ---------- */
.tb{position:sticky;top:0;z-index:60;font-size:17px;height:3.7em;background:rgba(255,255,255,.95);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:1.2em;padding:0 1.4em}
.tb-home{display:flex;align-items:center;gap:.6em;text-decoration:none;font-weight:900;font-size:1em;white-space:nowrap;color:var(--ink)}
.tb-home svg{width:1.7em;height:1.7em;flex:none}
.tb-steps{display:flex;align-items:center;gap:.25em;flex:1;min-width:0;overflow:hidden}
.tb-steps a{font-size:.82em;text-decoration:none;color:var(--ink3);padding:.32em .7em;border-radius:99px;white-space:nowrap;border:1.5px solid transparent}
.tb-steps a:hover{color:var(--ink);background:var(--soft)}
.tb-steps a.on{color:var(--con);background:var(--c);font-weight:700}
.tb-steps a.dn{color:var(--ink2)}
.tb-steps i{width:.9em;height:1.5px;background:var(--line);flex:none}
.tb-r{display:flex;align-items:center;gap:.25em;flex:none}
.tb-r button,.tb-r a{font:500 .85em var(--sans);border:0;background:transparent;color:var(--ink2);padding:.42em .6em;border-radius:.5em;cursor:pointer;text-decoration:none;white-space:nowrap}
.tb-r button:hover,.tb-r a:hover{background:var(--soft);color:var(--ink)}
.tb-r button.on{background:var(--ink);color:#fff}
.tb-r .pg{font-family:var(--num);font-weight:700;font-size:.85em;color:var(--ink);min-width:3.6em;text-align:center}
.tb-r .zl{font-size:.78em;color:var(--ink3);min-width:2.6em;text-align:center;font-variant-numeric:tabular-nums}
.tb-r .sep{width:1px;height:1.3em;background:var(--line);margin:0 .25em}
.prog{position:fixed;left:0;top:62.9px;height:3px;background:var(--c);z-index:61;width:0;transition:width .1s linear}

/* ---------- 目录抽屉 ---------- */
.toc{position:fixed;inset:0;z-index:80;background:rgba(20,23,28,.4);display:none}
.toc.open{display:block}
.toc .pn{position:absolute;right:0;top:0;bottom:0;width:min(34rem,92vw);background:#fff;overflow:auto;padding:1.6rem 1.8rem 3rem;box-shadow:-10px 0 40px rgba(0,0,0,.15)}
.toc h2{font-size:1.4rem;font-weight:900;display:flex;justify-content:space-between;align-items:center}
.toc h2 button{font:500 .9rem var(--sans);border:0;background:var(--soft);padding:.4rem .8rem;border-radius:.5rem;cursor:pointer}
.toc .tch{margin-top:1.4rem;border-top:5px solid var(--c);padding-top:.7rem}
.toc .tch h3{font-size:.95rem;font-weight:900;margin-bottom:.3rem}
.toc .tch a{display:flex;gap:.8rem;text-decoration:none;font-size:.95rem;padding:.38rem .5rem;border-radius:.4rem;color:var(--ink2)}
.toc .tch a span{font-family:var(--num);font-weight:700;color:var(--ink3);min-width:1.8rem}
.toc .tch a:hover{background:var(--soft);color:var(--ink)}
.toc .tch a.cur{background:var(--ink);color:#fff}.toc .tch a.cur span{color:#fff}

/* ---------- 版心 ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 2.4rem}
.hero{padding:3rem 0 2.2rem;border-bottom:1px solid var(--line)}
.kicker{display:flex;align-items:center;gap:.8rem;font-size:.95rem;color:var(--ink3)}
.kicker .tg{display:inline-block;background:var(--c);color:var(--con);font-weight:700;padding:.18rem .75rem;font-size:.9rem}
h1.title{font-size:3.1rem;font-weight:900;line-height:1.15;margin-top:.9rem;letter-spacing:.005em}
.lead{font-size:1.3rem;color:var(--ink2);margin-top:.9rem;max-width:56rem;line-height:1.6}

section.sec{padding:3.2rem 0 .6rem}
.sh{display:flex;align-items:center;gap:.9rem}
.sh .no{flex:none;width:2.4rem;height:2.4rem;background:var(--c);color:var(--con);font-weight:900;font-size:1.15rem;display:flex;align-items:center;justify-content:center}
.sh h2{font-size:2rem;font-weight:900;line-height:1.25}
.ss{font-size:1.12rem;color:var(--ink2);margin:.6rem 0 0 3.3rem;max-width:58rem}
.sb{margin-top:1.6rem}

.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(24rem,1fr));gap:2rem}
.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.8rem}
.g4{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.6rem}
.g5{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1.4rem}

/* 色条栏目 */
.col{border-top:.5rem solid var(--c);padding-top:1rem}
.col h3{font-size:1.5rem;font-weight:900;line-height:1.25;color:var(--cx)}
.col .q{font-size:1.02rem;color:var(--ink3);margin-top:.2rem}
.col p{font-size:1.05rem;line-height:1.6;margin-top:.6rem;color:var(--ink2)}
.col p.eg{color:var(--ink);background:var(--soft);padding:.7rem .9rem;margin-top:.8rem}
.panel{background:var(--soft);padding:1.3rem 1.5rem}
.panel h3{font-size:1.25rem;font-weight:900}
.panel p{font-size:1.04rem;color:var(--ink2);margin-top:.4rem}
.hl{padding:.12rem .1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:var(--ct)}
.k{color:var(--cx)}
.dim{color:var(--ink3)}
.small{font-size:.92rem}
.tag{display:inline-block;font-size:.8rem;font-weight:700;color:var(--con);background:var(--c);padding:.12rem .5rem;vertical-align:middle}

/* 关键句 */
.callout{display:flex;gap:1.1rem;align-items:center;background:var(--ink);color:#fff;padding:1.2rem 1.6rem;font-size:1.3rem;font-weight:700;line-height:1.5;margin-top:1.8rem}
.callout::before{content:"";flex:none;width:.5rem;align-self:stretch;background:var(--c)}
.note{font-size:.92rem;color:var(--ink3);margin-top:.9rem;line-height:1.6}
.conclude{margin:3.4rem 0 1rem;border-left:.5rem solid var(--c);background:var(--soft);padding:1.3rem 1.6rem}
.conclude .lb{font-size:.85rem;color:var(--ink3);font-weight:700}
.conclude p{font-size:1.3rem;font-weight:700;margin-top:.3rem;line-height:1.55}

/* 提示词框 */
.prompt{position:relative;background:var(--soft);border-left:.4rem solid var(--c);padding:1.1rem 1.4rem;font-size:1.08rem;line-height:1.7}
.prompt .lb{font-size:.85rem;color:var(--ink3);margin-bottom:.25rem;font-weight:500}
.prompt .fill{color:var(--cx);font-weight:700}
.copy{position:absolute;right:.6rem;top:.55rem;font:500 .78rem var(--sans);color:var(--ink3);background:#fff;border:1px solid var(--line);padding:.2rem .6rem;border-radius:.35rem;cursor:pointer}
.copy:hover{color:var(--ink);border-color:var(--ink3)}
.copy.ok{color:var(--l3);border-color:var(--l3)}

/* 表格 */
table.tb2{width:100%;border-collapse:collapse;font-size:1.02rem;line-height:1.55}
table.tb2 th{text-align:left;font-size:.85rem;color:var(--ink3);font-weight:500;padding:0 .9rem .6rem;border-bottom:2.5px solid var(--ink)}
table.tb2 td{padding:.85rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}
table.tb2 td.nm{font-weight:900;font-size:1.12rem;white-space:nowrap}
table.tb2 td.nm small{display:block;font-size:.8rem;font-weight:400;color:var(--ink3)}
table.tb2 tr:hover td{background:#FAFBFC}

.chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chip{font-size:.92rem;padding:.25rem .8rem;border:1.5px solid var(--line);border-radius:99px;color:var(--ink2);background:#fff;white-space:nowrap}
.chip.on{border-color:var(--c);color:var(--cx);font-weight:700}

/* ---------- 上下页 ---------- */
.pager{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin:3.6rem 0 0;padding:2rem 0 4rem;border-top:1px solid var(--line)}
.pager a{display:block;text-decoration:none;padding:1.1rem 1.3rem;border:1.5px solid var(--line);transition:border-color .2s}
.pager a:hover{border-color:var(--ink)}
.pager a small{display:block;font-size:.85rem;color:var(--ink3)}
.pager a b{display:block;font-size:1.15rem;font-weight:900;margin-top:.2rem}
.pager a.nx{text-align:right}
.pager span{display:block}

/* ---------- 动效：数字、条形、出现 ---------- */
[data-count]{font-variant-numeric:tabular-nums}
.bar{position:relative;height:1rem;background:var(--soft)}
.bar>i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--c);transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.rv{opacity:0;transform:translateY(1.2rem);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
.replay{font:500 .85rem var(--sans);border:1.5px solid var(--line);background:#fff;color:var(--ink2);padding:.3rem .8rem;cursor:pointer}
.replay:hover{border-color:var(--ink3);color:var(--ink)}

/* ---------- 演示回放：对话 ---------- */
.chat{display:flex;flex-direction:column;border:1.5px solid var(--line);background:#fff;overflow:hidden}
.chat .hd{display:flex;align-items:center;gap:.6rem;height:2.8rem;padding:0 1rem;border-bottom:1.5px solid var(--line);font-size:.92rem;color:var(--ink2);flex:none}
.chat .hd .dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--c)}
.chat .hd .nm{font-weight:700;color:var(--ink)}
.chat .bd{flex:1;overflow:auto;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.9rem;scroll-behavior:smooth}
.msg{max-width:88%;font-size:1rem;line-height:1.65;padding:.75rem 1rem;white-space:pre-wrap;word-break:break-word}
.msg.u{align-self:flex-end;background:var(--ink);color:#fff}
.msg.a{align-self:flex-start;background:var(--soft);color:var(--ink)}
.msg.a b{color:var(--cx)}
.msg .file{display:inline-block;font-size:.82rem;background:#fff;color:var(--ink2);border:1px solid var(--line);padding:.1rem .5rem;margin:0 .35rem .35rem 0;white-space:nowrap}
.msg.u .file{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.3)}
.think{align-self:flex-start;font-size:.92rem;color:var(--ink3);display:flex;gap:.35rem;align-items:center}
.think i{width:.4rem;height:.4rem;border-radius:50%;background:var(--ink3);animation:blink 1s infinite}
.think i:nth-child(2){animation-delay:.2s}.think i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,100%{opacity:.25}50%{opacity:1}}
.ctl{display:flex;gap:.45rem;align-items:center;flex:none;padding:.55rem .8rem;border-top:1.5px solid var(--line);background:#FAFBFC}
.ctl button{font:500 .85rem var(--sans);padding:.32rem .8rem;border:1px solid var(--line);background:#fff;color:var(--ink2);cursor:pointer;border-radius:.4rem}
.ctl button.pri{background:var(--c);color:var(--con);border-color:var(--c);font-weight:700}
.ctl button:hover{border-color:var(--ink3)}
.stamp{display:inline-block;font-size:.82rem;font-weight:700;color:var(--red);border:2px solid var(--red);padding:0 .4rem;margin-left:.4rem;transform:rotate(-4deg);opacity:0;transition:opacity .3s}
.stamp.show{opacity:1}

/* ---------- 演示回放：智能体（老板 → 大总管 → 小弟） ---------- */
.agent{display:grid;grid-template-columns:minmax(18rem,22rem) minmax(0,1fr);border:1.5px solid var(--line);background:#fff;height:34rem}
.agent .lft{border-right:1.5px solid var(--line);display:flex;flex-direction:column;min-height:0;overflow:hidden}
.agent .ask{padding:.9rem 1.1rem;font-size:.95rem;line-height:1.6;background:var(--ink);color:#fff;flex:none}
.agent .ask .lb{font-size:.78rem;opacity:.6;margin-bottom:.15rem}
.agent .ask em{font-style:normal;color:#8FE3BC}
.agent .steps{flex:1;min-height:0;padding:.5rem 1rem;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none;scroll-behavior:smooth}
.agent .steps::-webkit-scrollbar{display:none}
.st{display:flex;gap:.6rem;align-items:flex-start;font-size:.93rem;line-height:1.4;padding:.3rem .1rem;opacity:.28;transition:opacity .3s;flex:none}
.st.run,.st.done{opacity:1}
.st .ico{flex:none;width:1.15rem;height:1.15rem;border-radius:50%;border:2px solid var(--line);margin-top:.12rem;position:relative}
.st.run .ico{border-color:var(--c);border-top-color:transparent;animation:spin .8s linear infinite}
.st.done .ico{background:var(--c);border-color:var(--c)}
.st.done .ico::after{content:"";position:absolute;left:.3rem;top:.1rem;width:.3rem;height:.55rem;border:solid var(--con);border-width:0 2px 2px 0;transform:rotate(45deg)}
.st.wait .ico{border-color:var(--l2);background:var(--l2t)}
.st .tx small{display:block;font-size:.8rem;color:var(--ink3)}
.st .who{display:inline-block;font-size:.72rem;font-weight:700;padding:0 .35rem;margin-right:.3rem;vertical-align:1px;background:var(--soft);color:var(--ink2)}
.st .who.m{background:var(--c);color:var(--con)}
@keyframes spin{to{transform:rotate(360deg)}}
.agent .rgt{position:relative;display:flex;flex-direction:column;min-height:0}
.agent .hd2{height:2.6rem;display:flex;align-items:center;padding:0 1.1rem;border-bottom:1.5px solid var(--line);font-size:.85rem;color:var(--ink3);gap:.6rem;flex:none}
.agent .hd2{gap:.3rem;padding:0 .6rem}
.ptabs{display:flex;gap:.15rem;flex-wrap:nowrap;overflow:hidden}
.ptabs button{font:500 .8rem var(--sans);border:0;background:transparent;color:var(--ink3);padding:.25rem .55rem;cursor:pointer;white-space:nowrap}
.ptabs button:hover{background:var(--soft);color:var(--ink)}
.ptabs button.on{background:var(--c);color:var(--con);font-weight:700}
.hdr{margin-left:auto;white-space:nowrap;font-size:.78rem}
.agent .out{flex:1;position:relative;overflow:hidden}
.agent .pane{position:absolute;inset:0;padding:1.1rem 1.3rem;opacity:0;transition:opacity .45s;overflow:hidden}
.agent .pane.show{opacity:1}
.ph1{font-size:1.05rem;font-weight:900;color:var(--cx);margin-bottom:.6rem}
/* 任务看板 */
.board{display:flex;flex-direction:column;gap:.7rem}
.mgr{display:flex;align-items:center;gap:.7rem;background:var(--ct);padding:.6rem .8rem;font-size:.95rem}
.mgr b{background:var(--c);color:var(--con);font-size:.8rem;padding:.1rem .5rem;flex:none}
.lane{display:grid;grid-template-columns:10rem 1fr 3.4rem;align-items:center;gap:.8rem;font-size:.92rem}
.lane .wk{font-weight:700;white-space:nowrap}
.lane .wk small{display:block;font-weight:400;color:var(--ink3);font-size:.78rem;white-space:normal}
.lane .tr{height:.75rem;background:var(--soft);position:relative;overflow:hidden}
.lane .tr i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--c)}
.pane.show .lane .tr i{animation:fillw var(--d,2.2s) cubic-bezier(.3,.6,.3,1) forwards}
.lane .pc{font-family:var(--num);font-weight:700;font-size:.85rem;text-align:right;color:var(--ink3)}
.pane.show .lane .pc{animation:okc .1s linear forwards;animation-delay:var(--d,2.2s)}
@keyframes fillw{to{width:100%}}
@keyframes okc{to{color:var(--l3)}}
/* 验收清单 */
.chk{display:flex;flex-direction:column;gap:.55rem}
.chk div{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem;padding:.55rem .8rem;background:var(--soft);opacity:0;transform:translateX(-.6rem)}
.chk div::before{content:"✓";flex:none;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--l3);color:#fff;font-weight:900;font-size:.85rem;display:flex;align-items:center;justify-content:center;margin-top:.05rem}
.pane.show .chk div{animation:chkin .4s ease forwards}
.pane.show .chk div:nth-child(2){animation-delay:.35s}.pane.show .chk div:nth-child(3){animation-delay:.7s}.pane.show .chk div:nth-child(4){animation-delay:1.05s}.pane.show .chk div:nth-child(5){animation-delay:1.4s}
.chk div.warn::before{content:"!";background:var(--l2);color:var(--ink)}
@keyframes chkin{to{opacity:1;transform:none}}

/* 图片 / 视频 占位 */
.slot{position:relative;background:var(--soft);overflow:hidden;aspect-ratio:4/3}
.slot img,.slot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.slot .ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:.9rem 1rem;background:repeating-linear-gradient(135deg,#F4F5F7 0 14px,#EEF0F3 14px 28px)}
.slot .ph .pt{font-size:.92rem;line-height:1.55;color:var(--ink2)}
.slot .ph .pf{font-size:.75rem;color:var(--ink3);margin-top:.35rem;font-family:var(--mono)}
.slot.has .ph{display:none}
.cap{font-size:.95rem;color:var(--ink2);line-height:1.5;margin-top:.5rem}
.cap b{color:var(--ink)}

/* 嵌入作品 */
.work .frame{position:relative;border:1.5px solid var(--line);background:#fff;overflow:hidden;height:24rem}
.work iframe{border:0;width:100%;height:100%;display:block}
.work .wn{display:flex;align-items:baseline;justify-content:space-between;margin-top:.7rem}
.work .wn b{font-size:1.2rem;font-weight:900}
.work .wn a{font-size:.85rem;color:var(--ink3);text-decoration:none;border-bottom:1px solid var(--line)}
.work .say{font-size:.95rem;line-height:1.55;color:var(--ink2);margin-top:.3rem}
.work .say::before{content:"提的要求：";color:var(--cx);font-weight:700}

@media (max-width:1560px){
  .tb-steps a{padding:.3em .5em;font-size:.78em}.tb-steps i{width:.4em}
  .tb-r button,.tb-r a{padding:.4em .45em}
}
@media (max-width:1360px){
  .tb-home{font-size:0;gap:0}.tb-r .sep,.tb-r .zl{display:none}
}
@media (max-width:900px){
  html{font-size:15px}
  .tb-steps{display:none}
  .wrap{padding:0 1.2rem}
  h1.title{font-size:2.3rem}
  .agent{grid-template-columns:1fr;height:auto}
  .agent .lft{max-height:22rem}
  .agent .out{min-height:26rem}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01s!important;transition-duration:.01s!important}
}
@media print{.tb,.prog,.pager,.toc{display:none}}

/* ---------- 章节台阶条（目录融入每一级的第一页） ---------- */
.band{display:flex;align-items:flex-end;gap:2.4rem;margin-top:2rem;padding-top:1.4rem;border-top:1px dashed var(--line)}
.bd-st{display:flex;align-items:flex-end;gap:.25rem;flex:none}
.bd-s{display:flex;flex-direction:column;justify-content:flex-end;width:6.4rem;height:var(--h);padding:.45rem .6rem;background:var(--soft2);color:var(--ink3);text-decoration:none;transition:transform .2s}
.bd-s:hover{transform:translateY(-.2rem)}
.bd-s small{font-size:.72rem;line-height:1.2}
.bd-s b{font-size:1rem;font-weight:900;line-height:1.25}
.bd-s.on{background:var(--c);color:var(--con)}
.bd-tx{flex:1;min-width:16rem}
.bd-r{display:flex;align-items:center;gap:.7rem;font-size:1.12rem;font-weight:700;padding:.25rem 0}
.bd-r span{flex:none;width:2.6rem;text-align:center;font-size:.8rem;font-weight:900;padding:.1rem 0;background:var(--ink);color:#fff}
.bd-r.ai span{background:var(--c);color:var(--con)}
.bd-n{font-size:.95rem;color:var(--ink3);margin-top:.35rem}

/* ---------- 智能体：老板交代 ---------- */
.agw{display:flex;flex-direction:column}
.agw .ctl{border:1.5px solid var(--line);border-top:0}
.agent .ask .g{font-weight:700}
.agent .ask em{display:inline-block;font-style:normal;font-size:.75rem;font-weight:700;color:#14171C;background:#8FE3BC;padding:0 .4rem;margin-right:.2rem;vertical-align:1px}
.agent .ask .cr{margin-top:.5rem}
.agent .ask .cr em{background:#FFD27A}
.agent .ask ol{margin:.25rem 0 0 1.2rem;font-size:.88rem;line-height:1.5;opacity:.92}
.agent .ask .ru{margin-top:.5rem;font-size:.82rem;opacity:.7}

/* ---------- 通用进场动画（容器加 data-anim，进入视野后得到 .play） ---------- */
[data-anim] .pop{opacity:0;transform:translateY(.8rem) scale(.96);transition:opacity .55s ease,transform .6s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * 140ms)}
[data-anim].play .pop{opacity:1;transform:none}
[data-anim] .draw{stroke-dasharray:1;stroke-dashoffset:1}
[data-anim].play .draw{animation:draw var(--dd,1.2s) ease forwards;animation-delay:calc(var(--i,0) * 160ms)}
@keyframes draw{to{stroke-dashoffset:0}}
[data-anim] .flow{stroke-dasharray:.04 .03;animation:flow 1.4s linear infinite;animation-play-state:paused}
[data-anim].play .flow{animation-play-state:running}
@keyframes flow{to{stroke-dashoffset:-.07}}
[data-anim] .rise{transform:scaleY(0);transform-origin:bottom;transition:transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * 140ms)}
[data-anim].play .rise{transform:none}
.rpl{display:flex;justify-content:flex-end;margin-top:.6rem}

/* v3 colour */
:root{--lv:#6B4FD8;--lvt:#E7E1FB;--lead:#262C35}
body.ch-ai{--c:var(--lv);--ct:var(--lvt);--cx:var(--lv)}
.c0{--c:var(--lv);--ct:var(--lvt);--cx:var(--lv);--con:#fff}
body:not([class*="ch-"]){--c:#14171C;--ct:#EEF1F6;--cx:#2463D1}
.hero{border-bottom:0;margin-top:1.8rem;padding:2.2rem 2.2rem 2rem;border-left:.5rem solid var(--c);background:linear-gradient(100deg,var(--ct) 0%,rgba(255,255,255,0) 78%)}
.kicker{color:var(--cx);font-weight:500}
.lead{color:var(--lead)}
.ss{color:#39404B;border-left:3px solid var(--ct);padding-left:.9rem;margin-left:3.3rem}
.sh h2{background:linear-gradient(transparent 68%,var(--ct) 68%);padding:0 .2rem}
.col p{color:#333A45}
.col .q{color:var(--cx);opacity:.85}
.conclude{background:var(--ct)}
.conclude .lb{color:var(--cx)}
table.tb2 th{color:var(--cx);border-bottom-color:var(--c);font-weight:700}
.panel p,.cap{color:#39404B}
.band{border-top:0}
/* 顶部导航：默认收起 */
body.navhide .tb,body.navhide .prog{display:none}
.navtog{position:fixed;right:.5rem;top:.45rem;z-index:70;width:2rem;height:2rem;border:0;border-radius:50%;background:rgba(20,23,28,.06);color:var(--ink3);font-size:1rem;cursor:pointer;opacity:.35;transition:opacity .2s}
.navtog:hover{opacity:1;background:var(--ink);color:#fff}
body:not(.navhide) .navtog{top:4.3rem;opacity:.6}
@media print{.navtog{display:none}}
.prompt .file{display:inline-block;font-size:.82rem;background:#fff;border:1px solid var(--line);padding:.05rem .5rem;margin-right:.4rem;white-space:nowrap}
