/* 元兵科技 · 让 AI 真正落地 —— 浅色编辑风（与《大模型垂直应用-认知框架》PPT 一致） */
:root{
  --bg:#FFFFFF; --soft:#F9F8F7; --panel:#F0EFED; --border:#E6E5E3; --rule:#B8BCC4;
  --ink:#2C2C2B; --muted:#7D7A75; --acc:#2783DE; --accSoft:#E5F2FC; --accMid:#A9CEF5;
  --green:#2E9E6A; --red:#D9534F; --orange:#E08A2E;
  --font:Arial,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --pop:cubic-bezier(.34,1.56,.64,1);
}
html,body{margin:0;background:var(--bg);}
.reveal{font-family:var(--font);color:var(--ink);font-size:26px;}
.reveal .slides{text-align:left;}
.reveal .slides section{padding:0;box-sizing:border-box;height:900px;}
.reveal .controls{color:var(--acc);}
.reveal .progress{color:var(--acc);height:4px;}
.pg{position:absolute;left:0;top:0;width:1600px;height:900px;box-sizing:border-box;padding:76px 96px 84px;display:flex;flex-direction:column;}
.eb{font:700 18px/1 var(--font);color:var(--muted);letter-spacing:.06em;}
.bar{width:56px;height:5px;background:var(--acc);margin:16px 0 18px;}
.t{font:700 54px/1.15 var(--font);margin:0;color:var(--ink);}
.body{flex:1;position:relative;margin-top:34px;min-height:0;}
.acc{color:var(--acc);} .red{color:var(--red);} .grn{color:var(--green);} .mut{color:var(--muted);}
.concl{margin-top:auto;border-top:1.5px solid var(--border);padding-top:24px;text-align:center;font:700 42px/1.25 var(--font);}
svg text{font-family:var(--font);}
img.sk{display:block;width:100%;height:100%;object-fit:contain;}

/* fragments：克制的淡入上移 */
.reveal .slides section .fragment{transition:opacity .45s ease,transform .45s ease,visibility .45s;}
.reveal .slides section .fragment.up{transform:translateY(18px);}
.reveal .slides section .fragment.up.visible{transform:none;}
.reveal .slides section .fragment.pop{transform:scale(0);transform-box:fill-box;transform-origin:center;transition:opacity .3s ease,transform .6s var(--pop),visibility .3s;}
.reveal .slides section .fragment.pop.visible{transform:scale(1);}
/* 连线绘制：pathLength=1 */
.draw .ln{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset .9s ease;}
.fragment.draw.visible .ln{stroke-dashoffset:0;}
.flow{stroke-dasharray:12 9;animation:flow 1s linear infinite;}
@keyframes flow{to{stroke-dashoffset:-21;}}
.spin{transform-box:fill-box;transform-origin:center;animation:spin 9s linear infinite;}
.spin.s2{animation-duration:14s;animation-direction:reverse;} .spin.s3{animation-duration:20s;}
@keyframes spin{to{transform:rotate(360deg);}}

/* HUD */
#hud-ch{position:fixed;top:16px;right:26px;z-index:30;font:700 15px/1 var(--font);color:var(--ink);display:flex;gap:16px;}
#hud-ch span{opacity:.3;transition:opacity .3s,color .3s;} #hud-ch span.on{opacity:1;color:var(--acc);}
#hud-timer{position:fixed;top:40px;right:26px;z-index:30;font:600 18px/1 ui-monospace,Menlo,Consolas,monospace;color:var(--muted);cursor:pointer;user-select:none;}
#hud-timer.warn{color:var(--red);}
#hud-brand{position:fixed;left:26px;bottom:16px;z-index:30;font:600 14px/1 var(--font);color:var(--muted);}
#hud-page{position:fixed;right:120px;bottom:16px;z-index:30;font:600 14px/1 ui-monospace,Menlo,Consolas,monospace;color:var(--muted);}
body.cover #hud-ch,body.cover #hud-timer{opacity:.0;}
body.pdf #hud-timer{display:none;}

