/* 统筹版通用版式：全黑舞台、钛银标题、唯一强调色火焰橙。
   每种版式的类名以 L- 开头，由 slides.js 根据数据生成。 */
:root{--f1:#ffc46b;--f2:#ff7a1a;--f3:#ff3b1f;--card:#161617;--card2:#1d1d1f}
.hot{background:linear-gradient(100deg,var(--f1),var(--f2) 50%,var(--f3));-webkit-background-clip:text;background-clip:text;color:transparent}
.hotc{color:var(--f2)}
.dim{color:var(--dim)}
.dk{color:var(--dark)}
.ti .dim,.ti .dk{-webkit-text-fill-color:currentColor}
.kick{position:absolute;left:110px;top:84px;font-size:30px;font-weight:600;color:var(--f2);letter-spacing:.04em;z-index:3}
.kick .dim{margin-left:14px;color:#6e6e73;font-weight:500}
.big-ghost{position:absolute;font-weight:800;color:#fff;opacity:.04;line-height:1;white-space:nowrap;pointer-events:none}
.foot{position:absolute;left:0;right:0;bottom:84px;text-align:center;font-size:60px;font-weight:700;letter-spacing:-.01em}
.rule{width:1px;background:#2c2c2e;flex:none}
.pane{position:relative;overflow:hidden;transition:flex 1.2s var(--ease),opacity 1s var(--ease),filter 1s var(--ease)}
/* 逐字点亮 */
.lightup i{font-style:normal;color:#2c2c2e;transition:color .5s var(--ease)}
.on .lightup i,.lightup.on i,.cur .lightup i,.show .lightup i{color:var(--txt)}
.on .lightup i.h,.lightup.on i.h,.cur .lightup i.h,.show .lightup i.h{color:var(--f2)}
/* 只显示「最近一步」的元素（.only），由 slides.js 标记 .show */
.only{opacity:0;transform:translateY(40px);filter:blur(12px);transition:opacity .7s var(--ease),transform .9s var(--ease),filter .7s var(--ease);pointer-events:none}
.only.show{opacity:1;transform:none;filter:none}
.only.gone{transform:translateY(-40px)}
/* 入场（复用 apple.css 的 [data-s]），.only 覆盖 */
[data-s].only{opacity:0}
[data-s].only.show{opacity:1;transform:none;filter:none}

/* ---------- 封面 ---------- */
.L-title .t{position:absolute;left:0;right:0;top:330px;text-align:center;font-size:210px;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.L-title .s{position:absolute;left:0;right:0;top:640px;text-align:center;font-size:46px;color:var(--dim);font-weight:600}
.L-title .e{position:absolute;left:0;right:0;top:250px;text-align:center;font-size:30px;color:var(--f2);font-weight:600;letter-spacing:.3em}
.L-title .glow,.L-chapter .glow{position:absolute;left:50%;bottom:-700px;width:2400px;height:1100px;margin-left:-1200px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,106,0,.55),rgba(255,106,0,.1) 60%,transparent);opacity:0;transition:opacity 2.4s var(--ease)}
.L-title.active .glow{opacity:1}
.L-title .t,.L-title .s,.L-title .e,.L-chapter .in>*{opacity:0;filter:blur(18px);transform:translateY(40px);transition:all 1.2s var(--ease)}
.L-title.active .t,.L-title.active .s,.L-title.active .e,.L-chapter.active .in>*{opacity:1;filter:none;transform:none}
.L-title.active .t{transition-delay:.2s}.L-title.active .s{transition-delay:.6s}
/* ---------- 章节页 ---------- */
.L-chapter .in{position:absolute;left:160px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center}
.L-chapter .no{font-size:34px;font-weight:600;color:var(--f2);letter-spacing:.2em}
.L-chapter .h{font-size:250px;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin-top:20px}
.L-chapter .sub{font-size:60px;font-weight:600;color:var(--dim);margin-top:30px}
.L-chapter.active .in>*:nth-child(2){transition-delay:.25s}.L-chapter.active .in>*:nth-child(3){transition-delay:.5s}
.L-chapter .big-ghost{right:-80px;top:-60px;font-size:1200px;opacity:.045}
.L-chapter.active .glow{opacity:.55}

/* ---------- 大字陈述 ---------- */
.L-statement .wrap{position:absolute;left:160px;right:160px;top:150px;bottom:150px;display:flex;flex-direction:column;justify-content:center;gap:26px;z-index:2}
.L-statement .wrap.c{align-items:center;text-align:center}
.ln{font-size:120px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.ln.m{font-size:84px;font-weight:700}.ln.s{font-size:56px;font-weight:600}.ln.xl{font-size:190px}.ln.xs{font-size:44px;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px}
.wrap.c .chips{justify-content:center}
.chip{font-size:34px;font-weight:600;padding:14px 30px;border-radius:99px;background:var(--card2);color:#d1d1d6}
.chip b{color:var(--f2);font-weight:700}
.L-statement .big-ghost{right:-60px;top:-80px;font-size:1250px}
.glide{position:relative;height:60px;width:1000px;margin:6px 0}
.glide:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,transparent,#3a3a3c 15%,#3a3a3c 85%,transparent)}
.glide i{position:absolute;top:50%;width:40px;height:40px;margin-top:-20px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#8e8e93);animation:glide 3.2s ease-in-out infinite alternate}
@keyframes glide{from{left:40px}to{left:920px}}

/* ---------- 左右对比 ---------- */
.L-vs .split{position:absolute;left:0;right:0;top:160px;bottom:200px;display:flex}
.L-vs.nofoot .split{bottom:80px}
.L-vs .pa,.L-vs .pb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 60px}
.L-vs.grow.st2 .pa{flex:.72}.L-vs.grow.st2 .pb{flex:1.28}
.L-vs.grow.st2 .pa>*{opacity:.5}
.vs-lab{font-size:36px;font-weight:600;color:var(--dim);letter-spacing:.04em}
.vs-big{font-size:150px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-top:18px}
.vs-sub{font-size:40px;font-weight:600;color:var(--dim);margin-top:24px;line-height:1.45}
.pb .vs-lab{color:var(--f2)}
.vs-big.dk{color:#636366}
.art{height:230px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.art .egg{width:140px;height:182px;border-radius:50% 50% 48% 48%/58% 58% 42% 42%;background:radial-gradient(circle at 38% 30%,#fff,#d8d4cc 70%,#a8a39a)}
.art .stone{width:230px;height:170px;border-radius:44% 56% 40% 60%/55% 45% 58% 42%;background:radial-gradient(circle at 35% 30%,#8e8e93,#48484a 70%,#2c2c2e)}
.art .rock{width:250px;height:220px;border-radius:52% 48% 44% 56%/50% 58% 42% 50%;background:radial-gradient(circle at 35% 30%,#7c7c80,#3a3a3c 70%,#1d1d1f)}
.art .pebbles{display:grid;grid-template-columns:repeat(8,26px);gap:16px}
.art .pebbles i{width:26px;height:22px;border-radius:50% 45% 55% 50%;background:radial-gradient(circle at 35% 30%,#ffc46b,#ff7a1a 70%,#b33a10)}
.art .gun,.art .soldier{font-size:150px;line-height:1}

/* ---------- 卡片 ---------- */
.L-cols .head{position:absolute;left:110px;right:110px;top:150px}
.L-cols .head h2{font-size:84px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.L-cols .grid{position:absolute;left:80px;right:80px;top:360px;bottom:90px;display:grid;gap:30px}
.L-cols.hasfoot .grid{bottom:220px}
.L-cols.nohead .grid{top:200px}
.card{background:var(--card);border-radius:40px;padding:50px 52px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:opacity .9s var(--ease),transform 1.1s var(--ease),filter .9s var(--ease),background .6s}
.card .no{font-size:30px;font-weight:600;color:var(--f2);letter-spacing:.06em}
.card .nm{font-size:68px;font-weight:800;letter-spacing:-.02em;line-height:1.12;margin-top:16px}
.card .ds{font-size:36px;font-weight:600;color:var(--dim);line-height:1.5;margin-top:auto;padding-top:24px}
.card.cur{background:#1d1a17;box-shadow:inset 0 0 0 1.5px rgba(255,122,26,.45)}
.L-cols.focus .card.on:not(.cur){opacity:.42}

/* ---------- 分步（每步换一块） ---------- */
.L-seq .stage2{position:absolute;left:160px;right:160px;top:170px;bottom:110px}
.blk{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:28px}
.blk.c{align-items:center;text-align:center}
.q{font-size:110px;font-weight:800;letter-spacing:-.02em;line-height:1.25}
.q.m{font-size:86px}
.by{font-size:36px;font-weight:600;color:var(--dim)}
.rows{display:flex;flex-direction:column;gap:22px;width:100%}
.row{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;background:var(--card);border-radius:28px;padding:34px 44px;font-size:44px;font-weight:700;line-height:1.35}
.row .ar{color:var(--f2);text-align:center;font-weight:400}
.row .r{color:var(--txt)}.row .l{color:#a1a1a6}
.row small{display:block;font-size:28px;color:var(--dim);font-weight:600;margin-top:6px}
.rows .hd{display:grid;grid-template-columns:1fr 70px 1fr;padding:0 44px;font-size:30px;font-weight:600;color:var(--dim);letter-spacing:.1em}
.hbars{display:flex;flex-direction:column;gap:30px;width:100%}
.hb{display:grid;grid-template-columns:330px 1fr;align-items:center;gap:30px}
.hb .lb{font-size:40px;font-weight:700;text-align:right}
.hb .lb small{display:block;font-size:26px;color:var(--dim);font-weight:600}
.hb .tr{height:64px;border-radius:16px;background:#1d1d1f;position:relative;overflow:hidden}
.hb .fl{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:16px;background:#48484a;transition:width 1.4s var(--ease);display:flex;align-items:center;justify-content:flex-end;padding-right:24px;font-size:34px;font-weight:800;color:#000;white-space:nowrap}
.hb .fl.hot2{background:linear-gradient(90deg,var(--f1),var(--f3))}
.hb .fl.ti2{background:linear-gradient(90deg,#8e8e93,#e5e5ea)}
.stats{display:flex;gap:90px;align-items:flex-end;justify-content:center}
.stat{text-align:center}
.stat .n{font-size:220px;font-weight:800;letter-spacing:-.04em;line-height:1}
.stat .n small{font-size:72px;font-weight:700;letter-spacing:0;margin-left:6px}
.stat .lb{font-size:36px;color:var(--dim);font-weight:600;margin-top:14px}
.pairs{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px;width:100%}
.pair{display:flex;align-items:center;gap:28px;background:var(--card);border-radius:28px;padding:34px 44px;font-size:62px;font-weight:800}
.pair .a{color:#8e8e93}.pair .ar{color:var(--f2);font-weight:400}
.go{display:flex;gap:120px;justify-content:center;align-items:flex-end}
.go figure{margin:0;text-align:center}
.go svg{width:380px;height:380px}
.go figcaption{font-size:44px;font-weight:800;margin-top:18px}

/* ---------- 点阵 ---------- */
.L-dots .head{position:absolute;left:110px;right:110px;top:150px}
.L-dots .head h2{font-size:84px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.L-dots .gridwrap{position:absolute;left:0;right:0;top:330px;display:flex;justify-content:center}
.dg{display:grid;justify-content:center}
.dg i{border-radius:50%;background:#2c2c2e;position:relative;transition:background .5s,opacity .6s,transform .6s var(--ease),box-shadow .5s}
.dg i.x{background:#1d1d1f}
.dg i.x:after,.dg i.x:before{content:"";position:absolute;left:18%;right:18%;top:50%;height:4px;margin-top:-2px;background:#ff453a;border-radius:4px;transform:rotate(45deg)}
.dg i.x:before{transform:rotate(-45deg)}
.dg i.lit{background:radial-gradient(circle at 35% 30%,var(--f1),var(--f2) 60%,var(--f3));box-shadow:0 0 40px rgba(255,122,26,.45)}
.dg i.fade{opacity:.12;transform:scale(.7)}
.dg i.ti3{background:radial-gradient(circle at 35% 30%,#fff,#8e8e93)}
.dlab{display:grid;justify-content:center;font-size:24px;color:var(--dim);font-weight:600;text-align:center}
.L-dots .caps{position:absolute;left:110px;right:110px;bottom:90px;height:180px}
.L-dots .caps>div{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:70px;font-weight:800;letter-spacing:-.01em}

/* ---------- 对话气泡 ---------- */
.L-chat .side{position:absolute;left:110px;top:150px;width:640px;bottom:90px;display:flex;flex-direction:column}
.L-chat .side h2{font-size:96px;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-top:20px}
.L-chat .side .ft{margin-top:auto;font-size:60px;font-weight:800;line-height:1.25}
.L-chat .msgs{position:absolute;left:840px;right:110px;top:110px;bottom:90px;display:flex;flex-direction:column;justify-content:center;gap:16px}
.bub{max-width:82%;font-size:34px;font-weight:600;line-height:1.4;padding:20px 30px;border-radius:34px}
.bub.s{align-self:flex-start;background:#2c2c2e;color:#f5f5f7;border-bottom-left-radius:10px}
.bub.t{align-self:flex-end;background:linear-gradient(135deg,#ff9a3c,#ff5a1f);color:#fff;border-bottom-right-radius:10px}
.bub small{display:block;font-size:22px;opacity:.7;margin-bottom:4px}

/* ---------- 表格行 ---------- */
.L-rows .head{position:absolute;left:110px;right:110px;top:150px}
.L-rows .head h2{font-size:80px;font-weight:800;letter-spacing:-.02em}
.L-rows .rows{position:absolute;left:110px;right:110px;top:330px}
.L-rows.hasfoot .rows{top:310px}

/* ---------- 图表类 ---------- */
.L-viz .head{position:absolute;left:110px;right:110px;top:150px}
.L-viz .head h2{font-size:80px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.L-viz .vz{position:absolute;left:110px;right:110px;top:330px;bottom:230px}
.L-viz .vz svg{width:100%;height:100%;overflow:visible}
.L-viz .caps{position:absolute;left:110px;right:110px;bottom:70px;height:150px}
.L-viz .caps>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:62px;font-weight:800;letter-spacing:-.01em;line-height:1.25}
.L-viz .caps small{font-size:34px;font-weight:600;color:var(--dim);margin-top:6px}
.draw{stroke-dasharray:var(--len,3000);stroke-dashoffset:var(--len,3000);transition:stroke-dashoffset 1.8s var(--ease)}
.on.draw,.on .draw{stroke-dashoffset:0}
svg text{font-family:var(--font)}
/* 漏斗（扁桃体） */
.fun{display:flex;flex-direction:column;gap:34px}
.fr{display:grid;grid-template-columns:260px 1fr;align-items:center;gap:30px}
.fr .lb{font-size:34px;font-weight:700;text-align:right;color:#d1d1d6}
.fr .lb small{display:block;font-size:24px;color:var(--dim);font-weight:600}
.fr .bar{display:flex;height:84px;border-radius:18px;overflow:hidden;width:0;transition:width 1.3s var(--ease)}
.fr.on .bar{width:var(--w)}
.fr .cut{background:linear-gradient(90deg,var(--f3),var(--f2));display:flex;align-items:center;padding-left:24px;font-size:32px;font-weight:800;color:#000;white-space:nowrap;overflow:hidden}
.fr .ok{background:#2c2c2e;display:flex;align-items:center;justify-content:flex-end;padding-right:24px;font-size:30px;font-weight:700;color:#a1a1a6;white-space:nowrap;overflow:hidden}
.fr .cut.done{background:#48484a;color:#d1d1d6}
/* 玻璃尖塔 */
.tower{position:absolute;left:50%;bottom:0;width:760px;margin-left:-380px;display:flex;flex-direction:column-reverse;align-items:center;gap:10px}
.tw{height:96px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.05));box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28);
  backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:700;color:#f5f5f7;
  opacity:0;transform:translateY(-60px);transition:opacity .6s,transform .8s cubic-bezier(.3,1.4,.5,1)}
.on .tw,.show .tw{opacity:1;transform:none}
.tw:nth-child(2){transition-delay:.25s}.tw:nth-child(3){transition-delay:.5s}.tw:nth-child(4){transition-delay:.75s}
.shatter .tw{transition:transform 1.4s cubic-bezier(.5,0,.9,.5),opacity 1.2s .2s}
.shatter .tw:nth-child(1){transform:translate(-160px,140px) rotate(-14deg);opacity:.15}
.shatter .tw:nth-child(2){transform:translate(190px,240px) rotate(18deg);opacity:.15}
.shatter .tw:nth-child(3){transform:translate(-260px,330px) rotate(-26deg);opacity:.12}
.shatter .tw:nth-child(4){transform:translate(230px,420px) rotate(34deg);opacity:.1}
.crack{position:absolute;left:50%;top:0;width:760px;margin-left:-380px;height:100%;opacity:0;pointer-events:none}
.crack.on{opacity:1}
.cmp{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.cmp>div{background:var(--card);border-radius:36px;padding:50px;text-align:center}
.cmp b{display:block;font-size:76px;font-weight:800;margin-top:12px}
.cmp span{font-size:36px;color:var(--dim);font-weight:600}
/* 颜色词（荷马） */
.sea{width:100%;height:170px;border-radius:30px;background:linear-gradient(100deg,#2a0a1e,#4a1030 30%,#2b1640 60%,#0f1d33);position:relative;overflow:hidden}
.sea:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(170deg,transparent 0 22px,rgba(255,255,255,.04) 22px 24px);animation:wave 6s linear infinite}
@keyframes wave{to{background-position:0 240px}}
.swatches{display:flex;gap:22px}
.sw{width:200px;height:200px;border-radius:30px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:20px;font-size:44px;font-weight:800}
.sw.empty{background:transparent;box-shadow:inset 0 0 0 3px #3a3a3c;border:0;color:#636366;background-image:repeating-linear-gradient(45deg,transparent 0 14px,rgba(255,255,255,.03) 14px 16px)}

/* ---- 第二轮修正 ---- */
.L-title .t{font-size:168px}
.caps p{margin:0}
.caps small{display:block}
.grid.n2 .nm{font-size:66px}.grid.n3 .nm{font-size:56px}.grid.n4 .nm{font-size:46px}
.grid.n4 .ds{font-size:30px}.grid.n4 .card{padding:44px 40px}
.bub{font-size:29px;padding:13px 24px;border-radius:28px}
.bub small{font-size:18px;margin-bottom:2px}
.L-chat .msgs{top:80px;bottom:60px;gap:11px}
.L-rows .row{font-size:36px;padding:24px 38px;grid-template-columns:1fr 60px 1.35fr}
.L-rows .rows{gap:16px}
.L-chapter .big-ghost{font-size:900px;top:40px;right:40px;letter-spacing:-.05em}
.sw{width:150px;height:150px;font-size:38px}
.L-rows .rows{width:auto}

/* ---- 内容上移（试验：〔3〕〔5〕）：重要内容都放在上 2/3，后排也看得见 ---- */
.up.L-vs .split{top:150px;bottom:400px}
.up.L-vs .foot{top:735px;bottom:auto}
.up.L-viz .vz{top:170px;bottom:420px}
.up.L-viz .caps{top:690px;bottom:auto}
.up .vs-big{margin-top:12px}.up .vs-sub{margin-top:16px}

/* ---- 全局：内容上移，重要内容都在上 3/4，后排也看得见（页码、进度点仍在底部） ---- */
.up .kick{top:70px}
.up.L-title .e{top:200px}.up.L-title .t{top:270px}.up.L-title .s{top:520px}
.up.L-chapter .in{bottom:230px}
.up.L-statement .wrap{top:120px;bottom:330px}
.up.L-vs .split{top:140px;bottom:400px}
.up.L-vs.nofoot .split{bottom:330px}
.up.L-vs .foot{top:730px;bottom:auto}
.up.L-cols .head,.up.L-dots .head,.up.L-rows .head,.up.L-viz .head{top:130px}
.up.L-cols .grid{top:290px;bottom:330px}
.up.L-cols.hasfoot .grid{bottom:360px}
.up.L-cols.nohead .grid{top:160px}
.up.L-cols .foot{top:750px;bottom:auto}
.up.L-seq .stage2{top:140px;bottom:330px}
.up.L-dots .gridwrap{top:290px}
.up.L-dots .caps{top:690px;bottom:auto}
.up.L-chat .side{top:130px;bottom:300px}
.up.L-chat .msgs{top:70px;bottom:250px;justify-content:flex-start}
.up.L-rows .rows{top:280px}
.up.L-rows .row{padding:20px 38px}
.up.L-rows .foot{top:760px;bottom:auto}
.up.L-viz .vz{top:270px;bottom:390px}
.up.L-viz.nohead .vz{top:170px;bottom:420px}
.up.L-viz .caps{top:715px;bottom:auto}
.up.L-viz.nohead .caps{top:690px}
.up .fun{gap:24px}.up .fr .bar{height:72px}
/* 四张手工页 */
#stage #k1 .book{top:10px;width:720px;height:720px;margin-left:-360px}
#stage #k1.st2 .book{transform:translateY(6px) scale(.96)}
#stage #k1 .eb{top:30px}
#stage #k1 .author{top:220px}
#stage #k1 .laurels{top:170px}
#stage #k1 .tag{bottom:auto;top:770px}
#stage #d1 .split{bottom:300px}
#stage #d1.st1 .q{transform:translateY(-470px) scale(.42)}
#stage #d2 .x{bottom:330px}
#stage #d2 .v{top:42%}
#stage #d2 .mini{top:50px}
#stage #d3 h4{top:80px}
#stage #d3 .glyph{top:170px;font-size:520px}
#stage #d3 .wind{margin-top:-120px}
#stage #d3 .fin,#stage #d3 .fin2{justify-content:flex-start;padding-top:190px}
#stage #d3 .pb::after{bottom:-300px}

/* ======== 第三轮（批注第 1 轮）新增 ======== */
/* 同一下里错落出现的胶囊标签 */
.chips.stag[data-s]{opacity:1;transform:none;filter:none}
.chips.stag .chip{opacity:0;transform:translateY(26px) scale(.94);filter:blur(8px);transition:opacity .9s var(--ease),transform 1.1s var(--ease),filter .9s var(--ease)}
.chips.stag.on .chip{opacity:1;transform:none;filter:none}
.chips.stag .chip:nth-child(1){transition-delay:.7s}.chips.stag .chip:nth-child(2){transition-delay:1.1s}.chips.stag .chip:nth-child(3){transition-delay:1.5s}.chips.stag .chip:nth-child(4){transition-delay:1.9s}.chips.stag .chip:nth-child(5){transition-delay:2.3s}
.chips.stag{gap:22px;margin-top:40px}
.chips.stag .chip{font-size:38px;padding:20px 38px;color:#f5f5f7;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px rgba(255,255,255,.13),0 24px 48px rgba(0,0,0,.45)}
.chips.stag .chip:before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--f2);box-shadow:0 0 14px var(--f2);margin-right:18px;vertical-align:middle;position:relative;top:-3px}
/* 英文装饰字（左下角，右上角留给章节标题） */
.pten{position:absolute;left:104px;bottom:60px;text-align:left;font-size:210px;font-weight:200;line-height:1;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px #3a3a3c;z-index:1;pointer-events:none}
.pten small{display:block;font-size:24px;font-weight:600;letter-spacing:.5em;margin-left:6px;-webkit-text-stroke:0;color:#636366;margin-bottom:4px}
/* 装饰配图：右下角，往左上渐隐 */
.deco{position:absolute;right:-30px;bottom:-40px;width:760px;height:760px;z-index:0;pointer-events:none;opacity:0;transform:scale(.94);transition:opacity 1.8s .3s var(--ease),transform 2.4s .3s var(--ease);
  -webkit-mask-image:linear-gradient(315deg,#000 30%,transparent 82%);mask-image:linear-gradient(315deg,#000 30%,transparent 82%)}
.active .deco{opacity:1;transform:none}
.deco svg{width:100%;height:100%;overflow:visible}
.deco .spin{transform-origin:300px 300px;animation:spin 90s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.deco-virus{width:860px;height:860px;right:-140px;bottom:-170px}
.deco-ticket{width:860px;height:860px;right:-80px;bottom:-150px}
.deco-bell{width:700px;height:700px;right:60px;bottom:70px;-webkit-mask-image:linear-gradient(300deg,#000 45%,transparent 95%);mask-image:linear-gradient(300deg,#000 45%,transparent 95%)}
.deco-ring{left:110px;right:110px;width:auto;height:560px;top:155px;bottom:auto;-webkit-mask-image:none;mask-image:none}
.active .deco-ring .rg{animation:ringdraw 2.8s .6s cubic-bezier(.6,0,.2,1) forwards}
@keyframes ringdraw{to{stroke-dashoffset:0}}
/* 论点页：左侧大字，右下角配图 */
.thesis .wrap{right:560px}
.thesis .ln.xl{font-size:170px;line-height:1.12}
/* 写实图位：没放图时显示虚线占位 */
.ph{position:absolute;inset:0;margin:0;z-index:0;background:radial-gradient(ellipse at 72% 55%,#1c1c1e,#000 70%);overflow:hidden}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.active .ph img{animation:kb 16s linear both}
@keyframes kb{from{transform:scale(1.08)}to{transform:scale(1)}}
.ph:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.55) 38%,rgba(0,0,0,0) 70%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 32%)}
.ph figcaption{position:absolute;right:110px;top:240px;width:640px;height:400px;border:2px dashed #3a3a3c;border-radius:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;font-size:30px;font-weight:600;color:#636366;z-index:1;padding:30px}
.ph figcaption small{font-size:20px;color:#48484a}
.ph.ok figcaption{display:none}
/* 左右对比：左边先单独居中亮相，再让到左边 */
.L-vs.intro .pa{transform:translateX(480px)}
.L-vs.intro.active .pa{animation:vsIn 1.3s var(--ease) var(--ad) both}
@keyframes vsIn{from{transform:translateX(480px)}to{transform:none}}
.L-vs.intro .rule{opacity:0}
.L-vs.intro.active .rule{animation:fadeIn 1s var(--ad) both}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.L-vs.intro.active .pa .vs-big.dk{animation:toDk 1.3s var(--ad) both}
@keyframes toDk{from{color:#f5f5f7}to{color:#636366}}
/* 左右对比：最后一下两组缩小消失，出现总结大字 */
.L-vs .split{transition:opacity 1s var(--ease),transform 1.2s var(--ease),filter 1s var(--ease)}
.L-vs.fin-on .split{opacity:0;transform:scale(.78);filter:blur(16px)}
.L-vs .fin{position:absolute;left:160px;right:160px;top:120px;bottom:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:34px;z-index:3}
/* 词云 */
.L-cloud .cloud{position:absolute;inset:0}
.cloud span{position:absolute;white-space:nowrap;font-weight:800;letter-spacing:-.01em;color:#8e8e93;line-height:1.2;opacity:0;transform:scale(.6);filter:blur(16px);transition:opacity 1s var(--ease),transform 1.4s var(--ease),filter 1s var(--ease)}
.active .cloud span{opacity:var(--o);transform:none;filter:blur(var(--b))}
.veil{position:absolute;inset:0;background:rgba(0,0,0,.84);z-index:2}
.veil[data-s]{transform:none;filter:none}
.cl-c{position:absolute;left:0;right:0;top:0;height:810px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3;text-align:center}
.cl-c .vs-big{font-size:170px}
/* 真空里滑行 → 波动的路 */
.vac-t{position:absolute;left:0;right:0;top:130px;height:160px}
.vac-t>div{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center}
.vac-v{position:absolute;left:160px;right:160px;top:340px;height:440px}
.vac-v>div{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.vac-v .glide{width:1600px}
.vac-v svg{width:1600px;height:440px}
/* 酒色的海：「蓝？」小方块放大成整屏，酒红慢慢变蓝，循环 */
.ocean{position:absolute;inset:0;z-index:1;opacity:0;clip-path:inset(50%);overflow:hidden;pointer-events:none}
.ocean i{position:absolute;inset:0}
.ocean .w{background:radial-gradient(ellipse at 30% 30%,#6b1838,#3a0b22 50%,#14040c)}
.ocean .b{background:radial-gradient(ellipse at 70% 40%,#1e5fa8,#0b2a5a 50%,#030b1c);animation:seaShift 14s ease-in-out infinite alternate}
@keyframes seaShift{0%,25%{opacity:0}100%{opacity:1}}
.ocean .r{inset:-30% -20%;background:repeating-radial-gradient(ellipse at 50% 130%,transparent 0 40px,rgba(255,255,255,.055) 44px,transparent 50px);animation:ripple 7s linear infinite}
@keyframes ripple{from{transform:translateY(0) scaleX(1.5)}to{transform:translateY(-100px) scaleX(1.5)}}
.seapage .caps{z-index:3;top:280px!important;height:300px}
.seapage .caps>div{font-size:88px}
.seapage .caps small{color:rgba(255,255,255,.72);font-size:38px;margin-top:26px;font-weight:600}
.seapage .kick{z-index:4}
.deco-bell{right:-10px;bottom:40px}
.ph figcaption{width:560px;right:90px}

/* ---- 第 1 批反馈 ---- */
/* 标点悬挂：行尾的逗号句号不占宽，行首的「 往左挂 */
.hp{display:inline-block;width:0;white-space:nowrap}
.hpl{margin-left:-.5em}
/* 右上角：章节标题（左上角 .kick 是本页一级标题） */
.chap{position:absolute;right:110px;top:70px;font-size:26px;font-weight:600;color:#636366;letter-spacing:.08em;z-index:5;pointer-events:none}
/* 酒色的海：那一条放大成整屏，文字等海铺满再出来 */
.seapage .caps .show{transition-delay:1.5s}
/* 整屏大图（苹果官网式）：文字居中压在图上；没放图时用一张暗橙色流光背景顶上 */
.hero .ph{background:#050302}
.hero .ph:before{content:"";position:absolute;inset:-10%;z-index:0;
  background:radial-gradient(ellipse 60% 45% at 78% 72%,rgba(255,110,20,.55),transparent 70%),radial-gradient(ellipse 50% 40% at 20% 85%,rgba(255,59,31,.35),transparent 70%),
  radial-gradient(ellipse 70% 30% at 50% 100%,rgba(255,196,107,.25),transparent 70%),conic-gradient(from 210deg at 65% 120%,transparent,rgba(255,122,26,.18) 20%,transparent 35%);
  filter:blur(30px);animation:heroflow 18s ease-in-out infinite alternate}
@keyframes heroflow{to{transform:translate(-4%,-3%) scale(1.08) rotate(-2deg)}}
.hero .ph img{z-index:0}
.hero .ph:after{background:radial-gradient(ellipse 70% 55% at 50% 38%,rgba(0,0,0,.55),rgba(0,0,0,.15) 70%),linear-gradient(0deg,rgba(0,0,0,.6),transparent 35%)}
.hero .ph figcaption{left:50%;right:auto;top:auto;bottom:150px;width:auto;height:auto;transform:translateX(-50%);flex-direction:row;padding:14px 28px;font-size:22px;border-radius:99px;gap:16px}
.hero .ph figcaption small{font-size:18px}
.hero .wrap .ln{text-shadow:0 10px 60px rgba(0,0,0,.6)}
/* 两页同一句话原地接上：关掉翻页时的缩放，第二页左边那组直接在位 */
.slide.mm,.slide.mm.past,.slide.mm.active{transform:none}
.L-vs.mm .pa [data-s]{transition:none;opacity:1;transform:none;filter:none}
.cl-c{top:140px;height:540px}
.cl-c .vs-big{font-size:150px;margin-top:18px;color:#f5f5f7}

/* ======== 第 2 批 ======== */
/* 标题原地放大：先在上 3/4 的中心放大亮相，下一下缩回原位 */
.mv{display:inline-block;transform-origin:0 0;transform:translate(var(--dx,0),var(--dy,0)) scale(var(--sc,1));transition:transform 1.3s var(--ease),color 1s var(--ease),-webkit-text-fill-color 1s}
.mv-on .mv{transform:none}
.slide:not(.mv-on) .kick.tt{color:#f5f5f7;font-weight:700}
.L-viz .head h2.mv,.L-cols .head h2.mv{white-space:nowrap}
/* 右侧插图（不渐隐，带标注） */
.fig{position:absolute;z-index:1;pointer-events:none}
.fig svg{width:100%;height:100%;overflow:visible}
/* 人体扫描 → 推到上臂 → 热力图 */
.fig-body{right:170px;top:40px;width:520px;height:780px}
.fig-body .bd{transform-origin:416px 296px;transition:transform 1.6s var(--ease)}
.bodyp.st1 .fig-body .bd{transform:scale(1.9) translate(-60px,40px)}
.fig-body .scan{animation:scan 3.2s ease-in-out infinite alternate;transition:opacity .6s}
@keyframes scan{from{transform:translateY(0)}to{transform:translateY(830px)}}
.bodyp.st1 .fig-body .scan{opacity:0}
.fig-body .heat,.fig-body .tag{opacity:0;transition:opacity 1.4s var(--ease)}
.fig-body .cool{opacity:0;transition:opacity 1.4s}
.bodyp.st1 .fig-body .tag{opacity:1}
.bodyp.st2 .fig-body .heat{opacity:1;animation:heatp 2.4s ease-in-out infinite alternate}
.bodyp.st2 .fig-body .cool{opacity:1}
@keyframes heatp{from{filter:brightness(.9)}to{filter:brightness(1.25)}}
.bodyp .wrap{right:820px}
.bodyp .ln.b1{transition:font-size 1.2s var(--ease),color 1s,opacity 1s}
.bodyp.st1 .ln.b1{font-size:56px;opacity:.55}
/* 权威卡片 */
.proofp .wrap{right:980px}
.fig-proof{right:110px;top:150px;width:760px;display:flex;flex-direction:column;gap:28px}
.pf{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);border-radius:32px;padding:34px 40px 36px}
.pf small{display:block;font-size:20px;font-weight:600;letter-spacing:.14em;color:#86868b}
.pf b{display:block;font-size:52px;font-weight:800;margin-top:14px;letter-spacing:-.01em}
.pf>span{display:block;font-size:28px;font-weight:600;color:#a1a1a6;margin-top:10px}
.pf .medal{position:absolute;right:36px;top:30px;width:110px;height:110px}
/* 大脑 */
.brainp .wrap{right:860px}
.fig-brain{right:90px;top:150px;width:800px;height:620px}
.fig-brain .pulse{animation:pulse 2.2s ease-in-out infinite;transform-origin:438px 318px}
@keyframes pulse{50%{transform:scale(1.35);opacity:.6}}
/* 装饰：生长 / 细胞 / 弹跳 */
.deco .grow{stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}
.active .deco .grow{animation:grow 2.4s .8s var(--ease) forwards}
@keyframes grow{to{stroke-dashoffset:0}}
.deco .spin2{transform-origin:390px 305px;animation:spin 40s linear infinite}
.deco .lyso{animation:lyso 6s ease-in-out infinite alternate}.deco .lyso.b{animation-duration:8s}
@keyframes lyso{to{transform:translate(-40px,-60px)}}
.deco-sprout,.deco-dome,.deco-path,.deco-bounce,.deco-cell{width:720px;height:720px;right:20px;bottom:-30px}
.deco-cell{width:800px;height:800px;right:-90px;bottom:-140px}
/* 公式：底子 + 刺激 */
.eq{display:flex;align-items:center;gap:40px;margin-top:20px}
.eq span{font-size:90px;font-weight:300;color:#636366}
.eqc{font-size:64px;font-weight:800;padding:40px 56px;border-radius:36px;background:var(--card);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.eqc.ti{background:var(--card)}
.eqc.hot{background:linear-gradient(135deg,rgba(255,196,107,.16),rgba(255,59,31,.16));box-shadow:inset 0 0 0 1.5px rgba(255,122,26,.5);color:#ffb070;-webkit-text-fill-color:#ffb070}
/* 西兰花和苦瓜 */
.L-veg .head{position:absolute;left:110px;right:110px;top:130px}
.L-veg .head h2{font-size:72px;font-weight:800}
.vegw{position:absolute;left:110px;top:220px;width:1700px;height:640px}
.vegw svg{width:100%;height:100%}
.vegw .bob{animation:bob 2.6s ease-in-out infinite alternate}.vegw .bob.b{animation-delay:-1.3s}
@keyframes bob{to{transform:translateY(-14px)}}
.vlab{position:absolute;padding:16px 26px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);white-space:nowrap}
.vlab b{display:block;font-size:36px;font-weight:800;color:#f5f5f7}
.vlab small{display:block;font-size:22px;font-weight:600;color:#86868b;margin-top:4px}
/* 对话气泡：居中一栏，从观众视角看师生对话 */
.chatc .side{display:none}
.up.chatc .msgs{left:400px;right:400px;top:150px;justify-content:flex-start}
.chatc .bub{font-size:34px}
/* 黎明前的黑暗 */
.dawn{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#1a1a1c,#0c0c0d 60%,#050505)}
.dawn i{position:absolute;display:block}
.dawn .sky{inset:0;background:linear-gradient(180deg,#1b0f0a 0%,#5a2410 52%,#000 62%);opacity:0;transition:opacity 4s 1s}
.dawn .hz{left:0;right:0;top:620px;height:2px;background:linear-gradient(90deg,transparent,#3a3a3c 20%,#3a3a3c 80%,transparent)}
.dawn .slit{left:50%;top:612px;width:1600px;height:18px;margin-left:-800px;border-radius:50%;background:radial-gradient(closest-side,#fff8e0,#ffc46b 40%,rgba(255,122,26,0));transform:scaleX(0);opacity:0}
.dawn .sun{left:50%;top:420px;width:400px;height:400px;margin-left:-200px;border-radius:50%;background:radial-gradient(circle,#fff6d8,#ffc46b 45%,#ff7a1a 70%,rgba(255,59,31,0) 72%);transform:translateY(260px);opacity:0;clip-path:inset(0 0 calc(100% - 200px) 0);transition:transform 5s 1.2s cubic-bezier(.3,0,.2,1),opacity 1.5s 1.2s}
.dawn .glow2{left:50%;top:300px;width:2400px;height:900px;margin-left:-1200px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,150,60,.45),transparent);opacity:0;transition:opacity 4s 1s}
.L-dawn.st1 .dawn .sky,.L-dawn.st1 .dawn .glow2{opacity:1}
.L-dawn.st1 .dawn .slit{animation:slit 2.4s cubic-bezier(.6,0,.2,1) forwards}
@keyframes slit{0%{opacity:0;transform:scaleX(0)}20%{opacity:1;transform:scaleX(.04)}100%{opacity:1;transform:scaleX(1)}}
.L-dawn.st1 .dawn .sun{transform:translateY(0);opacity:1}
.dw-a{position:absolute;inset:0;transition:opacity 1.2s var(--ease),filter 1.2s}
.L-dawn.st1 .dw-a{opacity:0;filter:blur(10px)}
.dw-w span{position:absolute;font-size:96px;font-weight:800;color:#a1a1a6;opacity:0;animation:wpop 1s var(--ease) both}
.active .dw-w span{animation-name:wpop}
.slide:not(.active) .dw-w span{animation:none}
@keyframes wpop{from{opacity:0;transform:scale(.7);filter:blur(14px)}to{opacity:1;transform:none;filter:none}}
.active .dw-w{animation:wdim 1.2s 4.4s forwards}
@keyframes wdim{to{opacity:.16;filter:blur(6px)}}
.dw-c{position:absolute;left:0;right:0;top:330px;text-align:center;font-size:120px;font-weight:800;opacity:0}
.active .dw-c{animation:fadeIn 1.4s 5s forwards}
.dw-b{position:absolute;left:0;right:0;top:170px;text-align:center;z-index:2}
.dw-b .ln{text-shadow:0 8px 40px rgba(0,0,0,.5)}
/* 20 公斤 */
.kgp{position:absolute;left:50%;top:170px;width:400px;height:400px;margin-left:-200px}
.kgp svg{width:100%;height:100%}
.kgp .pc{opacity:0;transition:opacity 1.4s var(--ease)}
.L-kg.st3 .kgp .pc{opacity:1}
.L-kg.st3 .kgp{filter:drop-shadow(0 0 60px rgba(255,122,26,.45))}
.kgs{position:absolute;top:250px;width:560px;text-align:center}
.kgs.kl{left:110px}.kgs.kr{right:110px}
.kgs .vs-big{font-size:120px}
.kgs.kr .vs-lab{color:var(--f2)}
.L-kg .kgf{top:690px;bottom:auto;font-size:52px}
/* 删除线（毒鸡汤） */
.ln.strike{position:relative;display:inline-block;align-self:center}
.ln.strike:after{content:"";position:absolute;left:-3%;right:-3%;top:50%;height:8px;margin-top:-4px;background:#ff453a;border-radius:8px;transform:scaleX(0);transform-origin:left;transition:transform 1s 1s var(--ease)}
.ln.strike.on:after{transform:scaleX(1)}
/* 小一号的卡片（配角）、紧凑卡片（两行字） */
.small .card .nm{font-size:44px}.small .card .ds{font-size:30px}
.compact .grid{bottom:auto!important;height:auto}
.compact .card{padding:40px 46px}
.compact .card .ds{margin-top:14px;padding-top:0}
/* 按一下再让开：大石头先居中高亮，按一下让到左边、变暗 */
.L-vs.intro2 .pa{transform:translateX(480px);transition:transform 1.3s var(--ease),flex 1.2s var(--ease)}
.L-vs.intro2.st1 .pa{transform:none}
.L-vs.intro2 .rule{opacity:0;transition:opacity 1s}
.L-vs.intro2.st1 .rule{opacity:1}
.L-vs.intro2 .pa .vs-big.dk{color:#f5f5f7;transition:color 1.3s}
.L-vs.intro2.st1 .pa .vs-big.dk{color:#636366}
.L-vs.intro2 .pa .art .rock{transition:filter 1.3s}
.L-vs.intro2:not(.st1) .pa .art .rock{filter:brightness(1.5) drop-shadow(0 0 40px rgba(255,255,255,.15))}
/* 第 2 批修正 */
.fig-body svg{overflow:hidden;border-radius:30px}
.bodyp.st1 .fig-body .bd{transform:scale(1.45) translate(-40px,30px)}
.eqc.base{color:#f5f5f7}
.chatc .bub{font-size:30px;padding:12px 26px}
.up.chatc .msgs{top:130px;gap:10px}
.brainp .ln.xl{font-size:150px}
.brainp .ln.s{font-size:44px}
/* 对话第 4 组出现时，整栏往上推一点，第 1 组淡出 */
.chatc .msgs{transition:transform 1s var(--ease)}
.chatc.st3 .msgs{transform:translateY(-150px)}
.chatc.st3 .msgs>.bub:nth-child(-n+2){opacity:0!important;transition:opacity .6s}

/* ======== 第 3 批 ======== */
/* 心法页：同一套字号和排版 */
.xf .ln.xl{font-size:170px}
/* 小标签（机制一 / 心法一） */
.ln.lab{font-size:34px;font-weight:700;color:var(--f2);letter-spacing:.32em;margin-right:-.32em}
/* 机制封面：居中，背后一个很大的数字 */
.mech .big-ghost{left:50%;right:auto;top:50%;transform:translate(-50%,-58%);font-size:900px;opacity:.05}
.mech .wrap{gap:22px}
/* 心法一总结页：居中构图 + 背景 */
.sum{background:radial-gradient(ellipse 60% 50% at 50% 100%,rgba(255,122,26,.22),transparent 70%),repeating-radial-gradient(circle at 50% 110%,transparent 0 58px,rgba(255,255,255,.035) 59px 60px)}
.sum .wrap{gap:24px}
/* 肖像（右侧） */
.ph.r{inset:auto;left:auto;right:110px;top:140px;width:640px;height:640px;border-radius:40px;background:linear-gradient(160deg,#1d1d1f,#0b0b0c)}
.ph.r:after{background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 40%)}
.ph.r figcaption{inset:30px;width:auto;height:auto;right:30px;top:30px}
.portrait .wrap{right:820px}
/* 引语页：左上角一个很大的引号 */
.qpage .wrap:before{content:"“";position:absolute;left:50%;top:-40px;margin-left:-700px;font-size:420px;line-height:1;font-family:Georgia,serif;color:#1d1d1f;z-index:-1}
.qpage .ln.s{line-height:1.55}
/* 四张卡：恐惧→谨慎…… */
.p4{display:grid;grid-template-columns:repeat(4,300px);gap:28px;margin-top:30px}
.p4[data-s]{opacity:1;transform:none;filter:none}
.p4c{display:flex;flex-direction:column;align-items:center;gap:6px;padding:30px 20px;border-radius:30px;background:var(--card);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);opacity:0;transform:translateY(40px) scale(.9);transition:opacity .8s var(--ease),transform 1s cubic-bezier(.3,1.5,.5,1)}
.p4.on .p4c{opacity:1;transform:none}
.p4.on .p4c:nth-child(1){transition-delay:1.2s}.p4.on .p4c:nth-child(2){transition-delay:1.5s}.p4.on .p4c:nth-child(3){transition-delay:1.8s}.p4.on .p4c:nth-child(4){transition-delay:2.1s}
.p4c span{font-size:40px;font-weight:700;color:#8e8e93}
.p4c i{font-style:normal;font-size:34px;color:var(--f2)}
.p4c b{font-size:60px;font-weight:800;color:var(--f2)}
.active .p4c b{animation:glowb 1.2s 2.6s ease-in-out 2 alternate}
@keyframes glowb{to{text-shadow:0 0 30px rgba(255,122,26,.8)}}
/* 分步块带右侧配图 */
.blk.wa{padding-right:720px}
.bart{position:absolute;right:0;top:50%;width:640px;height:520px;margin-top:-260px}
.bart svg{width:100%;height:100%}
.bart .blink{transform-origin:320px 260px;animation:blink 5s infinite}
@keyframes blink{0%,92%,100%{transform:none}95%{transform:scaleY(.1)}}
.bart .weak{animation:pulse 1.8s ease-in-out infinite;transform-origin:470px 90px}
.bart .xk{stroke-dasharray:90;stroke-dashoffset:90;animation:xk .5s forwards}
.slide:not(.active) .bart .xk{animation:none}
@keyframes xk{to{stroke-dashoffset:0}}
.blk:not(.show) .bart .xk{animation:none}
/* 大卫像：到「米开朗基罗」那一下才出现 */
.ph.later{opacity:0;transition:opacity 1.6s var(--ease)}
.img-on .ph.later{opacity:1}
.ph.later:after{background:radial-gradient(ellipse 60% 60% at 50% 40%,rgba(0,0,0,.72),rgba(0,0,0,.35))}
.ph.later figcaption{left:50%;right:auto;top:auto;bottom:150px;width:auto;height:auto;transform:translateX(-50%);padding:14px 28px;border-radius:99px;font-size:22px;flex-direction:row}
/* 吃饼：小标题、字往上提 */
.hsm .head h2{font-size:52px;color:#86868b;-webkit-text-fill-color:#86868b}
.up.hsm .gridwrap{top:250px}
.up.hsm .caps{top:540px}
/* 幸福 / 绝望：二选一，按一下飞进句子 */
.ch-s{position:absolute;left:0;right:0;top:250px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.ch-s .ln{font-size:120px}
.mvx{transition:opacity 1s .6s var(--ease)}
.slide:not(.mv-on) .mvx{opacity:0;transition-delay:0s}
.cw{position:relative}
.cw.h,.mvx.h{transition:color 1s .8s}
.mv-on .cw.h,.mv-on .mvx.h{color:var(--f2)}
.slide:not(.mv-on) .cw:after{content:"";position:absolute;inset:-14px -26px;border-radius:30px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5);animation:pick 2.4s ease-in-out infinite;opacity:0}
.slide:not(.mv-on) .cw.h:after{animation-delay:-1.2s}
@keyframes pick{0%,45%{opacity:0}55%,95%{opacity:1}}
.ch-ask,.ch-or{position:absolute;left:0;right:0;text-align:center;font-weight:600;color:#86868b;transition:opacity .6s}
.ch-ask{top:180px;font-size:48px}.ch-or{top:405px;font-size:36px}
.mv-on .ch-ask,.mv-on .ch-or{opacity:0}
/* 绕回原地的生存逻辑 */
.loopp .wrap{right:860px}
.fig-loop{right:110px;top:170px;width:700px;height:600px}
.fig-loop .dl{stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}
.active .fig-loop .dl{animation:grow 2.2s var(--ease) forwards}
/* 游戏关卡 */
.lv-h{position:absolute;left:110px;top:140px;font-size:64px;font-weight:800}
.lvs{position:absolute;left:110px;right:110px;top:270px;height:380px;display:grid;grid-template-columns:1fr 140px 1fr;align-items:center}
.lv{position:relative;height:340px;border-radius:40px;padding:44px;display:flex;flex-direction:column;background:var(--card)}
.lv small{font-size:24px;font-weight:700;letter-spacing:.18em;color:#86868b}
.lv b{font-size:52px;font-weight:800;margin-top:16px;line-height:1.25}
.lv .st{margin-top:auto;font-size:28px;font-weight:700;color:#a1a1a6}
.lv.ok{box-shadow:inset 0 0 0 2px rgba(255,255,255,.18)}
.lv.ok .st i{font-style:normal;color:#ffc46b;margin-right:16px;letter-spacing:.1em}
.lv.stuck{box-shadow:inset 0 0 0 2px rgba(255,69,58,.55);background:linear-gradient(160deg,#1f1212,#161617)}
.lv.stuck .st{color:#ff6b5f}.lv.stuck .rt{font-style:normal}
.lv .lock{position:absolute;right:40px;top:40px;width:48px;height:56px}
.lv-ar svg{width:120px;height:60px}
.lvs .me{position:absolute;left:60px;top:-30px;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#ff7a1a);box-shadow:0 0 20px rgba(255,122,26,.7);opacity:0}
.L-levels.st1 .lvs .me{opacity:1;animation:hop 3.6s ease-in-out infinite 1.4s}
@keyframes hop{0%{transform:translate(0,0)}30%{transform:translate(1050px,-60px)}45%{transform:translate(1080px,0)}60%{transform:translate(1050px,-20px)}100%{transform:translate(0,0)}}
.up .lvf{top:700px;bottom:auto;font-size:54px}
/* 合群 */
.cr-t{position:absolute;left:0;right:0;top:140px;height:100px}
.cr-t>div{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center}
.crw{position:absolute;left:110px;top:260px;width:1700px;height:380px}
.crw svg{width:100%;height:100%;overflow:visible}
.crw .cd{fill:#ff7a1a;opacity:.85;animation:drift 4s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(18px,-8px)}}
.crw .flock{animation:flock 6s ease-in-out infinite alternate}
@keyframes flock{to{transform:translateX(60px)}}
.crw .you{transform:translate(600px,190px);transition:transform 2.2s var(--ease)}
.crw .you circle{fill:#ff7a1a;stroke:#fff;stroke-width:4;transition:fill 1.6s 1s}
.crw .you text{font-size:30px;font-weight:800;fill:#fff}
.L-crowd.st1 .crw .you{transform:translate(1380px,170px)}
.L-crowd.st1 .crw .you circle{fill:#48484a;stroke:#8e8e93}
.cr-q{position:absolute;left:0;right:0;top:660px;justify-content:center}
.cr-q .chip{font-size:30px}
/* 法典卷轴 */
.sc-q{position:absolute;left:0;right:0;top:140px;text-align:center}
.sc-q .by{margin-top:18px}
.sc-s{position:absolute;left:210px;right:210px;top:450px;height:360px}
.sc-s svg{width:100%;height:100%}
.sc-s .scw{transform-origin:750px 0;transform:scaleX(0)}
.active .sc-s .scw{animation:unroll 2.4s .8s cubic-bezier(.6,0,.2,1) forwards}
@keyframes unroll{to{transform:scaleX(1)}}
.sc-s .rl.l{transform:translateX(658px)}.sc-s .rl.r{transform:translateX(-658px)}
.active .sc-s .rl{animation:rolls 2.4s .8s cubic-bezier(.6,0,.2,1) forwards}
@keyframes rolls{to{transform:none}}
/* 心流的装饰 */
.deco-flow{width:1100px;height:600px;right:-40px;bottom:-40px;-webkit-mask-image:linear-gradient(300deg,#000 40%,transparent 90%);mask-image:linear-gradient(300deg,#000 40%,transparent 90%)}
.blk.wa .ln.m{font-size:64px}.blk.wa .ln.xl{font-size:150px}
.loopp .ln.m{font-size:64px}
.deco-flow{bottom:30px;right:10px}
.L-vs .fin .ln:not(.s){font-size:104px}
/* 背景视频页（参考 Apple Watch Series 12 首屏）：标题浮在光上，白→橙渐变字 */
.bgv{position:absolute;left:0;top:190px;width:1920px;height:1440px;object-fit:cover;z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%);mask-image:linear-gradient(180deg,transparent 0,#000 12%)}
.vidp .wrap{top:90px;bottom:auto;height:420px;gap:18px}
.ln.eb{font-size:38px;font-weight:600;color:var(--f2);letter-spacing:.04em}
.ln.awt{font-size:128px;line-height:1.12;background:linear-gradient(105deg,#fff 0%,#ffe6cc 32%,#ffb36b 62%,#ff7a1a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ln.awt .hp{color:#ffb36b}
.bgv{left:226px;top:300px;width:1468px;height:1100px;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%);mask-image:linear-gradient(180deg,transparent 0,#000 18%)}
.vidp .wrap{top:110px;height:380px}
.bgv{top:345px}.vidp .wrap{top:95px}
/* 黎明：不写实，一束光从小孔射进来（用户给的视频） */
.dawn .dv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s .3s}
.L-dawn.st1 .dawn .dv{opacity:1}
.L-dawn .dw-b{left:110px;right:auto;top:300px;width:800px;text-align:left}
.L-dawn .dw-b .ln.m{font-size:76px;line-height:1.3}
.L-dawn .dw-b{transition-delay:1.3s!important}

/* ======== 第 4 批 ======== */
/* 一排经典书 */
.books{display:flex;align-items:flex-end;justify-content:center;gap:14px;height:340px;margin-top:20px}
.books i{display:flex;align-items:flex-start;justify-content:center;width:86px;border-radius:8px 8px 4px 4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 6px 0 10px rgba(255,255,255,.06);padding-top:26px;
  transform:translateY(60px);opacity:0;transition:transform 1s var(--ease),opacity .8s}
.show .books i{transform:none;opacity:1}
.books b{writing-mode:vertical-rl;font-size:36px;font-weight:700;color:#d6c3a5;letter-spacing:.2em}
/* 轮子：从几千年前滚到 1970 年，装上行李箱 */
.whl{position:relative;width:1500px;height:330px}
.whl .axis{position:absolute;left:0;right:0;top:250px;height:3px;background:linear-gradient(90deg,#3a3a3c,#8e8e93);display:flex;justify-content:space-between}
.whl .axis span{position:relative;top:20px;font-size:28px;font-weight:700;color:#86868b}
.whl .axis span:last-child{color:var(--f2)}
.whl .rollw{position:absolute;left:0;top:90px;width:160px;height:160px}
.whl .rollw svg{width:100%;height:100%}
.show .whl .rollw{animation:rollw 3.2s .4s cubic-bezier(.4,0,.2,1) forwards}
@keyframes rollw{to{transform:translateX(1180px) rotate(900deg)}}
.whl .case{position:absolute;right:20px;top:-40px;width:200px;height:280px;opacity:0;transform:translateY(-30px);transition:opacity .8s 3.4s,transform 1s 3.4s var(--ease)}
.whl .case svg{width:100%;height:100%}
.show .whl .case{opacity:1;transform:none}
/* AI 工具墙 */
.wall{position:absolute;inset:-40px;display:grid;grid-template-columns:repeat(12,1fr);gap:26px;padding:40px;z-index:0;opacity:.55;transform:rotate(-6deg) scale(1.15)}
.wall i{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fadeIn .6s both}
.slide:not(.active) .wall i{animation:none}
.wall b{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:24px;font-size:38px;font-weight:800;color:#fff;
  background:linear-gradient(145deg,hsl(var(--h),25%,30%),hsl(var(--h),20%,14%));box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.wall b.ic{background:linear-gradient(145deg,#2c2c2e,#161618)}
.wall b.ic img{width:58px;height:58px}
.wall small{font-size:16px;color:#8e8e93;font-weight:600;white-space:nowrap}
.aiwall:before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 55% 45% at 50% 40%,rgba(0,0,0,.92),rgba(0,0,0,.55) 70%,rgba(0,0,0,.2))}
.aiwall .wrap{z-index:2}
/* 天平 */
.bal{position:relative;width:1500px;height:420px;margin-top:10px}
.bal .beam{position:absolute;left:0;right:0;top:40px;height:8px;border-radius:8px;background:linear-gradient(90deg,#8e8e93,#d1d1d6,#ff7a1a);transform-origin:50% 50%;animation:teeter 3s ease-in-out .6s both}
@keyframes teeter{0%{transform:rotate(-6deg)}35%{transform:rotate(4deg)}65%{transform:rotate(-2deg)}100%{transform:none}}
.bal .pan{position:absolute;top:20px;width:440px;padding:30px 36px;border-radius:30px;background:var(--card);text-align:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.bal .pan.l{left:0}.bal .pan.r{right:0;box-shadow:inset 0 0 0 1.5px rgba(255,122,26,.5)}
.bal .pan small{display:block;font-size:26px;color:#86868b;font-weight:600}
.bal .pan b{display:block;font-size:56px;font-weight:800;margin-top:10px}
.bal .fulc{position:absolute;left:50%;top:48px;width:0;height:0;margin-left:-60px;border-left:60px solid transparent;border-right:60px solid transparent;border-bottom:110px solid #2c2c2e}
.bal .mid{position:absolute;left:0;right:0;top:200px;text-align:center;font-size:76px;font-weight:800}
/* 麻将牌 */
.art .mjrow{display:flex;gap:8px}
.mj{display:flex;align-items:center;justify-content:center;width:62px;height:86px;border-radius:10px;background:linear-gradient(180deg,#fafaf7,#d9d6cc);box-shadow:0 6px 0 #3f6b4a,0 10px 18px rgba(0,0,0,.5);
  font-size:22px;font-weight:800;color:#1d6b3a;writing-mode:vertical-rl;letter-spacing:.05em}
.mj.h{color:#c0392b}
/* 被封禁 */
.chips.ban .chip{background:rgba(255,69,58,.14);color:#ff6b5f;box-shadow:inset 0 0 0 1.5px rgba(255,69,58,.6);font-size:40px;padding:16px 40px}
.chips.ban .chip:before{content:"⦸ "}
/* A VS B */
.cmp2{display:grid;grid-template-columns:1fr 120px 1fr;align-items:center;width:100%;margin:12px 0}
.cmp2 .c{padding:36px 40px;border-radius:30px;background:var(--card);font-size:46px;font-weight:800;text-align:center;line-height:1.3}
.cmp2 .c.l{color:#a1a1a6}.cmp2 .c.r{box-shadow:inset 0 0 0 1.5px rgba(255,122,26,.45)}
.cmp2 span{text-align:center;font-size:40px;font-weight:800;color:var(--f2);letter-spacing:.1em}
.bal .mid{top:280px}.bal{height:440px}
.whl .rollw{left:0}.show .whl .rollw{animation-name:rollw2}@keyframes rollw2{to{transform:translateX(1300px) rotate(980deg)}}
.up.towerp .caps{top:330px}.towerp .caps>div{font-size:76px}
/* 全局：出现可以延迟，消失一律立刻开始（不留残影） */
.only:not(.show),.only:not(.show) *{transition-delay:0s!important}
[data-s]:not(.on){transition-delay:0s!important}

/* ======== 第 5 批 ======== */
.lightup i[data-hp]{display:inline-block;width:0;white-space:nowrap}
.lists .card .nm{font-size:48px}
.lists .card .ds{margin-top:22px;padding-top:0;font-size:30px;line-height:1.8;color:#d1d1d6}
.lists .grid{bottom:250px!important}
#stage #d3 h4{top:120px}
.ti .hp,.ti.hp,.hot .hp,.awt .hp{-webkit-text-fill-color:currentColor}.ti .hp,.ti.hp{color:#c7c7cc}.hot .hp{color:#ff7a1a}

/* 人物引用 img.pos:'fig'（参考「听其说」海报：淡英文名 + 线框 + 人像破框） */
.ph.fig{background:#000}
.ph.fig:after{display:none}
.ph.fig img{inset:auto;right:200px;top:20px;width:auto;height:830px;z-index:2;object-fit:contain;
  -webkit-mask-image:linear-gradient(0deg,transparent 0,transparent 6%,#000 38%);mask-image:linear-gradient(0deg,transparent 0,transparent 6%,#000 38%)}
.active .ph.fig img{animation:fgIn 1.6s var(--ease) both}
@keyframes fgIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.fgh{position:absolute;right:20px;top:100px;z-index:0;font-size:220px;font-weight:800;letter-spacing:.04em;line-height:1;color:rgba(255,255,255,.045);white-space:nowrap}
.fgl{position:absolute;inset:0;width:100%;height:100%;z-index:1;transform:translateY(-100px)}
.fgl path{fill:none;stroke:url(#fgg);stroke-width:7;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.active .fgl path{animation:fgDraw 2.4s .4s var(--ease) forwards}
@keyframes fgDraw{to{stroke-dashoffset:0}}
.fgs{position:absolute;left:1806px;top:330px;z-index:3;writing-mode:vertical-rl;font-size:17px;font-weight:600;letter-spacing:.24em;line-height:1.9;color:#8e8e93;opacity:0}
.active .fgs{animation:fadeIn 1s 1.6s both}
.ph.fig figcaption{right:200px;top:140px;width:550px;height:640px}

/* 整屏写实图 + 文字放在图的暗处（参考发布会大屏：左侧压暗，文字左对齐，主体露出来） */
.heroL .ph:after{background:linear-gradient(90deg,rgba(0,0,0,.82) 0,rgba(0,0,0,.6) 30%,rgba(0,0,0,.2) 55%,transparent 70%),linear-gradient(180deg,rgba(0,0,0,.55),transparent 45%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 30%)}
.active .heroL .ph img,.heroL.active .ph img{animation:kb2 20s linear both}
@keyframes kb2{from{transform:scale(1.04)}to{transform:scale(1)}}
#stage .heroL.L-statement .wrap{right:auto;width:1100px;top:200px;bottom:auto;justify-content:flex-start;text-align:left}
.heroL .wrap .ln{text-shadow:0 2px 6px rgba(0,0,0,.6),0 8px 40px rgba(0,0,0,.75)}
.heroL .kick,.heroL .chap{text-shadow:0 2px 8px rgba(0,0,0,.8)}
/* 渐变字（.ti/.hot）是透明填色，text-shadow 会透出来发脏：改用 drop-shadow；整行钛银在图上改实色 */
.heroL .ln .ti,.heroL .ln .hot{text-shadow:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.7)) drop-shadow(0 6px 24px rgba(0,0,0,.6))}
.heroL .ln.ti{background:none;-webkit-text-fill-color:#f5f5f7;color:#f5f5f7}
.heroL .ln{font-size:100px}.heroL .ln.m{font-size:76px}.heroL .ln.s{font-size:48px}.heroL .ln.xl{font-size:150px}
#stage .heroL.L-statement .wrap{width:1250px}
.heroL .chap{color:#c7c7cc}
/* 卡片质感（参考 bento 卡）：深灰渐变 + 细描边 + 顶部高光 + 下半部点阵 + 角落暖光；文字收紧在上面 */
.card{background:linear-gradient(165deg,#1f1f21 0%,#141415 45%,#0c0c0d 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),inset 0 1px 0 rgba(255,255,255,.1),0 30px 60px rgba(0,0,0,.5)}
.card:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgba(255,255,255,.13) 1.5px,transparent 2px) 0 0/28px 28px;
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 70% 100%,#000,transparent 75%);mask-image:radial-gradient(ellipse 90% 70% at 70% 100%,#000,transparent 75%)}
.card:after{content:"";position:absolute;right:-20%;bottom:-35%;width:80%;height:70%;z-index:0;pointer-events:none;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,122,26,.16),transparent);filter:blur(10px);opacity:.6;transition:opacity .8s var(--ease)}
.card>*{position:relative;z-index:1}
.card .ds{margin-top:22px;padding-top:0}
.card.cur{background:linear-gradient(165deg,#2a211a 0%,#17130f 50%,#0d0b0a 100%);
  box-shadow:inset 0 0 0 1.5px rgba(255,122,26,.5),inset 0 1px 0 rgba(255,190,130,.25),0 0 60px rgba(255,122,26,.12),0 30px 60px rgba(0,0,0,.5)}
.card.cur:after{opacity:1;background:radial-gradient(closest-side,rgba(255,122,26,.32),transparent)}
/* 卡片高度跟内容走，不再撑满预留区域 */
#stage .L-cols .grid{bottom:auto;align-items:stretch}
.card{padding:44px 48px 52px}
/* 第 70 页《大卫》：雕像在左，引言放右边黑处，左对齐 */
.davidp .ph.later img{object-position:30% 0}
.davidp .ph.later:after{background:linear-gradient(180deg,rgba(0,0,0,.7),transparent 22%),linear-gradient(270deg,rgba(0,0,0,.55),transparent 45%),linear-gradient(0deg,rgba(0,0,0,.6),transparent 30%)}
.davidp .blk.c:last-child{left:820px;right:-60px;align-items:flex-start;text-align:left}
.davidp .blk.c:last-child .by{margin-top:6px}
.davidp .blk.c:last-child .q{font-size:88px}
.davidp.img-on .kick{text-shadow:0 2px 10px rgba(0,0,0,.9)}
/* 连着上一页的同一个人物：人像和引号框直接在位，不重播入场 */
.active .ph.fig.still img,.active .still .fgl path,.active .still .fgs{animation:none}
.still .fgl path{stroke-dashoffset:0}.still .fgs{opacity:1}
/* 人物引用页的语录：字号收一档，放得下左半屏 */
.figq .wrap{gap:40px}
.figq .ln.s{font-size:40px;line-height:1.6;color:#86868b}
.figq .ln.m{font-size:60px;line-height:1.35}
/* 弯引号挂在行外：不占宽度，正文本身居中 */
.lightup i.qo,.lightup i.qc{display:inline-block;width:0;white-space:nowrap}
.lightup i.qo{text-indent:-.62em}
.lightup i.qt{margin-left:-.42em}
#stage .capup .caps{top:570px;height:140px}
/* 合群页：两句「等我……」改成小气泡，贴在「你」旁边（一个左下，一个右上） */
#stage .cr-q{top:0;height:0}
#stage .cr-q .chip{position:absolute;font-size:22px;padding:12px 22px;line-height:1.4}
#stage .cr-q .chip:nth-child(1){left:985px;top:510px;white-space:nowrap}
#stage .cr-q .chip:nth-child(2){left:1510px;top:250px;width:340px;white-space:normal}

/* ==== 第 2 轮批注 · 第一批 ==== */
/* 写实物件图（codex 生成，黑底）：边缘羽化融进舞台，进页缓缓浮现 */
.pic{position:absolute;z-index:0;pointer-events:none;opacity:0;transform:scale(1.04);transition:opacity 1.6s var(--ease),transform 2.4s var(--ease)}
.active .pic:not([data-s]),.pic.on{opacity:1;transform:none}
.pic img{width:100%;height:100%;object-fit:contain;-webkit-mask-image:radial-gradient(closest-side,#000 72%,transparent);mask-image:radial-gradient(closest-side,#000 72%,transparent)}
/* 背景氛围：几团极慢漂移的暖光 */
.amb{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.amb i{position:absolute;width:900px;height:900px;border-radius:50%;filter:blur(120px);opacity:.0;transition:opacity 2s}
.active .amb i{opacity:1}
.amb i:nth-child(1){left:-200px;top:-260px;background:radial-gradient(circle,rgba(255,122,26,.16),transparent 65%);animation:ambA 22s ease-in-out infinite alternate}
.amb i:nth-child(2){right:-260px;top:120px;background:radial-gradient(circle,rgba(120,130,160,.14),transparent 65%);animation:ambB 26s ease-in-out infinite alternate}
.amb i:nth-child(3){left:35%;bottom:-520px;background:radial-gradient(circle,rgba(255,90,26,.10),transparent 65%);animation:ambA 30s ease-in-out infinite alternate-reverse}
@keyframes ambA{to{transform:translate(260px,140px) scale(1.15)}}
@keyframes ambB{to{transform:translate(-220px,-120px) scale(.9)}}

/* 第 4 页：荷马石膏像在右，左边「酒色的大海」+ 海的照片条；条展开成整屏的海 */
.pic.homer{right:20px;top:40px;width:1250px;height:900px}
.pic.homer img{-webkit-mask-image:radial-gradient(closest-side,#000 80%,transparent);mask-image:radial-gradient(closest-side,#000 80%,transparent)}
#stage .homerp .only{left:110px;right:auto;width:980px;justify-content:flex-start;padding-top:250px;align-items:flex-start;gap:44px;z-index:1}
#stage .homerp .only .ln{text-align:left;font-size:120px;white-space:nowrap}
#stage .homerp .sea{flex:none;width:900px;height:250px;border-radius:26px;background:url(img/sea.png) center 60%/cover;box-shadow:0 30px 90px rgba(120,20,50,.35)}
.homerp .sea:after{opacity:.35}
#stage .homerp .caps>div{white-space:nowrap}
#stage .homerp .caps small{white-space:normal}
.homerp .ocean .w{background:url(img/sea.png) center/cover}
.homerp .ocean .w:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,transparent,rgba(0,0,0,.5))}
.homerp .ocean .b{background:url(img/sea.png) center/cover;filter:hue-rotate(160deg) saturate(1.5) brightness(1.1)}
.homerp .ocean .w,.homerp .ocean .b{animation:seaZoom 30s linear infinite alternate}
.homerp .ocean .b{animation:seaShift 14s ease-in-out infinite alternate,seaZoom 30s linear infinite alternate}
@keyframes seaZoom{from{transform:scale(1.05)}to{transform:scale(1.18) translateY(-2%)}}

/* 第 20 页：主句和说明拉开层次 */
#stage .p20 .ln:first-child{font-size:110px;line-height:1.2}
#stage .p20 .ln.s{margin-top:56px;font-size:40px;font-weight:500;line-height:1.7;color:#a1a1a6}
#stage .p20 .ln.s .hot{font-weight:700}

/* 第 23 页：划地为牢 —— 地上一圈光，人站在圈里 */
#stage .jailp .wrap{top:150px;bottom:auto}
.deco-jail{left:110px;right:110px;width:auto;height:520px;top:330px;bottom:auto;-webkit-mask-image:none;mask-image:none}
.deco-jail .jr,.deco-jail .jr2{stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}
.active .deco-jail .jr,.active .deco-jail .jr2{animation:jdraw 2.6s .8s cubic-bezier(.6,0,.2,1) forwards}
.active .deco-jail .jr2{animation:jdraw 2.6s .8s cubic-bezier(.6,0,.2,1) forwards,jglow 4s 3.4s ease-in-out infinite alternate}
@keyframes jdraw{to{stroke-dashoffset:0}}
@keyframes jglow{from{opacity:.25}to{opacity:.6}}
.deco-jail .jman{opacity:0;transition:opacity 1.4s .3s}
.active .deco-jail .jman{opacity:1}

/* 第 28 页：水杯 */
.pic.cup{right:150px;top:110px;width:720px;height:720px}
#stage .cupp .wrap{right:820px}
.pic.cup{right:110px}

/* 第 30 页：七分吃，三分练 —— 背后一圈 70 / 30 的环 */
.bbg{position:absolute;left:50%;top:50%;width:960px;height:960px;margin:-480px 0 0 -480px;z-index:-1;pointer-events:none;opacity:.75}
.bbg svg{width:100%;height:100%}
.on>.bbg .a3{animation:a3glow 3s 3s ease-in-out infinite alternate}
@keyframes a3glow{to{filter:drop-shadow(0 0 34px rgba(255,122,26,.9))}}
@keyframes bbgSpin{to{transform:rotate(360deg)}}
.bbg .a7{opacity:.6}
.bbg .a7,.bbg .a3{stroke-dashoffset:var(--c);transition:stroke-dashoffset 1.8s cubic-bezier(.6,0,.2,1)}
.bbg .a3{transition-delay:1.2s;filter:drop-shadow(0 0 18px rgba(255,122,26,.6))}
.on>.bbg .a7,.on>.bbg .a3{stroke-dashoffset:0}
.bbg text{opacity:0;transition:opacity .8s}
.bbg .t7{transition-delay:1.4s}.bbg .t3{transition-delay:2.6s}
.on>.bbg text{opacity:1}

/* 第 32 页：右侧文献 + 诺奖证书 */
#stage .paperp .wrap{right:940px}
.fig-paper{right:110px;top:150px;width:760px;height:660px}
.ppr{position:relative;background:linear-gradient(180deg,#f4f1ea,#e7e2d6);color:#1d1d1f;border-radius:10px;padding:40px 46px 38px;transform:rotate(-1.6deg);box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.1);font-family:Georgia,"Times New Roman",serif}
.ppr .pj{font-family:-apple-system,"PingFang SC",sans-serif;font-size:17px;font-weight:700;letter-spacing:.16em;color:#8a5a2b}
.ppr .pt{font-size:32px;line-height:1.25;font-weight:700;margin-top:14px}
.ppr .pa{font-size:19px;font-style:italic;color:#555;margin-top:12px}
.ppr .pl{height:9px;border-radius:5px;background:#d6d0c2;margin-top:14px}.ppr .pl.s{width:70%}
.ppr .pz{font-family:-apple-system,"PingFang SC",sans-serif;margin-top:22px;padding-top:18px;border-top:1px solid #cfc8b8;font-size:34px;font-weight:800}
.ppr .pz b{color:#e8590c}.ppr .pz small{display:block;font-size:20px;font-weight:600;color:#6e6e73;margin-top:6px}
.nob{position:relative;display:flex;align-items:center;gap:26px;margin:-10px 0 0 70px;padding:26px 34px 26px 22px;background:linear-gradient(160deg,#1d1d1f,#0d0d0e);border-radius:24px;box-shadow:0 30px 70px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,196,107,.28);transform:rotate(1.2deg)}
.nob img{width:150px;height:150px;object-fit:cover;border-radius:50%;-webkit-mask-image:radial-gradient(closest-side,#000 88%,transparent);mask-image:radial-gradient(closest-side,#000 88%,transparent)}
.nob small{display:block;font-size:15px;font-weight:700;letter-spacing:.12em;color:#c9a35b}
.nob b{display:block;font-size:44px;font-weight:800;margin-top:8px}.nob b i{font-style:normal;font-size:24px;font-weight:600;color:#86868b;margin-left:8px}
.nob span{display:block;font-size:24px;color:#a1a1a6;margin-top:4px}

/* 第 36 页：西兰花 / 苦瓜（写实） */
.vg2{position:absolute;left:110px;right:110px;top:250px;height:560px;display:grid;grid-template-columns:1fr 1fr;gap:60px}
.vgs{position:relative;display:flex;align-items:center;gap:20px}
.vimg{width:560px;height:560px;flex:none;margin-left:-40px}
.vimg img{width:100%;height:100%;object-fit:contain;-webkit-mask-image:radial-gradient(closest-side,#000 75%,transparent);mask-image:radial-gradient(closest-side,#000 75%,transparent)}
.vgs.v1 .vimg img{animation:bob 3.2s ease-in-out infinite alternate}
.vgs.v0 .vimg img{animation:bob 3.6s ease-in-out -1.6s infinite alternate}
.vtx{display:flex;flex-direction:column;gap:14px}
.vnm{font-size:56px;font-weight:800;margin-bottom:6px}
.vlab2{font-size:26px;padding:14px 22px;border-radius:18px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);max-width:340px}
.vlab2 b{font-size:30px;display:block}.vlab2 small{display:block;font-size:21px;color:#a1a1a6;margin-top:4px}

/* 第 40 页：微信对话 */
#stage .wxp .msgs{left:50%;right:auto;width:1120px;margin-left:-560px;top:150px;gap:18px;justify-content:flex-start}
.wxr{display:flex;align-items:flex-start;gap:20px}
.wxr.t{flex-direction:row-reverse}
.wxr .av{flex:none;width:68px;height:68px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:30px;font-weight:700;color:#fff;background:linear-gradient(160deg,#5a5a5e,#3a3a3c)}
.wxr.t .av{background:linear-gradient(160deg,#ff9a3c,#ff5a1f)}
.wxp .wxr .bub{position:relative;max-width:820px;font-size:32px;font-weight:500;line-height:1.45;padding:16px 26px;border-radius:12px}
.wxp .wxr .bub.s{background:#2c2c2e;color:#f5f5f7}
.wxp .wxr .bub.t{background:#95ec69;color:#111}
.wxr .bub:before{content:"";position:absolute;top:24px;width:0;height:0;border:10px solid transparent}
.wxr .bub.s:before{left:-18px;border-right-color:#2c2c2e}
.wxr .bub.t:before{right:-18px;border-left-color:#95ec69}
.wxp.st3 .msgs{transform:translateY(-170px)}
.wxp.st3 .wxr:nth-child(-n+2){opacity:0!important;transition:opacity .6s}

/* 第 43 页：写实杠铃片 */
.kgp.kgimg{width:600px;height:600px;margin-left:-300px;top:120px}
.kgp.kgimg img{width:100%;height:100%;object-fit:contain;-webkit-mask-image:radial-gradient(closest-side,#000 80%,transparent);mask-image:radial-gradient(closest-side,#000 80%,transparent)}
.L-kg.st3 .kgp.kgimg{filter:drop-shadow(0 0 70px rgba(255,122,26,.35))}

/* 第 44 页：玻璃罩里的小花 */
.pic.flower{right:140px;top:110px;width:600px;height:800px}

/* 第 46 页：忍住不扶 —— 摔下去，弹得更高 */
.deco-fall{right:40px;top:250px;bottom:auto;width:700px;height:498px;-webkit-mask-image:none;mask-image:none}
.deco-fall .fpath{stroke-dasharray:1400;stroke-dashoffset:1400}
.active .deco-fall .fpath{animation:jdraw 2.4s .6s cubic-bezier(.5,0,.2,1) forwards}
.deco-fall .fsp{transform-origin:330px 560px;animation:fsp 3.4s 1.2s infinite}
@keyframes fsp{0%,28%{opacity:0;transform:scaleX(.3)}32%{opacity:1;transform:scaleX(1)}60%,100%{opacity:0;transform:scaleX(1.3)}}
#stage .fallp .wrap{right:880px}
#stage .fallp .ln{white-space:nowrap}

/* 第 49 页：抖音封面（等图） */
#stage .dyp .wrap{right:820px}

/* 第 50 页：写实大脑 + 放电 */
.pic.brain{right:40px;top:150px;width:1060px;height:597px}
.pic.brain img{-webkit-mask-image:radial-gradient(closest-side,#000 82%,transparent);mask-image:radial-gradient(closest-side,#000 82%,transparent)}
.fig-zap{right:40px;top:150px;width:1060px;height:597px;z-index:1}
.fig-zap .zp{opacity:0;stroke-dasharray:400;stroke-dashoffset:400;filter:drop-shadow(0 0 6px #8fd0ff) drop-shadow(0 0 16px #4aa8ff);animation:zap 2.2s infinite}
@keyframes zap{0%{opacity:0;stroke-dashoffset:400}6%{opacity:1}22%{stroke-dashoffset:0;opacity:1}34%,100%{opacity:0;stroke-dashoffset:0}}
#stage .brain2 .wrap{right:1000px}
.ln.enl{font-size:26px!important;font-weight:700;letter-spacing:.32em;color:#6e6e73;margin-bottom:-6px}

/* 第 53 页：国王的毒誓 */
.pic.rockbig{right:60px;top:170px;width:1050px;height:600px}
.pic.rockbig img{animation:rockHang 6s ease-in-out infinite alternate}
@keyframes rockHang{from{transform:translateY(-10px) rotate(-1deg)}to{transform:translateY(10px) rotate(.6deg)}}
#stage .kingp .wrap{right:1000px}
/* 第 54 页：大石头 vs 小石子（写实） */
.art.vpic{width:620px;height:310px}
.art.vpic img{width:100%;height:100%;object-fit:contain;-webkit-mask-image:radial-gradient(closest-side,#000 78%,transparent);mask-image:radial-gradient(closest-side,#000 78%,transparent)}

/* ==== 第 2 轮 · 样板（胡泊式：物件有厚度、接触阴影、互相作用） ==== */
/* 〔17〕论文页 */
.fig-paper{right:70px;top:120px;width:860px;height:740px}
.dk2{position:relative;width:100%;height:100%;perspective:1800px}
.doc{position:absolute;left:30px;top:20px;width:680px;height:620px;padding:46px 50px;background:linear-gradient(170deg,#f6f3ec,#e4ddcf);color:#1d1d1f;border-radius:6px;font-family:Georgia,"Times New Roman",serif;
  transform:rotateX(8deg) rotateZ(-3deg);transform-origin:50% 100%;box-shadow:0 2px 0 #cfc6b4,0 50px 80px -20px rgba(0,0,0,.9),0 10px 30px rgba(0,0,0,.5);opacity:0;translate:0 60px;transition:opacity 1s .3s,translate 1.4s .3s var(--ease)}
.doc:after{content:"";position:absolute;inset:0;border-radius:6px;background:radial-gradient(ellipse at 20% 0%,rgba(255,255,255,.5),transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(120,90,40,.18),transparent 60%);pointer-events:none}
.active .doc{opacity:1;translate:0 0}
.dj{display:flex;justify-content:space-between;font-size:15px;letter-spacing:.22em;font-weight:700;color:#7a5a2c;border-bottom:2px solid #1d1d1f;padding-bottom:10px}
.dt{font-size:34px;line-height:1.28;font-weight:700;margin-top:26px;text-align:center}
.dt mark,.lg mark{background:linear-gradient(transparent 12%,rgba(255,138,40,.75) 12%,rgba(255,138,40,.75) 92%,transparent 92%) no-repeat 0 0/0% 100%;color:inherit;padding:0 2px;transition:background-size 1.1s 1.6s cubic-bezier(.6,0,.3,1)}
.active .dt mark,.active .lg mark{background-size:100% 100%}
.da{font-size:14px;letter-spacing:.14em;text-align:center;margin-top:16px;color:#444}
.dr{height:1px;background:#1d1d1f;margin:20px 0 18px}
.dcol{display:inline-flex;flex-direction:column;gap:11px;width:48%;vertical-align:top}.dcol+.dcol{margin-left:4%}
.dcol i{height:7px;border-radius:3px;background:#cfc7b6}.dcol i:nth-child(5n){width:70%}.dcol i:nth-child(7n){width:85%}
/* 放大镜：压在标题上 */
.lens{position:absolute;left:300px;top:70px;width:300px;height:300px;border-radius:50%;z-index:3;opacity:0;scale:.6;transition:opacity .6s 2.6s,scale 1s 2.6s cubic-bezier(.3,1.5,.5,1);
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.95),#f1ece1 60%,#e2dac9);box-shadow:0 0 0 14px #1c1c1e,0 0 0 16px #48484a,0 40px 70px rgba(0,0,0,.75),inset 0 0 40px rgba(0,0,0,.18)}
.lens:after{content:"";position:absolute;left:255px;top:255px;width:40px;height:170px;border-radius:20px;background:linear-gradient(90deg,#2c2c2e,#48484a,#1c1c1e);transform:rotate(-45deg);transform-origin:20px 0;z-index:-1}
.lens:before{content:"";position:absolute;left:40px;top:28px;width:110px;height:50px;border-radius:50%;background:rgba(255,255,255,.7);filter:blur(10px)}
.active .lens{opacity:1;scale:1}
.lg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font:700 50px/1.15 Georgia,serif;color:#1d1d1f}
.lg mark{transition-delay:3.1s}
/* 中文纸条：胶带贴上去 */
.note{position:absolute;left:-30px;top:440px;z-index:4;padding:22px 30px 20px;background:#fbf8f1;color:#1d1d1f;font-size:38px;font-weight:800;line-height:1.3;transform:rotate(2.5deg);box-shadow:0 18px 30px rgba(0,0,0,.6);
  opacity:0;translate:-40px 0;transition:opacity .5s 3.6s,translate .8s 3.6s cubic-bezier(.3,1.4,.5,1)}
.note:before{content:"";position:absolute;left:50%;top:-14px;width:110px;height:30px;margin-left:-55px;background:rgba(255,255,255,.55);transform:rotate(-4deg);box-shadow:0 1px 2px rgba(0,0,0,.2)}
.note b{color:#e8590c}.note small{display:block;font-size:20px;font-weight:600;color:#6e6e73;margin-top:6px}
.active .note{opacity:1;translate:0 0}
/* 诺奖奖章：叠在论文右下角 */
.nob2{position:absolute;right:0;bottom:0;z-index:5;display:flex;align-items:center;gap:22px;opacity:0;translate:0 40px;transition:opacity .6s 4.4s,translate 1s 4.4s var(--ease)}
.active .nob2{opacity:1;translate:0 0}
.nob2 .md{width:190px;height:190px;border-radius:50%;overflow:hidden;box-shadow:0 26px 40px rgba(0,0,0,.85)}
.nob2 img{width:100%;height:100%;object-fit:cover;scale:var(--ms,1.45)}
.nob2 .tag{padding:16px 22px;background:#151516;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,196,107,.3),0 20px 40px rgba(0,0,0,.7)}
.nob2 small{display:block;font-size:17px;font-weight:700;letter-spacing:.08em;color:#c9a35b}.nob2 b{display:block;font-size:42px;font-weight:800;margin-top:4px}.nob2 span{font-size:22px;color:#a1a1a6}
#stage .paperp .wrap{right:1000px}
/* 〔22〕摔一跤：真球落地压扁、弹得更高 */
.deco-fall2{right:60px;top:170px;bottom:auto;width:860px;height:640px;-webkit-mask-image:none;mask-image:none;transform:none}
.fl2{position:absolute;inset:0}
.flr{position:absolute;left:-60px;right:-60px;top:520px;height:180px;background:linear-gradient(180deg,#1a1a1c,rgba(10,10,11,0) 90%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}
.flr:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent)}
.flv{position:absolute;left:0;right:0;height:0;border-top:3px dashed #48484a}
.flv span{position:absolute;left:0;top:-44px;font-size:28px;font-weight:700;color:#8e8e93;font-style:normal}
.flv.a{top:250px;right:340px}
.flv.b{top:70px;left:300px;right:120px;border-color:rgba(255,122,26,.7);opacity:0;transition:opacity .8s 3.4s}.flv.b span{color:#ff7a1a;font-weight:800}
.st1 .flv.b{opacity:1}
.imp{position:absolute;left:260px;top:560px;width:160px;text-align:center;font-size:30px;font-weight:800;color:#d1d1d6;opacity:0;transition:opacity .4s 2.05s}
.st1 .imp{opacity:1}
/* 球：x 匀速，y 先加速落下、压扁、再减速弹高 */
.bx{position:absolute;left:0;top:0;width:170px;height:170px;transform:translate(40px,80px)}
.by{width:100%;height:100%}
.bl{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffc08a,#ff7a1a 55%,#a8380c);box-shadow:inset -10px -14px 30px rgba(0,0,0,.35);transform-origin:50% 100%;overflow:hidden}
.bl img{width:190%;height:190%;margin:-45%;object-fit:cover}
.st1 .bx{animation:bxX 2.9s 1.2s linear forwards}
.st1 .by{animation:byY 2.9s 1.2s forwards}
.st1 .bl{animation:blS 2.9s 1.2s forwards}
@keyframes bxX{from{transform:translate(40px,80px)}to{transform:translate(600px,80px)}}
@keyframes byY{0%{transform:translateY(0);animation-timing-function:cubic-bezier(.55,0,1,.45)}30%{transform:translateY(270px);animation-timing-function:cubic-bezier(0,.55,.45,1)}100%{transform:translateY(-110px)}}
@keyframes blS{0%,27%{transform:scale(1)}30%{transform:scale(1.28,.72)}34%{transform:scale(.9,1.12)}42%,100%{transform:scale(1)}}
.bsh{position:absolute;left:0;top:512px;width:140px;height:26px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.9),transparent);transform:translateX(50px) scale(.4);opacity:.3}
.st1 .bsh{animation:bsh 2.9s 1.2s linear forwards}
@keyframes bsh{0%{transform:translateX(55px) scale(.5);opacity:.3}30%{transform:translateX(230px) scale(1.5);opacity:1}100%{transform:translateX(615px) scale(.3);opacity:.15}}
.st1 .imp{animation:impF 1.4s 2.07s ease-out}
@keyframes impF{0%{transform:scale(1.4);color:#ff7a1a}100%{transform:none}}
#stage .fallp .wrap{right:900px}
/* 〔4〕鸡蛋和石头：巨字在后，物件压在字前面（字物穿插） */
#stage .eggp .split{top:130px;bottom:320px}
.eggp .pane{overflow:visible}
.eggp .rule{opacity:0!important}
.wsx{position:absolute;inset:0}
#stage .wbig{position:absolute;left:0;right:0;top:40px;text-align:center;font-size:320px!important;font-weight:900;line-height:1;letter-spacing:-.02em;z-index:1}
.wen{position:absolute;left:0;right:0;top:0;text-align:center;font-size:26px;font-weight:700;letter-spacing:.6em;color:#636366;z-index:1}
.wobj{position:absolute;left:50%;bottom:0;z-index:2;transform:translateX(-50%);filter:drop-shadow(0 30px 40px rgba(0,0,0,.85))}
.pa .wobj{height:380px}
.pb .wobj{height:300px;bottom:30px}
.wsh{position:absolute;left:50%;bottom:-20px;width:420px;height:46px;margin-left:-210px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.95),transparent);z-index:1}
.pb .wsh{width:600px;margin-left:-300px}
/* 鸡蛋压在「脆弱」中下部，石头压在「坚硬」中下部：字的下半截被物件挡住 */
.L-vs.intro.active .pa .wobj{animation:toDim 1.3s var(--ad) both}
@keyframes toDim{to{filter:drop-shadow(0 30px 40px rgba(0,0,0,.85)) brightness(.75)}}
#stage .eggp .foot{bottom:225px;text-shadow:0 0 30px #000,0 0 12px #000}
/* 〔20〕同样 20 公斤：立体「20」+ 靠着的杠铃片做整屏主视觉，两种看法分在左右（胡泊 H04 + H05） */
.kgsc{position:absolute;left:170px;top:50px;width:1400px;height:788px;z-index:0;opacity:0;transform:scale(1.06);transition:opacity 1.4s var(--ease),transform 2.6s var(--ease),filter 1.4s}
.kgsc img{width:100%;height:100%;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse 52% 55% at 50% 48%,#000 62%,transparent);mask-image:radial-gradient(ellipse 52% 55% at 50% 48%,#000 62%,transparent)}
.active .kgsc{opacity:1;transform:none}
.kgscp.st3 .kgsc{filter:brightness(1.12) drop-shadow(0 0 80px rgba(255,122,26,.25))}
#stage .kgscp .kgs{position:absolute;top:250px;width:420px;z-index:2;text-align:left}
#stage .kgscp .kgs.kl{left:110px;right:auto}
#stage .kgscp .kgs.kr{right:110px;left:auto;text-align:right}
#stage .kgscp .kgs .vs-big{font-size:96px;line-height:1.05;margin-top:10px;white-space:nowrap}
#stage .kgscp .kgf{top:auto;bottom:300px;z-index:2;text-shadow:0 4px 30px #000}
.kgscp .kgs .vs-lab{font-size:34px}
/* 巨字下半截渐隐进背景，物件从渐隐里「长」出来 */
#stage .wbig{-webkit-mask-image:linear-gradient(180deg,#000 58%,rgba(0,0,0,.65) 80%,rgba(0,0,0,.25) 100%);mask-image:linear-gradient(180deg,#000 58%,rgba(0,0,0,.65) 80%,rgba(0,0,0,.25) 100%)}
/* 〔22〕球：不加文字标注；第 1 下才出现；起点留一个淡淡的「原来的球」做对比 */
.deco-fall2{opacity:0!important;transition:opacity .8s .4s!important}
.st1 .deco-fall2{opacity:1!important}
#stage .bl{background:none;box-shadow:none;overflow:visible;border-radius:0}
#stage .bl img{width:100%;height:100%;margin:0;object-fit:contain}
.bgh{position:absolute;left:0;top:0;width:170px;height:170px;transform:translate(40px,80px);opacity:0}
.bgh img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) brightness(.6)}
.st1 .bgh{animation:bgh 1.2s 4.2s forwards}
@keyframes bgh{to{opacity:.22}}
.flr{background:radial-gradient(ellipse 50% 100% at 40% 0%,rgba(255,255,255,.07),transparent 70%)!important}
.flr:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent)!important}
/* 〔22〕球的物理：重力下落（越来越快）→ 落地前微拉长 → 触地压扁 → 回弹减速上升 → 顶点轻轻悬浮；全程带旋转 */
.st1 .bx{animation:bxX2 2.4s 1.1s cubic-bezier(.3,.1,.4,1) forwards}
@keyframes bxX2{from{transform:translate(40px,80px)}to{transform:translate(600px,80px)}}
.st1 .by{animation:byY2 2.4s 1.1s forwards,hover 3.6s 3.5s ease-in-out infinite alternate}
@keyframes byY2{
  0%{transform:translateY(0);animation-timing-function:cubic-bezier(.45,0,.9,.55)}
  31%{transform:translateY(270px);animation-timing-function:linear}
  35%{transform:translateY(270px);animation-timing-function:cubic-bezier(.1,.6,.35,1)}
  100%{transform:translateY(-110px)}}
@keyframes hover{from{translate:0 0}to{translate:0 -14px}}
.st1 .bl{animation:blS2 2.4s 1.1s forwards}
@keyframes blS2{0%{transform:scale(1)}26%{transform:scale(.94,1.08)}31%{transform:scale(1.22,.78)}35%{transform:scale(.92,1.1)}44%{transform:scale(1.03,.97)}52%,100%{transform:scale(1)}}
.st1 .bl img{animation:spin 2.4s 1.1s cubic-bezier(.3,.1,.3,1) forwards}
@keyframes spin{from{rotate:0deg}to{rotate:220deg}}
.st1 .bsh{animation:bsh2 2.4s 1.1s cubic-bezier(.3,.1,.4,1) forwards}
@keyframes bsh2{
  0%{transform:translateX(55px) scale(.5);opacity:.25;animation-timing-function:cubic-bezier(.45,0,.9,.55)}
  31%{transform:translateX(230px) scale(1.5);opacity:1}
  35%{transform:translateX(250px) scale(1.55);opacity:1;animation-timing-function:cubic-bezier(.1,.6,.35,1)}
  100%{transform:translateX(615px) scale(.32);opacity:.15}}
.bgh{border-radius:50%;border:2px dashed rgba(255,255,255,.28)}
.bgh img{display:none}
.st1 .bgh{animation:bgh2 1s 3.6s forwards}
@keyframes bgh2{to{opacity:1}}
/* 放大镜：实物照片（黄铜镜框 + 胡桃木柄），镜片透明，下面是放大的标题；镜框投影落在纸上 */
#stage .lens{left:262px;top:44px;width:628px;height:610px;border-radius:0;background:none;box-shadow:none;scale:.85;rotate:-6deg;transform-origin:28% 27%;
  transition:opacity .5s 2.6s,scale 1.1s 2.6s cubic-bezier(.25,1.3,.5,1),rotate 1.1s 2.6s cubic-bezier(.25,1.3,.5,1)}
#stage .lens:before,#stage .lens:after{display:none}
#stage .active .lens{scale:1;rotate:0deg}
.lmg{position:absolute;inset:0;width:100%;height:100%;z-index:2;filter:drop-shadow(18px 30px 22px rgba(0,0,0,.55)) drop-shadow(4px 8px 6px rgba(0,0,0,.4))}
#stage .lg{inset:auto;left:28px;top:16px;width:300px;height:300px;border-radius:50%;overflow:hidden;z-index:1;
  background:radial-gradient(circle at 50% 50%,#f8f5ee 55%,#e9e2d3 85%,#cfc6b2);box-shadow:inset 0 0 30px rgba(0,0,0,.35),inset 0 0 4px rgba(0,0,0,.5)}
.lgt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font:700 46px/1.12 Georgia,serif;color:#1d1d1f;transform:scale(1.04)}
/* 镜片边缘的折射暗角 + 一点色散 */
#stage .lg:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,transparent 62%,rgba(90,60,20,.18) 82%,rgba(0,0,0,.35));box-shadow:inset 2px 0 3px rgba(255,80,40,.25),inset -2px 0 3px rgba(40,120,255,.2)}
/* 奖章挪到左下，给手柄让位 */
#stage .nob2{right:auto;left:40px;bottom:-10px}
#stage .note{top:390px}

/* ==== 第 2 轮 · 第一批铺开：巨字 gw / 暗纹 tex / 抠图物件 ==== */
/* 巨字：在物件后面，下半截渐隐进背景 */
.gw{position:absolute;z-index:0;pointer-events:none;line-height:.95;opacity:0;transform:translateY(30px);transition:opacity 1.4s .2s var(--ease),transform 1.8s .2s var(--ease)}
.active .gw:not([data-s]),.gw.on{opacity:1;transform:none}
.gw b{display:block;font-weight:900;letter-spacing:-.02em;background:linear-gradient(180deg,#f5f5f7,#8e8e93);-webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-mask-image:linear-gradient(180deg,#000 45%,rgba(0,0,0,.35) 72%,transparent 94%);mask-image:linear-gradient(180deg,#000 45%,rgba(0,0,0,.35) 72%,transparent 94%)}
.gw small{display:block;font-size:24px;font-weight:700;letter-spacing:.5em;color:#636366;margin:0 0 18px 8px}
/* 物件压在巨字前面；正文永远在最上层 */
.pic{z-index:1}
#stage .slide .wrap{z-index:2}
.pic.cut img,.pic[class*="2"] img,.pic.brain3 img{-webkit-mask-image:none;mask-image:none}
/* 暗纹：一排排很淡的字缓慢平移（M12） */
.tex{position:absolute;inset:-40px 0;z-index:0;display:flex;flex-direction:column;justify-content:space-around;overflow:hidden;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 42%,#000,transparent);mask-image:radial-gradient(ellipse 70% 60% at 50% 42%,#000,transparent);opacity:0;transition:opacity 2s}
.active .tex{opacity:1}
.tex div{white-space:nowrap;font-size:64px;font-weight:900;color:#141415;letter-spacing:.06em;animation:texMove linear infinite}
.tex div:nth-child(odd){font-size:44px;color:#111112}
@keyframes texMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
#stage .texp .ln:last-child,#stage .p20 .ln:first-child{text-shadow:0 0 40px #000}
#stage .texp .ln{font-size:104px}
#stage .texp .ln.m{font-size:64px}

/* 第 4 页：「酒色的大海」巨字，荷马像压在「海」上 */
.g-homer{left:110px;top:170px}
.g-homer b{font-size:230px}
.pic.homer2{right:120px;top:120px;width:560px;height:880px}
.pic.homer2 img{object-fit:contain;filter:drop-shadow(-30px 40px 50px rgba(0,0,0,.9))}
#stage .homerp .only{padding-top:520px;z-index:0}
#stage .homerp .sea{width:1100px;height:200px}
.seapage .pic,.seapage .gw{transition:opacity .6s}
.seapage.st1 .pic,.seapage.st1 .gw{opacity:0!important}

/* 第 20 页 */
#stage .p20 .ln:first-child{font-size:150px}

/* 第 23 页：整屏实拍，人站在发光的圈里 */
.pic.full{inset:0;width:auto;height:auto}
.pic.full img{object-fit:cover;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.35),#000 40%,#000 75%,transparent);mask-image:linear-gradient(180deg,rgba(0,0,0,.35),#000 40%,#000 75%,transparent)}
.active .pic.full img{animation:kb 18s linear both}
#stage .jailp .wrap{top:120px}
#stage .jailp .ln{text-shadow:0 4px 40px #000,0 0 12px #000}

/* 第 28 页：365 巨数字 + 杯子 */
.g-365{right:90px;top:120px;text-align:right}
.g-365 b{font-size:400px}
.pic.cup2{right:330px;top:300px;width:330px;height:520px}
.pic.cup2 img{object-fit:contain;filter:drop-shadow(0 40px 40px rgba(0,0,0,.9))}
#stage .cupp .wrap{right:900px}

/* 第 37 页：菜压在巨字前，成分是贴上去的纸条 */
.veg2 .vg2{top:200px;height:600px}
.veg2 .vgs{display:block}
.veg2 .vnm{position:absolute;left:0;top:0;font-size:220px;font-weight:900;line-height:1;z-index:0;background:linear-gradient(180deg,#f5f5f7,#636366);-webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-mask-image:linear-gradient(180deg,#000 40%,transparent 95%);mask-image:linear-gradient(180deg,#000 40%,transparent 95%)}
.veg2 .vimg{position:absolute;left:60px;top:120px;width:520px;height:460px;margin:0;z-index:1}
.veg2 .vimg img{-webkit-mask-image:none;mask-image:none;filter:drop-shadow(0 40px 40px rgba(0,0,0,.85))}
.veg2 .vtx{position:absolute;left:520px;top:200px;z-index:2;gap:16px}
.veg2 .vlab2{background:#fbf8f1;color:#1d1d1f;border-radius:4px;box-shadow:0 14px 26px rgba(0,0,0,.6);padding:12px 20px;transform:rotate(-2deg)}
.veg2 .vlab2:nth-child(odd){transform:rotate(1.5deg)}
.veg2 .vlab2 small{color:#6e6e73}
.veg2 .head{display:none}

/* 第 45 页：玻璃罩压在「温室」上 */
.g-green{right:100px;top:150px;text-align:right}
.g-green b{font-size:300px}
.pic.flower2{right:250px;top:200px;width:420px;height:690px}
.pic.flower2 img{object-fit:contain;filter:drop-shadow(0 40px 50px rgba(0,0,0,.9))}

/* 第 51 页：大脑放大出血 + 放电闪烁 */
.pic.brain3{right:-120px;top:110px;width:1050px;height:855px}
.pic.brain3 img{object-fit:contain;animation:zapFlick 3.2s 1.5s infinite}
@keyframes zapFlick{0%,100%{filter:brightness(1) drop-shadow(0 0 0 rgba(120,190,255,0))}6%{filter:brightness(1.35) drop-shadow(0 0 40px rgba(120,190,255,.8))}9%{filter:brightness(1)}13%{filter:brightness(1.25) drop-shadow(0 0 30px rgba(120,190,255,.6))}20%{filter:brightness(1)}}
#stage .brain2 .wrap{right:980px}

/* 第 55 页：大石头悬在「毒誓」上 */
.g-oath{right:80px;top:330px;text-align:right}
.g-oath b{font-size:340px}
.pic.rock2{right:120px;top:90px;width:820px;height:550px}
.pic.rock2 img{object-fit:contain;filter:drop-shadow(0 60px 50px rgba(0,0,0,.9));animation:rockHang 6s ease-in-out infinite alternate}

/* 第 56 页：灾难 / 训练（同鸡蛋石头那页） */
.L-vs.intro2 .pa .wobj{transition:filter 1.3s}
.L-vs.intro2.st1 .pa .wobj{filter:drop-shadow(0 30px 40px rgba(0,0,0,.85)) brightness(.7)}
.rockp .pb .wobj{bottom:40px}
/* 修正 */
.tex div{color:#0f0f10}.tex div:nth-child(odd){color:#0c0c0d}
.pic.cup2{right:300px;top:420px;width:300px;height:470px}
#stage .cupp .wrap{right:820px}
#stage .cupp .ln{white-space:nowrap}
.veg2 .vnm{white-space:nowrap;font-size:200px;left:-10px;top:-20px}
.veg2 .vgs.v1 .vnm{left:60px}
.veg2 .vimg{left:0;top:130px;width:480px;height:440px}
.veg2 .vtx{left:470px;top:250px}
.g-oath{right:90px;top:470px}
.g-oath b{font-size:300px}
.pic.rock2{right:140px;top:70px;width:760px;height:500px}
.pic.flower2{top:300px;height:600px;width:370px;right:300px}
#stage .jailp .ln{text-shadow:none}
.jailp .pic.full:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 50% 18%,rgba(0,0,0,.75),transparent 70%)}
.g-365{right:70px}.g-365 b{font-size:360px}
.pic.cup2{right:270px}
.veg2 .vnm,.veg2 .vgs.v1 .vnm{left:0;right:0;top:-10px;text-align:center;font-size:210px}
.veg2 .vimg{left:50%;top:110px;width:520px;height:470px;transform:translateX(-50%)}
.veg2 .vimg.on,.veg2 .vimg{translate:0 0}
.veg2 .vtx{left:auto;right:-20px;top:330px}
.veg2 .vgs.v0 .vtx{right:auto;left:-20px}
.pic.flower2{right:110px;top:330px}
.pic.flower2{top:280px;height:540px;width:330px}
#stage .texp .ln.s{font-size:42px;margin-top:20px}
/* 〔18〕西兰花苦瓜：HUD 指示牌（橙色，中文 + 英文，逐个出现） */
.hob{position:absolute;z-index:1;opacity:0;transform:translateY(24px) scale(.97);transition:opacity 1.2s var(--d) var(--ease),transform 1.6s var(--d) var(--ease)}
.active .hob{opacity:1;transform:none}
.hob img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 40px 40px rgba(0,0,0,.85))}
.hln{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.hln polyline{fill:none;stroke:#ff9a3c;stroke-width:2.5;stroke-dasharray:700;stroke-dashoffset:700;filter:drop-shadow(0 0 6px rgba(255,122,26,.8))}
.active .hln polyline{animation:jdraw .5s var(--d) cubic-bezier(.5,0,.2,1) forwards}
/* 瞄准圈 */
.hrg{position:absolute;z-index:3;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;border:3px solid #ff7a1a;box-shadow:0 0 18px rgba(255,122,26,.8),inset 0 0 12px rgba(255,122,26,.6);opacity:0;scale:.2;rotate:-120deg}
.hrg:before{content:"";position:absolute;inset:8px;border-radius:50%;border:2px dashed rgba(255,190,120,.9)}
.hrg:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px;border-radius:2px;background:#ffc08a;box-shadow:0 0 10px #ff7a1a}
.active .hrg{animation:hrgIn .45s var(--d) cubic-bezier(.3,1.6,.5,1) forwards,hrgSpin 6s calc(var(--d) + .5s) linear infinite}
@keyframes hrgIn{to{opacity:1;scale:1;rotate:0deg}}
@keyframes hrgSpin{to{rotate:360deg}}
/* 指示牌 */
.htg{position:absolute;z-index:4;width:440px}
.htg small{display:inline-block;padding:4px 12px;font-size:16px;font-weight:800;letter-spacing:.14em;color:#fff;background:linear-gradient(90deg,#c2410c,#ff7a1a);transform:skewX(-14deg);opacity:0;translate:-10px 0}
.active .htg small{transition:opacity .25s calc(var(--d) + .75s),translate .35s calc(var(--d) + .75s) var(--ease);opacity:1;translate:0 0}
.hbar{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:14px;margin-top:6px;padding:12px 26px 12px 22px;transform:skewX(-14deg);
  background:linear-gradient(90deg,#ff5a1a,#ff8a2a 55%,rgba(255,170,90,.75));box-shadow:0 0 30px rgba(255,122,26,.35),inset 0 1px 0 rgba(255,255,255,.4);
  clip-path:inset(0 100% 0 0);border-left:4px solid #ffd2a8}
.active .hbar{transition:clip-path .55s calc(var(--d) + .85s) cubic-bezier(.6,0,.2,1);clip-path:inset(0 0 0 0)}
.hbar b,.hbar em{transform:skewX(14deg);display:inline-block;opacity:0;translate:-16px 0}
.hbar b{font-size:38px;font-weight:900;color:#fff;letter-spacing:.02em;text-shadow:0 2px 8px rgba(120,30,0,.45)}
.hbar em{font-style:italic;font-size:17px;font-weight:700;letter-spacing:.12em;color:rgba(255,255,255,.85)}
.active .hbar b,.active .hbar em{transition:opacity .4s calc(var(--d) + 1.15s),translate .5s calc(var(--d) + 1.15s) var(--ease);opacity:1;translate:0 0}
.active .hbar em{transition-delay:calc(var(--d) + 1.3s)}
.hft{display:flex;align-items:center;gap:14px;margin-top:10px;font-size:20px;font-weight:600;color:#ffb070}
.hft>span:last-child{opacity:0}
.active .hft>span:last-child{transition:opacity .5s calc(var(--d) + 1.7s);opacity:1}
.hst{display:flex;gap:5px}
.hst i{width:12px;height:22px;background:#ff7a1a;transform:skewX(-20deg);opacity:.15}
.active .hst i{animation:hstOn .2s forwards}
.active .hst i:nth-child(1){animation-delay:calc(var(--d) + 1.3s)}.active .hst i:nth-child(2){animation-delay:calc(var(--d) + 1.38s)}
.active .hst i:nth-child(3){animation-delay:calc(var(--d) + 1.46s)}.active .hst i:nth-child(4){animation-delay:calc(var(--d) + 1.54s)}.active .hst i:nth-child(5){animation-delay:calc(var(--d) + 1.62s)}
@keyframes hstOn{to{opacity:1;box-shadow:0 0 8px rgba(255,122,26,.8)}}
.htg{width:auto}.hbar{width:fit-content;min-width:300px;max-width:450px}
.hbar{max-width:430px}
/* 进度格：橙条刷出来之前完全不显示 */
.hst{opacity:0}
.active .hst{transition:opacity .3s calc(var(--d) + 1.2s);opacity:1}
/* 去掉巨字后：物件本身做主角，放大 */
.pic.cup2{right:260px;top:150px;width:420px;height:660px}
.pic.flower2{right:180px;top:130px;width:480px;height:780px}
.pic.rock2{right:100px;top:150px;width:900px;height:600px}
/* 第 26 页：肱三头肌扫描视频铺满，文字在左 */
.tricp .bgv{object-fit:cover}
#stage .tricp .wrap{right:1000px;z-index:2}
#stage .tricp .bgv{left:0;top:0;width:1920px;height:1080px;-webkit-mask-image:none;mask-image:none;opacity:1}
/* 光弧背景（参考泡泡杭州场）：整屏暖色光弧 + 颗粒，缓慢漂移；f = 左右翻转 */
.arcbg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 1.6s var(--ease)}
.active .arcbg{opacity:1}
.arcbg img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover}
.arcbg.f img{transform:scaleX(-1)}
.active .arcbg img{animation:arcDrift 24s ease-in-out infinite alternate}
.active .arcbg.f img{animation-name:arcDriftF}
@keyframes arcDrift{from{transform:scale(1) translate(0,0)}to{transform:scale(1.07) translate(-1.5%,-1%)}}
@keyframes arcDriftF{from{transform:scaleX(-1) scale(1) translate(0,0)}to{transform:scaleX(-1) scale(1.07) translate(-1.5%,-1%)}}
.arcbg i{position:absolute;inset:0;opacity:.18;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
/* 光弧：文字区垫一层暗晕，亮线只在四周；d = 光弧整体压低（日出那张） */
.arcbg:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 48% 34% at 50% 40%,rgba(0,0,0,.9),rgba(0,0,0,.55) 55%,transparent 100%)}
.arcbg.d img{top:16%}
.arcbg img{opacity:.92}
.arcbg{background:#000}

/* ==== 情境背景 bgx ==== */
.bgx{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 1.4s var(--ease)}
.active .bgx{opacity:1}
/* 牛皮纸标签 */
.tg{position:absolute;transform-origin:50% -180px;scale:var(--z);rotate:var(--r);animation:tgSway var(--t) ease-in-out infinite alternate}
@keyframes tgSway{from{rotate:calc(var(--r) - 2.5deg)}to{rotate:calc(var(--r) + 2.5deg)}}
.tg .st{position:absolute;left:50%;bottom:100%;width:2px;margin-left:-1px;background:linear-gradient(#000,#8a7458);transform:translateY(14px)}
.tc{position:relative;width:220px;height:330px;margin-top:0;background:linear-gradient(160deg,#c9a676,#a7834f 60%,#8c6a3c);border-radius:6px;clip-path:polygon(22% 0,78% 0,100% 13%,100% 100%,0 100%,0 13%);
  box-shadow:inset 0 0 40px rgba(60,35,10,.45);display:flex;align-items:center;justify-content:center}
.tc:before{content:"";position:absolute;left:50%;top:26px;width:30px;height:30px;margin-left:-15px;border-radius:50%;background:#0a0a0a;box-shadow:0 0 0 7px #d9c3a0,0 0 0 9px rgba(0,0,0,.25)}
.tc:after{content:"";position:absolute;inset:0;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.tc b{writing-mode:vertical-rl;font-size:84px;font-weight:900;color:#5a2410;letter-spacing:.1em;margin-top:50px;opacity:.85;transform:rotate(-3deg);text-shadow:0 0 1px #5a2410}
.texp2 .wrap{z-index:12!important}
.bgx-tags:after{content:"";position:absolute;inset:0;z-index:11;background:radial-gradient(ellipse 50% 30% at 50% 47%,rgba(0,0,0,.92),rgba(0,0,0,.5) 60%,transparent),linear-gradient(0deg,#000 8%,transparent 45%)}
/* 〔3〕荷马（名人名言样式）+ 一条酒色的海 */
.homq .ln.sstrip{width:760px;height:150px;border-radius:20px;background:url(img/sea.png) center 60%/cover;box-shadow:0 30px 80px rgba(120,20,50,.35);margin-top:30px}
.homq .ph.fig img{height:860px;top:60px}
/* 〔3〕格莱斯顿：做旧书页 */
#stage .gladp .wrap{right:980px}
.gladp .ln.q2{margin-top:30px}
.fig-ledger{right:110px;top:140px;width:760px;height:680px}
.ldg{position:relative;width:100%;height:100%;perspective:1600px}
.gx-lpg{position:absolute;inset:0 20px 0 20px;padding:48px 56px;background:linear-gradient(170deg,#efe6d2,#d9ccb0);color:#2a2116;border-radius:6px;font-family:Georgia,"Times New Roman",serif;
  transform:rotateX(6deg) rotateZ(2deg);box-shadow:0 50px 90px -20px rgba(0,0,0,.95),0 10px 30px rgba(0,0,0,.5);opacity:0;translate:0 50px;transition:opacity 1s .3s,translate 1.4s .3s var(--ease)}
.gx-lpg:after{content:"";position:absolute;inset:0;border-radius:6px;background:radial-gradient(ellipse at 0 0,rgba(255,255,255,.35),transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(90,60,20,.3),transparent 60%);pointer-events:none}
.active .gx-lpg{opacity:1;translate:0 0}
.gx-lh{font-size:30px;font-weight:700;letter-spacing:.06em;line-height:1.25;text-align:center}
.gx-la{font-size:15px;letter-spacing:.24em;text-align:center;margin-top:12px;color:#6b5636}
.gx-lr{height:1px;background:#2a2116;margin:24px 0 26px;box-shadow:0 4px 0 -0px rgba(42,33,22,.5)}
.gx-lrow{display:grid;grid-template-columns:80px 130px 1fr;align-items:center;gap:16px;height:60px;font-family:-apple-system,"PingFang SC",sans-serif}
.gx-lrow b{font-size:30px;font-weight:800}
.gx-lrow i{font-family:Georgia,serif;font-size:22px;color:#6b5636}
.gx-lrow span{position:relative;height:16px;border-radius:8px;background:rgba(42,33,22,.1)}
.gx-lrow em{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:8px;background:#3a2c1c;transition:width 1s var(--d) cubic-bezier(.6,0,.2,1)}
.active .gx-lrow em{width:var(--w)}
.gx-lrow.none span{background:none;border:2px dashed #e8590c;opacity:0;transition:opacity .5s var(--d)}
.active .gx-lrow.none span{opacity:1}
.gx-lrow.none b{color:#e8590c}
.gx-lrow u{position:absolute;right:76px;text-decoration:none;font-size:34px;font-weight:900;color:#e8590c;opacity:0;scale:1.8;transition:opacity .4s calc(var(--d) + .5s),scale .6s calc(var(--d) + .5s) cubic-bezier(.3,1.6,.5,1)}
.active .gx-lrow u{opacity:1;scale:1}
.gx-lrow{position:relative}
.gx-lft{margin-top:22px;font-family:-apple-system,"PingFang SC",sans-serif;font-size:20px;color:#6b5636;text-align:center;opacity:0;transition:opacity .8s 3.6s}
.active .gx-lft{opacity:1}
/* 〔3〕海那一页：上方一句，海条居中 */
#stage .seap2 .only{left:110px;right:110px;width:auto;padding-top:0;justify-content:center;align-items:center}
#stage .seap2 .sea{flex:none;width:1300px;height:260px;border-radius:26px;background:url(img/sea.png) center 60%/cover;box-shadow:0 30px 90px rgba(120,20,50,.35)}
.seap2 .ocean .w{background:url(img/sea.png) center/cover}
.seap2 .ocean .b{background:url(img/sea.png) center/cover;filter:hue-rotate(160deg) saturate(1.5) brightness(1.1);animation:seaShift 14s ease-in-out infinite alternate,seaZoom 30s linear infinite alternate}
.seap2 .ocean .w{animation:seaZoom 30s linear infinite alternate}
.seap2 .head{top:150px}
.seap2 .head h2{font-size:84px;line-height:1.2}
.seap2.st1 .head{opacity:0;transition:opacity .6s}
.tg{transform-origin:50% 0;scale:var(--z)}
@keyframes tgSway{from{rotate:calc(var(--r) - 2deg)}to{rotate:calc(var(--r) + 2deg)}}
.bgx-tags:after{background:radial-gradient(ellipse 36% 26% at 50% 44%,rgba(0,0,0,.95),rgba(0,0,0,.6) 60%,transparent),linear-gradient(180deg,rgba(0,0,0,.7),transparent 18%)}
.texp2 .kick,.texp2 .chap{z-index:13}

.gx-lpg{bottom:auto}
#stage .gladp .wrap{top:150px;bottom:auto;justify-content:flex-start}
#stage .gladp .ln.xl{font-size:120px}
#stage .gladp .ln.m{font-size:56px;line-height:1.3}
#stage .seap2 .caps>div{white-space:nowrap}
#stage .seap2 .caps small{white-space:normal}
/* Codex 视频：主体偏小，以右侧为锚点放大 */
#stage .vz-virus .bgv{transform:scale(1.45);transform-origin:88% 30%}
#stage .vz-cell .bgv{transform:scale(1.3);transform-origin:90% 50%}
#stage .vz-bell .bgv{transform:scale(1.35);transform-origin:95% 62%}
#stage .tricp .wrap{right:960px}
/* 情境背景：整屏图 + 热气 / 铜钱翻面；文字左上，压在图的暗处 */
.bgx .sbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.active .bgx .sbg{animation:kb 20s linear both}
.bgxl .wrap{z-index:3!important}
#stage .bgxl .wrap{left:110px;right:auto;width:1000px;align-items:flex-start;text-align:left;top:180px;bottom:auto;justify-content:flex-start}
#stage .bgxl .ln{text-align:left}
.bgx-herbs:after,.bgx-soup:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.2) 55%,transparent),linear-gradient(180deg,rgba(0,0,0,.5),transparent 40%)}
/* 热气：模糊白烟缓慢上升、变宽、消散 */
.stm{position:absolute;z-index:1}
.bgx-soup .stm{left:1620px;top:250px;width:320px;height:420px}
.bgx-herbs .stm{left:1200px;top:320px;width:240px;height:320px}
.stm i{position:absolute;bottom:0;width:70px;height:160px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,240,225,.32),transparent 70%);filter:blur(14px);opacity:0;animation:steam 6s ease-out infinite}
.stm i:nth-child(1){left:20%;animation-delay:0s}.stm i:nth-child(2){left:45%;animation-delay:1s}.stm i:nth-child(3){left:65%;animation-delay:2s}
.stm i:nth-child(4){left:35%;animation-delay:3s}.stm i:nth-child(5){left:55%;animation-delay:4s}.stm i:nth-child(6){left:28%;animation-delay:5s}
@keyframes steam{0%{opacity:0;transform:translate(0,0) scale(.6,.8)}20%{opacity:1}100%{opacity:0;transform:translate(30px,-300px) scale(1.8,1.6) rotate(12deg)}}
/* 铜钱：立在右侧慢慢翻面，影子跟着变窄变宽 */
.bgx-coin{perspective:2200px}
.bgx-coin:before{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(180deg,transparent,rgba(40,25,10,.55)),linear-gradient(90deg,transparent,rgba(255,140,40,.06) 60%,transparent)}
.cn{position:absolute;right:240px;top:170px;width:470px;height:534px}
.cnf{width:100%;height:100%;animation:coinFlip 9s cubic-bezier(.45,0,.55,1) infinite}
.cnf img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.8)) drop-shadow(0 0 60px rgba(255,122,26,.25))}
@keyframes coinFlip{0%{transform:rotateY(-25deg)}45%{transform:rotateY(155deg)}55%{transform:rotateY(155deg)}100%{transform:rotateY(335deg)}}
.cns{position:absolute;left:50%;bottom:-24px;width:420px;height:44px;margin-left:-210px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.95),transparent);animation:coinShadow 9s cubic-bezier(.45,0,.55,1) infinite}
@keyframes coinShadow{0%,100%{transform:scaleX(.9)}22%,78%{transform:scaleX(.25)}45%,55%{transform:scaleX(.9)}}
.cns:after{content:"";position:absolute;inset:-30px 60px;background:radial-gradient(closest-side,rgba(255,122,26,.25),transparent);filter:blur(10px)}
#stage .bgxl .wrap{width:auto;right:auto}
#stage .bgxl .ln{white-space:nowrap}
#stage .bgxl .ln:not(.m):not(.s){font-size:88px}
.cn{right:170px;top:200px;width:400px;height:455px}
/* ==== 荷马 / 格莱斯顿 字号收小 ==== */
#stage .homq .ln.xl,#stage .gladp .ln.xl{font-size:96px}
#stage .homq .ln.xs,#stage .gladp .ln.xs{font-size:26px;margin-top:6px}
#stage .homq .ln.m,#stage .gladp .ln.m{font-size:44px;line-height:1.4;margin-top:34px}
#stage .gladp .ln.q2{font-size:52px;margin-top:40px}
#stage .homq .wrap,#stage .gladp .wrap{top:170px;bottom:auto;justify-content:flex-start;gap:0}
/* 格莱斯顿：残破古籍纸（L20），统计像是写在纸上的批注 */
.fig-ledger{right:90px;top:90px;width:720px;height:900px}
.ldg-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 40px 60px rgba(0,0,0,.9)) sepia(.15);opacity:0;transform:rotate(-2deg) translateY(40px);transition:opacity 1.2s .2s,transform 1.6s .2s var(--ease)}
.active .ldg-bg{opacity:1;transform:rotate(-2deg)}
.ldg-bg~.gx-lpg{background:none;box-shadow:none;transform:rotate(-2deg);inset:auto 110px 150px 110px;padding:28px 34px;background:rgba(240,225,190,.55);border-radius:2px;
  box-shadow:0 0 30px 20px rgba(240,225,190,.45)}
.ldg-bg~.gx-lpg:after{display:none}
.ldg-bg~.gx-lpg .gx-lh{font-size:22px}.ldg-bg~.gx-lpg .gx-la{font-size:12px}
.ldg-bg~.gx-lpg .gx-lr{margin:14px 0}
.ldg-bg~.gx-lpg .gx-lrow{height:44px}
.ldg-bg~.gx-lpg .gx-lrow b{font-size:24px}
.ldg-bg~.gx-lpg .gx-lrow i{font-size:18px}
.ldg-bg~.gx-lpg .gx-lft{font-size:16px;margin-top:12px}
/* 第 6 页：L17 情境章节页——整屏酒色的海，居中细体拉开字距；按一下海变蓝 */
.seachap{background:url(img/sea.png) center/cover}
.seachap:before,.seachap:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none}
.seachap:before{background:url(img/sea.png) center/cover;filter:hue-rotate(160deg) saturate(1.5) brightness(1.05);opacity:0;transition:opacity 3s 0s ease-in-out}
.seachap.st1:before{opacity:1}
.seachap:after{background:radial-gradient(ellipse 60% 45% at 50% 42%,rgba(0,0,0,.55),transparent 75%),linear-gradient(180deg,rgba(0,0,0,.6),transparent 30%,transparent 70%,rgba(0,0,0,.75))}
.active.seachap{animation:seaZoomBg 30s linear both}
@keyframes seaZoomBg{from{background-size:110%}to{background-size:125%}}
#stage .seachap .wrap{z-index:2;inset:0;display:block;text-align:center}
.seachap .ln{position:absolute;left:0;right:0;text-align:center}
.seachap .sc-a{top:290px;font-size:34px;font-weight:500;letter-spacing:.5em;color:rgba(255,255,255,.75)}
.seachap .sc-b{top:350px;font-size:96px;font-weight:300;letter-spacing:.32em;color:#fff;text-shadow:0 4px 40px rgba(0,0,0,.6)}
.seachap .sc-c{top:500px;font-size:20px;font-weight:600;letter-spacing:.6em;color:rgba(255,255,255,.5)}
.seachap .sc-d{top:620px;font-size:46px;font-weight:700;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.7)}
.seachap .sc-e{top:700px;font-size:26px;color:rgba(255,255,255,.75)}
.seachap.st1 .sc-a,.seachap.st1 .sc-c{opacity:.35!important;transition:opacity 1.2s}
.seachap:before{filter:hue-rotate(235deg) saturate(1.3) brightness(1.1)}
/* 统计直接写在古籍纸上：去掉底色，墨色 + multiply */
.ldg-bg~.gx-lpg{background:none;box-shadow:none;mix-blend-mode:multiply;inset:auto 120px 170px 130px}
.ldg-bg~.gx-lpg,.ldg-bg~.gx-lpg *{color:#3b2410}
.ldg-bg~.gx-lpg .gx-lrow span{background:rgba(59,36,16,.12)}
.ldg-bg~.gx-lpg .gx-lrow em{background:#4a2c12;opacity:.85;border-radius:2px;height:10px;top:3px}
.ldg-bg~.gx-lpg .gx-lrow.none b,.ldg-bg~.gx-lpg .gx-lrow u{color:#b8320f}
.ldg-bg~.gx-lpg .gx-lrow.none span{border-color:#b8320f}
#stage .homq .ln.xs,#stage .gladp .ln.xs{font-size:28px}
.seachap:before{filter:hue-rotate(205deg) saturate(1.2) brightness(1.15)}
.fig-ledger{top:140px;height:880px;right:100px}
.ldg-bg~.gx-lpg{inset:auto 100px 150px 110px}
.ldg-bg~.gx-lpg .gx-lrow{height:52px;grid-template-columns:70px 110px 1fr}
.ldg-bg~.gx-lpg .gx-lrow b{font-size:30px;font-weight:900}
.ldg-bg~.gx-lpg .gx-lrow em{height:14px;top:1px}
.ldg-bg~.gx-lpg .gx-lft{font-size:19px;font-weight:600}
/* 荷马 / 格莱斯顿：文字填满左侧 120–1055 × 200–790 的区域 */
#stage .homq .wrap,#stage .gladp .wrap{left:120px;right:auto;width:935px;top:200px}
#stage .homq .ln.xl,#stage .gladp .ln.xl{font-size:150px;line-height:1.05}
#stage .homq .ln.xs,#stage .gladp .ln.xs{font-size:34px;margin-top:14px}
#stage .homq .ln.m,#stage .gladp .ln.m{font-size:72px;line-height:1.42;margin-top:48px}
#stage .gladp .ln.q2{font-size:72px;margin-top:44px}
/* ==== 第 12 页 手风琴：修动效 ==== */
#stage #d2 .big-ghost{display:none}
#stage #d2 .v{top:50%;font-size:84px;transition:opacity .35s,font-size .9s var(--ease)}
#stage #d2.st1 .v{font-size:52px}
#stage #d2 .x{transition:opacity .3s,transform .7s var(--ease)}
#stage #d2.st1:not(.st2) .p1 .x,#stage #d2.st2:not(.st3) .p2 .x,#stage #d2.st3 .p3 .x{transition-delay:.25s}
/* 收起栏：数字放到竖排字下方，和字一起压暗 */
#stage #d2 .mini{top:auto;bottom:250px;font-size:64px}
#stage #d2 .pane{background:linear-gradient(180deg,rgba(255,255,255,.015),transparent)}
#stage #d2 .rule{opacity:.5}
/* ==== 第 13 页 三张卡：一起升起，错开 0.15 秒，卡片放大 ==== */
#stage .L-cols.focus.nohead .grid{top:200px;gap:36px}
#stage .L-cols.focus.nohead .card{padding:44px 40px 52px}
#stage .L-cols.focus.nohead .card .no{font-size:24px}
#stage .L-cols.focus.nohead .card .nm{font-size:60px;line-height:1.2;margin-top:14px}
#stage .L-cols.focus.nohead .card .ds{font-size:30px;margin-top:18px}
/* 第 19 页 写实入场券 */
.deco-tkt{right:70px;top:420px;bottom:auto;width:900px;height:440px;-webkit-mask-image:none;mask-image:none;opacity:1!important;transform:none!important}
.tk{position:absolute;inset:0;transform:translateY(120px) rotate(14deg);opacity:0}
.active .tk{animation:tkIn 1.1s .5s cubic-bezier(.2,1.25,.4,1) forwards}
@keyframes tkIn{to{transform:none;opacity:1}}
.tk img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.85))}
.tk-a{clip-path:polygon(0 0,79% 0,79% 100%,0 100%)}
.tk-b{clip-path:polygon(79% 0,100% 0,100% 100%,79% 100%);transform-origin:79% 30%}
.active .tk-b{animation:tkTear 1.4s 2.4s cubic-bezier(.5,0,.6,1) forwards}
@keyframes tkTear{0%{transform:none}25%{transform:translate(14px,-4px) rotate(4deg)}100%{transform:translate(90px,420px) rotate(38deg);opacity:0}}
.tk-sh{position:absolute;left:8%;right:8%;bottom:-30px;height:50px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.9),transparent);opacity:0;transition:opacity .8s 1s}
.active .tk-sh{opacity:1}
/* 第 11 页 吃一点毒：文字收进上 3/4、左侧 */
#stage .vz-virus .wrap{top:170px;bottom:auto;justify-content:flex-start;right:1000px;gap:22px}
#stage .vz-virus .ln.m{font-size:52px;line-height:1.3}
#stage .vz-virus .ln:not(.m){font-size:76px;line-height:1.2;margin-top:20px}
/* 第 6 页 海：标题字体统一（粗体、正常字距） */
.seachap .sc-a{font-size:40px;font-weight:600;letter-spacing:0;top:280px}
.seachap .sc-b{font-size:120px;font-weight:800;letter-spacing:-.02em;top:340px}
.seachap .sc-c{top:500px;letter-spacing:.4em}
.seachap .sc-d{font-size:56px;font-weight:800}
.seachap .sc-e{font-size:32px;font-weight:600;top:710px}
#stage .deco-tkt{right:60px;top:140px;width:640px;height:312px}
/* 第 45 页：玻璃罩背后的舞台光（中心约 x1500 y520，底座约 y900） */
.bgx-spot{z-index:0}
.sp-beam{position:absolute;left:1220px;top:-80px;width:560px;height:1060px;background:linear-gradient(180deg,rgba(255,190,120,.30),rgba(255,140,60,.10) 55%,transparent 92%);
  clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);filter:blur(18px);opacity:0;animation:spOn 1.6s .2s forwards,beamBreath 7s 2s ease-in-out infinite alternate}
@keyframes spOn{to{opacity:1}}
@keyframes beamBreath{from{opacity:1}to{opacity:.65}}
.sp-halo{position:absolute;left:1500px;top:540px;width:900px;height:900px;margin:-450px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,150,60,.42),rgba(255,110,30,.16) 45%,transparent 75%);opacity:0;animation:spOn 1.8s .4s forwards,haloBreath 5s 2.2s ease-in-out infinite alternate}
@keyframes haloBreath{from{transform:scale(1)}to{transform:scale(1.08)}}
.sp-ring{position:absolute;left:1500px;top:540px;border-radius:50%;border:1px solid rgba(255,170,90,.22);opacity:0;animation:ringIn 2s forwards}
.sp-ring.r1{width:620px;height:620px;margin:-310px;animation-delay:.8s}
.sp-ring.r2{width:820px;height:820px;margin:-410px;border-style:dashed;border-color:rgba(255,170,90,.12);animation-delay:1.1s,0s}
.sp-ring.r3{width:1040px;height:1040px;margin:-520px;border-color:rgba(255,170,90,.07);animation-delay:1.4s}
@keyframes ringIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
.active .sp-ring.r2{animation:ringIn 2s 1.1s forwards,ringSpin 80s linear infinite}
@keyframes ringSpin{to{rotate:360deg}}
.sp-pool{position:absolute;left:1500px;top:905px;width:820px;height:110px;margin-left:-410px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,150,60,.38),rgba(255,120,40,.1) 60%,transparent);filter:blur(4px);opacity:0;animation:spOn 1.6s .6s forwards}
.sp-dust i{position:absolute;border-radius:50%;background:rgba(255,215,170,.85);box-shadow:0 0 6px rgba(255,170,90,.9);opacity:0;animation:dust 11s linear infinite}
@keyframes dust{0%{opacity:0;transform:translate(0,40px)}20%{opacity:.8}80%{opacity:.5}100%{opacity:0;transform:translate(30px,-160px)}}
/* 让主体压在光上 */
.flowerp .pic{z-index:2}
.flowerp .pic img{filter:drop-shadow(0 40px 50px rgba(0,0,0,.9)) drop-shadow(0 0 40px rgba(255,140,60,.18))}
.sp-beam{clip-path:none;filter:none;left:1100px;width:800px;top:-120px;height:1100px;
  background:radial-gradient(ellipse 22% 100% at 50% 0%,rgba(255,195,130,.26),rgba(255,150,70,.10) 45%,transparent 80%)}
/* ==== 动态光晕 aura：几团大光斑缓慢漂移、呼吸 ==== */
.aura{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 2s}
.active .aura{opacity:1}
.aura i{position:absolute;border-radius:50%;filter:blur(70px);mix-blend-mode:screen}
.aura i:nth-child(1){width:1100px;height:1100px;left:-300px;top:-420px;background:radial-gradient(closest-side,rgba(255,110,30,.38),transparent);animation:au1 18s ease-in-out infinite alternate}
.aura i:nth-child(2){width:900px;height:900px;right:-260px;bottom:-380px;background:radial-gradient(closest-side,rgba(255,60,20,.30),transparent);animation:au2 22s ease-in-out infinite alternate}
.aura i:nth-child(3){width:700px;height:700px;left:45%;top:40%;background:radial-gradient(closest-side,rgba(255,180,90,.16),transparent);animation:au3 26s ease-in-out infinite alternate}
.aura i:nth-child(4){width:600px;height:600px;right:15%;top:-260px;background:radial-gradient(closest-side,rgba(120,140,190,.14),transparent);animation:au2 30s ease-in-out infinite alternate-reverse}
@keyframes au1{0%{transform:translate(0,0) scale(1)}50%{transform:translate(380px,160px) scale(1.15)}100%{transform:translate(120px,320px) scale(.95)}}
@keyframes au2{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-420px,-120px) scale(1.2)}100%{transform:translate(-160px,-300px) scale(1)}}
@keyframes au3{0%{transform:translate(-50%,-50%) scale(.9)}100%{transform:translate(-20%,-80%) scale(1.25)}}
.aura.a2 i:nth-child(1){left:auto;right:-300px}.aura.a2 i:nth-child(2){right:auto;left:-260px}
.aura.a3 i:nth-child(1){top:auto;bottom:-500px;left:20%}
.aura:after{content:"";position:absolute;inset:0;opacity:.12;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#stage .slide .aura~.wrap,#stage .slide .aura~.split{z-index:2;position:absolute}
/* ==== 第 40 页：文字一侧叠黑色渐变 ==== */
.bgx-herbs:after{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 30%,rgba(0,0,0,.55) 55%,transparent 78%),linear-gradient(180deg,rgba(0,0,0,.85),rgba(0,0,0,.3) 45%,transparent 70%)!important}
.bgx-herbs .sbg{object-position:70% 60%}
/* ==== 第 53 页：电信号沿通路传导 ==== */
.pic.brain3 img{animation:none!important;filter:brightness(.92)}
.fig-neuro{right:-120px;top:110px;width:1050px;height:855px;z-index:2}
.nr-base{fill:none;stroke:rgba(150,210,255,.10);stroke-width:2}
.nr-p{fill:none;stroke:url(#nrg);stroke-width:4;stroke-linecap:round;stroke-dasharray:14 86;stroke-dashoffset:100;opacity:0;animation:nrRun 3.2s linear infinite}
.nr-g{stroke-width:14;filter:url(#nrb);opacity:0}
@keyframes nrRun{0%{stroke-dashoffset:100;opacity:0}8%{opacity:1}85%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.nr-g{animation-name:nrRunG}
@keyframes nrRunG{0%{stroke-dashoffset:100;opacity:0}8%{opacity:.7}85%{opacity:.7}100%{stroke-dashoffset:0;opacity:0}}
/* ==== 第 52 页：尼采引语 + 红线划掉 + 手机框 ==== */
#stage .dyp .wrap{right:820px;top:180px;bottom:auto;justify-content:flex-start}
#stage .dyp .ln.strike2{position:relative;font-size:88px;line-height:1.25;display:inline-block;width:fit-content}
.dyp .ln.strike2:after{content:"";position:absolute;left:-10px;right:-10px;top:52%;height:8px;border-radius:4px;background:linear-gradient(90deg,#ff3b1f,#ff7a1a);transform:scaleX(0) rotate(-3deg);transform-origin:left;box-shadow:0 0 20px rgba(255,59,31,.6)}
.active.dyp .ln.strike2:after{animation:strk .7s 1.4s cubic-bezier(.6,0,.2,1) forwards}
@keyframes strk{to{transform:scaleX(1) rotate(-3deg)}}
.active.dyp .ln.strike2{animation:strkDim .6s 2s forwards}
@keyframes strkDim{to{color:#636366}}
#stage .dyp .ln.xs{font-size:32px;margin-top:10px}
#stage .dyp .ln.s{font-size:52px;line-height:1.35;margin-top:60px}
.dyp .ph.r{right:200px;top:110px;width:420px;height:840px;border-radius:64px;border:12px solid #1c1c1e;box-shadow:0 0 0 2px #3a3a3c,0 50px 90px rgba(0,0,0,.8),0 0 120px rgba(255,90,30,.15);background:#0b0b0c}
.dyp .ph.r:before{content:"";position:absolute;left:50%;top:14px;width:120px;height:32px;margin-left:-60px;border-radius:20px;background:#000;z-index:3}
.dyp .ph.r figcaption{inset:60px 30px;width:auto;height:auto;font-size:24px}
.active.dyp .ln.strike2.k2:after{animation-delay:1.75s}
/* 整屏背景图 bgs（按步淡入切换） */
.bgs{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.bgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s var(--ease)}
.active .bgs img:not([data-s]),.bgs img.on{opacity:1}
.active .bgs img{animation:kb 22s linear both}
.bgs:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.65),transparent 35%,transparent 75%,rgba(0,0,0,.7))}
/* 第 24 页：真空 → 真实世界 */
.vacp .vac-v{display:none}
.vacp .vac-t{z-index:2}
/* 第 29 页：肌肉纤维压暗做底 */
.musp .bgs img{opacity:0}
.active.musp .bgs img{opacity:.38}
.musp .bgs img{object-position:center 20%;-webkit-mask-image:linear-gradient(180deg,transparent 5%,#000 30%,#000 70%,transparent 95%);mask-image:linear-gradient(180deg,transparent 5%,#000 30%,#000 70%,transparent 95%)}
.musp .vz,.musp .head,.musp .caps{z-index:2;position:absolute}
.musp .vz svg path.draw{filter:drop-shadow(0 0 14px rgba(255,122,26,.7))}
/* 第 33、48 页：文字左上，压在图的暗处 */
.bgsl .bgs:after{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 30%,rgba(0,0,0,.3) 60%,transparent 80%),linear-gradient(180deg,rgba(0,0,0,.6),transparent 40%)}
#stage .bgsl .wrap{z-index:2;left:110px;right:auto;top:200px;bottom:auto;justify-content:flex-start;align-items:flex-start}
#stage .bgsl .ln{text-align:left}
/* 第 48 页：笔直的捷径虚线画出来，山路暗下去 */
.deco-shortcut{inset:0;width:auto;height:auto;right:0;bottom:0;-webkit-mask-image:none;mask-image:none;z-index:1;opacity:1!important;transform:none!important}
.deco-shortcut svg{width:100%;height:100%}
.scut-l{stroke:#ff7a1a;stroke-width:4;stroke-dasharray:2 2;fill:none;opacity:0;filter:drop-shadow(0 0 8px rgba(255,122,26,.8))}
.active .scut-l{animation:scDraw 1.4s 1.4s cubic-bezier(.6,0,.2,1) forwards}
@keyframes scDraw{from{opacity:1;stroke-dasharray:0 100}to{opacity:1;stroke-dasharray:100 0}}
.scut-d{fill:#ffb070;opacity:0;filter:drop-shadow(0 0 10px #ff7a1a)}
.active .scut-d{transition:opacity .4s 2.8s;opacity:1}
.active.pathp .bgs img{animation:kb 22s linear both,pathDim 1.5s 2.6s forwards}
@keyframes pathDim{to{filter:brightness(.35) saturate(.5)}}
.vacp .bgs img{top:170px;height:calc(100% - 100px);object-position:center 40%}
.vacp .bgs:after{background:linear-gradient(180deg,#000 14%,transparent 34%,transparent 80%,rgba(0,0,0,.7))}
@keyframes pathDim{to{filter:brightness(.55) saturate(.6)}}
/* 第 6 页按一下：上面一句缩小上收，「没有蓝这个词」成为主标题 */
.seachap .sc-a,.seachap .sc-b,.seachap .sc-c,.seachap .sc-d,.seachap .sc-e{transition:opacity 1s,top 1.1s var(--ease),font-size 1.1s var(--ease)!important}
.seachap.st1 .sc-a,.seachap.st1 .sc-c{opacity:0!important}
.seachap.st1 .sc-b{top:200px;font-size:52px;font-weight:700;color:rgba(255,255,255,.75)}
.seachap.st1 .sc-d{top:300px;font-size:104px;font-weight:800;line-height:1.2}
.seachap.st1 .sc-e{top:460px;font-size:36px;color:rgba(255,255,255,.88)}
.seachap .sc-d,.seachap .sc-e,.seachap .sc-b{text-shadow:0 2px 6px rgba(0,0,0,.7),0 0 40px rgba(0,0,0,.85)}
.seachap.st1:after{background:radial-gradient(ellipse 62% 36% at 50% 34%,rgba(0,0,0,.72),rgba(0,0,0,.3) 60%,transparent 85%),linear-gradient(180deg,rgba(0,0,0,.6),transparent 30%,transparent 70%,rgba(0,0,0,.75))}

.seachap .sc-d,.seachap .sc-b{text-shadow:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.75)) drop-shadow(0 0 30px rgba(0,0,0,.8))}
/* ==== 第 29/31 页 走势图 curve2（L04） ==== */
.cv2p .vz{left:80px;right:80px;top:250px;height:560px}
.cv2{width:100%;height:100%;overflow:visible}
.cg-g{stroke:rgba(255,255,255,.06);stroke-width:1}
.cg-a{stroke:rgba(255,255,255,.25);stroke-width:2}
.cg-t{fill:#8e8e93;font-size:24px;font-weight:600}
.cv-band{opacity:0}
.cv-band.b1{fill:rgba(255,59,31,.12)}.cv-band.b2{fill:rgba(255,160,60,.14)}
.cv-band.on{opacity:1}
.cv-bl{font-size:30px;font-weight:800}.cv-bl.b1{fill:#ff6a4a}.cv-bl.b2{fill:#ffb070}
.cv-base{stroke:rgba(255,255,255,.35);stroke-width:2;stroke-dasharray:8 10}
.cv-line{fill:none;stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 0 12px rgba(255,122,26,.6))}
.cv-clip{width:0;transition:width 1.6s cubic-bezier(.6,0,.2,1)}
.cv2p.st1 .cv-clip{width:640px}.cv2p.st2 .cv-clip{width:1560px;transition-duration:2.2s}
.cvdone .cv-clip{width:1560px;transition:none}
.cv-pk circle{fill:#fff;filter:drop-shadow(0 0 10px #ff7a1a)}
.cv-pk rect{fill:#ff7a1a}.cv-pk text{fill:#fff;font-size:24px;font-weight:800}
.cv-new{stroke:#ff7a1a;stroke-width:3;stroke-dasharray:10 10}
.cv-nt{fill:#ff7a1a;font-size:26px;font-weight:800}
.cv2p .bgs img{opacity:.22!important}
.cv2p .head{top:120px}
/* ==== 七分吃 三分练（L05 + H04） ==== */
.r73{display:flex;flex-direction:column;align-items:center;gap:40px}
.r73n{display:flex;align-items:baseline;gap:40px;font-size:260px;font-weight:900;line-height:1;letter-spacing:-.04em}
.r73n .n7{background:linear-gradient(180deg,#f5f5f7,#636366);-webkit-background-clip:text;background-clip:text;color:transparent}
.r73n i{font-style:normal;font-size:160px;color:#48484a}
.r73n .n3{background:linear-gradient(180deg,#ffc46b,#ff3b1f);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 40px rgba(255,90,30,.4))}
.r73b{display:flex;gap:12px}
.r73b i{width:110px;height:44px;border-radius:10px;background:#1c1c1e;transform:scaleY(.3);opacity:.3;transition:transform .5s var(--d) cubic-bezier(.3,1.5,.5,1),opacity .4s var(--d),background .4s var(--d)}
.on .r73b i{transform:none;opacity:1}
.on .r73b i.e{background:linear-gradient(180deg,#8e8e93,#48484a)}
.on .r73b i.t{background:linear-gradient(180deg,#ffb070,#ff5a1a);box-shadow:0 0 24px rgba(255,90,30,.5)}
.r73l{display:grid;grid-template-columns:7fr 3fr;gap:12px;width:1238px;text-align:left}
.r73l>div{border-top:3px solid #48484a;padding-top:18px;opacity:0;transition:opacity .6s 2s}
.r73l .t{border-color:#ff7a1a;transition-delay:2.3s}
.on .r73l>div{opacity:1}
.r73l b{display:block;font-size:44px;font-weight:800}.r73l .t b{color:#ff7a1a}
.r73l span{display:block;font-size:30px;font-weight:700;color:#d1d1d6;margin-top:6px}
.r73l small{display:block;font-size:22px;color:#8e8e93;margin-top:6px}
.cv2p.L-viz .vz{transition:opacity .8s .6s}
.cv2p:not(.st1):not(.cvdone) .vz{opacity:.15}
.cvdone .vz{top:200px;height:480px}
.cvdone .caps{top:720px!important;bottom:auto}
.cv2p.cvdone .cv-clip{width:1560px!important;transition:none}
/* ==== fx：有形状的光效 ==== */
.fx{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 1.6s var(--ease)}
.active .fx{opacity:1}
#stage .slide .fx~.wrap,#stage .slide .fx~.split{z-index:2;position:absolute}
/* 地平线：一道弧形亮边 + 上方柔光 */
.hz-arc{position:absolute;left:50%;top:860px;width:3400px;height:3400px;margin-left:-1700px;border-radius:50%;background:#000;
  box-shadow:0 -2px 0 0 rgba(255,200,140,.9),0 -10px 30px 0 rgba(255,140,50,.55),0 -60px 140px 20px rgba(255,90,20,.35),0 -200px 300px 60px rgba(255,80,20,.12);animation:hzBreath 6s ease-in-out infinite alternate}
@keyframes hzBreath{to{box-shadow:0 -2px 0 0 rgba(255,210,150,1),0 -12px 36px 0 rgba(255,140,50,.7),0 -70px 160px 30px rgba(255,90,20,.45),0 -220px 320px 70px rgba(255,80,20,.16)}}
.active .hz-arc{animation:hzRise 2s cubic-bezier(.2,.8,.2,1) both,hzBreath 6s 2s ease-in-out infinite alternate}
@keyframes hzRise{from{transform:translateY(160px)}}
/* 同心光环：细亮边、渐变色、各自慢转 */
.rg{position:absolute;left:50%;top:44%;border-radius:50%;translate:-50% -50%;
  background:conic-gradient(from var(--a,0deg),transparent 0 8%,rgba(255,190,120,.95) 18%,rgba(255,110,30,.6) 30%,transparent 46%,transparent 58%,rgba(255,150,70,.7) 72%,transparent 88%);
  -webkit-mask:radial-gradient(closest-side,transparent calc(100% - 3px),#000 calc(100% - 2px),#000 100%,transparent 100%);mask:radial-gradient(closest-side,transparent calc(100% - 3px),#000 calc(100% - 2px),#000 100%,transparent 100%);
  filter:drop-shadow(0 0 10px rgba(255,120,40,.8));animation:rgSpin linear infinite}
.rg.r1{width:620px;height:620px;animation-duration:26s}
.rg.r2{width:840px;height:840px;animation-duration:38s;animation-direction:reverse;opacity:.75}
.rg.r3{width:1080px;height:1080px;animation-duration:52s;opacity:.5}
.rg.r4{width:1360px;height:1360px;animation-duration:70s;animation-direction:reverse;opacity:.3}
@keyframes rgSpin{to{rotate:360deg}}
.rg-core{position:absolute;left:50%;top:44%;width:900px;height:900px;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.95) 55%,rgba(255,90,20,.12) 80%,transparent)}
.active .rg{animation-name:rgSpin}
/* 点阵 */
.dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1.2px,transparent 1.6px);background-size:28px 28px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 60% 60%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 60% 60%,#000,transparent 75%)}
/* 刻度尺：一条发光刻度带，光沿刻度扫过 */
.rl{position:absolute;left:110px;right:110px;top:640px;height:70px;display:flex;justify-content:space-between;align-items:flex-start;border-top:2px solid rgba(255,170,90,.55)}
.rl i{width:2px;height:16px;background:rgba(255,255,255,.35)}
.rl i.m{height:28px;background:rgba(255,255,255,.55)}
.rl i.b{height:46px;background:#ffb070;box-shadow:0 0 8px rgba(255,122,26,.8)}
.rl-sweep{position:absolute;top:-40px;left:0;width:260px;height:120px;background:radial-gradient(ellipse 50% 40% at 50% 35%,rgba(255,170,90,.55),transparent 70%);filter:blur(6px);animation:rlSweep 5s ease-in-out infinite alternate}
@keyframes rlSweep{from{transform:translateX(-80px)}to{transform:translateX(1500px)}}
.active .rl{animation:rlIn 1.4s .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes rlIn{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
/* 把标准放低：亮线从高处缓缓降下，原位置留虚线 */
.lw-old{position:absolute;left:110px;right:110px;top:470px;border-top:2px dashed rgba(255,255,255,.18)}
.lw-bar{position:absolute;left:110px;right:110px;top:470px;height:3px;background:linear-gradient(90deg,transparent,#ffc08a 20%,#ff7a1a 60%,transparent);box-shadow:0 0 18px rgba(255,122,26,.9),0 0 60px rgba(255,90,20,.5)}
.lw-glow{position:absolute;left:0;right:0;top:470px;height:420px;background:linear-gradient(180deg,rgba(255,110,30,.16),transparent 70%)}
.active .lw-bar,.active .lw-glow{animation:lwDown 2.6s 1s cubic-bezier(.5,0,.2,1) forwards}
@keyframes lwDown{to{top:700px}}
/* 第 48 页捷径线：细节 */
.scut-w{stroke:url(#scg);stroke-width:14;opacity:0;filter:blur(8px)}
.active .scut-w{transition:opacity 1s 2.6s;opacity:.55}
.scut-l{stroke:url(#scg);stroke-width:3;stroke-dasharray:1.2 1.2}
.scut-t{stroke:#ffb070;stroke-width:2;opacity:0}
.active .scut-t{animation:fadeIn .3s forwards}
.scut-s{fill:#000;stroke:#ff7a1a;stroke-width:3;opacity:0}
.active .scut-s{transition:opacity .4s 1.2s;opacity:1}
.scut-e circle{fill:#ffc08a;filter:drop-shadow(0 0 12px #ff7a1a);opacity:0}
.active .scut-e circle{transition:opacity .4s 2.8s;opacity:1}
.scut-p{fill:none!important;stroke:#ff9a3c;stroke-width:2;transform-box:fill-box;transform-origin:center}
.active .scut-p{animation:scPulse 2s 3s ease-out infinite}.active .scut-p.p2{animation-delay:4s}
@keyframes scPulse{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(4)}}
.scut-run{fill:#fff;filter:drop-shadow(0 0 8px #ff7a1a) drop-shadow(0 0 16px #ff7a1a)}
.scut-lab text{fill:#ffb070;font-size:24px;font-weight:800;letter-spacing:.2em}
.scut-lab,.scut-lab2{opacity:0}
.active .scut-lab,.active .scut-lab2{transition:opacity .6s 3s;opacity:1}
.scut-lab2 text{fill:#fff;font-size:30px;font-weight:800}.scut-lab2 .sm{fill:#a1a1a6;font-size:20px;font-weight:600}
.scut-lab2.b text{fill:#8e8e93}
.active.pathp .bgs img{animation:kb 22s linear both,pathDim 1.5s 2.6s forwards}
/* 光效修正 */
.rg{filter:drop-shadow(0 0 6px rgba(255,140,60,1)) drop-shadow(0 0 22px rgba(255,90,20,.8))}
.rg.r1{opacity:1}.rg.r2{opacity:.85}.rg.r3{opacity:.6}.rg.r4{opacity:.4}
.rg{-webkit-mask:radial-gradient(closest-side,transparent calc(100% - 4px),#000 calc(100% - 3px),#000 100%,transparent 100%);mask:radial-gradient(closest-side,transparent calc(100% - 4px),#000 calc(100% - 3px),#000 100%,transparent 100%)}
.rg-core{width:760px;height:760px;background:radial-gradient(closest-side,rgba(0,0,0,.9) 50%,transparent)}
.dots{background-image:radial-gradient(rgba(255,255,255,.22) 1.4px,transparent 1.8px)}
.rl{top:740px}
/* 第 40 页文字放大 */
#stage .bgxl .ln.m.ti,#stage .texp.bgxl .ln:first-child{font-size:60px}
#stage .texp.bgxl .ln:last-child{font-size:104px;margin-top:16px}
/* 第 52 页：抖音博主名片 */
.fig-dyprof{right:100px;top:100px;width:820px;height:860px}
.dpf{position:relative;width:100%;height:100%}
.dph{position:absolute;right:40px;top:0;width:400px;height:820px;border-radius:58px;overflow:hidden;background:#0b0b0c;border:10px solid #1c1c1e;
  box-shadow:0 0 0 2px #3a3a3c,0 60px 100px rgba(0,0,0,.85),0 0 140px rgba(255,90,30,.18);transform:rotate(4deg)}
.dph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;z-index:1}
.dph-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#48484a;font-size:24px;font-weight:600}
.dph-ph small{font-size:16px}
.dph:after{content:"";position:absolute;left:50%;top:14px;width:110px;height:30px;margin-left:-55px;border-radius:18px;background:#000;z-index:2}
.dcard{position:absolute;left:0;bottom:60px;width:500px;padding:34px 38px 30px;border-radius:28px;z-index:3;
  background:linear-gradient(160deg,rgba(40,40,44,.92),rgba(18,18,20,.95));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(255,255,255,.08),0 40px 80px rgba(0,0,0,.8);transform:rotate(-2deg)}
.dcard small{display:block;font-size:16px;font-weight:700;letter-spacing:.24em;color:#ff7a1a}
.dcard b{display:block;font-size:46px;font-weight:900;margin-top:10px}
.dcard span{display:block;font-size:20px;color:#a1a1a6;margin-top:8px}
.dst{display:flex;gap:34px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}
.dst i{display:block;font-style:normal;font-size:40px;font-weight:900;letter-spacing:-.02em}
.dst em{font-style:normal;font-size:22px;margin-left:2px;color:#d1d1d6}
.dst u{display:block;text-decoration:none;font-size:17px;color:#8e8e93;margin-top:2px}
.dst div:first-child i{color:#ff7a1a}
#stage .dyp2 .wrap{right:960px}
/* 第 40 页文字再放大；捷径标签放大 */
#stage .texp.bgxl .ln:first-child{font-size:64px}
#stage .texp.bgxl .ln:last-child{font-size:116px}
.scut-lab text{font-size:30px}
.scut-lab2 text{font-size:40px}.scut-lab2 .sm{font-size:24px}
.fig-dyprof{top:80px;height:760px}
.dph{width:360px;height:720px;top:0}
.dcard{bottom:70px}
/* ==== 22:42 批注 ==== */
/* 21：POINT 02 看得清 */
.pten{-webkit-text-stroke:2px rgba(255,255,255,.45);text-shadow:0 0 30px rgba(0,0,0,.9)}
.pten small{color:#a1a1a6}
/* 25：图往下，人避开文字 */
.jailp .pic.full{top:240px;bottom:-240px}
/* 34：7:3 说明字放大 */
.r73l b{font-size:56px}.r73l span{font-size:38px;margin-top:10px}.r73l small{font-size:30px;margin-top:8px;color:#a1a1a6}
/* 52：手机放大，名片少挡截图 */
.dph{width:400px;height:800px}
.fig-dyprof{top:60px;height:820px}
.dcard{width:430px;bottom:20px;left:-20px;padding:26px 30px}
.dcard b{font-size:40px}
/* 57：国王毒誓文字和前几页统一（左上大字） */
#stage .kingp .wrap{top:180px;bottom:auto;justify-content:flex-start;gap:0;right:960px}
#stage .kingp .ln.s{font-size:44px;line-height:1.4}
#stage .kingp .ln.m{font-size:88px;line-height:1.25;margin:26px 0}
/* 63：塞内加语录放大 */
#stage .figq .ln.s{font-size:48px;line-height:1.55}
#stage .figq .ln.m{font-size:76px;line-height:1.35}
#stage .figq .wrap{gap:56px}
/* 65：四个转换 —— 变换器（H05/L28） */
#stage .stoap .wrap{top:150px;bottom:auto;justify-content:flex-start}
#stage .stoap .ln.xs{font-size:34px}
#stage .stoap .ln.s{font-size:58px;line-height:1.35;margin-top:12px}
.stoap .p4{grid-template-columns:repeat(4,360px);gap:36px;margin-top:56px}
.stoap .p4c{position:relative;gap:0;padding:28px 20px 34px;border-radius:24px;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,122,26,.10));box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px rgba(255,255,255,.07);transition-delay:calc(.9s + var(--k) * .25s)!important}
.stoap .p4c:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,#ff7a1a,transparent)}
.stoap .p4c small{align-self:flex-start;font-size:20px;font-weight:800;letter-spacing:.2em;color:#636366}
.stoap .p4c span{font-size:52px;font-weight:800;color:#8e8e93;margin-top:4px;position:relative}
.stoap .p4c span:after{content:"";position:absolute;left:-6px;right:-6px;top:52%;height:4px;background:#8e8e93;transform:scaleX(0);transform-origin:left;transition:transform .5s calc(2.3s + var(--k) * .3s)}
.stoap .p4.on .p4c span:after{transform:scaleX(1)}
.p4f{position:relative;display:block;width:4px;height:90px;margin:16px 0;background:linear-gradient(180deg,#48484a,#ff7a1a);border-radius:2px}
.p4f:after{content:"";position:absolute;left:50%;bottom:-6px;width:14px;height:14px;margin-left:-7px;border-right:4px solid #ff7a1a;border-bottom:4px solid #ff7a1a;transform:rotate(45deg)}
.p4f em{position:absolute;left:50%;top:0;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#fff;box-shadow:0 0 12px #ff7a1a,0 0 24px #ff7a1a;animation:p4flow 1.8s calc(var(--k) * .3s) ease-in infinite}
@keyframes p4flow{0%{top:-6px;opacity:0}20%{opacity:1}100%{top:84px;opacity:0}}
.stoap .p4c b{font-size:84px;font-weight:900;background:linear-gradient(180deg,#ffc46b,#ff3b1f);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(255,90,30,.45))}
#stage .figq .ln.m{font-size:62px;white-space:nowrap}
#stage .figq .ln.s{font-size:44px;white-space:nowrap}
.dst i{white-space:nowrap}
.r73l small{font-size:34px}
#stage .stoap .wrap{top:120px}
#stage .stoap .ln.s{font-size:52px}
.stoap .p4{margin-top:36px}
.stoap .p4c{padding:20px 20px 24px}
.p4f{height:60px;margin:10px 0}
@keyframes p4flow{0%{top:-6px;opacity:0}20%{opacity:1}100%{top:54px;opacity:0}}
.stoap .p4c b{font-size:72px}
/* ==== fx 第二批：光柱 / 透视网格 / 轨道 / 余烬 / 噪声 ==== */
/* 光柱：顶上打下一束暖光，地面光斑，光里有尘 */
.bm-cone{position:absolute;left:50%;top:-120px;width:1100px;height:1240px;margin-left:-550px;background:radial-gradient(ellipse 26% 100% at 50% 0%,rgba(255,200,140,.22),rgba(255,140,60,.08) 50%,transparent 82%);animation:bmBreath 6s ease-in-out infinite alternate}
.bm-core{position:absolute;left:50%;top:-40px;width:4px;height:520px;margin-left:-2px;background:linear-gradient(180deg,rgba(255,220,170,.6),transparent);filter:blur(2px)}
.bm-floor{position:absolute;left:50%;top:880px;width:900px;height:120px;margin-left:-450px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,150,60,.35),transparent);filter:blur(6px)}
@keyframes bmBreath{to{opacity:.7}}
.bm-dust i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffd9b0;box-shadow:0 0 6px #ff9a3c;opacity:0;animation:dust 12s linear infinite}
/* 透视网格地面 + 地平线 */
.gd-plane{position:absolute;left:-50%;right:-50%;top:560px;height:900px;transform:perspective(600px) rotateX(62deg);transform-origin:top;
  background-image:linear-gradient(rgba(255,140,60,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,140,60,.35) 1px,transparent 1px);background-size:90px 90px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%);animation:gdMove 6s linear infinite}
@keyframes gdMove{to{background-position:0 90px}}
.gd-hz{position:absolute;left:0;right:0;top:556px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,180,110,.9),transparent);box-shadow:0 0 30px 6px rgba(255,110,30,.35)}
/* 轨道：两条倾斜椭圆轨道，各有一颗光点在跑 */
.ob{position:absolute;left:50%;top:44%;width:1500px;height:1500px;margin:-750px 0 0 -750px}
.ob-e{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(255,160,80,.28);transform:rotateX(72deg) rotateZ(var(--r,0deg));animation:obSpin 18s linear infinite}
.ob-e.e1{--r:-14deg}.ob-e.e2{--r:18deg;inset:180px;animation-duration:12s;animation-direction:reverse;border-color:rgba(255,160,80,.18)}
.ob-e b{position:absolute;left:50%;top:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#ffc08a;box-shadow:0 0 12px #ff7a1a,0 0 30px #ff7a1a}
@keyframes obSpin{to{transform:rotateX(72deg) rotateZ(calc(var(--r,0deg) + 360deg))}}
.ob-c{position:absolute;left:50%;top:50%;width:700px;height:700px;margin:-350px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,110,30,.10),transparent)}
/* 余烬：橙色火星从底部升起 */
.em i{position:absolute;bottom:-20px;width:calc(3px * var(--s));height:calc(3px * var(--s));border-radius:50%;background:#ffb070;box-shadow:0 0 8px #ff7a1a,0 0 16px rgba(255,90,20,.8);opacity:0;animation:ember linear infinite}
@keyframes ember{0%{opacity:0;transform:translate(0,0)}10%{opacity:1}70%{opacity:.7}100%{opacity:0;transform:translate(60px,-900px)}}
.em-glow{position:absolute;left:0;right:0;bottom:-200px;height:520px;background:radial-gradient(ellipse 60% 70% at 50% 100%,rgba(255,90,20,.32),transparent 70%)}
/* 噪声：一条条横向干扰线忽隐忽现 */
.nz i{position:absolute;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);opacity:0;animation:nzFlick 2.4s steps(2) infinite}
.nz i:nth-child(3n){background:linear-gradient(90deg,transparent,rgba(255,122,26,.6),transparent);height:3px}
@keyframes nzFlick{0%,70%{opacity:0}72%{opacity:1;transform:translateX(0)}80%{opacity:.4;transform:translateX(40px)}86%,100%{opacity:0}}
.nz-line{position:absolute;left:110px;right:110px;top:58%;height:2px;background:linear-gradient(90deg,rgba(255,122,26,.0),#ff7a1a 20%,#ffc08a 50%,#ff7a1a 80%,rgba(255,122,26,0));box-shadow:0 0 16px rgba(255,122,26,.8)}
/* 全局：多行标题行距略放松 */
.L-statement .wrap .ln{line-height:1.24}
/* ==== 第二批 信息图 ==== */
/* 旋钮选择器 */
.kn-ask{position:absolute;left:0;right:0;top:150px;text-align:center;font-size:64px;font-weight:800}
.kn{position:absolute;left:50%;top:300px;width:1400px;height:520px;margin-left:-700px}
.kn-dial{position:absolute;left:50%;top:40px;width:400px;height:400px;margin-left:-200px;transform:rotate(0deg);transition:transform 1.3s cubic-bezier(.3,1.6,.5,1)}
.kn-dial img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.9))}
.kn-ptr{position:absolute;left:50%;top:22px;width:8px;height:70px;margin-left:-4px;border-radius:4px;background:#ff7a1a;box-shadow:0 0 14px #ff7a1a,0 0 30px rgba(255,90,20,.7)}
.st1 .kn-dial{transform:rotate(-62deg)}
.kn-sh{position:absolute;left:50%;top:430px;width:420px;height:40px;margin-left:-210px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.9),transparent)}
.kn-arc{position:absolute;left:50%;top:0;width:520px;height:520px;margin-left:-260px;border-radius:50%}
.kn-arc i{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;transition:border-color .8s .6s,box-shadow .8s .6s}
.kn-arc .l{border-left-color:rgba(255,255,255,.18);border-top-color:rgba(255,255,255,.18);transform:rotate(-45deg)}
.kn-arc .r{border-right-color:rgba(255,255,255,.18);border-top-color:rgba(255,255,255,.18);transform:rotate(45deg)}
.st1 .kn-arc .l{border-left-color:#ff7a1a;border-top-color:#ff7a1a;filter:drop-shadow(0 0 10px #ff7a1a)}
.kn-lab{position:absolute;top:90px;width:360px;transition:opacity .8s .6s,transform .8s .6s}
.kn-lab.l{left:0;text-align:right}.kn-lab.r{right:0;text-align:left}
.kn-lab small{display:block;font-size:22px;font-weight:700;letter-spacing:.3em;color:#636366}
.kn-lab b{display:block;font-size:72px;font-weight:900;margin-top:6px}
.st1 .kn-lab.l b{color:#ff7a1a;text-shadow:0 0 40px rgba(255,90,20,.5)}
.st1 .kn-lab.r{opacity:.3}
.kn-ans{position:absolute;left:0;right:0;top:820px;text-align:center;font-size:48px;font-weight:800}
.L-knob .kn-ask.on{transition:opacity .6s}.L-knob.st1 .kn-ask{opacity:0!important}
.L-knob.st1 .kn-ans{top:160px;font-size:72px}
/* 上百个好建议：便签墙 */
.fig-ideas{left:110px;right:110px;top:180px;width:auto;height:680px}
.idw{position:relative;width:100%;height:100%}
.idw i{position:absolute;padding:10px 18px;font-style:normal;font-size:26px;font-weight:700;color:#1d1d1f;background:#f2efe8;border-radius:3px;box-shadow:0 10px 20px rgba(0,0,0,.6);
  transform:rotate(var(--r)) scale(1.6);opacity:0;animation:noteIn .35s cubic-bezier(.3,1.5,.5,1) forwards}
.idw i:nth-child(7n){background:#ffd7a8}.idw i:nth-child(11n){background:#d9d6cf}
@keyframes noteIn{to{opacity:1;transform:rotate(var(--r)) scale(1)}}
.active.ideap .idw{animation:idDim .8s 3.4s forwards}
@keyframes idDim{to{filter:brightness(.28) blur(2px)}}
#stage .ideap .wrap{z-index:3;inset:0;justify-content:center;align-items:center;text-align:center}
#stage .ideap .ln.m{font-size:88px;text-shadow:0 4px 40px #000}
/* 第七个饼：写实烧饼 */
.bunp .dg i{background:url(img/bun_cut.png) center/contain no-repeat!important;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 20px 20px rgba(0,0,0,.8));transition:filter .8s,opacity .8s,transform .8s}
.bunp .dg i.fade{opacity:.25;filter:grayscale(1) brightness(.6)}
.bunp .dg i.lit{filter:drop-shadow(0 0 30px rgba(255,140,40,.8)) brightness(1.15);transform:scale(1.08)}
/* 暑假：日历格 + 红色划叉 */
.calp .dg i{border-radius:14px!important;background:linear-gradient(160deg,#2a2a2d,#161618)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 16px rgba(0,0,0,.5)!important;position:relative}
.calp .dg i:before{content:"";position:absolute;left:0;right:0;top:0;height:14px;border-radius:14px 14px 0 0;background:#3a3a3c}
.calp .dg i.x:after{content:"";position:absolute;inset:18px;background:linear-gradient(45deg,transparent 45%,#ff453a 45%,#ff453a 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,#ff453a 45%,#ff453a 55%,transparent 55%);filter:drop-shadow(0 0 6px rgba(255,69,58,.7))}
/* 最大 PR：刻度尺 + 三个标记 */
.prg{width:1600px}
.prg-h{font-size:56px;font-weight:800;margin-bottom:120px}
.prg-sc{position:relative;height:260px}
.prg-ax{position:absolute;left:0;right:0;top:120px;height:2px;background:rgba(255,255,255,.3)}
.prg-ax i{position:absolute;top:0;width:2px;height:16px;background:rgba(255,255,255,.4)}
.prg-ax span{position:absolute;top:24px;left:-20px;width:40px;text-align:center;font-size:20px;color:#8e8e93;font-style:normal}
.prg-zone{position:absolute;left:33.3%;width:50%;top:60px;height:60px;border:2px dashed rgba(255,122,26,.6);border-bottom:none;border-radius:10px 10px 0 0;background:linear-gradient(180deg,rgba(255,122,26,.18),transparent);display:flex;justify-content:space-between;align-items:flex-start;padding:10px 16px;opacity:0;transition:opacity .8s 2.2s}
.on .prg-zone{opacity:1}
.prg-zone b{font-size:20px;color:#8e8e93}.prg-zone em{font-style:normal;font-size:22px;font-weight:800;color:#ff9a3c}
.prg-m{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;opacity:0;transition:opacity .5s,transform .8s cubic-bezier(.3,1.5,.5,1)}
.prg-m i{order:3;width:20px;height:20px;border-radius:50%;margin-top:8px;background:#8e8e93}
.prg-m b{font-size:46px;font-weight:900}.prg-m span{font-size:22px;color:#a1a1a6;margin-top:2px}
.prg-m{top:-50px}
.m70{left:33.3%}.m90{left:66.7%}.m100{left:83.3%}
.on .m70{opacity:1;transition-delay:.4s}.on .m90{opacity:1;transition-delay:1.2s}.on .m100{opacity:1;transition-delay:1.8s}
.m90 b{color:#ff7a1a}.m90 i{background:#ff7a1a;box-shadow:0 0 16px #ff7a1a;animation:pulse 1.6s infinite}
.m100 b{color:#fff}.m100 i{background:#fff}
.m70 i,.m90 i,.m100 i{position:absolute;top:162px}
/* 四个机制卡 */
.mech4 .card{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,122,26,.08))!important;border-radius:24px}
.mech4 .card .no{font-size:72px!important;font-weight:900;color:transparent;-webkit-text-stroke:1.5px #ff7a1a;letter-spacing:0}
.mech4 .card .nm{font-size:48px!important}
.mech4 .card .ds{font-size:28px!important}
/* 汉谟拉比石碑 */
.pic.stele{right:220px;top:60px;width:560px;height:900px;z-index:1}
.pic.stele img{filter:drop-shadow(0 40px 60px rgba(0,0,0,.9))}
#stage .stelep .wrap{right:900px;top:170px;bottom:auto;justify-content:flex-start;align-items:flex-start;text-align:left}
#stage .stelep .ln{text-align:left}#stage .stelep .ln.xl{font-size:120px;margin:16px 0}
#stage .stelep .ln.xs{font-size:28px}#stage .stelep .ln.s{font-size:44px;margin-top:20px}
.stelep .fx-beam .bm-cone{left:auto;right:-60px;margin:0}
/* 迷宫 / 直播 / 黄瓜 / 教练：文字左上 */
#stage .mazep .ln.m,#stage .cucp .ln:last-child{font-size:84px}
#stage .coachp .ln.m{font-size:84px;line-height:1.25;margin:20px 0}
#stage .coachp .ln.s{font-size:40px}
.livep .stage2{z-index:2}
.livep .blk{left:110px!important;right:auto!important;text-align:left;align-items:flex-start}
.pic.stone98{right:140px;top:260px;width:720px;height:540px}
.pic.stone98 img{filter:drop-shadow(0 50px 50px rgba(0,0,0,.9))}
.L-seq .blk .prg{width:1700px}
.prg-h{font-size:64px;margin-bottom:60px}
.prg-sc{height:420px}
.prg-ax{top:200px;height:3px}
.prg-ax span{font-size:24px;top:28px}
.prg-m b{font-size:64px}.prg-m span{font-size:28px}
.m70,.m90{top:40px!important}.m100{top:270px!important}
.m70 i,.m90 i{top:148px}.m100 i{top:-82px;order:0}
.prg-m i{width:28px;height:28px;margin:0}
.prg-zone{top:150px;height:50px}
.prg-zone b{font-size:24px}.prg-zone em{font-size:26px}
.prg-zone{top:166px;height:34px;padding:2px 12px}
.bm-core{display:none}
#stage .livep .blk{left:110px!important;right:auto!important;transform:none;align-items:flex-start!important;text-align:left;width:1000px}
#stage .livep .blk .ln{text-align:left}
.livep .bgs:after{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 38%,rgba(0,0,0,.4) 62%,transparent 80%)!important}
.calp .dg i.x:after{inset:10px;background:linear-gradient(45deg,transparent 43%,#ff453a 43%,#ff453a 57%,transparent 57%),linear-gradient(-45deg,transparent 43%,#ff453a 43%,#ff453a 57%,transparent 57%)}
.calp .dg i:before{background:#c2410c;opacity:.7}
.mech4 .card{counter-increment:m4;position:relative;overflow:hidden}
.mech4 .grid{counter-reset:m4}
.mech4 .card .no{font-size:22px!important;color:#ff7a1a;-webkit-text-stroke:0;letter-spacing:.2em;font-weight:800}
.mech4 .card:before{content:"0" counter(m4);position:absolute;right:16px;bottom:-30px;font-size:180px;font-weight:900;color:rgba(255,122,26,.10);line-height:1}
.pic.stele{right:260px;top:130px;height:800px}
#stage .mech4 .foot{top:auto;bottom:330px}
.fig-dyprof{top:140px}.dph{height:740px;width:370px}.dcard{left:-60px;bottom:40px}
.dcard{bottom:150px;left:-80px}

/* ==================== 第 3 轮（2026-10-11）：23:33 批注 + 107–117 重做 ==================== */
/* 通用：左上文字块（和 bgsl 一致） */
#stage .vac2p .wrap,#stage .jail2p .wrap,#stage .flowp .wrap,#stage .cbp .wrap,#stage .gapp .wrap,#stage .cmpsp .wrap{left:110px;right:auto;width:820px;top:200px;bottom:auto;justify-content:flex-start;align-items:flex-start;text-align:left}
#stage .vac2p .ln,#stage .jail2p .ln,#stage .flowp .ln,#stage .cbp .ln,#stage .gapp .ln,#stage .cmpsp .ln{text-align:left}
/* 24 真空舱 */
.fig-vac{right:60px;top:150px;width:940px;height:730px}
.vc{position:relative;width:100%;height:100%}
.vc svg{position:absolute;inset:0;width:100%;height:100%}
.vc-lb{font-size:20px;font-weight:700;letter-spacing:.3em;fill:#8e8e93}
.vc-flat{stroke:#d1d1d6;stroke-width:3;stroke-linecap:round;transition:opacity .6s}
.vc-rough{fill:none;stroke:url(#vcr);stroke-width:4;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s .5s var(--ease)}
.vc-cap{transition:opacity .9s var(--ease),transform 1.2s var(--ease);transform-origin:450px 375px}
.vc-ball circle{fill:#fff;filter:drop-shadow(0 0 10px #ffc08a) drop-shadow(0 0 24px #ff7a1a)}
.vc-ball{animation:vcGlide 5s ease-in-out infinite alternate}
@keyframes vcGlide{from{transform:translateX(180px)}to{transform:translateX(720px)}}
.vc-h{position:absolute;left:var(--x);top:var(--y);display:flex;align-items:center;gap:10px;font-size:30px;font-weight:800;color:#a1a1a6;padding:10px 20px 10px 14px;border-radius:99px;
  background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);opacity:0;transition:left 1.2s var(--ease),top 1.2s var(--ease),color .6s,background .6s,box-shadow .6s}
.vc-h i{width:12px;height:12px;border-radius:50%;background:#ff453a;box-shadow:0 0 10px #ff453a}
.active .vc-h{animation:vcIn .6s calc(1.4s + var(--d) * .4) forwards,vcBump 2.8s calc(2s + var(--d)) ease-in-out infinite}
@keyframes vcIn{to{opacity:1}}
@keyframes vcBump{0%,100%{transform:translate(0,0)}45%{transform:translate(calc((450px - var(--x)) * .12),calc((340px - var(--y)) * .18))}52%{transform:translate(calc((450px - var(--x)) * .1),calc((340px - var(--y)) * .14))}}
.st1 .vc-cap{opacity:0;transform:scale(1.25)}
.st1 .vc-flat{opacity:0}
.st1 .vc-rough{stroke-dashoffset:0}
.st1 .vc-ball{animation:vcRough 3.6s ease-in-out infinite alternate}
@keyframes vcRough{0%{transform:translate(180px,0)}25%{transform:translate(310px,-22px)}50%{transform:translate(460px,10px)}75%{transform:translate(600px,-40px)}100%{transform:translate(720px,-6px)}}
.st1 .vc-h{animation:none;opacity:1;color:#ff9a3c;background:rgba(255,122,26,.12);box-shadow:inset 0 0 0 1.5px rgba(255,122,26,.5)}
.st1 .vc-h:nth-of-type(1){left:120px;top:250px}.st1 .vc-h:nth-of-type(2){left:600px;top:220px}.st1 .vc-h:nth-of-type(3){left:300px;top:470px}.st1 .vc-h:nth-of-type(4){left:640px;top:470px}
.st1 .vc-h i{background:#ff7a1a;box-shadow:0 0 10px #ff7a1a}
#stage .vac2p .ln.m{font-size:88px}#stage .vac2p .ln.s{font-size:44px;line-height:1.45}
.vac2p .wrap .ln[data-s="1"]{margin-top:40px}
/* 25 划地为牢 */
.fig-jail2{right:40px;top:120px;width:1000px;height:780px}
.jl{position:relative;width:100%;height:100%}
.jl svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.jl-floor{position:absolute;left:-200px;right:-200px;top:360px;height:360px;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,255,255,.06),transparent 70%)}
.jl-ring{fill:none;stroke:#ff7a1a;stroke-width:4;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 10px #ff7a1a) drop-shadow(0 0 30px rgba(255,90,20,.6))}
.active .jl-ring{animation:fgDraw 1.6s .4s var(--ease) forwards}
.jl-try{fill:none;stroke:#fff;stroke-width:2.5;stroke-dasharray:.04 .03;opacity:0}
.active .jl-try{animation:jlTry 1.6s ease-in-out forwards}
.active .jl-try.t1{animation-delay:1.4s}.active .jl-try.t2{animation-delay:2s}.active .jl-try.t3{animation-delay:2.6s}
@keyframes jlTry{0%{opacity:0;stroke-dashoffset:1}20%{opacity:.6}100%{opacity:.35;stroke-dashoffset:0}}
.jl-me{filter:drop-shadow(0 0 20px rgba(255,255,255,.2))}
.jl-out{font-size:30px;font-weight:700;letter-spacing:.4em;fill:#48484a}
.jl-in{font-size:24px;font-weight:700;letter-spacing:.3em;fill:#ff9a3c;opacity:.8}
.jl-t{position:absolute;left:50%;top:430px;font-size:30px;font-weight:700;color:#d1d1d6;white-space:nowrap;padding:12px 24px;border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 20px 40px rgba(0,0,0,.6);opacity:0;transform:translate(-50%,-50%)}
.jl-t:nth-of-type(1){left:200px;top:190px}.jl-t:nth-of-type(2){left:820px;top:250px}.jl-t:nth-of-type(3){left:500px;top:690px}
.active .jl-t{animation:jlT .8s calc(1.6s + var(--k) * .6s) var(--ease) forwards}
@keyframes jlT{from{opacity:0;transform:translate(-50%,-30%)}to{opacity:1;transform:translate(-50%,-50%)}}
#stage .jail2p .ln{font-size:104px}#stage .jail2p .ln.s{font-size:44px;line-height:1.5;margin-top:30px}
/* 66 黄瓜：字放大 */
#stage .cucp .ln.s{font-size:60px}
#stage .cucp .ln:last-child{font-size:110px;margin-top:10px}
/* 68 心法二：居中 + 边界光圈 */
#stage .xf2 .wrap{top:120px;bottom:330px}
.xf2 .big-ghost{display:none}
#stage .xf2 .ln{font-size:110px}#stage .xf2 .ln.s{font-size:44px}
.bd-wrap{position:absolute;left:50%;top:44%;width:1500px;height:620px;margin:-310px 0 0 -750px}
.bd-ring{position:absolute;inset:0;border-radius:50%;border:2px dashed rgba(255,255,255,.18)}
.bd-ring2{position:absolute;inset:-60px -120px;border-radius:50%;border:1px solid rgba(255,255,255,.06)}
.bd-hit{position:absolute;inset:-2px;border-radius:50%;border:4px solid #ff7a1a;filter:drop-shadow(0 0 12px #ff7a1a) drop-shadow(0 0 40px rgba(255,90,20,.7));
  -webkit-mask:conic-gradient(from 40deg,transparent 0,#000 6%,#000 16%,transparent 22%);mask:conic-gradient(from 40deg,transparent 0,#000 6%,#000 16%,transparent 22%);opacity:0}
.bd-dot{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px;border-radius:50%;background:#fff;box-shadow:0 0 14px #ffc08a,0 0 34px #ff7a1a;opacity:0}
.active .bd-dot{animation:bdGo 3.4s 1s cubic-bezier(.3,0,.2,1) forwards}
@keyframes bdGo{0%{opacity:0;transform:none}15%{opacity:1}90%{transform:translate(560px,-205px)}100%{opacity:1;transform:translate(548px,-200px)}}
.active .bd-hit{animation:bdHit 1.2s 3.9s forwards,bdBreath 3s 5.1s ease-in-out infinite alternate}
@keyframes bdHit{to{opacity:1}}@keyframes bdBreath{from{opacity:1}to{opacity:.55}}
.bd-core{position:absolute;inset:120px 380px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,110,30,.08),transparent)}
/* 70 这个坎 */
.sp-svg{position:absolute;inset:0;width:100%;height:100%}
.sp-g{fill:none;stroke:url(#spl);stroke-width:4;filter:drop-shadow(0 0 10px rgba(255,122,26,.7))}
.sp-arc{fill:none;stroke:rgba(255,255,255,.35);stroke-width:2.5;stroke-dasharray:.012 .012}
.sp-b{fill:#fff;filter:drop-shadow(0 0 10px #ffc08a) drop-shadow(0 0 24px #ff7a1a)}
.sp-glow{position:absolute;left:760px;top:740px;width:400px;height:200px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,122,26,.25),transparent)}
#stage .stepp .wrap{top:110px;bottom:400px}
/* 71 心流通道 */
.fig-flowc{right:90px;top:120px;width:900px;height:760px}
.fc-ax line,.fc-ax path{stroke:#636366;stroke-width:2.5;fill:none}
.fc-at{font-size:24px;font-weight:700;letter-spacing:.12em;fill:#8e8e93}
.fc-band{opacity:0;transition:opacity 1.2s .6s}
.active .fc-band{opacity:1}
.fc-mid{fill:none;stroke:#ffc08a;stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 8px #ff7a1a)}
.active .fc-mid{animation:fgDraw 1.6s .8s var(--ease) forwards}
.fc-z{font-size:60px;font-weight:900;fill:#48484a}.fc-z.c{fill:#fff;font-size:46px;letter-spacing:.08em;filter:drop-shadow(0 0 16px rgba(255,122,26,.8))}
.fc-zs{font-size:22px;font-weight:700;letter-spacing:.2em;fill:#48484a}
.fc-stair{fill:none;stroke:rgba(255,255,255,.5);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1}
.active .fc-stair{animation:fgDraw 3s 1.6s linear forwards}
.fc-dot{fill:#fff;filter:drop-shadow(0 0 8px #ffc08a) drop-shadow(0 0 20px #ff7a1a)}
#stage .flowp .ln.xl{font-size:200px;line-height:1}#stage .flowp .ln.s{font-size:56px;line-height:1.35;margin-top:20px}#stage .flowp .ln.xs{font-size:32px;margin-top:20px}
/* 72 逆风翻盘 */
.fig-comeback{right:60px;top:130px;width:1000px;height:700px}
.cb-grid line{stroke:rgba(255,255,255,.06);stroke-width:1.5}
.cb-ax{font-size:22px;font-weight:700;fill:#636366}.cb-ax.z{fill:#d1d1d6}
.cb-zero{stroke:rgba(255,255,255,.4);stroke-width:2;stroke-dasharray:8 8}
.cb-clip{transform:scaleX(0);transform-origin:80px 0}
.active .cb-clip{animation:cbClip 3.6s .8s cubic-bezier(.45,0,.25,1) forwards}
@keyframes cbClip{to{transform:scaleX(1)}}
.cb-line{fill:none;stroke:#ff9a3c;stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 0 10px rgba(255,122,26,.9))}
.cb-neg{fill:url(#cbn)}.cb-pos{fill:url(#cbf)}
.cb-low,.cb-x,.cb-win{opacity:0}
.active .cb-low{animation:fadeIn .6s 2.2s forwards}.active .cb-x{animation:fadeIn .4s 3.4s forwards}.active .cb-win{animation:cbWin .7s 4.3s cubic-bezier(.3,1.6,.5,1) forwards}
@keyframes cbWin{from{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:none}}
.cb-win{transform-box:fill-box;transform-origin:center}
.cb-low circle{fill:#ff453a}.cb-low line{stroke:#ff453a;stroke-width:2;stroke-dasharray:4 4}
.cb-low text{font-size:28px;font-weight:800;fill:#ff6b5f}.cb-low text.sm{font-size:22px;font-weight:600;fill:#8e8e93}
.cb-x circle{fill:#fff}.cb-x .pl{fill:none;stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:scPulse 1.6s 3.4s ease-out infinite}
.cb-x text{font-size:26px;font-weight:800;fill:#fff}
.cb-win rect{fill:#ff7a1a;filter:drop-shadow(0 0 20px rgba(255,122,26,.8))}.cb-win text{font-size:28px;font-weight:900;letter-spacing:.18em;fill:#000}.cb-win circle{fill:#fff;filter:drop-shadow(0 0 12px #ff7a1a)}
.cb-t{font-size:22px;font-weight:700;letter-spacing:.14em;fill:#636366}
#stage .cbp .ln.xl{font-size:170px;line-height:1.05}#stage .cbp .ln.s{font-size:48px}
/* 73 高一点点：两根柱 */
.fig-gap{right:200px;top:110px;width:720px;height:780px}
.gp{position:relative;width:100%;height:100%}
.gp-c{position:absolute;bottom:80px;width:220px;display:flex;flex-direction:column;align-items:center}
.gp-c.a{left:60px}.gp-c.b{left:380px}
.gp-b{position:relative;width:220px;height:0;border-radius:18px 18px 4px 4px;overflow:visible;transition:height 1.6s cubic-bezier(.3,1.2,.4,1)}
.gp-c.a .gp-b{background:linear-gradient(180deg,#3a3a3c,#1c1c1e);box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.gp-c.b .gp-b{background:linear-gradient(180deg,#5a3418,#1c1c1e);box-shadow:inset 0 1px 0 rgba(255,190,130,.3)}
.active .gp-c.a .gp-b{height:480px;transition-delay:.6s}.active .gp-c.b .gp-b{height:560px;transition-delay:1s}
.gp-b em{position:absolute;left:0;right:0;top:0;height:80px;border-radius:18px 18px 0 0;background:linear-gradient(180deg,#ffc46b,#ff5a1a);box-shadow:0 0 40px rgba(255,122,26,.7);opacity:0;transition:opacity .6s 2.6s}
.active .gp-b em{opacity:1}
.gp-c b{font-size:44px;font-weight:800;margin-top:24px}.gp-c small{font-size:18px;font-weight:700;letter-spacing:.24em;color:#636366;margin-top:4px}
.gp-c.b b{color:#ff9a3c}
.gp-lv{position:absolute;left:30px;width:600px;bottom:620px;border-top:2px dashed rgba(255,255,255,.3);opacity:0;transition:opacity .6s 2.2s}
.active .gp-lv{opacity:1}
.gp-tag{position:absolute;left:620px;bottom:600px;width:280px;opacity:0;transform:translateX(-20px);transition:opacity .6s 2.9s,transform .8s 2.9s var(--ease)}
.active .gp-tag{opacity:1;transform:none}
.gp-tag span{display:block;font-size:44px;font-weight:900;color:#ff7a1a;white-space:nowrap}.gp-tag small{font-size:16px;font-weight:700;letter-spacing:.2em;color:#8e8e93}
#stage .gapp .ln.m{font-size:72px}#stage .gapp .ln.xl{font-size:170px}
/* 76 〔30〕：整屏写实图按步切换，文字左上；大卫往下 */
.r30p .bgs img{object-position:right center}
.r30p .bgs:after{content:"";position:absolute;inset:0;z-index:5;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.88) 28%,rgba(0,0,0,.35) 55%,transparent 75%),linear-gradient(180deg,rgba(0,0,0,.6),transparent 35%)}
.r30p.img-on .bgs{opacity:0;transition:opacity .8s}
#stage .r30p .stage2{z-index:2}
#stage .r30p .blk:not(:last-child){left:-50px!important;right:auto!important;width:1000px;top:60px;bottom:auto;justify-content:flex-start;align-items:flex-start;text-align:left}
#stage .r30p .blk .ln{text-align:left}
#stage .r30p .blk .ln.xl{font-size:170px}#stage .r30p .blk .ln.m{font-size:88px;line-height:1.25}#stage .r30p .blk .ln.s{font-size:44px;line-height:1.45}
.davidp .ph.later img{object-position:30% 0;top:120px;height:calc(100% - 120px)}
#stage .davidp .blk.c:last-child{left:700px;right:-60px;top:80px;bottom:auto;justify-content:flex-start}
#stage .davidp .blk.c:last-child .q{font-size:84px;line-height:1.3}
#stage .davidp .blk.c:last-child .by{margin-top:30px;font-size:34px}
/* 86 / 89 哪个更难：岔路 */
.fk-svg{position:absolute;inset:0;width:100%;height:100%}
.fk-a,.fk-b{fill:none;stroke-width:6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.fk-a{stroke:url(#fkh)}.fk-b{stroke:url(#fkg);filter:drop-shadow(0 0 10px rgba(255,122,26,.7))}
.active .fk-a,.active .fk-b{animation:fgDraw 2s .6s var(--ease) forwards}
.fk-t{font-size:32px;font-weight:800;letter-spacing:.2em;opacity:0}.fk-t.a{fill:#8e8e93}.fk-t.b{fill:#ff9a3c}
.active .fk-t{animation:fadeIn .8s 2.2s forwards}
.fk-q{fill:#fff;filter:drop-shadow(0 0 12px #ff7a1a);animation:pulse 1.6s infinite}
#stage .forkp .wrap{top:100px;bottom:500px}
/* 95 瞄准镜 */
.sc2{position:absolute;left:50%;top:44%;width:860px;height:860px;margin:-430px}
.sc2-r{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.12)}
.sc2-r.r2{inset:150px;border:2px solid rgba(255,122,26,.5);box-shadow:0 0 30px rgba(255,122,26,.25),inset 0 0 30px rgba(255,122,26,.15)}
.sc2-t{position:absolute;inset:-30px;border-radius:50%;background:repeating-conic-gradient(rgba(255,255,255,.35) 0 .4deg,transparent .4deg 6deg);
  -webkit-mask:radial-gradient(closest-side,transparent calc(100% - 22px),#000 calc(100% - 21px));mask:radial-gradient(closest-side,transparent calc(100% - 22px),#000 calc(100% - 21px));animation:rgSpin 60s linear infinite}
.sc2-h,.sc2-v{position:absolute;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25) 30%,transparent 44%,transparent 56%,rgba(255,255,255,.25) 70%,transparent)}
.sc2-h{left:-200px;right:-200px;top:50%;height:1.5px}.sc2-v{top:-100px;bottom:-100px;left:50%;width:1.5px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.25) 30%,transparent 44%,transparent 56%,rgba(255,255,255,.25) 70%,transparent)}
.sc2-c{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;border-radius:50%;background:#ff7a1a;box-shadow:0 0 16px #ff7a1a}
.active .sc2{animation:scZoom 1.6s cubic-bezier(.2,.8,.2,1) both}
@keyframes scZoom{from{transform:scale(1.4);opacity:0;filter:blur(10px)}}
/* 92 日食 */
.ec{position:absolute;left:50%;top:44%;width:600px;height:600px;margin:-300px}
.ec-co{position:absolute;inset:-160px;border-radius:50%;background:radial-gradient(closest-side,transparent 52%,rgba(255,200,140,.9) 54%,rgba(255,122,26,.45) 60%,rgba(255,90,20,.12) 78%,transparent);animation:ecB 5s ease-in-out infinite alternate}
.ec-ray{position:absolute;inset:-300px;border-radius:50%;background:repeating-conic-gradient(rgba(255,150,70,.07) 0 2deg,transparent 2deg 9deg);-webkit-mask:radial-gradient(closest-side,transparent 30%,#000 40%,transparent);mask:radial-gradient(closest-side,transparent 30%,#000 40%,transparent);animation:rgSpin 90s linear infinite}
.ec-d{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 40% 35%,#0d0d0e,#000 70%);box-shadow:0 0 0 2px rgba(255,220,180,.8)}
@keyframes ecB{to{filter:brightness(1.25)}}
.active .ec{animation:ecIn 2.4s var(--ease) both}@keyframes ecIn{from{opacity:0;transform:scale(.9)}}
/* 97 标题居中，标签环绕 */
#stage .orbc .wrap{inset:0;top:0;bottom:0;justify-content:center}
#stage .orbc .wrap>.ln{position:absolute;left:0;right:0;top:330px;font-size:88px}
#stage .orbc .chips{position:absolute;inset:0;margin:0}
#stage .orbc .chip{position:absolute;white-space:nowrap;animation:orbF 6s ease-in-out infinite alternate}
.orbc .chip:nth-child(1){left:220px;top:180px;animation-delay:-1s!important}.orbc .chip:nth-child(2){right:200px;top:210px;animation-delay:-3s!important}
.orbc .chip:nth-child(3){left:150px;top:640px;animation-delay:-2s!important}.orbc .chip:nth-child(4){right:300px;top:660px;animation-delay:-4s!important}.orbc .chip:nth-child(5){left:820px;top:760px;animation-delay:-5s!important}
@keyframes orbF{from{translate:0 -10px}to{translate:0 12px}}
.orbc .chips.stag .chip{transition-delay:calc(.9s + var(--i, 0) * .2s)}
.orbc .chips.stag .chip:nth-child(2){--i:1}.orbc .chips.stag .chip:nth-child(3){--i:2}.orbc .chips.stag .chip:nth-child(4){--i:3}.orbc .chips.stag .chip:nth-child(5){--i:4}
.orbc .chip:nth-child(odd){color:#a1a1a6}
/* 100 / 101 / 110 人物引用：字号 */
#stage .mgp .ln.s,#stage .jbp .ln.s{font-size:44px;line-height:1.5;white-space:nowrap}
#stage .mgp .ln.m,#stage .jbp .ln.m{font-size:76px;line-height:1.3;white-space:nowrap}
#stage .mgp .ln.xs,#stage .jbp .ln.xs{font-size:28px;letter-spacing:.1em}
#stage .mgp .wrap,#stage .jbp .wrap{gap:40px}
/* 106 直播：信息块整体左移到和别页一致；结论那一下换背景、居中 */
#stage .livep .stage2{left:110px;right:110px}
#stage .livep .blk:first-child{left:0!important;width:1000px}
#stage .livep .blk.c{left:0!important;right:0!important;width:auto;align-items:center!important;text-align:center}
#stage .livep .blk.c .ln{text-align:center}
.livep .bgs img+img{-webkit-mask:none}
.livep.st1 .bgs:after{background:radial-gradient(ellipse 60% 55% at 50% 42%,rgba(0,0,0,.85),rgba(0,0,0,.35) 75%,rgba(0,0,0,.1))!important;transition:background 1s}
.livep.st1 .bgs img:first-child{opacity:0!important}
/* 107 / 108：整屏写实图按步切换，文字左上；结论居中 */
#stage .b40p .stage2,#stage .b41p .stage2{z-index:2;left:110px;right:110px}
#stage .b40p .blk:not(.c),#stage .b41p .blk:not(.c){left:0!important;right:auto!important;width:1000px;top:60px;bottom:auto;justify-content:flex-start;align-items:flex-start;text-align:left}
#stage .b40p .blk .ln,#stage .b41p .blk:not(.c) .ln{text-align:left}
#stage .b40p .ln.m,#stage .b41p .ln.m{font-size:84px;line-height:1.25}#stage .b40p .ln.s{font-size:44px;line-height:1.5}
#stage .b41p .ln.xl{font-size:180px}
.b40p .bgs:after,.b41p .bgs:after{content:"";position:absolute;inset:0;z-index:5;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.88) 30%,rgba(0,0,0,.35) 58%,transparent 78%),linear-gradient(180deg,rgba(0,0,0,.6),transparent 35%);transition:background 1s}
.b40p.st3 .bgs:after{background:rgba(0,0,0,.82)}
.b41p.st1 .bgs:after{background:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.45) 50%,rgba(0,0,0,.85))}
.b41p.st2 .bgs:after{background:radial-gradient(ellipse 60% 55% at 50% 42%,rgba(0,0,0,.85),rgba(0,0,0,.4))}
#stage .b41p .blk.c .ln{text-align:center}
.b41p .bgs img{object-position:right center}
/* 112 指南针 */
.pic.cmps{right:150px;top:150px;width:700px;height:700px}
.pic.cmps img{filter:drop-shadow(0 50px 60px rgba(0,0,0,.9));animation:cmpW 7s ease-in-out infinite alternate}
@keyframes cmpW{0%{transform:rotate(-8deg)}40%{transform:rotate(5deg)}70%{transform:rotate(-2deg)}100%{transform:rotate(0)}}
#stage .cmpsp .ln.m{font-size:96px;line-height:1.3}
/* 113 理由清单：四张理由卡叠起来，计数 */
#stage .rsnp .wrap{top:110px;bottom:auto}
#stage .rsnp .chips{gap:26px;margin-top:40px;counter-reset:rs}
#stage .rsnp .chip{counter-increment:rs;position:relative;font-size:44px;padding:30px 44px 30px 90px;border-radius:22px;transform-origin:center bottom}
.rsnp .chip:before{content:counter(rs);position:absolute;left:28px;top:50%;width:44px;height:44px;margin-top:-22px;border-radius:50%;background:#ff7a1a;color:#000;font-size:26px;font-weight:900;line-height:44px;text-align:center}
.rsnp .chips.stag.on .chip:nth-child(1){transform:rotate(-3deg)}.rsnp .chips.stag.on .chip:nth-child(2){transform:rotate(2deg) translateY(10px)}
.rsnp .chips.stag.on .chip:nth-child(3){transform:rotate(-1.5deg)}.rsnp .chips.stag.on .chip:nth-child(4){transform:rotate(3deg) translateY(8px)}
.rsnp .chips.stag .chip:nth-child(2){transition-delay:.35s}.rsnp .chips.stag .chip:nth-child(3){transition-delay:.7s}.rsnp .chips.stag .chip:nth-child(4){transition-delay:1.05s}
#stage .rsnp .ln.s:last-child{margin-top:40px;font-size:52px;color:#f5f5f7}
/* 114 信号与噪音 */
.fig-signal{left:110px;right:110px;top:640px;height:300px}
.fig-signal svg{width:100%;height:100%}
.sg-n{fill:none;stroke-width:2.5;opacity:.6;animation:sgCalm 4s 1s var(--ease) forwards}
.sg-n.n1{stroke:rgba(255,255,255,.4)}.sg-n.n2{stroke:rgba(255,122,26,.35)}
@keyframes sgCalm{to{transform:scaleY(.08);opacity:.25}}
.sg-n{transform-origin:0 0;transform-box:view-box}
.sg-l{stroke:#ff9a3c;stroke-width:4;filter:drop-shadow(0 0 10px #ff7a1a)}
.sg-a,.sg-b{position:absolute;font-size:22px;font-weight:700;letter-spacing:.24em}
.sg-a{right:0;top:-40px;color:#ff9a3c}.sg-b{left:0;top:-40px;color:#636366}
#stage .sigp .wrap{top:110px;bottom:auto}
/* 115 扛杠铃：脑子里的声音浮在人周围 */
.sqp .bgs img{object-position:right center}
#stage .sqp .chips{position:absolute;left:1000px;top:-40px;width:760px;height:600px;margin:0}
#stage .sqp .chip{position:absolute;font-size:40px;color:#ff6b5f;background:rgba(20,0,0,.5);box-shadow:inset 0 0 0 1.5px rgba(255,69,58,.5);backdrop-filter:blur(8px);animation:orbF 3s ease-in-out infinite alternate}
.sqp .chip:nth-child(1){left:120px;top:60px}.sqp .chip:nth-child(2){left:440px;top:180px;animation-delay:-1s!important}.sqp .chip:nth-child(3){left:60px;top:320px;animation-delay:-2s!important}.sqp .chip:nth-child(4){left:420px;top:440px;animation-delay:-1.5s!important}
.sqp .chips.stag .chip:nth-child(2){transition-delay:.5s}.sqp .chips.stag .chip:nth-child(3){transition-delay:1s}.sqp .chips.stag .chip:nth-child(4){transition-delay:1.5s}
#stage .sqp .ln{font-size:96px}#stage .sqp .ln.s{font-size:44px}
#stage .sqp .wrap>.ln:last-child{position:absolute;top:560px;width:1100px}
/* 116 机芯 */
.gearp .bgs img{object-position:right center}
#stage .gearp .ln{font-size:104px}#stage .gearp .ln.s{font-size:44px;margin-top:30px}
#stage .gearp .chips{margin-top:6px}
/* 117 四个机制卡：放大、居中 */
#stage .mech4 .grid{top:250px!important;left:110px;right:110px;gap:30px}
#stage .mech4 .card{padding:40px 36px 140px;min-height:400px}
.mech4 .card .nm{font-size:52px!important;line-height:1.2}
.mech4 .card .ds{font-size:30px!important;line-height:1.5;color:#a1a1a6}
.mech4 .card:before{font-size:220px;bottom:-50px;color:rgba(255,122,26,.14)}
.mech4 .card:after{opacity:1}
#stage .mech4 .foot{bottom:auto;top:720px;font-size:64px}
/* r3 修正 */
.jl-t:nth-of-type(1){left:190px;top:300px}.jl-t:nth-of-type(2){left:830px;top:330px}.jl-t:nth-of-type(3){left:500px;top:740px}
.vc-h{font-size:36px}
#stage .cbp .ln.xl{font-size:150px;white-space:nowrap}
#stage .davidp .blk.c:last-child{left:1060px}
#stage .davidp .blk.c:last-child .q{font-size:80px}
.gp-tag span{font-size:56px}.gp-tag small{font-size:18px}
#stage .b41p .blk:not(.c){width:1500px}
#stage .b41p .blk:not(.c) .ln.xl{white-space:nowrap}
#stage .rsnp .chip{font-size:52px}
#stage .rsnp .chip:before{content:counter(rs);display:block}
/* ==================== 第 3 轮 · 第三批（修外 118–166） ==================== */
/* 123 轮子 → 装到行李箱上 */
.whl .case2{position:absolute;right:-40px;top:-170px;width:300px;height:420px;opacity:0;transform:translateY(-40px);transition:opacity .9s 3.4s,transform 1.2s 3.4s cubic-bezier(.3,1.4,.5,1)}
.whl .case2 img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 30px rgba(0,0,0,.9))}
.whl .case2 i{position:absolute;left:10%;right:10%;bottom:-6px;height:20px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.9),transparent)}
.whl .case2 span{position:absolute;left:-360px;top:120px;width:330px;text-align:right;font-size:40px;font-weight:800;color:#ff9a3c}
.whl .case2 span small{display:block;font-size:18px;letter-spacing:.2em;color:#8e8e93;margin-top:6px}
.show .whl .case2{opacity:1;transform:none}
.show .whl .rollw{animation:rollw3 3.2s .4s cubic-bezier(.4,0,.2,1) forwards}
@keyframes rollw3{80%{opacity:1}to{transform:translateX(1210px) rotate(900deg) scale(.4);opacity:0}}
/* 129 扁桃体：彩色底上的字改深色、加粗 */
.fr .cut{color:#1a0a00!important;font-weight:900}
.fr .ok{color:#f5f5f7}
/* 132 日历 */
.cal{display:flex;align-items:center;justify-content:center;gap:70px;margin-top:40px}
.cal-c{display:flex;flex-direction:column;align-items:center}
.cal-c small{font-size:26px;font-weight:700;letter-spacing:.2em;color:#8e8e93;margin-bottom:16px}
.cal-c b{font-size:44px;font-weight:800;margin-top:20px}.cal-c span{font-size:26px;color:#8e8e93;margin-top:4px}
.cal-c.now small,.cal-c.now b{color:#ff9a3c}
.cal-g{display:grid;grid-template-columns:repeat(6,64px);gap:10px}
.cal-g i{position:relative;height:56px;border-radius:10px;background:linear-gradient(160deg,#2c2c2e,#1a1a1c);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);opacity:0;transform:scale(.6);transition:opacity .3s calc(.3s + var(--k) * .04s),transform .4s calc(.3s + var(--k) * .04s) cubic-bezier(.3,1.5,.5,1)}
.cal-g i em{position:absolute;left:8px;top:4px;font-style:normal;font-size:16px;font-weight:700;color:#636366}
.show .cal-g i{opacity:1;transform:none}
.cal-c:not(.now) .cal-g i{background:linear-gradient(160deg,#48484a,#2c2c2e)}
.cal-vs{font-size:80px;color:#48484a}
.cal-one i{display:block;position:relative;width:200px;height:180px;border-radius:24px;background:linear-gradient(160deg,#2c2c2e,#1a1a1c);box-shadow:inset 0 0 0 2px rgba(255,122,26,.5),0 0 60px rgba(255,122,26,.2);overflow:hidden}
.cal-one u{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(180deg,#ffc46b,#ff5a1a);transition:height 1.2s 1.8s var(--ease)}
.show .cal-one u{height:28%}
.cal.cut .cal-g{grid-template-columns:repeat(10,96px);gap:14px}
.cal.cut .cal-g i{height:84px;opacity:1;transform:none}
.cal.cut .cal-g i:after{content:"";position:absolute;left:12%;right:12%;top:50%;height:5px;margin-top:-2px;border-radius:4px;background:#ff453a;box-shadow:0 0 12px #ff453a;transform:rotate(-30deg) scaleX(0);transition:transform .25s calc(.4s + var(--k) * .09s) ease-out}
.show .cal.cut .cal-g i:after{transform:rotate(-30deg) scaleX(1)}
.cal.cut{flex-direction:column;gap:30px}
.cal-n{display:flex;align-items:baseline;gap:20px}.cal-n b{font-size:80px;font-weight:900;color:#ff453a}.cal-n span{font-size:32px;color:#8e8e93}
/* 138 / 151 写实杠铃 */
.bbp .vz{overflow:visible}
.bb2{position:absolute;left:50%;top:50%;width:1500px;height:310px;margin:-155px 0 0 -750px}
.bb-rig{position:absolute;inset:0;transform-origin:50% 50%;transition:transform 1.6s cubic-bezier(.34,1.56,.64,1) .6s}
.bb-rig img{position:absolute;top:0;height:100%;filter:drop-shadow(0 30px 30px rgba(0,0,0,.85))}
.bb-m{left:0;width:79.25%}.bb-rb,.bb-rp{left:79.25%;width:20.75%}
.bb-rb{opacity:0;transition:opacity .2s .5s}
.bb-rp{transition:transform 1s cubic-bezier(.55,0,.8,.2),opacity .5s .7s}
.bb-gh{position:absolute;left:79.6%;width:13.4%;top:0;bottom:0;border:3px dashed rgba(255,255,255,.28);border-radius:16px;opacity:0;transition:opacity .6s 1.6s}
.bb-glow{position:absolute;left:20.5%;width:59%;top:50%;height:22px;margin-top:-11px;border-radius:11px;background:linear-gradient(90deg,#ffc46b,#ff7a1a,#ff3b1f);box-shadow:0 0 30px rgba(255,122,26,.9),0 0 90px rgba(255,90,20,.6);opacity:0;transition:opacity 1s}
.bbglow .bb-glow{opacity:1}
.bb-sh{position:absolute;left:5%;right:5%;bottom:-70px;height:40px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.9),transparent)}
.bbempty .bb-rp{transform:translateY(520px) rotate(14deg);opacity:0}
.bbempty .bb-rb{opacity:1}.bbempty .bb-gh{opacity:1}
.bbempty .bb-rig{transform:rotate(-7deg)}
.bb-lb{position:absolute;font-weight:800;text-align:center}
.bb-lb b{display:block;font-size:56px}.bb-lb small{display:block;font-size:20px;letter-spacing:.3em;color:#8e8e93;margin-top:4px}
.bb-lb.l{left:120px;top:420px;width:300px}.bb-lb.r{right:120px;top:420px;width:300px}.bb-lb.r b{color:#ff7a1a}
.bb-lb.mid{left:0;right:0;top:-10px;font-size:40px;color:#ff453a}.bb-lb.mid s{color:#8e8e93;text-decoration-color:#ff453a;text-decoration-thickness:4px}
.bb-lb.tl{left:60px;top:-10px;width:420px;font-size:34px;color:#d1d1d6}.bb-lb.tr{right:60px;top:-10px;width:420px;font-size:34px;color:#ff9a3c}
.bb-lb.mid2{left:0;right:0;top:420px;font-size:48px;color:#d1d1d6}.bb-lb.mid2 b{display:inline;font-size:48px;color:#ff7a1a}
.bbempty .bb-lb.r{opacity:.25}
/* 140 泰勒斯：缓动重做（线一段段画出来、拐点脉冲、光点沿线跑、面积慢慢浮出） */
.pf-ax line{stroke:#48484a;stroke-width:3}.pf-at{font-size:30px;font-weight:600;fill:#86868b}
.pf-l1,.pf-l2{fill:none;stroke-width:10;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.pf-l1{stroke:#f5f5f7}.pf-l2{stroke:url(#pf);filter:drop-shadow(0 0 14px rgba(255,122,26,.6))}
.active .pf-l1{animation:fgDraw 1.5s .7s cubic-bezier(.65,0,.35,1) forwards}
.active .pf-l2{animation:fgDraw 2.1s 2.1s cubic-bezier(.65,0,.35,1) forwards}
.pf-na{fill:url(#pfn);opacity:0}.active .pf-na{animation:fadeIn 1.2s 1.2s forwards}
.pf-aa{fill:url(#pfa);opacity:0;clip-path:inset(0 100% 0 0)}
.active .pf-aa{animation:pfArea 2.1s 2.3s cubic-bezier(.65,0,.35,1) forwards}
@keyframes pfArea{from{opacity:1;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
.pf-k{fill:#fff;opacity:0}.pf-kp{fill:none;stroke:#fff;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.active .pf-k{animation:fadeIn .4s 2s forwards}.active .pf-kp{animation:scPulse 1.8s 2s ease-out infinite}
.pf-t1 text{font-size:36px;font-weight:800;fill:#f5f5f7}.pf-t2 text{font-size:36px;font-weight:800;fill:#ff7a1a}
.pf-t1,.pf-t2{opacity:0;transform:translateY(16px)}
.active .pf-t1{animation:pfUp .9s 1.5s cubic-bezier(.2,.8,.2,1) forwards}.active .pf-t2{animation:pfUp .9s 3.6s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes pfUp{to{opacity:1;transform:none}}
.pf-dot{fill:#fff;filter:drop-shadow(0 0 10px #ffc08a) drop-shadow(0 0 24px #ff7a1a);opacity:0}
.active .pf-dot{animation:fadeIn .3s .7s forwards}
/* 写实卡牌（142 / 147） */
.pc{position:absolute;width:300px;height:440px}
.pc img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.85))}
.pc-f{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#2a1a0c;text-align:center;padding:0 40px}
.pc-f small{font-size:16px;font-weight:800;letter-spacing:.24em;color:#b0702a}
.pc-f b{font-size:150px;font-weight:900;line-height:1.1;font-family:"Songti SC","STSong",serif;color:#1d1208}
.pc-f span{font-size:30px;font-weight:800;margin-top:6px;color:#3a2410}
.p1 .pc-f b,.t1 .pc-f b{color:#c2410c}
/* 142：两张牌对着立，字在中间，三角构图 */
.fig-two{inset:0}
.twc{position:absolute;inset:0}
.twc .pc{top:330px;width:400px;height:590px;opacity:0;transition:opacity 1s,transform 1.4s cubic-bezier(.2,.9,.3,1.1)}
.twc .t0{left:200px;transform:translateX(-200px) rotate(-26deg)}.twc .t1{right:200px;transform:translateX(200px) rotate(26deg)}
.active .twc .pc{opacity:1}.active .twc .t0{transform:rotate(-12deg);transition-delay:.9s}.active .twc .t1{transform:rotate(12deg);transition-delay:1.2s}
.twc-sh{position:absolute;top:910px;width:420px;height:40px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.9),transparent)}.twc-sh.l{left:190px}.twc-sh.r{right:190px}
#stage .twop .wrap{top:120px;bottom:auto}
#stage .twop .ln.xl{font-size:150px}
.twop .glow,.twop .fx{display:none}
/* 143 守正出奇：卡牌样式（象牙色牌面 + 金色描边角花） */
.pcard .card{background:linear-gradient(170deg,#f3ead8,#e3d4b8)!important;color:#1d1208;border-radius:26px;box-shadow:0 0 0 2px #c8a46a inset,0 0 0 10px #f3ead8 inset,0 0 0 12px #c8a46a inset,0 40px 70px rgba(0,0,0,.7)!important}
.pcard .card:before{background:radial-gradient(circle at 26px 26px,#c8a46a 3px,transparent 4px),radial-gradient(circle at calc(100% - 26px) calc(100% - 26px),#c8a46a 3px,transparent 4px)!important;-webkit-mask-image:none!important;mask-image:none!important}
.pcard .card:after{display:none}
.pcard .card .no{color:#b0702a!important}.pcard .card .nm{color:#1d1208!important;-webkit-text-fill-color:#1d1208!important;background:none!important}
.pcard .card .nm .hot{-webkit-text-fill-color:#c2410c!important;color:#c2410c}
.pcard .card .ds{color:#5a4630!important}
.pcard .card.cur{box-shadow:0 0 0 2px #ff7a1a inset,0 0 0 10px #f3ead8 inset,0 0 0 12px #c8a46a inset,0 0 80px rgba(255,122,26,.35),0 40px 70px rgba(0,0,0,.7)!important}
.pcard .card:nth-child(1){transform:rotate(-1.5deg)}.pcard .card:nth-child(2){transform:rotate(1.5deg)}
/* 147 两张牌互相靠着 */
.pcs{position:relative;width:700px;height:470px;margin:20px auto 0}
.pcs .pc{top:0;transition:transform 1.2s cubic-bezier(.3,1.4,.5,1)}
.pcs .p0{left:90px;transform:rotate(-16deg);transform-origin:100% 100%}.pcs .p1{right:90px;transform:rotate(16deg);transform-origin:0 100%}
.pc-sh{position:absolute;left:100px;right:100px;bottom:-14px;height:30px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.9),transparent)}
.pcs .pc-f b{font-size:96px}.pcs .pc-f span{font-size:22px;font-weight:700}
.pc-mid{text-align:center;margin-top:10px}
/* 147 围棋：写实棋盘 */
.gop .go{gap:110px;margin-top:20px}
.gop .go svg{width:480px;height:480px;filter:drop-shadow(0 40px 50px rgba(0,0,0,.8))}
.goeye{filter:drop-shadow(0 0 8px currentColor)}
.goey{font-size:20px;font-weight:900;opacity:0}
.gop .go figcaption{font-size:46px}
.gof.e1 svg{transform:rotate(-2deg)}.gof.e2 svg{transform:rotate(2deg)}
/* 154 凤凰九头蛇 */
.phxp .vpic img{height:420px!important;width:auto;filter:drop-shadow(0 0 60px rgba(255,90,20,.35))}
.phxp .art.vpic{height:420px;margin-bottom:10px}
/* 156 伤疤：金缮 */
.scarp .bgs img{object-position:right center}
#stage .scarp .ln{font-size:110px;line-height:1.2}#stage .scarp .ln.s{font-size:44px;margin-top:30px}
/* 158 医生：两行分别设计 */
#stage .docp .stage2{z-index:2;left:110px;right:110px}
#stage .docp .blk:not(.c){left:0!important;right:auto!important;width:1000px;top:60px;bottom:auto;justify-content:flex-start;align-items:flex-start}
.docp .bgs:after{content:"";position:absolute;inset:0;z-index:5;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.88) 30%,rgba(0,0,0,.35) 58%,transparent 78%),linear-gradient(180deg,rgba(0,0,0,.6),transparent 35%);transition:background 1s}
.docp.st2 .bgs:after{background:radial-gradient(ellipse 60% 55% at 50% 42%,rgba(0,0,0,.88),rgba(0,0,0,.45))}
.docp .bgs img{object-position:right center}
.pk-en{display:block;font-size:24px;font-weight:700;letter-spacing:.3em;color:#6e6e73}
.pk-no{font-size:44px;font-weight:700;color:#8e8e93;margin-top:30px;position:relative;display:inline-block}
.pk-no:after{content:"";position:absolute;left:-4px;right:-4px;top:54%;height:4px;background:#ff453a;transform:scaleX(0);transform-origin:left;transition:transform .7s .9s var(--ease)}
.show .pk-no:after{transform:scaleX(1)}
.pk-yes{font-size:96px;font-weight:800;line-height:1.2;margin-top:24px;max-width:1000px}
.pk-t{margin-top:40px!important}
.pk-t .chip{font-size:34px!important;transition-delay:1.4s}
.pk-t .chip:nth-child(2){transition-delay:1.7s}.pk-t .chip:nth-child(3){transition-delay:2s}
.only:not(.show) .pk-t .chip{opacity:0}
/* 160 收尾：一次打击，三条线分道扬镳 */
.fig-endv{left:110px;right:110px;top:470px;height:460px}
.fig-endv svg{width:100%;height:100%;overflow:visible}
.ev-base{stroke:rgba(255,255,255,.06);stroke-width:2}
.ev-pre,.ev-f,.ev-r,.ev-a{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.ev-pre{stroke:#d1d1d6;stroke-width:6}.active .ev-pre{animation:fgDraw 1.4s .4s cubic-bezier(.65,0,.35,1) forwards}
.ev-bolt{fill:#ffc46b;filter:drop-shadow(0 0 20px #ff7a1a) drop-shadow(0 0 50px rgba(255,90,20,.8));opacity:0;transform-box:fill-box;transform-origin:50% 100%}
.active .ev-bolt{animation:evBolt .5s 1.8s cubic-bezier(.3,1.6,.5,1) forwards}
@keyframes evBolt{from{opacity:0;transform:scale(.4) translateY(-40px)}to{opacity:1;transform:none}}
.ev-f{stroke:#636366;stroke-width:5;stroke-dasharray:.06 .03 1;stroke-dashoffset:1.09}
.active .ev-f{animation:evF 1s 2.4s ease-in forwards}@keyframes evF{to{stroke-dashoffset:0}}
.ev-r{stroke:#d1d1d6;stroke-width:5}.active .ev-r{animation:fgDraw 1.8s 2.4s cubic-bezier(.65,0,.35,1) forwards}
.ev-a{stroke:url(#evg);stroke-width:8;filter:drop-shadow(0 0 14px rgba(255,122,26,.8))}.active .ev-a{animation:fgDraw 2s 2.6s cubic-bezier(.65,0,.35,1) forwards}
.ev-aa{fill:url(#eva);opacity:0}.active .ev-aa{animation:fadeIn 1.4s 3.6s forwards}
.ev-dot{fill:#fff;filter:drop-shadow(0 0 12px #ff7a1a);opacity:0}.active .ev-dot{animation:fadeIn .3s 4.5s forwards}
.ev-lb{font-size:34px;font-weight:800;opacity:0}.ev-lb.f{fill:#636366}.ev-lb.r{fill:#d1d1d6}.ev-lb.a{fill:#ff9a3c;font-size:40px}
.active .ev-lb.f{animation:fadeIn .6s 3.2s forwards}.active .ev-lb.r{animation:fadeIn .6s 4s forwards}.active .ev-lb.a{animation:fadeIn .6s 4.5s forwards}
.ev-sh{font-size:24px;font-weight:700;letter-spacing:.2em;fill:#ffc46b;opacity:0}.active .ev-sh{animation:fadeIn .5s 2s forwards}
#stage .endp .wrap{left:110px;right:auto;width:1500px;top:150px;bottom:auto;justify-content:flex-start;align-items:flex-start;text-align:left;gap:10px}
#stage .endp .ln{text-align:left}
#stage .endp .ln.m{font-size:64px;color:#8e8e93}#stage .endp .ln.xl{font-size:150px;line-height:1.08}#stage .endp .ln.s{font-size:38px;margin-top:10px;display:none}
/* 162 怎么练：字放大、行距放松，后排看得见 */
#stage .lists .grid{left:90px;right:90px;gap:30px;top:250px!important}
.lists .card{padding:40px 40px 46px}
.lists .card .nm{font-size:60px!important}
.lists .card .ds{font-size:38px!important;line-height:1.75!important;color:#f5f5f7!important;white-space:pre-line}
.lists .card .no{font-size:24px}
/* 165 〔60〕蜡烛 vs 火：两张整屏写实图 + 画布（风、烟、火星） */
#d3 .cf .pane{position:relative;overflow:hidden}
#d3 .cf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#d3 .cf-l img{object-position:15% center;transition:filter 2.4s 2.4s}
#d3 .cf-l.on img{filter:brightness(.55)}
#d3 .cf-r img{object-position:80% center;transform:scale(1);transform-origin:70% 80%;transition:transform 8s cubic-bezier(.2,.6,.3,1),filter 3s}
#d3 .cf-r.on img{transform:scale(1.14);filter:brightness(1.15) saturate(1.1)}
#d3 .cf-l:after,#d3 .cf-r:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.6),transparent 30%,transparent 70%,rgba(0,0,0,.7))}
#d3 .cf-out{position:absolute;left:300px;top:200px;width:160px;height:200px;border-radius:50%;background:radial-gradient(closest-side,#000 40%,transparent);opacity:0;transition:opacity .9s 2.5s;z-index:1}
#d3 .cf-l.on .cf-out{opacity:1}
#d3 .cf-glow{position:absolute;left:250px;top:150px;width:260px;height:300px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,170,80,.35),transparent);mix-blend-mode:screen;animation:cfFl 0.18s steps(2) infinite alternate;transition:opacity .6s 2.4s;z-index:1}
#d3 .cf-l.on .cf-glow{opacity:0}
@keyframes cfFl{to{transform:translate(4px,-3px) scale(1.06)}}
#d3 .cf h4{position:absolute;left:0;right:0;top:auto;bottom:300px;z-index:3;font-size:64px;font-weight:800;color:#f5f5f7;text-align:center;text-shadow:0 4px 30px #000}
#d3 .cf h4 b{color:#ff9a3c}#d3 .cf-l h4 b{color:#c7c7cc}
#d3 .cf h4 small{display:block;font-size:22px;letter-spacing:.4em;color:#a1a1a6;margin-top:10px}
#stage #d3 .cf h4{top:auto}
#d3 .cf-cv{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}
#d3.st2 .cf{opacity:.35;filter:blur(6px)}
#d3.st2 .cf-l{opacity:0;transition:opacity 1s}
#d3 .rule{display:none}
/* 166 谢谢 */
#stage .thxp .wrap{left:110px;right:auto;width:1000px;top:200px;bottom:auto;justify-content:flex-start;align-items:flex-start;text-align:left}
#stage .thxp .ln{text-align:left}#stage .thxp .ln.xl{font-size:200px}
.fig-qr{right:220px;top:200px;width:420px;height:520px}
.qr{display:flex;flex-direction:column;align-items:center;gap:30px}
.qr-f{position:relative;width:400px;height:400px;border-radius:36px;background:#f5f5f7;padding:28px;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 0 120px rgba(255,122,26,.25),0 40px 80px rgba(0,0,0,.8)}
.qr-f img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain}
.qr-f span{position:absolute;inset:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px dashed #c7c7cc;border-radius:16px;color:#8e8e93;font-size:34px;font-weight:700}
.qr-f span small{font-size:18px;margin-top:8px}
.qr b{font-size:40px;font-weight:800;color:#ff9a3c}
.active .fig-qr{animation:pfUp 1s .8s cubic-bezier(.2,.8,.2,1) both}

/* r3 第三批修正 */
.whl .case2{width:360px;height:500px;top:-250px;right:-60px}
.bb-lb.l,.bb-lb.r{top:330px}.bb-lb.mid2{top:340px}
.pcs{margin-bottom:90px}
.pcs .p0{left:40px;transform:rotate(14deg);transform-origin:0 100%}.pcs .p1{right:40px;transform:rotate(-14deg);transform-origin:100% 100%}
.goey{opacity:1}
.phxp .vpic img{height:330px!important}.phxp .art.vpic{height:330px}
.pk-yes{font-size:84px;max-width:1300px}
.fig-endv{top:520px;height:420px}
#stage .endp .ln.xl{font-size:136px;white-space:nowrap}
.twc .pc{top:420px;width:360px;height:530px}.twc .t0{left:230px}.twc .t1{right:230px}
.twc-sh{top:920px}.twc-sh.l{left:200px}.twc-sh.r{right:200px}
.pcs{height:500px;margin:10px auto 40px}
.pcs .pc{top:30px}.pcs .p0{left:0}.pcs .p1{right:0}
.gop .go svg{width:420px;height:420px}
.gop .blk.c{justify-content:flex-start;padding-top:20px}
.pcs{flex-shrink:0;height:480px;margin:0 auto 10px}.pcs+.pc-mid{margin-top:0}
/* 144 很多人都是这么做的：两个人像 + 正/奇两张牌 */
#stage .duop .wrap{top:110px;bottom:auto}
.fig-duo{inset:0}
.du{position:absolute;top:200px;width:860px;height:760px}
.du.d0{left:60px}.du.d1{right:60px}
.du-en{position:absolute;left:0;right:0;top:20px;text-align:center;font-size:150px;font-weight:800;letter-spacing:.04em;color:rgba(255,255,255,.05);white-space:nowrap}
.du-ph{position:absolute;left:30px;bottom:0;width:440px;height:640px}
.du-ph img{position:absolute;left:0;right:0;bottom:0;margin:auto;max-width:100%;max-height:100%;filter:grayscale(1) contrast(1.08) brightness(.95);
  -webkit-mask-image:linear-gradient(0deg,transparent 0,#000 30%);mask-image:linear-gradient(0deg,transparent 0,#000 30%);opacity:0;transform:translateY(30px);transition:opacity 1.2s calc(.5s + var(--k) * .5s),transform 1.4s calc(.5s + var(--k) * .5s) var(--ease)}
.active .du-ph img{opacity:1;transform:none}
.du-nm{position:absolute;left:500px;top:150px;font-size:72px;font-weight:900}
.du-cs{position:absolute;left:500px;top:270px;display:flex;flex-direction:column;gap:22px}
.du-c{width:320px;padding:22px 26px;border-radius:18px;opacity:0;transform:translateX(30px) rotate(var(--r));transition:opacity .7s,transform .9s cubic-bezier(.3,1.4,.5,1)}
.du-c small{display:block;font-size:22px;font-weight:900;letter-spacing:.2em}
.du-c span{display:block;font-size:38px;font-weight:800;margin-top:4px}
.du-c.z{--r:-2deg;background:linear-gradient(170deg,#f3ead8,#e3d4b8);color:#1d1208;box-shadow:0 0 0 2px #c8a46a inset,0 20px 40px rgba(0,0,0,.6)}.du-c.z small{color:#b0702a}
.du-c.q{--r:2deg;background:linear-gradient(170deg,#3a2210,#1c120a);color:#ffb070;box-shadow:0 0 0 2px #ff7a1a inset,0 0 40px rgba(255,122,26,.25),0 20px 40px rgba(0,0,0,.6)}.du-c.q small{color:#ff7a1a}
.active .du-c{opacity:1;transform:rotate(var(--r))}
.active .du-c.z{transition-delay:calc(1.3s + var(--k) * .5s)}.active .du-c.q{transition-delay:calc(1.6s + var(--k) * .5s)}
.mgp .ph.fig img{height:780px;top:70px;right:240px}
#d3 .cf-r h4 b{color:#fff;text-shadow:0 0 30px #ff7a1a,0 4px 20px #000}
#d3 .cf h4{text-shadow:0 2px 6px #000,0 6px 40px #000,0 0 80px #000}
.lists .card .ds{font-size:35px!important}
/* 144 人物排版（参考评委阵容：头像 + 背后斜切色块 + 大名字 + 两行身份） */
#stage .duop .wrap{top:120px}
.duw{position:absolute;left:0;right:0;top:250px;display:flex;justify-content:center;gap:200px}
.du{position:relative;top:auto;left:auto!important;right:auto!important;width:520px;height:auto;display:flex;flex-direction:column;align-items:center}
.du-ph{position:relative;width:520px;height:430px;overflow:hidden;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 26%);mask-image:linear-gradient(0deg,transparent 0,#000 26%)}
.du-bg{position:absolute;left:180px;top:40px;width:240px;height:420px;transform:skewX(-24deg);background:linear-gradient(180deg,rgba(255,154,60,.75),rgba(255,90,20,.05));opacity:0;transition:opacity 1s calc(.4s + var(--k) * .4s),transform 1.2s calc(.4s + var(--k) * .4s) var(--ease)}
.du-bg.b2{left:300px;top:90px;width:150px;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0))}
.active .du-bg{opacity:1}
.du-ph img{position:absolute;left:50%;top:10px;height:640px;width:auto;max-width:none;max-height:none;transform:translateX(-50%) translateY(30px);opacity:0;filter:grayscale(1) contrast(1.08);-webkit-mask-image:none;mask-image:none;
  transition:opacity 1.2s calc(.6s + var(--k) * .4s),transform 1.4s calc(.6s + var(--k) * .4s) var(--ease)}
.d0 .du-ph img{height:760px;top:-10px}
.active .du-ph img{opacity:1;transform:translateX(-50%)}
.du-nm{position:static;margin-top:6px;font-size:88px;font-weight:900;letter-spacing:.02em}
.du-rl{position:static;margin-top:14px;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;transform:translateY(16px);transition:opacity .8s calc(1.4s + var(--k) * .4s),transform .9s calc(1.4s + var(--k) * .4s) var(--ease)}
.active .du-rl{opacity:1;transform:none}
.du-rl span{font-size:38px;font-weight:700;color:#d1d1d6}
.du-rl em{font-style:normal;display:inline-block;width:52px;height:52px;line-height:52px;margin-right:16px;border-radius:12px;text-align:center;font-size:28px;font-weight:900;background:#f3ead8;color:#1d1208;vertical-align:4px}
.du-rl span.q{color:#ff9a3c}.du-rl span.q em{background:#ff7a1a;color:#000}
/* 166 谢谢页：篝火整屏压暗 + 居中大字 */
.thxp .bgs img{object-position:center 70%}
.thxp .bgs:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.92) 35%,rgba(0,0,0,.55) 70%,rgba(0,0,0,.2)),radial-gradient(ellipse 60% 40% at 50% 38%,rgba(0,0,0,.6),transparent)}
#stage .thxp .wrap{left:0;right:0;width:auto;top:150px;bottom:auto;justify-content:flex-start;align-items:center;text-align:center;gap:18px;z-index:3}
#stage .thxp .ln{text-align:center}
#stage .thxp .ln.xl{font-size:240px;line-height:1.05;letter-spacing:.04em;background:linear-gradient(180deg,#fff 30%,#ffd2a6);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 60px rgba(255,120,30,.35))}
#stage .thxp .ln.m{font-size:72px;margin-top:10px}
#stage .thxp .ln.xs{font-size:28px;letter-spacing:.2em;margin-top:30px}
#stage .thxp .ln.enl{letter-spacing:.6em;color:#ff9a3c}
.duw{top:210px;gap:220px}
.du-ph{width:480px;height:400px}
.du-ph img{top:40px;height:560px}
.d0 .du-ph img{top:40px;height:600px}
.du-bg{left:130px;top:70px;width:200px;height:360px;transform:skewX(-22deg);background:linear-gradient(180deg,rgba(255,154,60,.55),rgba(255,90,20,0) 85%);filter:blur(1px)}
.du-bg.b2{left:250px;top:110px;width:120px;height:320px;background:linear-gradient(180deg,rgba(255,220,180,.28),rgba(255,255,255,0) 85%)}
.du-nm{font-size:76px;margin-top:0}
.du-rl{margin-top:10px;gap:8px}.du-rl span{font-size:34px}
.du-rl em{width:46px;height:46px;line-height:46px;font-size:24px}
.duw{top:230px}
.du-ph{height:420px}
.du-ph img{top:70px;height:540px}
.d0 .du-ph img{top:80px;height:560px}
/* ==================== 第 4 轮（10-11 01:02 批注） ==================== */
/* 92 冰山 */
.icep .bgs img{object-position:right center}
#stage .icep .ln{font-size:76px;line-height:1.35}
/* 95 瞄准镜不抢标题 */
.fx-scope{opacity:.45!important}.fx-scope .sc2{transform:scale(1.15)}
.sc2-r.r2{border-color:rgba(255,122,26,.25);box-shadow:none}.sc2-c{display:none}
/* 100 芒格：左侧文字放大、松一点 */
#stage .mgp .wrap{left:110px;right:auto;width:900px;gap:48px;top:170px;bottom:auto;justify-content:flex-start}
#stage .mgp .ln.xs{font-size:32px}
#stage .mgp .ln.s{font-size:50px;line-height:1.6}
#stage .mgp .ln.m{font-size:92px;line-height:1.28}
/* 107 第 3 下：结论块真正居中 */
#stage .b40p .blk.c{left:0!important;right:0!important;width:auto!important;align-items:center!important;text-align:center}
#stage .b40p .blk.c .ln{text-align:center}
/* 108 第 1 下：不要背景 */
.b41p.st1:not(.st2) .bgs:after{background:#000}
/* 111 好建议：标题往上 */
#stage .ideap .wrap{inset:auto 0 auto 0;top:120px;justify-content:flex-start}
/* 115：结论往上 */
#stage .sqp .wrap>.ln:last-child{top:430px}
/* 116 机芯：文字侧深色渐变 */
.gearp .bgs:after{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.95) 32%,rgba(0,0,0,.6) 52%,rgba(0,0,0,.1) 75%),linear-gradient(180deg,rgba(0,0,0,.7),transparent 40%)!important}
/* 117 卡片左下角图标 */
.cic{position:absolute!important;left:36px;bottom:30px;width:84px;height:84px;z-index:2}
.cic svg{width:100%;height:100%;fill:none;stroke:#ff9a3c;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px rgba(255,122,26,.5))}
.cic .f{fill:#ff9a3c}.cic .x{stroke:#ff453a}
.mech4 .card:before{left:auto;right:16px}
/* 123 轮子时间线 */
.wl{position:relative;width:1600px;height:400px;margin:0 auto}
.wl-ax{position:absolute;left:0;right:0;top:300px;height:4px;border-radius:2px;background:#2c2c2e;overflow:hidden}
.wl-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#636366,#ff7a1a);transition:width 3.4s .5s cubic-bezier(.45,0,.25,1)}
.show .wl-fill{width:100%}
.wl-m{position:absolute;top:0;width:0;height:400px}
.wl-m i{position:absolute;left:-9px;top:293px;width:18px;height:18px;border-radius:50%;background:#636366;box-shadow:0 0 0 6px #000}
.wl-m small,.wl-m b{position:absolute;left:-150px;width:300px;text-align:center;white-space:nowrap}
.wl-m small{top:330px;font-size:24px;font-weight:700;color:#8e8e93}
.wl-m b{top:362px;font-size:34px;font-weight:800;color:#d1d1d6}
.wl-m img{position:absolute;left:-110px;bottom:120px;width:220px;height:200px;object-fit:contain;filter:drop-shadow(0 20px 20px rgba(0,0,0,.9))}
.wl-m.m3 i{background:#ff7a1a;box-shadow:0 0 0 6px #000,0 0 24px #ff7a1a}.wl-m.m3 b{color:#ff9a3c;font-size:40px}.wl-m.m3 small{color:#ff9a3c}
.wl-m.m3 img{width:240px;height:260px;left:-120px}
.wl-m.m0 small,.wl-m.m0 b{left:-60px;text-align:left}.wl-m.m3 small,.wl-m.m3 b{left:auto;right:-60px;text-align:right}
.wl-m{opacity:0;transition:opacity .6s calc(.5s + var(--q) * .9s)}
.show .wl-m{opacity:1}
.wl-m.m3{transition-delay:3.6s}.wl-m.m3 img{transform:translateY(-30px);transition:transform 1s 3.6s cubic-bezier(.3,1.5,.5,1)}.show .wl-m.m3 img{transform:none}
.wl-gap{position:absolute;left:12%;width:50%;top:150px;text-align:center}
.wl-gap b{display:block;font-size:110px;font-weight:900;line-height:1;background:linear-gradient(180deg,#fff,#8e8e93);-webkit-background-clip:text;background-clip:text;color:transparent}
.wl-gap span{display:block;font-size:30px;color:#8e8e93;margin-top:12px}
/* 130 / 136 / 153 换背景 */
.surgp .bgs img,.glsp .bgs img,.banp .bgs img{object-position:right center}
#stage .surgp .ln,#stage .glsp .ln,#stage .banp .ln{font-size:92px;line-height:1.25}
#stage .surgp .ln.s,#stage .glsp .ln.s,#stage .banp .ln.s{font-size:44px}#stage .surgp .ln.lab{font-size:30px}
#stage .banp .chips{margin-top:20px}
/* 132 标题小一些 */
#stage .L-seq .blk .cal{margin-top:30px}
.blk .ln.m:has(+ .cal){font-size:64px}
/* 135 两张卡：波动曲线 */
.tcmp{position:absolute;left:110px;right:110px;top:280px;display:grid;grid-template-columns:1fr 1fr;gap:40px}
.tcd{position:relative;padding:40px 44px 46px;border-radius:28px;overflow:hidden;background:linear-gradient(165deg,#1f1f21,#0c0c0d);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 30px 60px rgba(0,0,0,.5)}
.tcd.b{background:linear-gradient(165deg,#2a1a10,#0d0a08);box-shadow:inset 0 0 0 1.5px rgba(255,122,26,.45),0 0 60px rgba(255,122,26,.12)}
.tcd small{font-size:24px;font-weight:800;letter-spacing:.16em;color:#8e8e93}.tcd.b small{color:#ff9a3c}
.tcd b{display:block;font-size:72px;font-weight:900;margin-top:10px}.tcd.b b{color:#ff7a1a}
.tcd svg{display:block;width:100%;height:150px;margin:20px 0 10px;overflow:visible}
.tc-l{fill:none;stroke:#d1d1d6;stroke-width:4;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.tcd.b .tc-l{stroke:#ff7a1a;filter:drop-shadow(0 0 8px rgba(255,122,26,.7))}
.show .tc-l{animation:fgDraw 2s .5s cubic-bezier(.65,0,.35,1) forwards}
.tc-x{fill:#ff453a;opacity:0}.show .tc-x{animation:fadeIn .3s 1.7s forwards}
.tcd span{display:block;font-size:34px;color:#d1d1d6;line-height:1.5}
.tc-tag{position:absolute;right:30px;top:36px;font-style:normal;font-size:22px;font-weight:800;padding:8px 18px;border-radius:99px;background:rgba(255,255,255,.08);color:#d1d1d6}
.tcd.b .tc-tag{background:rgba(255,69,58,.15);color:#ff6b5f}
/* 138 杠铃整屏 */
.bb3p .vz{position:absolute!important;inset:0!important;z-index:0}
.bb3p .head,.bb3p .caps{z-index:3}
.b3{position:absolute;inset:0}
.b3-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s}
.active .b3-bg{opacity:1;animation:kb 22s linear both}
.b3:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.75),transparent 30%,transparent 70%,rgba(0,0,0,.6))}
.b3-l{position:absolute;z-index:2;opacity:0;transform:translateY(16px);transition:opacity .8s,transform .9s var(--ease)}
.active .b3-l{opacity:1;transform:none}
.b3-l small{display:block;font-size:22px;font-weight:800;letter-spacing:.3em;color:#a1a1a6}
.b3-l b{display:block;font-size:84px;font-weight:900;line-height:1.1}
.b3-l span{display:block;font-size:34px;font-weight:700;color:#d1d1d6;margin-top:8px}
.b3-l.l{left:110px;top:290px;transition-delay:.8s}
.b3-l.r{right:110px;top:330px;text-align:right;transition-delay:1.2s}.b3-l.r b{color:#ff7a1a;text-shadow:0 0 40px rgba(255,122,26,.5)}.b3-l.r span{color:#ff9a3c}.b3-l.r small{color:#ff9a3c}
.b3-l.m{left:0;right:0;top:470px;text-align:center;transition-delay:1.7s}.b3-l.m s{font-size:36px;font-weight:700;color:#8e8e93;text-decoration-color:#ff453a;text-decoration-thickness:4px}.b3-l.m b{display:inline;font-size:44px;color:#ff453a;margin-left:12px}
.b3-off{position:absolute;left:1600px;top:480px;width:240px;height:320px;border-radius:50%;background:radial-gradient(closest-side,#000 55%,transparent);opacity:0;transition:opacity 1s .3s;z-index:1}
.b3-gh{position:absolute;left:1660px;top:530px;width:80px;height:220px;border-radius:40px;border:3px dashed rgba(255,255,255,.35);opacity:0;transition:opacity .8s 1s;z-index:2}
.bbempty .b3-off,.bbempty .b3-gh{opacity:1}.bbempty .b3-l.r{opacity:.3}
.bb3p .caps>div{text-shadow:0 2px 20px #000}
.bb3p .head h2{text-shadow:0 2px 20px #000}
/* 142 大标题小一点 */
#stage .twop .ln.xl{font-size:120px}
/* 143 守正出奇：参考小 Lin 说的书册卡（金箔卡 + 酒红卡，放在深色框里） */
.pcard .grid{left:260px!important;right:260px!important;top:280px!important;gap:56px!important;padding:60px 60px 64px;border-radius:30px;background:linear-gradient(180deg,#141416,#0a0a0b);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 40px 80px rgba(0,0,0,.6)}
.pcard .grid:before{content:"职场的两张牌 · TWO CARDS";position:absolute;left:0;right:0;top:20px;text-align:center;font-size:20px;font-weight:800;letter-spacing:.4em;color:#ff7a1a}
.pcard .card{position:relative;min-height:400px;border-radius:16px!important;padding:46px 40px 50px!important;overflow:hidden;transform:none!important;box-shadow:0 30px 50px rgba(0,0,0,.6)!important}
.pcard .card:nth-child(1){background:linear-gradient(135deg,#f6e7b8 0%,#d9b765 35%,#f3dc98 55%,#b8913f 100%)!important}
.pcard .card:nth-child(2){background:linear-gradient(135deg,#8a2d14 0%,#5a1a0c 50%,#3a1008 100%)!important}
.pcard .card:before{content:"";position:absolute;inset:14px;border-radius:10px;background:none!important;border:2px solid rgba(0,0,0,.18);-webkit-mask-image:none!important;mask-image:none!important}
.pcard .card:nth-child(2):before{border-color:rgba(255,200,150,.25)}
.pcard .card:after{display:block!important;content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 45%,transparent 60%);opacity:.6;filter:none;right:0;bottom:0;width:auto;height:auto;border-radius:0;animation:pcShine 4s 1s ease-in-out infinite}
@keyframes pcShine{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.pcard .card .no{color:#5a3a0c!important;font-size:24px!important;letter-spacing:.2em}.pcard .card:nth-child(2) .no{color:#ffb070!important}
.pcard .card .nm{font-size:58px!important;line-height:1.25;margin-top:20px;color:#2a1a05!important;-webkit-text-fill-color:#2a1a05!important}
.pcard .card:nth-child(2) .nm{color:#fff3e6!important;-webkit-text-fill-color:#fff3e6!important}
.pcard .card:nth-child(2) .nm .hot{-webkit-text-fill-color:#ffb070!important;color:#ffb070!important;background:none!important}
.pcard .card .ds{font-size:30px!important;color:#5a3a0c!important;margin-top:24px!important}.pcard .card:nth-child(2) .ds{color:#e8b48a!important}
.pcard .card .ds:after{display:inline-block;margin-top:30px;font-size:30px;font-weight:900;letter-spacing:.2em;padding:8px 22px;border:4px solid;border-radius:8px;transform:rotate(-8deg)}
.pcard .card:nth-child(1) .ds:after{content:"保 底";color:#7a4a10;display:table}
.pcard .card:nth-child(2) .ds:after{content:"选择权";color:#ffb070;display:table}
.pcard .card.cur{outline:3px solid #ff7a1a;outline-offset:6px}
#stage .pcard .foot{top:auto;bottom:150px}
/* 144 两个人等大 */
.d0 .du-ph img{height:700px;top:40px}
.d1 .du-ph img{height:520px;top:70px}
/* 145 邓煜：人物引用 */
#stage .dyp .stage2{left:110px;right:900px}
#stage .dyp .blk{justify-content:flex-start;padding-top:40px;gap:20px}
#stage .dyp .ln.xl{font-size:170px;line-height:1.05}#stage .dyp .ln.s{font-size:44px;line-height:1.5}#stage .dyp .ln.m{font-size:96px;line-height:1.25}
/* 158 第 2 下：沙漏，居中 */
#stage .docp .blk.c{left:0!important;right:0!important;align-items:center;text-align:center}
.docp.st2 .bgs img{object-position:center}
.docp.st2 .bgs:after{background:radial-gradient(ellipse 55% 60% at 50% 45%,rgba(0,0,0,.82),rgba(0,0,0,.5))!important}
/* 163 司马迁（第 0 下）+ 文献引用（第 1 下） */
.fig-smq{inset:0;opacity:0;transition:opacity .8s}
.smqp.st0:not(.st1) .fig-smq{opacity:1}
.sq{position:absolute;right:120px;top:120px;width:700px;height:860px}
.sq-en{position:absolute;right:0;top:20px;font-size:150px;font-weight:800;color:rgba(255,255,255,.05);white-space:nowrap}
.sq-bg{position:absolute;left:220px;top:120px;width:260px;height:560px;transform:skewX(-22deg);background:linear-gradient(180deg,rgba(255,154,60,.5),transparent 85%)}
.sq-bg.b2{left:360px;top:180px;width:140px;background:linear-gradient(180deg,rgba(255,220,180,.22),transparent 85%)}
.sq img{position:absolute;left:50%;top:60px;height:720px;transform:translateX(-50%);-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 28%);mask-image:linear-gradient(0deg,transparent 0,#000 28%)}
.sq-nm{position:absolute;left:0;right:0;top:720px;text-align:center;font-size:64px;font-weight:900}
.sq-nm small{display:block;font-size:26px;font-weight:600;color:#a1a1a6;margin-top:6px}
#stage .smqp .blk:first-child{right:760px}
.ct{display:flex;align-items:center;gap:80px;justify-content:center}
.ct-pg{position:relative;width:520px;height:640px;flex-shrink:0;border-radius:6px;overflow:hidden;background:#d9c9a3;box-shadow:0 40px 80px rgba(0,0,0,.8);transform:rotate(-2deg)}
.ct-pg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.3)}
.ct-vt{position:absolute;right:70px;top:70px;display:flex;flex-direction:row-reverse;gap:34px;writing-mode:vertical-rl;font-family:"Songti SC","STSong",serif;font-size:58px;font-weight:700;color:#2a1a0c;letter-spacing:.12em}
.ct-vt em{font-style:normal;color:#b3310c}
.ct-src{position:absolute;left:44px;bottom:44px;writing-mode:vertical-rl;font-family:"Songti SC",serif;font-size:22px;color:#6a4a2a;letter-spacing:.2em}
.ct-r{max-width:820px}
.ct-r small{display:block;font-size:22px;font-weight:800;letter-spacing:.3em;color:#ff7a1a}
.ct-r>b{display:block;font-size:64px;font-weight:900;margin-top:10px}
.ct-r>span{display:block;font-size:28px;color:#8e8e93;margin-top:6px}
.ct-q{margin-top:40px;padding-left:28px;border-left:5px solid #ff7a1a;font-size:52px;font-weight:800;line-height:1.5}
.ct-r i{display:block;font-style:normal;font-size:30px;color:#a1a1a6;margin-top:24px}
.only:not(.show) .ct *{transition:none}
/* 166 谢谢页：参考分享会讲者页（左大字 · 中人像 · 右信息） */
#stage .thx2 .wrap{left:110px;right:auto;width:700px;top:180px;bottom:auto;justify-content:flex-start;align-items:flex-start;text-align:left;z-index:3}
#stage .thx2 .ln{text-align:left}
#stage .thx2 .ln.xl{font-size:230px;line-height:1.02;background:linear-gradient(180deg,#fff 20%,#ffc79a);-webkit-background-clip:text;background-clip:text;color:transparent}
#stage .thx2 .ln.enl{letter-spacing:.5em;color:#ff9a3c}
.fig-thx{inset:0}
.tx{position:absolute;left:720px;top:110px;width:600px;height:880px}
.tx-bg{position:absolute;left:160px;top:120px;width:300px;height:640px;transform:skewX(-22deg);background:linear-gradient(180deg,rgba(255,140,50,.6),transparent 85%);opacity:0;transition:opacity 1.2s .4s}
.tx-bg.b2{left:330px;top:200px;width:160px;background:linear-gradient(180deg,rgba(255,220,180,.25),transparent 85%)}
.active .tx-bg{opacity:1}
.tx img{position:absolute;left:50%;bottom:0;height:820px;transform:translateX(-50%) translateY(30px);opacity:0;filter:grayscale(1) contrast(1.08);-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 30%);mask-image:linear-gradient(0deg,transparent 0,#000 30%);transition:opacity 1.2s .6s,transform 1.4s .6s var(--ease)}
.active .tx img{opacity:1;transform:translateX(-50%)}
.tx-r{position:absolute;left:1390px;top:300px;width:460px;opacity:0;transform:translateX(20px);transition:opacity .9s 1.3s,transform 1s 1.3s var(--ease)}
.active .tx-r{opacity:1;transform:none}
.tx-r b{display:block;font-size:64px;font-weight:900;line-height:1.3}
.tx-r span{display:block;font-size:30px;color:#d1d1d6;margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15)}
.tx-r small{display:block;font-size:22px;letter-spacing:.14em;color:#8e8e93;margin-top:14px}
/* 166 谢谢页 · THANKS 海报风 */
.thx3 .chap,.thx3 .kick{display:none}
.fig-thx3{inset:0;overflow:hidden}
.t3-lt{position:absolute;inset:0;filter:blur(38px);opacity:0;transition:opacity 2s}
.active .t3-lt{opacity:1}
.t3-lt i{position:absolute;border-radius:50%;mix-blend-mode:screen}
.t3-lt .a{left:560px;top:-80px;width:520px;height:900px;background:radial-gradient(closest-side,rgba(255,170,90,.95),rgba(255,90,20,.55) 50%,transparent);transform:rotate(38deg) skewY(-12deg);animation:t3a 9s ease-in-out infinite alternate}
.t3-lt .b{left:820px;top:260px;width:560px;height:820px;background:radial-gradient(closest-side,rgba(255,210,150,.9),rgba(255,110,30,.5) 55%,transparent);transform:rotate(-30deg) skewX(18deg);animation:t3b 11s ease-in-out infinite alternate}
.t3-lt .c{left:900px;top:120px;width:140px;height:720px;background:radial-gradient(closest-side,rgba(255,245,230,.9),transparent);transform:rotate(36deg);animation:t3a 7s ease-in-out infinite alternate-reverse}
.t3-lt .d{left:420px;top:460px;width:520px;height:360px;background:radial-gradient(closest-side,rgba(200,40,10,.7),transparent);animation:t3b 13s ease-in-out infinite alternate}
@keyframes t3a{to{translate:60px 40px;scale:1.08}}@keyframes t3b{to{translate:-70px -30px;scale:.94}}
.t3-top{position:absolute;left:110px;right:110px;top:56px;display:flex;justify-content:space-between;font-size:22px;font-weight:600;letter-spacing:.08em;color:#a1a1a6;z-index:3}
.t3-side{position:absolute;top:50%;z-index:3;font-size:18px;font-weight:700;letter-spacing:.3em;color:#48484a;white-space:nowrap;writing-mode:vertical-rl}
.t3-side.l{left:36px;transform:translateY(-50%) rotate(180deg)}.t3-side.r{right:36px;transform:translateY(-50%)}
.t3-side em{font-style:normal;color:#636366;margin:16px 0}
.t3-c{position:absolute;left:0;right:0;top:300px;text-align:center;z-index:3}
.t3-c b{display:inline-block;font-size:260px;font-weight:900;font-style:italic;letter-spacing:-.01em;line-height:1;color:#fff;transform:skewX(-8deg);text-shadow:0 10px 60px rgba(120,30,0,.6);
  opacity:0;filter:blur(16px);transition:opacity 1.4s .5s,filter 1.4s .5s,letter-spacing 2s .5s var(--ease)}
.active .t3-c b{opacity:1;filter:none}
.t3-st{position:absolute;left:50%;top:-40px;margin-left:400px;width:110px;height:110px;fill:#fff;filter:drop-shadow(0 0 12px #fff) drop-shadow(0 0 30px #ffb070);opacity:0}
.active .t3-st{animation:t3s 1s 1.6s cubic-bezier(.3,1.6,.5,1) forwards,t3tw 2.4s 2.6s ease-in-out infinite}
@keyframes t3s{from{opacity:0;transform:scale(.2) rotate(-60deg)}to{opacity:1;transform:none}}
@keyframes t3tw{50%{opacity:.6;transform:scale(.85)}}
.t3-c span{display:block;margin-top:44px;font-size:44px;font-weight:500;letter-spacing:.5em;padding-left:.5em;color:#f5f5f7;opacity:0;transition:opacity 1s 1.4s}
.active .t3-c span{opacity:1}
.t3-gh{position:absolute;left:0;right:0;bottom:-70px;text-align:center;font-size:300px;font-weight:900;font-style:italic;letter-spacing:.02em;line-height:1;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.08);white-space:nowrap;z-index:2}

/* r4 修正 */
#stage .dyp .stage2{z-index:3}
.d0 .du-ph img{height:880px;top:30px}
.ct-vt{writing-mode:horizontal-tb;flex-direction:row-reverse;gap:30px}
.ct-vt span{writing-mode:vertical-rl}
.wl-m.m1{left:60%!important}.wl-m.m2{left:80%!important}
.wl-m.m2 small,.wl-m.m2 b{left:-210px;text-align:center}
.wl-m.m0 img{width:280px;height:260px;left:-40px}
.tcmp{top:30px}
.d0 .du-ph img{height:760px;top:60px}
.t3-lt{filter:blur(30px)}
.t3-sk{position:absolute;inset:0;filter:blur(8px);opacity:0;transition:opacity 2s .3s;mix-blend-mode:screen}
.active .t3-sk{opacity:1}
.t3-sk i{position:absolute;left:880px;top:-60px;width:70px;height:1000px;border-radius:50%;background:linear-gradient(180deg,transparent,rgba(255,236,210,.85) 35%,rgba(255,150,60,.7) 60%,transparent);transform:rotate(34deg);animation:t3a 8s ease-in-out infinite alternate}
.t3-sk i.b{left:1060px;top:120px;width:40px;height:820px;background:linear-gradient(180deg,transparent,rgba(255,200,140,.7) 40%,transparent);transform:rotate(-32deg);animation:t3b 10s ease-in-out infinite alternate}
.t3-top{top:70px}
.L-viz .vz .tcd svg{height:150px!important;width:100%}
.du-ph img{bottom:auto!important;margin:0!important}.d0 .du-ph img{height:640px;top:20px}.d1 .du-ph img{height:500px;top:40px}
/* ==================== 第 5 轮（10-11 01:21 批注） ==================== */
/* 123 轮子：大数字 + 写实行李箱，轮子处光圈 */
.wh2{position:relative;width:1700px;height:600px;margin:0 auto}
.wh2-t{position:absolute;left:0;top:20px;width:900px}
.wh2-t small{display:block;font-size:40px;font-weight:700;color:#a1a1a6}
.wh2-t>b{display:block;font-size:260px;font-weight:900;line-height:1;letter-spacing:-.03em;background:linear-gradient(180deg,#fff,#8e8e93);-webkit-background-clip:text;background-clip:text;color:transparent}
.wh2-t>b em{font-style:normal;font-size:80px;margin-left:16px;-webkit-text-fill-color:#d1d1d6}
.wh2-t span{display:block;font-size:56px;font-weight:800;line-height:1.35;margin-top:24px;opacity:0;transform:translateY(16px);transition:opacity .8s 1.2s,transform 1s 1.2s var(--ease)}
.wh2-t span strong{color:#ff7a1a;font-size:72px}
.wh2-t i{display:block;font-style:normal;font-size:32px;color:#8e8e93;margin-top:18px;opacity:0;transition:opacity .8s 2.2s}
.show .wh2-t span{opacity:1;transform:none}.show .wh2-t i{opacity:1}
.wh2-p{position:absolute;right:120px;top:-20px;width:420px;height:680px}
.wh2-p img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 40px 40px rgba(0,0,0,.9));opacity:0;transform:translateY(-30px);transition:opacity .9s .4s,transform 1.2s .4s cubic-bezier(.3,1.4,.5,1)}
.show .wh2-p img{opacity:1;transform:none}
.wh2-glow{position:absolute;left:-20%;right:-20%;bottom:-40px;height:200px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,122,26,.35),transparent)}
.wh2-r{position:absolute;bottom:4px;width:76px;height:76px;margin-left:-38px;border-radius:50%;border:3px solid #ff7a1a;box-shadow:0 0 20px #ff7a1a,inset 0 0 14px rgba(255,122,26,.6);opacity:0;transform:scale(1.8);transition:opacity .5s 1.8s,transform .7s 1.8s cubic-bezier(.3,1.6,.5,1)}
.wh2-r.r1{left:31%}.wh2-r.r2{left:71%}
.show .wh2-r{opacity:1;transform:none;animation:wh2P 1.8s 2.6s ease-in-out infinite}
@keyframes wh2P{50%{box-shadow:0 0 36px #ff7a1a,inset 0 0 20px rgba(255,122,26,.8)}}
.wh2-lb{position:absolute;left:-260px;bottom:110px;width:240px;text-align:right;font-size:24px;color:#a1a1a6;opacity:0;transition:opacity .6s 2.2s}
.wh2-lb b{display:block;font-size:28px;letter-spacing:.3em;color:#ff9a3c}
.show .wh2-lb{opacity:1}
.wh2-f{text-align:center;margin-top:20px}
/* 138：左侧文字加投影 */
.b3-l,.b3-l b,.b3-l span,.b3-l small{text-shadow:0 2px 6px #000,0 4px 30px #000,0 0 60px #000}
.b3-l.l:before{content:"";position:absolute;left:-80px;top:-60px;width:620px;height:360px;z-index:-1;background:radial-gradient(closest-side,rgba(0,0,0,.75),transparent)}
/* 142 标题再小 */
#stage .twop .ln.xl{font-size:96px}
/* 143 去掉小字和外框 */
.pcard .grid{background:none!important;box-shadow:none!important;padding:0!important}
.pcard .grid:before{display:none}
/* 144 新素材：两人等大 */
.du-ph{width:520px;height:460px}
.du-ph img,.d0 .du-ph img,.d1 .du-ph img{height:720px!important;top:10px!important;filter:contrast(1.05)}
/* 145 邓煜：照片做背景（右侧黑白大图），文字左侧 */
.pic.dyph{right:80px;top:40px;width:680px;height:1040px;z-index:0}
.pic.dyph img{object-fit:contain;object-position:bottom;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 30%),linear-gradient(90deg,transparent 0,#000 25%);-webkit-mask-composite:source-in;mask-image:linear-gradient(0deg,transparent 0,#000 30%);opacity:.9}
.pic.dyph:before{content:"";position:absolute;left:30%;top:6%;width:42%;height:70%;transform:skewX(-20deg);background:linear-gradient(180deg,rgba(255,140,50,.45),transparent 85%);z-index:-1}
#stage .dyp .stage2{left:110px;right:820px;z-index:3}
/* 147 第 2 下：围棋棋盘背景 */
.gop .bgs img[data-s="2"]{object-position:center 70%}
.gop.st2 .bgs:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 35%,rgba(0,0,0,.85),rgba(0,0,0,.35))}
/* 157 第 2 下：抖音主页截图做背景 */
.dybp .bgs img[data-s="2"]{object-fit:cover;object-position:top;filter:blur(2px) brightness(.5)}
.dybp.st2:not(.st3) .bgs:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 40%,rgba(0,0,0,.85),rgba(0,0,0,.45))}
.dybp .bgs img[data-s="3"]{opacity:0}.dybp.st3 .bgs img[data-s="3"]{opacity:1}
#stage .dybp .stage2{z-index:2}
/* 158 第 2 下：背景再压暗，居中 */
.docp.st2 .bgs:after{background:radial-gradient(ellipse 55% 60% at 50% 45%,rgba(0,0,0,.93),rgba(0,0,0,.7))!important}
/* 163 竹简 */
.ct-bb{width:620px;height:520px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.ct-bb img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 40px 50px rgba(0,0,0,.9))}
/* 165 一支蜡烛居中 */
#d3 .cf2{position:absolute;inset:0}
#d3 .cf2 .pane{position:absolute;inset:0}
#d3 .cf2 h4{position:absolute;left:0;right:0;top:130px;text-align:center;font-size:72px;font-weight:800;color:#f5f5f7;z-index:5;transition:opacity .6s}
#d3 .cf2 h4 b{color:#c7c7cc}#d3 .cf2 .pb h4 b{color:#ff9a3c}
#d3 .cf2 h4 small{display:block;font-size:22px;letter-spacing:.4em;color:#8e8e93;margin-top:14px}
#stage #d3 .cf2 h4{top:130px}
#d3.st1 .cf2 .pa h4{opacity:0}
#d3 .cdl{position:absolute;left:50%;top:560px;width:260px;height:560px;margin-left:-130px;z-index:3}
#d3 .cdl img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:contain;object-position:top}
#d3 .cf-cv{z-index:4}
#d3.st2 .cdl,#d3.st2 .cf2{opacity:.25;filter:blur(4px);transition:opacity 1s,filter 1s}
/* 166 谢谢页：只留 THANKS + 谢谢观看，字体参考封面 */
.t3-top,.t3-side,.t3-gh,.t3-st{display:none!important}
.t3-c{top:340px}
.t3-c b{font-style:normal;font-weight:800;letter-spacing:-.02em;font-size:240px;transform:none;text-shadow:none;filter:blur(16px) drop-shadow(0 10px 40px rgba(0,0,0,.5))}
.active .t3-c b{filter:drop-shadow(0 10px 40px rgba(0,0,0,.5))}
.t3-c span{font-size:46px;font-weight:600;letter-spacing:.4em;color:var(--dim);margin-top:40px}
.t3-lt{opacity:0}.active .t3-lt{opacity:.75}.active .t3-sk{opacity:.6}
#d3 .cdl{height:700px;width:300px;margin-left:-150px}
#d3 .cf2{z-index:6;pointer-events:none}
.wh2{flex-shrink:0;height:560px}
.wh2-t{text-align:left}
.wh2-f{margin-top:0}
.du-ph img,.d0 .du-ph img,.d1 .du-ph img{height:1150px!important;top:0!important}
.t3-c span{color:#d1d1d6}
.wh2{height:620px}
.wh2-t{top:0}.wh2-t>b{font-size:220px}.wh2-t span{font-size:50px;margin-top:16px}.wh2-t span strong{font-size:64px}.wh2-t i{font-size:30px;margin-top:10px}
.wh2-k{margin-top:36px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);font-size:40px;font-weight:700;color:#d1d1d6;opacity:0;transition:opacity .8s 3s}
.show .wh2-k{opacity:1}
.wh2-p{top:0;height:600px}
.du-ph img,.d0 .du-ph img,.d1 .du-ph img{height:1150px!important;top:-210px!important}
.wh2-k{white-space:nowrap;font-size:38px;margin-top:26px;padding-top:18px}
/* ==================== 第 6 轮（10-11 01:51 批注） ==================== */
/* 76 / 163：落款 .by 被弹跳球的动画误套用（类名撞了），这里锁死 */
.blk .by,.sc-q .by{animation:none!important;width:auto!important;height:auto!important;transform:none!important}
/* 115 结论再往上，后排看得见 */
#stage .sqp .wrap{top:160px}
#stage .sqp .wrap>.ln:last-child{top:300px;font-size:104px}
#stage .sqp .chips{top:-60px}
/* 135 第 1 下：每一步都打上「正确」 */
.towerp .tw{position:relative}
.towerp .tw:after{content:"✓ 正确";position:absolute;right:-210px;top:50%;margin-top:-26px;height:52px;line-height:52px;padding:0 22px;border-radius:26px;font-size:28px;font-weight:900;color:#000;background:linear-gradient(90deg,#ffc46b,#ff7a1a);box-shadow:0 0 30px rgba(255,122,26,.6);opacity:0;transform:translateX(-20px) scale(.8);transition:opacity .4s,transform .5s cubic-bezier(.3,1.6,.5,1)}
.towerp.st1 .tw:after{opacity:1;transform:none}
.towerp.st1 .tw:nth-child(1):after{transition-delay:.6s}.towerp.st1 .tw:nth-child(2):after{transition-delay:1s}.towerp.st1 .tw:nth-child(3):after{transition-delay:1.4s}.towerp.st1 .tw:nth-child(4):after{transition-delay:1.8s}
.towerp.st1 .tw{box-shadow:inset 0 0 0 1.5px rgba(255,122,26,.5),0 0 30px rgba(255,122,26,.12)}
.towerp .shatter .tw:after,.towerp.st2 .tw:after{opacity:0}
/* 126 每一行下面配佐证（图 + 时间跨度），只显示当前这一行的 */
.fig-ev3{left:110px;right:110px;top:640px;height:300px}
.evc{position:absolute;inset:0;display:flex;align-items:center;gap:48px;justify-content:center;opacity:0;transform:translateY(20px);transition:opacity .6s,transform .8s var(--ease)}
.evc img{width:260px;height:260px;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(0,0,0,.9))}
.ev-yr{display:flex;align-items:center;gap:20px;font-size:44px;font-weight:900;color:#d1d1d6}
.ev-yr i{position:relative;width:360px;height:4px;border-radius:2px;background:#2c2c2e;overflow:hidden}
.ev-yr i:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#636366,#ff453a);transform:scaleX(0);transform-origin:left;transition:transform 1.6s .4s cubic-bezier(.65,0,.35,1)}
.ev-yr .b{color:#ff6b5f}
.evc>b{font-size:64px;font-weight:900;color:#ff7a1a;white-space:nowrap}
.evc>small{position:absolute;left:0;right:0;bottom:-6px;text-align:center;font-size:26px;color:#8e8e93;letter-spacing:.1em}
.rowsev.st1:not(.st2) .e0,.rowsev.st2:not(.st3) .e1,.rowsev.st3 .e2{opacity:1;transform:none}
.rowsev.st1:not(.st2) .e0 .ev-yr i:after,.rowsev.st2:not(.st3) .e1 .ev-yr i:after,.rowsev.st3 .e2 .ev-yr i:after{transform:none}
.rowsev .row:not(.cur){opacity:.35}
/* 163 第 1 下：字放大 */
.ct{gap:60px}.ct-bb{width:560px;height:440px}
.ct-r{max-width:1000px}.ct-r small{font-size:26px}.ct-r>b{font-size:84px}.ct-r>span{font-size:32px}
.ct-q{font-size:68px;line-height:1.45;margin-top:36px}.ct-r i{font-size:36px;margin-top:28px}
/* 163 第 2 下：管仲一败再败的下坠曲线 */
.gzw{position:relative;width:1600px;margin:0 auto}
.gz-h small{display:block;font-size:24px;font-weight:800;letter-spacing:.3em;color:#8e8e93}
.gz-h b{display:block;font-size:110px;font-weight:900;line-height:1.1;color:#f5f5f7}
.gzw svg{display:block;width:1400px;height:560px;margin:-60px 0 0 200px;overflow:visible}
.gz-l{fill:none;stroke:url(#gzg);stroke:#ff453a;stroke-width:5;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 10px rgba(255,69,58,.6))}
.show .gz-l{animation:fgDraw 4.2s .4s cubic-bezier(.45,0,.55,1) forwards}
.gz-p{opacity:0;transition:opacity .4s calc(.9s + var(--k) * .62s)}
.show .gz-p{opacity:1}
.gz-p circle{fill:#ff453a;filter:drop-shadow(0 0 10px #ff453a)}
.gz-p text{font-size:30px;font-weight:800;fill:#f5f5f7}.gz-p text.n{font-size:22px;fill:#ff6b5f;letter-spacing:.1em}
/* 163 第 3 下：整屏会盟图，文字左上 */
.smqp .bgs img[data-s="3"]{object-position:right center}
.smqp.st3:not(.st4) .bgs:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 30%,rgba(0,0,0,.2) 60%,transparent),linear-gradient(180deg,rgba(0,0,0,.6),transparent 40%)}
.smqp .bgs img[data-s="4"]{background:#000}
#stage .smqp .blk:nth-child(4){left:-50px!important;right:auto!important;width:1100px;top:40px;bottom:auto;justify-content:flex-start;align-items:flex-start;text-align:left}
#stage .smqp .blk:nth-child(4) .ln{text-align:left}#stage .smqp .blk:nth-child(4) .ln.xl{font-size:170px;line-height:1.1}
/* 165 第 2 下黑色遮罩；第 3 下起蜡烛退场 */
#d3 .fin:before{content:"";position:absolute;inset:-200px;z-index:-1;background:radial-gradient(ellipse 55% 45% at 50% 40%,rgba(0,0,0,.92),rgba(0,0,0,.55) 70%,transparent);opacity:0;transition:opacity 1.2s}
#d3.st2 .fin:before{opacity:1}
#d3.st2 .cf-cv{opacity:.45;transition:opacity 1.2s}
#d3.st3 .cdl,#d3.st3 .cf-cv,#d3.st3 .cf2{opacity:0!important;transition:opacity 1.2s}
/* 「转」：一圈圈转动的光环 */
#d3 .fin2[data-s="4"]:before,#d3 .fin2[data-s="4"]:after{content:"";position:absolute;left:50%;top:44%;border-radius:50%;z-index:-1;translate:-50% -50%}
#d3 .fin2[data-s="4"]:before{width:900px;height:900px;background:conic-gradient(from 0deg,transparent 0 60%,rgba(255,170,90,.9) 85%,transparent 86%);-webkit-mask:radial-gradient(closest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(closest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));animation:rgSpin 3s linear infinite;filter:drop-shadow(0 0 12px #ff7a1a)}
#d3 .fin2[data-s="4"]:after{width:1200px;height:1200px;border:1.5px dashed rgba(255,150,70,.3);animation:rgSpin 20s linear infinite reverse}
/* 166 谢谢页：和封面同一套版式 */
.thx4 .fx{z-index:0}
/* 138 杠 = 稳，片 = 极致和突破 */
.b3-l.m{left:0;right:0;top:250px;text-align:center}.b3-l.m s{display:none}
.b3-l.m b{display:block;font-size:84px;color:#f5f5f7;margin:0}.b3-l.m small{color:#d1d1d6}
.b3-l.r{right:110px;top:180px}
.b3-l.l{display:none}
.b3-bar{position:absolute;left:330px;right:220px;top:598px;height:12px;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.0),rgba(255,255,255,.75) 20%,rgba(255,255,255,.75) 80%,rgba(255,255,255,0));box-shadow:0 0 30px rgba(255,255,255,.5);opacity:0;transition:opacity 1.2s 1.4s}
.active .b3-bar{opacity:.6;animation:b3B 3s 2.6s ease-in-out infinite alternate}
@keyframes b3B{to{opacity:.25}}
.b3-ln{position:absolute;inset:0;width:100%;height:100%;z-index:2}
.b3-ln path{fill:none;stroke:rgba(255,255,255,.4);stroke-width:2;stroke-dasharray:6 6;opacity:0;transition:opacity .6s 1.8s}
.active .b3-ln path{opacity:1}
.b3-off{left:1540px;top:440px;width:240px;height:340px}
.b3-gh{left:1600px;top:500px;width:110px;height:230px}
/* 157 第 1 下：证据箱 */
.dybp .bgs img[data-s="1"]{object-position:right center}
.dybp.st1:not(.st2) .bgs:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.88) 32%,rgba(0,0,0,.3) 60%,transparent),linear-gradient(180deg,rgba(0,0,0,.6),transparent 40%)}
#stage .dybp .blk:nth-child(2){left:-50px!important;right:auto!important;width:1100px;top:40px;bottom:auto;justify-content:flex-start;align-items:flex-start;text-align:left}
#stage .dybp .blk:nth-child(2) .ln{text-align:left}#stage .dybp .blk:nth-child(2) .ln.xl{font-size:150px;line-height:1.12}
/* 76 引语不折行 */
#stage .davidp .blk.c:last-child .q{font-size:72px;white-space:nowrap}
#stage .davidp .blk.c:last-child{left:1000px}
/* 89 哪个更难：两条路的标签放大 */
.fk2 .fk-t{font-size:48px;letter-spacing:.1em}
#stage .fk2 .wrap{top:120px;bottom:auto}
/* 91 合群：教室课桌 + 台灯 */
.crm{position:absolute;left:50%;top:270px;width:1440px;margin-left:-720px;display:grid;grid-template-columns:repeat(12,1fr);gap:26px 22px;perspective:900px}
.crm .dk{position:relative;height:90px;border-radius:10px;background:linear-gradient(180deg,#2a2a2c,#161618);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 20px rgba(0,0,0,.6);transform:rotateX(28deg);transition:filter .6s calc(var(--r) * .12s),opacity .6s calc(var(--r) * .12s)}
.crm .dk b{position:absolute;left:50%;top:-30px;width:70px;height:70px;margin-left:-35px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,200,120,.9),rgba(255,122,26,.35) 50%,transparent);transition:opacity .6s calc(var(--r) * .12s)}
.crm .dk em{position:absolute;left:50%;top:22px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:#8e8e93;transition:background .6s}
.crm .dk.me{box-shadow:inset 0 0 0 2px #ff7a1a,0 0 30px rgba(255,122,26,.35)}
.crm .dk.me em{background:#fff}
.crm .dk u{position:absolute;left:0;right:0;top:-74px;text-align:center;text-decoration:none;font-size:28px;font-weight:900;color:#ff9a3c}
.L-crowd.st1 .dk:not(.me){opacity:.18;filter:grayscale(1)}
.L-crowd.st1 .dk:not(.me) b{opacity:0}
.L-crowd.st1 .dk.me b{animation:crFl 1.6s 1.2s steps(2) infinite}
@keyframes crFl{0%{opacity:1}30%{opacity:.25}55%{opacity:.8}80%{opacity:.1}100%{opacity:.6}}
.cr-lb{position:absolute;left:0;right:0;top:640px;text-align:center;font-size:30px;font-weight:700;letter-spacing:.2em}
.cr-lb span{position:absolute;left:0;right:0;transition:opacity .6s}.cr-lb .a{color:#ff9a3c}.cr-lb .b{color:#8e8e93;opacity:0}
.L-crowd.st1 .cr-lb .a{opacity:0}.L-crowd.st1 .cr-lb .b{opacity:1}
#stage .L-crowd .cr-q{position:absolute;left:110px;right:110px;top:700px;display:flex;justify-content:center;gap:30px}
#stage .L-crowd .cr-q .chip{position:static;font-size:30px;padding:16px 28px}
/* 92 冰山：水上 / 水下标注 */
.fig-ice{inset:0;z-index:2}
.ic-l{position:absolute;display:flex;flex-direction:column;opacity:0;transition:opacity .8s}
.active .ic-l{opacity:1}
.ic-l i{position:absolute;left:-60px;top:22px;width:44px;height:2px;background:#ff9a3c}
.ic-l b{font-size:40px;font-weight:900}.ic-l span{font-size:24px;color:#a1a1a6;margin-top:4px}
.ic-l.a{left:1560px;top:150px;transition-delay:1.2s}.ic-l.a b{color:#f5f5f7}
.ic-l.b{left:1560px;top:620px;transition-delay:2s}.ic-l.b b{color:#ff7a1a}.ic-l.b i{background:#ff7a1a}
.icep .bgs img{object-position:65% center}
#stage .icep .wrap{width:880px;top:220px}
#stage .icep .ln{font-size:64px;line-height:1.4}
/* 102 斯多葛控制二分法 */
.fig-stoic{inset:0}
.sto{position:absolute;left:50%;top:440px;width:0;height:0}
.sto-o,.sto-i{position:absolute;border-radius:50%;translate:-50% -50%;transition:box-shadow .8s,background .8s,opacity .8s}
.sto-o{width:860px;height:600px;border:2px dashed rgba(255,255,255,.3);background:radial-gradient(closest-side,transparent 60%,rgba(255,255,255,.04))}
.sto-i{width:420px;height:300px;border:3px solid rgba(255,255,255,.4);background:radial-gradient(closest-side,rgba(255,255,255,.06),transparent)}
.sto-lb{position:absolute;left:-400px;width:800px;text-align:center;opacity:.5;transition:opacity .8s}
.sto-lb small{display:block;font-size:30px;font-weight:700;color:#d1d1d6}
.sto-lb b{display:block;font-size:76px;font-weight:900;opacity:0;transform:translateY(10px);transition:opacity .6s .3s,transform .8s .3s var(--ease)}
.sto-lb.i{top:-60px}.sto-lb.o{top:-270px}
.sto-en{position:absolute;left:-400px;width:800px;top:330px;text-align:center;font-size:22px;font-weight:800;letter-spacing:.3em;color:#636366}
.active .sto-lb{opacity:1}
.stop.st1 .sto-i{border-color:#ff7a1a;background:radial-gradient(closest-side,rgba(255,122,26,.28),transparent);box-shadow:0 0 60px rgba(255,122,26,.35)}
.stop.st1 .sto-lb.i b{opacity:1;transform:none;color:#ff7a1a}
.stop.st2 .sto-o{border-color:rgba(255,255,255,.6)}
.stop.st2 .sto-lb.o b{opacity:1;transform:none;color:#f5f5f7}
.stop.st3 .fig-stoic{opacity:.12;filter:blur(4px);transition:opacity .8s,filter .8s}
#stage .stop .wrap{top:250px;bottom:auto;align-items:center;text-align:center}
#stage .stop .ln{text-align:center}
/* 114 偏差 → 对齐 */
.al i{position:absolute;width:60px;height:3px;border-radius:2px;background:rgba(255,255,255,.3);transform:rotate(var(--r));transition:transform 2.4s calc(1s + var(--d)) cubic-bezier(.3,1.3,.5,1),background 1.5s calc(1.6s + var(--d))}
.active .al i{transform:rotate(0deg);background:rgba(255,154,60,.55)}
.al-n{position:absolute;left:110px;right:110px;top:76%;height:0}
/* 145 邓煜：人居中，名字压在人后面，左右两栏字 */
.fig-dyc{inset:0}
.dyc-nm{position:absolute;left:0;right:0;top:110px;text-align:center;font-size:440px;font-weight:900;line-height:1;letter-spacing:.06em;color:transparent;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.02));-webkit-background-clip:text;background-clip:text;z-index:0}
.dyc-ph{position:absolute;left:50%;bottom:0;height:900px;transform:translateX(-50%);z-index:1;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 28%);mask-image:linear-gradient(0deg,transparent 0,#000 28%);filter:contrast(1.05)}
#stage .dyp2 .stage2{left:110px;right:110px;z-index:3}
#stage .dyp2 .blk{justify-content:flex-start;padding-top:60px}
#stage .dyp2 .blk:first-child{align-items:flex-start}
#stage .dyp2 .blk:first-child .ln{width:520px;text-align:left}
#stage .dyp2 .blk:first-child .ln.m{font-size:76px;line-height:1.25}
#stage .dyp2 .blk:first-child .ln:nth-child(3),#stage .dyp2 .blk:first-child .ln:nth-child(4){position:absolute;right:0;width:560px;text-align:right}
#stage .dyp2 .blk:first-child .ln:nth-child(3){top:260px}#stage .dyp2 .blk:first-child .ln:nth-child(4){top:360px;color:#ff9a3c}
#stage .dyp2 .blk:last-child{align-items:stretch}
#stage .dyp2 .blk:last-child .ln.m{font-size:80px;width:560px;text-align:left}
#stage .dyp2 .blk:last-child .ln.xl{position:absolute;right:0;top:300px;font-size:150px;text-align:right}
.dyp2.st1 .dyc-ph{filter:brightness(.6)}
.al i{height:2.5px}
#stage .L-crowd .cr-q .chip{white-space:nowrap}
#stage .icep .wrap{width:1000px}#stage .icep .ln{font-size:58px}
.ic-l.a{top:120px}
.ct-q{font-size:58px;white-space:nowrap}.ct-bb{width:640px;height:500px}
.gzw{margin-top:50px}.gz-p text{font-size:34px}.gz-p text.n{font-size:24px}
/* ==================== 第 7 轮 ==================== */
/* 145 第 1 下：「第二张牌」上移，和左边那组左右对称 */
#stage .dyp2 .blk:last-child .ln.m{white-space:nowrap;width:auto}
#stage .dyp2 .blk:last-child .ln.xl{top:60px;font-size:150px}
#stage .dyp2 .blk:last-child .ln.m:first-child{margin-top:0}
/* 10 EVA：居中破形 —— 头和脚冲出线框，「生物」大字压在后面，左右两栏字 */
.fig-eva{inset:0}
.eva-nm{position:absolute;left:0;right:0;top:120px;text-align:center;font-size:480px;font-weight:900;line-height:1;letter-spacing:.08em;color:transparent;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.02));-webkit-background-clip:text;background-clip:text;z-index:0}
.eva-fr{position:absolute;left:50%;top:260px;width:520px;height:560px;margin-left:-260px;border-radius:30px;background:linear-gradient(180deg,rgba(120,60,200,.18),rgba(255,122,26,.08));box-shadow:inset 0 0 0 3px #ff7a1a,0 0 60px rgba(255,122,26,.25);z-index:1;opacity:0;transform:scale(.9);transition:opacity .9s .3s,transform 1.2s .3s var(--ease)}
.eva-gl{position:absolute;left:50%;top:300px;width:700px;height:700px;margin-left:-350px;border-radius:50%;background:radial-gradient(closest-side,rgba(140,80,255,.25),transparent);z-index:1}
.eva-ph{position:absolute;left:50%;top:70px;height:1000px;transform:translateX(-50%) translateY(40px);z-index:3;filter:drop-shadow(0 30px 40px rgba(0,0,0,.8));opacity:0;transition:opacity 1s .6s,transform 1.4s .6s var(--ease)}
/* 线框下边压在腿前面：破形里「穿插」的那一笔 */
.eva-fr2{position:absolute;left:50%;top:817px;width:520px;height:3px;margin-left:-260px;background:#ff7a1a;box-shadow:0 0 20px #ff7a1a;z-index:4;opacity:0;transition:opacity .9s .3s}
.active .eva-fr,.active .eva-fr2{opacity:1;transform:none}.active .eva-ph{opacity:1;transform:translateX(-50%)}
#stage .evap .stage2{left:110px;right:110px;z-index:5}
#stage .evap .blk{justify-content:flex-start;padding-top:40px;gap:6px}
#stage .evap .blk .ln{width:560px;text-align:left}
#stage .evap .blk .ln:nth-child(n+4){position:absolute;right:0;text-align:right}
#stage .evap .blk:first-child .ln:nth-child(4){top:100px}#stage .evap .blk:first-child .ln:nth-child(5){top:140px}#stage .evap .blk:first-child .ln:nth-child(6){top:250px;color:#ff9a3c}
#stage .evap .blk:first-child .ln.m{font-size:64px;line-height:1.25}
#stage .evap .blk:first-child .ln.s{font-size:48px;margin-top:10px}
#stage .evap .blk:last-child .ln.m{font-size:56px}
#stage .evap .blk:last-child .ln.xl{font-size:130px;line-height:1.1}
#stage .evap .blk:last-child .ln:nth-child(3){top:40px}#stage .evap .blk:last-child .ln:nth-child(4){top:110px}
#stage .evap .blk:last-child .ln:nth-child(5){position:absolute;left:0;right:0;width:auto;top:700px;text-align:center;font-size:40px}
.evap.st1 .eva-fr{box-shadow:inset 0 0 0 3px #ff9a3c,0 0 100px rgba(255,122,26,.45)}
#stage .evap .blk:first-child .ln:nth-child(4){top:40px}#stage .evap .blk:first-child .ln:nth-child(5){top:80px}#stage .evap .blk:first-child .ln:nth-child(6){top:170px}
#stage .evap .blk:last-child .ln:nth-child(3){position:absolute;right:0;top:40px;text-align:right}
#stage .evap .blk:last-child .ln:nth-child(4){top:110px}
#stage .evap .blk:last-child .ln:nth-child(5){left:0;right:auto;width:600px;top:330px;text-align:left;font-size:36px}
/* 142：两张牌往中间收、放大，文字压在牌上面 */
.twc .pc{top:300px;width:430px;height:630px}
.twc .t0{left:440px}.twc .t1{right:440px}
.active .twc .t0{transform:rotate(-10deg)}.active .twc .t1{transform:rotate(10deg)}
.twc-sh{top:900px;width:460px}.twc-sh.l{left:420px}.twc-sh.r{right:420px}
#stage .twop .wrap{z-index:5}
#stage .twop .ln{text-shadow:0 2px 8px #000,0 6px 40px #000,0 0 80px #000}
#stage .twop .ln .hot{filter:drop-shadow(0 2px 8px #000) drop-shadow(0 6px 30px #000)}
#stage .twop .ln{text-shadow:none;filter:drop-shadow(0 2px 4px #000) drop-shadow(0 4px 18px rgba(0,0,0,.95)) drop-shadow(0 0 40px #000)}
#stage .twop .ln .hot{filter:none}
#stage .twop .ln.s{color:#e5e5ea}
.twc .pc{top:330px}
.twc-sh{top:955px;z-index:-1}
/* 145 邓煜：左右两栏对称 + 人物装饰（斜切橙光带、奖章光环、飘着的数学符号、侧逆光），不再像证件照 */
#stage .dyp2 .blk:first-child .ln:nth-child(3){top:60px}#stage .dyp2 .blk:first-child .ln:nth-child(4){top:150px}
#stage .dyp2 .blk:first-child .ln:nth-child(1){margin-top:20px}
.dyc-bar{position:absolute;top:150px;height:720px;transform:skewX(-20deg);z-index:0;opacity:0;transition:opacity 1.2s .4s}
.dyc-bar.a{left:780px;width:200px;background:linear-gradient(180deg,rgba(255,140,50,.55),rgba(255,90,20,0) 85%)}
.dyc-bar.b{left:1000px;width:90px;background:linear-gradient(180deg,rgba(255,220,180,.25),transparent 85%)}
.active .dyc-bar{opacity:1}
.dyc-ring{position:absolute;left:50%;top:420px;width:760px;height:760px;margin:-380px 0 0 -380px;border-radius:50%;border:2px solid rgba(255,154,60,.35);box-shadow:0 0 60px rgba(255,122,26,.15),inset 0 0 60px rgba(255,122,26,.08);z-index:0}
.dyc-ring:after{content:"";position:absolute;inset:-28px;border-radius:50%;border:1.5px dashed rgba(255,154,60,.25);animation:rgSpin 50s linear infinite}
.dyc-fx span{position:absolute;z-index:0;font-family:"Times New Roman",serif;font-style:italic;color:rgba(255,190,130,.28);font-size:calc(34px + var(--k) * 4px);animation:dycF 7s calc(var(--k) * -.9s) ease-in-out infinite alternate}
.dyc-fx span:nth-child(1){left:620px;top:600px;font-size:38px}.dyc-fx span:nth-child(2){left:1250px;top:520px}.dyc-fx span:nth-child(3){left:690px;top:300px}
.dyc-fx span:nth-child(4){left:1220px;top:720px;font-family:inherit;font-style:normal;letter-spacing:.2em}.dyc-fx span:nth-child(5){left:1180px;top:250px}.dyc-fx span:nth-child(6){left:600px;top:450px}
.dyc-fx span:nth-child(7){left:1300px;top:400px}.dyc-fx span:nth-child(8){left:760px;top:760px}
@keyframes dycF{to{translate:0 -18px}}
.dyc-rim{position:absolute;left:50%;bottom:0;width:640px;height:880px;margin-left:-320px;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(255,120,30,.28),transparent 30%,transparent 70%,rgba(255,170,90,.18));mix-blend-mode:overlay;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 30%);mask-image:linear-gradient(0deg,transparent 0,#000 30%)}
.dyc-tag{position:absolute;left:0;right:0;top:960px;text-align:center;font-size:22px;font-weight:800;letter-spacing:.4em;color:#ff9a3c;z-index:3}
/* 10 EVA：背后大字改成 EVA，放到文字下方，不干扰阅读 */
.eva-nm{top:430px;font-size:520px;letter-spacing:.04em;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.01));-webkit-background-clip:text;background-clip:text}
#stage .evap .blk:last-child .ln:nth-child(5){left:0;right:auto;width:600px;top:330px;text-align:left;font-size:40px}
#stage .evap .blk:last-child .ln:nth-child(6){position:absolute;right:0;width:600px;top:330px;text-align:right;font-size:40px}
.dyc-rim{display:none}
.dyc-bar{top:130px;height:560px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 15%,#000 55%,transparent);mask-image:linear-gradient(180deg,transparent,#000 15%,#000 55%,transparent)}
.dyc-bar.a{left:800px;width:170px}.dyc-bar.b{left:990px;width:80px}
.dyc-fx span:nth-child(4){font-family:"Times New Roman",serif;font-style:italic;letter-spacing:0}
/* 158 第 2 下：整块居中、三行左对齐 */
#stage .docp .blk.c{left:0!important;right:0!important;width:fit-content!important;margin:0 auto;align-items:flex-start!important;text-align:left}
#stage .docp .blk.c .ln{text-align:left}
/* ==================== 第 8 轮（10-11 06:11 批注） ==================== */
/* 29 第 2 下：曲线软边展开，缓动更顺 */
.cv-clip{transition:width 2s cubic-bezier(.45,0,.25,1)}
.cv2p.st2 .cv-clip{width:1660px;transition-duration:2.6s}
/* 25 划地为牢：圈里换成写实的人 */
.jl-me{display:none}
.jl-man{position:absolute;left:50%;top:190px;height:360px;transform:translateX(-50%);filter:drop-shadow(0 20px 20px rgba(0,0,0,.9));z-index:2}
/* 34 两张卡：高级感 */
.eq2{gap:44px;margin-top:40px}
.eq2 span{font-size:72px;font-weight:200;color:#ff9a3c;text-shadow:0 0 30px rgba(255,122,26,.6)}
.eq2 .eqc{position:relative;width:520px;padding:40px 44px 44px;border-radius:32px;text-align:left;display:flex;flex-direction:column;gap:10px;overflow:hidden;
  background:linear-gradient(160deg,#1e1e20,#0c0c0d);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 1px 0 rgba(255,255,255,.15),0 40px 80px rgba(0,0,0,.6)}
.eq2 .eqc.hot{background:linear-gradient(160deg,#2c1a0e,#0e0907);box-shadow:inset 0 0 0 1.5px rgba(255,122,26,.55),0 0 80px rgba(255,122,26,.18),0 40px 80px rgba(0,0,0,.6);-webkit-text-fill-color:initial}
.eq2 .eqc:after{content:"";position:absolute;right:-60px;bottom:-80px;width:300px;height:260px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,122,26,.22),transparent)}
.eq2 .eqc small{font-size:20px;font-weight:800;letter-spacing:.3em;color:#8e8e93}.eq2 .eqc.hot small{color:#ff9a3c}
.eq2 .eqi{width:76px;height:76px;margin:6px 0 4px}
.eq2 .eqi svg{width:100%;height:100%;fill:none;stroke:#d1d1d6;stroke-width:3;stroke-linejoin:round}
.eq2 .eqc.hot .eqi svg{fill:rgba(255,122,26,.25);stroke:#ff9a3c;filter:drop-shadow(0 0 12px rgba(255,122,26,.7))}
.eq2 .eqc b{font-size:60px;font-weight:900;color:#f5f5f7}.eq2 .eqc.hot b{color:#ffb070}
.eq2 .eqc em{font-style:normal;font-size:28px;color:#a1a1a6}
/* 50 三张卡：图标 + 背景大数字 */
.c23 .card{position:relative;overflow:hidden;padding-bottom:120px!important}
.c23 .card .cic{left:auto;right:30px;bottom:auto;top:30px;width:70px;height:70px}
.c23 .card[data-n]:after{content:attr(data-n);position:absolute;left:auto;right:24px;bottom:-24px;width:auto;height:auto;border-radius:0;background:none;filter:none;font-size:140px;font-weight:900;letter-spacing:-.04em;color:rgba(255,255,255,.06);opacity:1}
.c23 .card.cur[data-n]:after{color:rgba(255,122,26,.2)}
.c23 .card .cic svg{stroke:#636366;filter:none}.c23 .card.cur .cic svg{stroke:#ff9a3c;filter:drop-shadow(0 0 10px rgba(255,122,26,.6))}
.c23 .card .cic .f{fill:#636366}.c23 .card.cur .cic .f{fill:#ff9a3c}
/* 52 手机样机：立体倾斜 + 侧键 + 玻璃反光 */
.fig-dyprof{perspective:1600px}
.dph{transform:rotateY(-16deg) rotateX(4deg) rotate(2deg);box-shadow:0 0 0 2px #48484a,0 0 0 11px #1c1c1e,0 0 0 12px #3a3a3c,-30px 60px 100px rgba(0,0,0,.85),0 0 160px rgba(255,90,30,.22)!important;border:0!important}
.dph:before{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(115deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.04) 30%,transparent 45%);pointer-events:none}
.dpf:before,.dpf:after{content:"";position:absolute;right:28px;width:6px;border-radius:3px;background:#2c2c2e;z-index:0}
.dpf:before{top:150px;height:70px}.dpf:after{top:240px;height:110px}
.dcard{transform:rotate(-3deg) translateZ(0);background:linear-gradient(160deg,rgba(44,44,48,.82),rgba(18,18,20,.9))!important;backdrop-filter:blur(24px) saturate(1.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 0 0 1px rgba(255,255,255,.1),0 40px 80px rgba(0,0,0,.8),0 0 60px rgba(255,122,26,.12)!important}
/* 71 心流图：干净的分区 + 发光通道 */
.fc-gd line{stroke:rgba(255,255,255,.05);stroke-width:1.5}
.fc-za,.fc-zb{opacity:0;transition:opacity 1.2s .4s}.active .fc-za,.active .fc-zb{opacity:1}
.fc-glow{fill:none;opacity:0;transition:opacity 1.4s .9s}.active .fc-glow{opacity:.55}
.fc-mid{stroke:#ffd2a6;stroke-width:3;stroke-dasharray:10 10;stroke-dashoffset:0;animation:none!important;opacity:0;transition:opacity 1s 1.2s}.active .fc-mid{opacity:.8}
.fc-z{font-size:56px;font-weight:900}.fc-z.a{fill:#ff6b5f;opacity:.75}.fc-z.b{fill:#8e8e93}.fc-z.c{fill:#fff;font-size:42px;letter-spacing:.1em;filter:drop-shadow(0 0 14px rgba(255,122,26,.9))}
.fc-zs{font-size:20px;letter-spacing:.24em;font-weight:700}.fc-zs.a{fill:#ff6b5f;opacity:.6}.fc-zs.b{fill:#636366}
.fc-stair{display:none}
.fc-dot{fill:#fff;filter:drop-shadow(0 0 10px #ffc08a) drop-shadow(0 0 26px #ff7a1a)}
/* 86 / 89 哪个更难：两个选项 VS（不要底下的小动画） */
#stage .hdp .wrap{top:150px;bottom:auto;gap:40px}
.hdp .cmp2{display:flex;align-items:center;gap:50px;justify-content:center}
.hdp .cmp2 .c{width:560px;padding:44px 40px;border-radius:30px;font-size:56px;font-weight:800;line-height:1.3;text-align:center;background:linear-gradient(160deg,#1e1e20,#0c0c0d);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 30px 60px rgba(0,0,0,.6)}
.hdp .cmp2 .c.r{box-shadow:inset 0 0 0 1.5px rgba(255,122,26,.5),0 0 60px rgba(255,122,26,.15)}
.hdp .cmp2 span{font-size:40px;font-weight:900;letter-spacing:.1em;color:#ff7a1a}
/* 92 冰山：字按全片规范 */
.ln.xl2{font-size:132px;font-weight:800;line-height:1.15}
#stage .icep .wrap{width:1000px;top:200px;gap:36px}
#stage .icep .ln.xl2{font-size:132px}#stage .icep .ln.s{font-size:40px;line-height:1.55}
/* 102 斯多葛两圈：里圈 / 外圈装上具体的东西 */
.sto-w{position:absolute;white-space:nowrap;font-size:30px;font-weight:700;translate:-50% -50%;opacity:0;transition:opacity .6s calc(.3s + var(--k) * .18s),transform .8s calc(.3s + var(--k) * .18s) var(--ease);transform:scale(.8)}
.sto-w.i{color:#ffb070}.sto-w.o{color:#8e8e93}
.sto-w.i:nth-of-type(1){left:-130px;top:30px}.sto-w.i:nth-of-type(2){left:130px;top:30px}.sto-w.i:nth-of-type(3){left:-120px;top:90px}.sto-w.i:nth-of-type(4){left:110px;top:90px}
.stop.st1 .sto-w.i{opacity:1;transform:none}
.sto-w.o:nth-of-type(1){left:-380px;top:-100px}.sto-w.o:nth-of-type(2){left:360px;top:-100px}.sto-w.o:nth-of-type(3){left:-410px;top:60px}.sto-w.o:nth-of-type(4){left:400px;top:60px}.sto-w.o:nth-of-type(5){left:-290px;top:210px}.sto-w.o:nth-of-type(6){left:290px;top:210px}
.stop.st2 .sto-w.o{opacity:1;transform:none;animation:orbF 4s ease-in-out infinite alternate}
.sto-o{width:1100px;height:640px}.sto-i{width:520px;height:340px}
.sto-lb.o{top:-300px}.sto-lb.i{top:-80px}.sto-lb.i b{font-size:64px}
.sto-en{top:360px}
.stop.st3 .sto-w{opacity:0}
/* 113 标签字居中：序号挪到左上角小圆点，文字左右等距 */
#stage .rsnp .chip{padding:28px 48px!important;text-align:center}
.rsnp .chip:before{left:-14px!important;top:-14px!important;margin-top:0!important;width:40px!important;height:40px!important;line-height:40px!important;font-size:22px!important}
/* 115 结论两行、再往上 */
#stage .sqp .wrap>.ln:last-child{top:180px;line-height:1.2}
/* 138 中间「极稳」标签小一点 */
.b3-l.m b{font-size:56px}.b3-l.m small{font-size:18px}.b3-l.m span{font-size:28px}
/* 147 第 2 下：棋盘背景压暗 */
.gop.st2 .bgs:after{background:radial-gradient(ellipse 65% 55% at 50% 35%,rgba(0,0,0,.92),rgba(0,0,0,.6))!important}
/* 151 居中构图 */
.bbp .head{text-align:center}
.bbp .head h2{text-align:center}
/* 163 第 1 下：只留书名 + 原文，放大 */
.ct{gap:90px}.ct-bb{width:720px;height:560px}
.ct-r>b{font-size:64px;color:#a1a1a6;font-weight:800}
.ct-q{font-size:96px;line-height:1.3;white-space:nowrap;border-left:6px solid #ff7a1a;padding-left:40px;margin-top:30px}
/* 163 第 2 下：管仲像 */
.gz-pt{position:absolute;right:60px;top:-30px;height:720px;z-index:0;opacity:.95;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 30%);mask-image:linear-gradient(0deg,transparent 0,#000 30%);filter:drop-shadow(0 20px 40px rgba(0,0,0,.8))}
.gzw{position:relative;z-index:1}
.gzw svg{width:1150px;height:520px;margin-left:60px}
.sto-lb.i{top:-130px}
.sto-w.i:nth-of-type(1){left:-120px;top:20px}.sto-w.i:nth-of-type(2){left:120px;top:20px}.sto-w.i:nth-of-type(3){left:-110px;top:80px}.sto-w.i:nth-of-type(4){left:110px;top:80px}
.sto-w.i{font-size:28px}
.jl-me{display:inline!important;filter:drop-shadow(0 0 18px rgba(255,154,60,.35))}
.active .jl-me{animation:jlBr 3.6s ease-in-out infinite alternate}
@keyframes jlBr{to{filter:drop-shadow(0 0 30px rgba(255,154,60,.55))}}
.sto-w.i:nth-of-type(7){left:-120px;top:30px}.sto-w.i:nth-of-type(8){left:120px;top:30px}.sto-w.i:nth-of-type(9){left:-120px;top:85px}.sto-w.i:nth-of-type(10){left:120px;top:85px}
.sto-lb.i{top:-125px}
.jl-me{display:none!important}
.jl-man{left:50%;top:150px;height:300px;transform:translateX(-50%);z-index:2;filter:drop-shadow(0 0 20px rgba(255,154,60,.25)) drop-shadow(0 20px 20px rgba(0,0,0,.9))}
.gz-pt{height:760px;top:-60px;right:40px}
.jl-man{top:175px;height:280px}
.gzw svg{width:1000px}
.gz-pt{opacity:.85}
/* 162 怎么练：卡片设计感（图标 + 背景大编号 + 编号条） */
.l3 .card{position:relative;overflow:hidden}
.l3 .card .cic{left:auto;right:34px;bottom:auto;top:34px;width:72px;height:72px}
.l3 .card[data-n]:after{content:attr(data-n);position:absolute;left:auto;right:20px;bottom:-40px;width:auto;height:auto;border-radius:0;background:none;filter:none;opacity:1;font-size:220px;font-weight:900;line-height:1;color:rgba(255,255,255,.05)}
.l3 .card.cur[data-n]:after{color:rgba(255,122,26,.14)}
.l3 .card .no{display:inline-block;padding:6px 16px;border-radius:99px;background:rgba(255,122,26,.12);color:#ff9a3c!important}
.l3 .card .ds{border-top:1px solid rgba(255,255,255,.1);padding-top:20px!important}
/* 163 第 2 下：下坠面积 + 起点线 + 谷底标注 */
.gz-base{stroke:rgba(255,255,255,.25);stroke-width:2;stroke-dasharray:8 8}
.gz-bt{font-size:22px;font-weight:700;fill:#8e8e93;letter-spacing:.2em}
.gz-a{fill:url(#gzA);opacity:0}.show .gz-a{animation:fadeIn 1.6s 3.4s forwards}
.gz-low{opacity:0}.show .gz-low{animation:fadeIn .8s 4.6s forwards}
.gz-low circle{fill:none;stroke:#ff453a;stroke-width:3;transform-box:fill-box;transform-origin:center;animation:scPulse 1.8s 4.6s ease-out infinite}
.gz-low text{font-size:40px;font-weight:900;fill:#ff6b5f}.gz-low text.s{font-size:26px;font-weight:700;fill:#ff9a3c}
.gz-low text{display:none}.l3 .card .no{display:inline-block;width:auto;align-self:flex-start}
/* 性能：离当前页 2 页以外的页面不渲染、动画暂停（显卡内存撑爆会出现大块白色矩形） */
#stage .slide.far{visibility:hidden!important}
#stage .slide.far,#stage .slide.far *{animation-play-state:paused!important}
#stage .slide.far video{display:none}