/* S0 封面 */
#cv{position:absolute;left:0;top:0;width:900px;height:900px;}
.cover-img{position:absolute;right:0;top:0;width:700px;height:900px;background:var(--soft);}
.cover-img img{position:absolute;left:40px;top:180px;width:620px;height:500px;object-fit:contain;}
.cover-txt{position:absolute;left:96px;top:0;width:760px;height:900px;display:flex;flex-direction:column;justify-content:center;}
.cover-txt h1{font:800 104px/1.08 var(--font);margin:0;letter-spacing:0;}
.cover-txt .sub{font:400 32px/1.45 var(--font);color:var(--muted);margin-top:28px;}
.tags{display:flex;gap:12px;margin-top:34px;}
.tags span{border:1.5px solid var(--accMid);color:var(--acc);background:var(--accSoft);font:700 22px/1 var(--font);padding:10px 16px;border-radius:4px;}
.author{position:absolute;left:96px;bottom:86px;display:flex;align-items:center;gap:16px;font:400 22px/1 var(--font);color:var(--muted);}
.author i{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--accMid),var(--acc));display:inline-block;}

/* S1 */
.two{display:flex;height:100%;align-items:center;}
.two>div{flex:1;padding-right:40px;}
.two>div+div{border-left:1.5px solid var(--border);padding-left:64px;}
.big{font:800 210px/1 var(--font);}
.cap{font:700 34px/1.3 var(--font);margin-top:18px;}
.src{font:400 22px/1.3 var(--font);color:var(--muted);margin-top:14px;}

/* S2 grid */
.grid8{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;border-top:1.5px solid var(--border);}
.grid8>div{padding:24px 26px 26px;border-bottom:1.5px solid var(--border);border-right:1.5px solid var(--border);}
.grid8>div:nth-child(4n){border-right:none;}
.grid8 b{display:block;font:700 24px/1 var(--font);color:var(--acc);margin-bottom:16px;}
.grid8 p{margin:0;font:400 26px/1.4 var(--font);}

/* 三列 */
.cols{display:flex;gap:44px;}
.cols>div{flex:1;min-width:0;}
.cols .im{height:230px;}
.cols .tag{font:700 20px/1 var(--font);color:var(--acc);margin:16px 0 8px;}
.cols h3{font:700 32px/1.25 var(--font);margin:12px 0 10px;}
.cols p{font:400 24px/1.45 var(--font);margin:0;}
.cols .hl{border-top:5px solid var(--acc);padding-top:0;}
.cols .hl h3{color:var(--acc);}
.keys{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:28px;}
.keys svg{width:96px;height:96px;}

/* S5 */
.s5{display:flex;height:100%;}
.s5 .l{flex:1.05;padding-right:56px;border-right:1.5px solid var(--border);}
.s5 .r{flex:1;padding-left:64px;display:flex;flex-direction:column;justify-content:center;gap:26px;}
.hbar{margin-top:26px;}
.hbar .lb{font:400 22px/1 var(--font);color:var(--muted);margin-bottom:10px;}
.hbar .row{display:flex;align-items:center;gap:16px;}
.hbar .fill{height:32px;width:0;transition:width .9s ease .1s;}
.fragment.visible .hbar .fill,.hbar.fragment.visible .fill{width:var(--w);}
.hbar .v{font:700 24px/1 var(--font);white-space:nowrap;}
.line3{font:700 46px/1.2 var(--font);}
.strike{position:relative;display:inline-block;color:var(--muted);}
.strike::after{content:"";position:absolute;left:0;right:0;top:52%;height:4px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .7s ease .35s;}
.fragment.visible .strike::after{transform:scaleX(1);}

/* S6 */
.why{display:flex;gap:44px;}
.why>div{flex:1;}
.why i{display:block;width:44px;height:4px;background:var(--acc);margin-bottom:16px;}
.why h3{font:700 32px/1.2 var(--font);margin:0 0 10px;}
.why p{font:400 24px/1.45 var(--font);margin:0;}
.bars{margin-top:36px;border-top:1.5px solid var(--border);padding-top:18px;}
.bars .hd{font:700 20px/1 var(--font);color:var(--muted);margin-bottom:12px;}
.bars .row{display:flex;align-items:center;height:64px;}
.bars .k{width:180px;font:700 26px/1 var(--font);}
.bars .trk{flex:1;display:flex;align-items:center;gap:16px;}
.bars .fill{height:30px;width:0;background:var(--accMid);transition:width .9s ease;}
.bars .row.visible .fill{width:var(--w);}
.bars .row.hot .fill{background:var(--acc);}
.bars .v{font:700 26px/1 var(--font);white-space:nowrap;}
.bars .row.hot .v{color:var(--acc);}

/* 侧栏字幕 */
.side{display:flex;gap:40px;height:100%;}
.side .fig{flex:1;}
.side .caps{width:520px;display:flex;flex-direction:column;justify-content:center;}
.caps>div{padding:14px 0 16px;border-top:1.5px solid var(--border);}
.caps>div:first-child{border-top:none;}
.caps b{display:block;font:700 22px/1 var(--font);color:var(--acc);margin-bottom:10px;}
.caps p{margin:0;font:400 25px/1.4 var(--font);}

/* S8 */
.s8{display:flex;gap:56px;height:100%;}
.s8 .im{width:700px;background:var(--soft);}
.s8 .r{flex:1;display:flex;flex-direction:column;justify-content:center;gap:30px;}
.funnel{display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.funnel div{height:44px;display:flex;align-items:center;padding-left:18px;font:700 23px/1 var(--font);color:#fff;box-sizing:border-box;}
.blames{display:flex;flex-direction:column;gap:10px;}
.blames div{font:400 25px/1.35 var(--font);padding-left:18px;border-left:4px solid var(--red);}
.blames b{color:var(--red);margin-right:8px;}
.gm{font:700 32px/1.3 var(--font);}
.gm small{display:block;font:400 25px/1.45 var(--font);color:var(--muted);margin-top:10px;}

/* S11 */
.s11{display:flex;gap:40px;height:100%;}
.s11 .fig{width:640px;}
.s11 .rows{flex:1;display:flex;flex-direction:column;justify-content:center;gap:30px;}
.rows .rw{border-left:6px solid var(--acc);padding-left:24px;}
.rows h3{font:700 32px/1.2 var(--font);margin:0 0 10px;}
.rows p{font:400 25px/1.45 var(--font);margin:0;}
.rows .bt{border-top:1.5px solid var(--border);padding-top:20px;font:700 28px/1.35 var(--font);color:var(--acc);}

/* S12 */
.cases .im{height:180px;}
.cases .res{font:400 24px/1 var(--font);color:var(--muted);margin-top:14px;}
.cases .res b{font:800 52px/1 var(--font);color:var(--acc);margin:0 4px;}
.note{font:400 20px/1 var(--font);color:var(--muted);margin-top:16px;}
a.bi{display:flex;align-items:center;gap:28px;margin-top:22px;background:#fff;border:1.5px solid var(--border);padding:18px 30px;text-decoration:none;color:var(--ink);transition:border-color .2s;}
a.bi:hover{border-color:var(--acc);}
a.bi .cols6{display:flex;align-items:flex-end;gap:7px;height:62px;}
a.bi .cols6 i{width:12px;background:var(--accMid);display:block;}
a.bi .cols6 i:last-child{background:var(--acc);}
a.bi h4{margin:0;font:700 28px/1.2 var(--font);}
a.bi p{margin:6px 0 0;font:400 22px/1.2 var(--font);color:var(--muted);}
a.bi .go{margin-left:auto;background:var(--acc);color:#fff;font:700 22px/1 var(--font);padding:14px 24px;}

/* S13 */
.pills{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:40px;}
.pills span{font:700 26px/1 var(--font);color:var(--acc);background:var(--accSoft);border:1.5px solid var(--acc);padding:14px 26px;}
.pills span.on{background:var(--acc);color:#fff;}
.pills em{font-style:normal;color:var(--acc);font-size:30px;}

/* S16 */
.s16{display:flex;gap:56px;height:100%;}
.s16 .im{width:620px;background:var(--soft);}
.s16 .st{flex:1;display:flex;flex-direction:column;justify-content:center;}
.st .k{display:flex;gap:22px;align-items:flex-start;}
.st .n{flex:none;width:56px;height:56px;border-radius:50%;border:2px solid var(--acc);color:var(--acc);font:700 22px/52px var(--font);text-align:center;box-sizing:border-box;}
.st .k:first-child .n{background:var(--acc);color:#fff;}
.st h3{font:700 32px/1.25 var(--font);margin:6px 0 8px;}
.st p{font:400 24px/1.45 var(--font);margin:0;color:var(--muted);}
.st p b{color:var(--ink);}
.st .ar{color:var(--red);font:700 30px/1 var(--font);margin:14px 0 14px 16px;}

/* S17 */
.s17{display:flex;gap:64px;height:100%;align-items:center;}
.s17 .im{width:640px;height:600px;background:var(--soft);}
.s17 blockquote{margin:0;font:700 60px/1.3 var(--font);}
.s17 .q{font:800 120px/0.6 Georgia,serif;color:var(--acc);height:56px;}
.band{height:5px;background:linear-gradient(90deg,var(--acc),var(--accMid));transform:scaleX(0);transform-origin:left;transition:transform 1.2s ease;margin:40px 0 28px;width:100%;}
.fragment.visible.band,.fragment.visible .band{transform:scaleX(1);}
.s17 .sub{font:400 28px/1.55 var(--font);color:var(--muted);}

/* S18 */
.s18{display:flex;height:100%;align-items:center;}
.s18 .l{flex:1;}
.s18 h1{font:800 120px/1.05 var(--font);margin:0;}
.s18 .slog{font:700 36px/1.2 var(--font);color:var(--acc);margin-top:24px;}
.s18 .logo{margin-top:56px;height:84px;}
.s18 .r{width:520px;text-align:center;}
.s18 .r p{font:400 28px/1.5 var(--font);margin-top:32px;}
body.pdf .reveal .controls,body.pdf .reveal .progress{display:none !important;}

/* =====================================================================
   中汽数智成立大会 · AI“闭环精细化”运营（v3，19 页）
   以下为本讲稿新增的版式；动画语言沿用上方培训网页（up / pop / draw / flow / spin / count）
   ===================================================================== */
#hud-ch{gap:14px;font-size:14px;}
body.cover #hud-page{opacity:0;}
.reveal .slides section .fragment.fade{transform:none;}
/* 横向生长：条形、虚线等 */
.grow{transform:scaleX(0);transform-box:fill-box;transform-origin:left center;transition:transform .9s ease .25s;}
.fragment.visible .grow,.grow.fragment.visible{transform:scaleX(1);}
svg .lbl{font-weight:700;}

/* P1 封面 */
.cover-txt{width:780px;}
.cover-txt h1{font:800 84px/1.12 var(--font);}
.cover-txt .sub2{font:700 38px/1.35 var(--font);margin-top:30px;}
.cover-txt .sub{font:400 26px/1.5 var(--font);margin-top:14px;}
.cover-date{position:absolute;left:0;right:0;top:716px;text-align:center;font:400 20px/1 var(--font);color:var(--muted);}

/* P3 贵假低黑 */
.four{display:grid;grid-template-columns:repeat(4,1fr);border-top:1.5px solid var(--border);height:100%;}
.four>div{padding:28px 30px 0;border-left:1.5px solid var(--border);min-width:0;}
.four>div:first-child{border-left:none;padding-left:0;}
.four .ch{font:800 124px/1 var(--font);}
.four h3{font:700 30px/1.2 var(--font);color:var(--acc);margin:24px 0 14px;}
.four p{font:400 24px/1.5 var(--font);margin:0;}

/* P4 异常 */
.s4{display:flex;gap:48px;height:100%;align-items:center;}
.s4 .l{width:652px;flex:none;}
.s4 .rw{display:flex;align-items:center;gap:26px;padding:24px 0;border-top:1.5px solid var(--border);}
.s4 .rw:first-child{border-top:none;}
.s4 .rw b{flex:none;width:236px;font:800 72px/1 var(--font);color:var(--red);white-space:nowrap;}
.s4 .rw p{margin:0;font:400 24px/1.45 var(--font);}
.s4 .pnl{flex:1;background:var(--soft);border:1.5px solid var(--border);border-radius:12px;padding:30px 34px 34px;}
.s4 .pnl .ph{font:700 22px/1.3 var(--font);color:var(--muted);}
.s4 .pnl svg{display:block;margin:14px auto 0;}
.s4 .pnl .q{font:700 44px/1.2 var(--font);text-align:center;margin-top:6px;}

/* P6 常规解法表 */
table.tb{width:100%;border-collapse:collapse;font:400 24px/1.3 var(--font);}
.tb th{font:700 18px/1 var(--font);color:var(--muted);text-align:left;padding:0 18px 12px 0;border-bottom:2px solid var(--ink);}
.tb td{padding:13px 18px 13px 0;border-bottom:1.5px solid var(--border);vertical-align:top;}
.tb td:first-child{font-weight:700;}
.tb td.gap{color:var(--ink);}
svg.chain{display:block;margin-top:30px;}

/* P10 案例一 */
.row3{display:flex;gap:40px;}
.row3>div{flex:1;min-width:0;}
.row3 h3{font:700 32px/1.2 var(--font);margin:16px 0 10px;}
.row3 p{font:400 23px/1.45 var(--font);margin:0;}
.duo{display:flex;margin-top:30px;border-top:1.5px solid var(--border);padding-top:24px;}
.duo>div{flex:1;min-width:0;}
.duo>div+div{border-left:1.5px solid var(--border);padding-left:56px;}
.duo .m{font:800 84px/1 var(--font);color:var(--acc);}
.duo h4{font:700 26px/1.2 var(--font);margin:14px 0 8px;}
.duo p{font:400 21px/1.4 var(--font);color:var(--muted);margin:0;}

/* 通用：说明小字、编号列表 */
.lead{font:400 22px/1.35 var(--font);color:var(--muted);margin:0 0 20px;}
.lead b{color:var(--ink);}
.nl>div{display:flex;gap:16px;padding:15px 0;border-top:1.5px solid var(--border);}
.nl>div:first-child{border-top:none;padding-top:2px;}
.nl i{font:700 24px/1.3 var(--font);font-style:normal;color:var(--acc);width:40px;flex:none;}
.nl h4{font:700 27px/1.3 var(--font);margin:0;}
.nl p{font:400 21px/1.4 var(--font);color:var(--muted);margin:5px 0 0;}

/* P11 案例二 */
.s11b{display:flex;gap:0;}
.s11b .l{flex:1;padding-right:48px;min-width:0;}
.s11b .r{width:620px;flex:none;border-left:1.5px solid var(--border);padding-left:48px;}
.mt{display:flex;align-items:center;gap:22px;height:84px;}
.mt b{font:800 66px/1 var(--font);width:210px;flex:none;}
.mt span{font:700 28px/1 var(--font);}
.cmp{margin-top:18px;}
.cmp .lb{font:400 20px/1.3 var(--font);color:var(--muted);margin-bottom:10px;}
.brow{display:flex;align-items:center;gap:14px;height:44px;}
.brow i{font-style:normal;flex:none;width:72px;font:700 22px/1 var(--font);}
.brow .fill{height:30px;width:0;transition:width .9s ease .1s;flex:none;}
.fragment.visible .brow .fill,.brow.fragment.visible .fill{width:var(--w);}
.brow .v{font:700 26px/1 var(--font);white-space:nowrap;}

/* P12 案例三 */
.s12{display:flex;gap:0;}
.s12 .l{flex:1;padding-right:48px;min-width:0;}
.s12 .r{width:600px;flex:none;border-left:1.5px solid var(--border);padding-left:48px;display:flex;flex-direction:column;justify-content:center;}
.grp+.grp{margin-top:26px;}
.grp h4{font:700 28px/1 var(--font);margin:0 0 12px;}
.big10{font:800 150px/1 var(--font);color:var(--acc);white-space:nowrap;}
.s12 .r h3{font:700 34px/1.25 var(--font);margin:14px 0 12px;}
.s12 .r p{font:400 23px/1.45 var(--font);color:var(--muted);margin:0;}
.tail{margin-top:30px;border-top:1.5px solid var(--border);padding-top:20px;text-align:center;}
.tail .hd{font:700 22px/1 var(--font);color:var(--muted);margin-bottom:14px;}
.chainx{font:700 34px/1.3 var(--font);}
.chainx span{opacity:0;transition:opacity .35s ease;}
.chainx.fragment.visible span,.fragment.visible .chainx span{opacity:1;}

/* P13 案例四 */
.s13{display:flex;gap:6px;}
.s13>.c{min-width:0;}
.s13 .sg{height:76px;display:flex;align-items:center;justify-content:center;font:800 34px/1 var(--font);color:#fff;transform:scaleX(0);transform-origin:left center;transition:transform .8s ease;}
.s13 .c.visible .sg{transform:scaleX(1);}
.s13 h4{font:700 26px/1.2 var(--font);margin:18px 18px 8px 0;}
.s13 p{font:400 21px/1.4 var(--font);color:var(--muted);margin:0 18px 8px 0;}
.s13 p.a{color:var(--acc);font-weight:700;}
.r16{display:flex;align-items:center;gap:36px;margin-top:26px;border-top:1.5px solid var(--border);padding-top:22px;}
.r16 b{font:800 104px/1 var(--font);color:var(--red);flex:none;width:250px;}
.r16 p{font:700 30px/1.45 var(--font);margin:0;}

/* P14 五个不一样 */
.fivegrid{height:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:1.06fr .94fr;gap:18px;}
.fivegrid .point{grid-column:span 2;min-width:0;display:flex;flex-direction:column;background:var(--soft);border:1px solid var(--border);border-top:5px solid var(--accMid);padding:20px 24px;}
.fivegrid .point:nth-child(2){border-top-color:var(--acc);}
.fivegrid .point:nth-child(4),.fivegrid .point:nth-child(5){grid-column:span 3;}
.fivegrid .idx{font:700 17px/1 var(--font);color:var(--acc);}
.fivegrid h3{font:700 29px/1.2 var(--font);margin:9px 0 0;}
.fivegrid .metric{display:flex;align-items:flex-end;gap:12px;margin:auto 0 13px;}
.fivegrid .metric b{font:800 54px/1 var(--font);color:var(--acc);white-space:nowrap;}
.fivegrid .metric span{font:700 18px/1.3 var(--font);color:var(--muted);padding-bottom:4px;}
.fivegrid p{font:400 20px/1.45 var(--font);margin:0;color:var(--ink);}
.fivegrid .point:nth-child(4) .metric b,.fivegrid .point:nth-child(5) .metric b{font-size:62px;}

/* P16 两半 */
.s16b{display:flex;align-items:stretch;}
.half{flex:1;min-width:0;background:var(--soft);border:1.5px solid var(--border);border-radius:12px;padding:28px 28px 20px;position:relative;}
.half.blue{background:#F5F9FE;border-color:var(--accMid);}
.half.blue::before{content:"";position:absolute;left:28px;top:-1.5px;width:64px;height:5px;background:var(--acc);}
.half .tg{font:700 20px/1 var(--font);color:var(--muted);}
.half.blue .tg{color:var(--acc);}
.half h3{font:700 42px/1.2 var(--font);margin:12px 0 18px;}
.half ul{margin:0;padding:0;}
.half li{font:400 22px/1.45 var(--font);margin:0 0 12px;list-style:none;position:relative;padding-left:22px;}
.half li::before{content:"";position:absolute;left:0;top:12px;width:8px;height:8px;background:var(--ink);}
.half.blue li::before{background:var(--acc);}
.plus{flex:none;width:76px;display:flex;align-items:center;justify-content:center;}
.plus span{display:block;width:56px;height:56px;border-radius:50%;border:2.5px solid var(--acc);color:var(--acc);font:700 34px/51px var(--font);text-align:center;background:#fff;box-sizing:border-box;}

/* P17 Loop 爆发 */
.why3{display:flex;gap:44px;}
.why3>div{flex:1;min-width:0;}
.why3 i{display:block;width:44px;height:4px;background:var(--acc);margin-bottom:16px;}
.why3 h3{font:700 30px/1.2 var(--font);margin:0 0 12px;}
.why3 p{font:400 22px/1.5 var(--font);margin:0;}
svg.fw{display:block;margin-top:36px;}
.fw .nd{opacity:0;transform:scale(.6);transform-box:fill-box;transform-origin:center;transition:opacity .35s ease,transform .5s var(--pop);}
.fragment.visible .nd{opacity:1;transform:none;}

/* P18 先进入 Loop */
.s18b{display:flex;gap:56px;height:100%;}
.s18b .l{width:470px;flex:none;}
.s18b .l .im{height:300px;background:var(--soft);}
.s18b .l .tg{font:700 20px/1 var(--font);color:var(--acc);margin:24px 0 10px;}
.s18b .l p{font:400 22px/1.5 var(--font);margin:0;}
.s18b .r{flex:1;min-width:0;}
.pilot{margin-top:20px;background:#F5F9FE;border:1.5px solid var(--accMid);border-radius:12px;padding:22px 30px 20px;}
.pilot .tg{font:700 20px/1 var(--font);color:var(--acc);}
.pilot .ps{display:flex;gap:36px;margin:16px 0 14px;}
.pilot .ps b{display:block;font:800 40px/1.1 var(--font);white-space:nowrap;}
.pilot .ps span{font:400 19px/1.3 var(--font);color:var(--muted);}
.pilot .ft{font:700 20px/1.3 var(--font);border-top:1.5px solid var(--accMid);padding-top:12px;}

/* P19 结尾 */
.s19b{display:flex;height:100%;align-items:center;gap:54px;}
.s19b .l{flex:1;min-width:0;}
.s19b .ln3>div{display:flex;gap:14px;font:700 30px/1.55 var(--font);}
.s19b .ln3 i{font-style:normal;color:var(--acc);width:46px;flex:none;}
.s19b .qt{font:400 30px/1.5 Georgia,"Noto Serif SC","Noto Sans SC",serif;}
.s19b .qt:first-of-type{margin-top:0;}
.s19b .band{margin:24px 0 22px;width:100%;max-width:780px;}
.s19b .thx{font:700 40px/1.3 var(--font);margin-top:22px;}
.s19b .logo{height:66px;margin-top:20px;display:block;}
.s19b .r{width:540px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.loop-close{position:relative;width:520px;height:500px;}
.loop-track{position:absolute;left:50px;top:40px;width:420px;height:420px;border:3px dashed var(--accMid);border-radius:50%;}
.loop-track::after{content:"";position:absolute;right:27px;top:80px;width:18px;height:18px;border-top:4px solid var(--acc);border-right:4px solid var(--acc);transform:rotate(42deg);}
.loop-core{position:absolute;left:50%;top:50%;width:180px;height:180px;transform:translate(-50%,-50%);border:3px solid var(--acc);border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;}
.loop-core span{font:700 22px/1 var(--font);color:var(--muted);}
.loop-core b{font:800 48px/1.1 var(--font);color:var(--acc);margin-top:8px;}
.loop-node{position:absolute;width:214px;min-height:102px;box-sizing:border-box;padding:14px 18px;background:#fff;border:1.5px solid var(--accMid);border-radius:10px;}
.loop-node i{display:block;font:700 16px/1 var(--font);color:var(--acc);font-style:normal;}
.loop-node b{display:block;font:700 24px/1.2 var(--font);margin-top:6px;}
.loop-node small{display:block;font:400 16px/1.35 var(--font);color:var(--muted);margin-top:4px;}
.loop-node.n1{left:153px;top:0;}
.loop-node.n2{right:0;bottom:24px;}
.loop-node.n3{left:0;bottom:24px;}
.loop-cap{font:400 19px/1.5 var(--font);color:var(--muted);text-align:center;margin:8px 0 0;}

/* 避免中文段落末行只剩一两个字（Chrome/Edge 117+ 支持） */
.reveal p,.reveal h3,.reveal h4,.reveal li,.reveal td,.reveal .cap{text-wrap:pretty;}

/* P18（v4 新增）不止线索 Loop：U 型老链路 + 中台直连 + 三个 Loop（几何见 /data/zqsz/v4/p18.py） */
.s18n{height:100%;}
.s18n svg{display:block;overflow:visible;}
.lm .nd{opacity:0;transition:opacity .4s ease;}
.lm .fragment.visible .nd{opacity:1;}
