/* ============================================================
   元气森林 BTL 演讲站 · 设计系统
   前卫编辑风：墨绿黑底 + 发丝网格 + 超大展示字 + 单强调色
   ============================================================ */

:root{
  --ink:#06110D;
  --ink-2:#0A2E23;
  --paper:#EAF3EE;
  --muted:rgba(234,243,238,.55);
  --faint:rgba(234,243,238,.28);
  --line:rgba(234,243,238,.12);
  --brand:#00B578;
  --neon:#7CFC9A;
  --warn:#FF7A45;
  --mono:"SF Mono",ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace;
  --sans:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",-apple-system,"Helvetica Neue",sans-serif;
  --ease:cubic-bezier(.2,.65,.2,1);
}
[data-accent="brand"]{--accent:var(--brand)}
[data-accent="neon"]{--accent:var(--neon)}
[data-accent="warn"]{--accent:var(--warn)}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--ink);
  color:var(--paper);
  font-family:var(--sans);
  font-size:20px;
  line-height:1.6;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--brand);color:var(--ink)}

/* ---------- 背景质感 ---------- */
.bg-grid{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/12)),
    radial-gradient(120% 90% at 70% 10%,rgba(0,181,120,.10),transparent 55%),
    radial-gradient(90% 70% at 15% 90%,rgba(0,181,120,.07),transparent 50%);
}
.bg-noise{
  position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- HUD ---------- */
#hud{
  position:fixed;top:0;left:0;right:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 32px;
  font-family:var(--mono);font-size:13px;letter-spacing:.14em;
  border-bottom:1px solid var(--line);
  background:linear-gradient(rgba(6,17,13,.85),rgba(6,17,13,.55));
  backdrop-filter:blur(10px);
}
.hud-brand{display:flex;align-items:center;gap:10px;color:var(--paper);font-weight:600}
.hud-dot{width:9px;height:9px;border-radius:50%;background:var(--brand);box-shadow:0 0 12px var(--brand)}
.hud-chapter{color:var(--muted);text-transform:uppercase}
.hud-right{display:flex;align-items:center;gap:20px}
.hud-timer{color:var(--neon);font-variant-numeric:tabular-nums}
.hud-counter{color:var(--muted);font-variant-numeric:tabular-nums}
.hud-btn{
  background:none;border:1px solid var(--line);color:var(--paper);
  font-family:var(--mono);font-size:16px;width:34px;height:34px;border-radius:8px;
  cursor:pointer;transition:.25s var(--ease);
}
.hud-btn:hover{border-color:var(--brand);color:var(--brand)}

#progress{position:fixed;left:0;right:0;bottom:0;height:4px;z-index:40;background:rgba(234,243,238,.08)}
#progress-fill{height:100%;width:0;background:var(--brand);box-shadow:0 0 14px rgba(0,181,120,.7);transition:width .5s var(--ease)}

/* ---------- 竖排边缘标语 ---------- */
.rail{
  position:fixed;top:50%;z-index:30;pointer-events:none;
  transform:translateY(-50%);
  writing-mode:vertical-rl;
  font-family:var(--mono);font-size:11px;letter-spacing:.5em;
  color:var(--faint);text-transform:uppercase;
}
.rail-left{left:14px}
.rail-right{right:14px}

/* ---------- 屏容器 ---------- */
#deck{
  position:relative;z-index:10;
  height:100vh;overflow-y:auto;
  scroll-snap-type:y mandatory;
  scrollbar-width:none;
}
#deck::-webkit-scrollbar{display:none}
.screen{
  position:relative;
  min-height:100vh;
  scroll-snap-align:start;
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(72px,10vh,120px) clamp(48px,8vw,120px) clamp(48px,8vh,88px);
  overflow:hidden;
}
.screen::after{ /* 屏序号水印 */
  content:attr(data-sid);
  position:absolute;right:clamp(24px,4vw,64px);bottom:clamp(20px,4vh,44px);
  font-family:var(--mono);font-size:12px;letter-spacing:.3em;
  color:var(--faint);
}

/* 入场动效（交错升起） */
.screen .anim{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.screen.in .anim{opacity:1;transform:none}
.screen.in .anim:nth-child(1){transition-delay:.05s}
.screen.in .anim:nth-child(2){transition-delay:.15s}
.screen.in .anim:nth-child(3){transition-delay:.25s}
.screen.in .anim:nth-child(4){transition-delay:.35s}
.screen.in .anim:nth-child(5){transition-delay:.45s}
.screen.in .anim:nth-child(6){transition-delay:.55s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .screen .anim{opacity:1;transform:none;transition:none}
}

/* ---------- 通用元素 ---------- */
.eyebrow{
  font-family:var(--mono);font-size:clamp(12px,1.1vw,15px);
  letter-spacing:.32em;text-transform:uppercase;
  color:var(--accent,var(--brand));
  display:flex;align-items:center;gap:14px;
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--accent,var(--brand))}
.h-display{
  font-size:clamp(52px,9vw,150px);
  font-weight:800;line-height:1.02;letter-spacing:-.02em;
}
.h-screen{
  font-size:clamp(36px,5.2vw,84px);
  font-weight:800;line-height:1.08;letter-spacing:-.015em;
}
.h-screen em{font-style:normal;color:var(--accent,var(--brand))}
.lede{font-size:clamp(20px,2vw,30px);color:var(--muted);max-width:26em}
.accent{color:var(--accent,var(--brand))}
.mono{font-family:var(--mono)}

/* 章节角标 */
.ch-tag{
  position:absolute;top:clamp(72px,11vh,128px);right:clamp(48px,8vw,120px);
  font-family:var(--mono);font-size:12px;letter-spacing:.3em;color:var(--faint);
  text-transform:uppercase;
}

/* ---------- LAYOUT: hero ---------- */
.layout-hero{justify-content:space-between;padding-top:clamp(96px,14vh,160px)}
.layout-hero .hero-mid{flex:1;display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,3vh,36px)}
.layout-hero .h-display .stroke{
  color:transparent;-webkit-text-stroke:2px var(--paper);
}
.layout-hero .hero-foot{
  display:flex;justify-content:space-between;align-items:flex-end;
  font-family:var(--mono);font-size:13px;letter-spacing:.2em;color:var(--muted);
  border-top:1px solid var(--line);padding-top:20px;
}
.layout-hero .hero-mark{
  position:absolute;right:-2vw;top:50%;transform:translateY(-50%);
  font-size:clamp(300px,44vw,720px);font-weight:800;line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(0,181,120,.22);
  pointer-events:none;user-select:none;
}

/* ---------- LAYOUT: section-divider ---------- */
.layout-divider{justify-content:center}
.layout-divider .ghost{
  position:absolute;right:2vw;bottom:-6vh;left:auto;
  font-size:clamp(280px,42vw,640px);font-weight:800;line-height:.9;
  color:transparent;-webkit-text-stroke:1.5px var(--accent,var(--brand));
  opacity:.28;pointer-events:none;user-select:none;
}
.layout-divider .divider-body{position:relative;display:flex;flex-direction:column;gap:clamp(18px,3vh,32px)}
.layout-divider .range{font-family:var(--mono);color:var(--muted);letter-spacing:.24em;font-size:14px}

/* ---------- LAYOUT: stat-band / stat-grid ---------- */
.stat-row{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,64px);margin-top:clamp(28px,5vh,56px)}
.stat{min-width:180px}
.stat .v{
  font-size:clamp(56px,7.5vw,124px);font-weight:800;line-height:1;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;
  color:var(--accent,var(--brand));
}
.stat .u{font-size:clamp(18px,1.6vw,26px);color:var(--muted);margin-left:6px;font-weight:400}
.stat .l{margin-top:10px;color:var(--muted);font-size:clamp(15px,1.3vw,19px)}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(20px,3vw,44px);margin-top:clamp(28px,5vh,56px)}
.stat-grid .stat{border-top:2px solid var(--accent,var(--brand));padding-top:18px}
.stat-grid .stat .v{font-size:clamp(44px,4.6vw,76px)}

/* ---------- LAYOUT: evidence（图证） ---------- */
.layout-evidence .ev-body{
  display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(28px,4vw,72px);
  align-items:center;margin-top:clamp(20px,4vh,40px);
}
.layout-evidence.flip .ev-body{grid-template-columns:1.5fr 1fr}
.layout-evidence.flip .ev-text{order:2}
.ev-text{display:flex;flex-direction:column;gap:18px}
.ev-text .point{
  border-left:3px solid var(--accent,var(--brand));padding-left:18px;
  font-size:clamp(18px,1.6vw,24px);color:var(--paper);
}
.ev-text .point small{display:block;color:var(--muted);font-size:.8em;margin-top:4px}
.ev-fig{position:relative}
.ev-fig img,.ev-fig video{
  width:100%;display:block;border-radius:10px;
  border:1px solid var(--line);
  box-shadow:0 24px 80px rgba(0,0,0,.55);
  background:var(--ink-2);
}
.ev-fig img.crop-top{aspect-ratio:16/10;object-fit:cover;object-position:top}
.ev-fig figcaption{
  margin-top:12px;font-family:var(--mono);font-size:12px;
  letter-spacing:.18em;color:var(--faint);text-transform:uppercase;
}
.ev-fig .tag{
  position:absolute;top:14px;left:14px;
  font-family:var(--mono);font-size:12px;letter-spacing:.2em;
  background:var(--accent,var(--brand));color:var(--ink);
  padding:5px 12px;border-radius:4px;font-weight:700;
}

/* ---------- LAYOUT: grid-5 / cards ---------- */
.cards{display:grid;gap:clamp(14px,1.8vw,26px);margin-top:clamp(24px,4vh,48px)}
.cards.c5{grid-template-columns:repeat(5,1fr)}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.card{
  border:1px solid var(--line);border-radius:12px;
  padding:clamp(18px,2vw,30px);
  background:linear-gradient(160deg,rgba(234,243,238,.045),transparent);
  transition:.35s var(--ease);
}
.card:hover{border-color:var(--accent,var(--brand));transform:translateY(-4px)}
.card .no{font-family:var(--mono);color:var(--accent,var(--brand));font-size:14px;letter-spacing:.2em}
.card h3{font-size:clamp(19px,1.7vw,26px);margin:12px 0 8px;line-height:1.3}
.card p{color:var(--muted);font-size:clamp(14px,1.2vw,17px);line-height:1.55}

/* ---------- LAYOUT: diagram-lg ---------- */
.layout-diagram .dg-body{margin-top:clamp(16px,3vh,32px);display:flex;flex-direction:column;gap:18px}
.layout-diagram img,.layout-diagram svg{
  width:100%;max-height:62vh;object-fit:contain;object-position:top;
  border:1px solid var(--line);border-radius:12px;background:rgba(234,243,238,.03);
}
.layout-diagram svg{border:none;background:none}

/* ---------- LAYOUT: journey / pipeline ---------- */
.journey{display:flex;align-items:stretch;gap:0;margin-top:clamp(28px,5vh,56px);position:relative}
.jstep{flex:1;display:flex;flex-direction:column;gap:10px;position:relative;padding:0 clamp(12px,1.6vw,26px)}
.jstep .yr{font-family:var(--mono);font-size:clamp(20px,2vw,30px);color:var(--accent,var(--brand));font-weight:700}
.jstep h3{font-size:clamp(18px,1.6vw,25px)}
.jstep p{color:var(--muted);font-size:clamp(13px,1.1vw,16px)}
.jstep::before{content:"";height:2px;background:var(--line);margin-bottom:18px}
.jstep::after{
  content:"";position:absolute;top:-5px;left:clamp(12px,1.6vw,26px);
  width:12px;height:12px;border-radius:50%;
  background:var(--accent,var(--brand));box-shadow:0 0 12px var(--accent,var(--brand));
}

/* journey 科技感动态：轨道生长 / 节点呼吸 / 年份流光 / 接力光点 */
.jstep::before{transform-origin:left center;transform:scaleX(0);transition:transform .9s var(--ease)}
.screen.in .jstep::before{transform:scaleX(1);transition-delay:calc(var(--ji,0)*180ms + 250ms)}
.jstep::after{animation:nodePing 2.6s ease-out infinite}
@keyframes nodePing{
  0%{box-shadow:0 0 12px var(--accent,var(--brand)),0 0 0 0 rgba(124,252,154,.45)}
  70%{box-shadow:0 0 12px var(--accent,var(--brand)),0 0 0 13px rgba(124,252,154,0)}
  100%{box-shadow:0 0 12px var(--accent,var(--brand)),0 0 0 0 rgba(124,252,154,0)}
}
.jstep .yr{
  background:linear-gradient(100deg,var(--accent,var(--brand)) 42%,#eafff3 50%,var(--accent,var(--brand)) 58%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  animation:yrSheen 5.2s ease-in-out infinite;animation-delay:calc(var(--ji,0)*.55s)
}
@keyframes yrSheen{0%,52%{background-position:110% 0}86%,100%{background-position:-60% 0}}
.rail-pulse{
  position:absolute;top:-4px;left:clamp(12px,1.6vw,26px);width:9px;height:9px;border-radius:50%;
  background:var(--neon);box-shadow:0 0 14px var(--neon);opacity:0;z-index:2;
  animation:railRelay 6.4s linear infinite;animation-delay:calc(var(--ji,0)*1.6s)
}
.rail-pulse::after{content:"";position:absolute;right:9px;top:2px;width:30px;height:5px;border-radius:3px;background:linear-gradient(90deg,transparent,rgba(124,252,154,.5))}
@keyframes railRelay{
  0%{left:clamp(12px,1.6vw,26px);opacity:0}
  3%{opacity:1}
  22%{left:calc(100% - 9px);opacity:1}
  25%,100%{left:calc(100% - 9px);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .jstep::before{transform:none;transition:none}
  .jstep::after,.jstep .yr,.rail-pulse{animation:none}
  .jstep .yr{background:none;color:var(--accent,var(--brand));-webkit-text-fill-color:var(--accent,var(--brand))}
  .rail-pulse{display:none}
}
.pipeline{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(10px,1.4vw,20px);margin-top:clamp(24px,4vh,44px)}
.pnode{
  border:1px solid var(--accent,var(--brand));border-radius:10px;
  padding:clamp(12px,1.6vw,22px) clamp(16px,2vw,30px);
  font-size:clamp(16px,1.5vw,23px);font-weight:600;
  background:rgba(0,181,120,.06);
  display:flex;flex-direction:column;gap:4px;
}
.pnode small{font-family:var(--mono);font-weight:400;color:var(--muted);font-size:.72em;letter-spacing:.1em}
.pnode.dim{border-color:var(--line);background:none;color:var(--muted)}
.parrow{color:var(--accent,var(--brand));font-size:clamp(18px,1.8vw,26px);font-family:var(--mono)}

/* ---------- LAYOUT: before-after / compare ---------- */
.ba{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(18px,3vw,44px);align-items:stretch;margin-top:clamp(24px,4vh,48px)}
.ba .col{border:1px solid var(--line);border-radius:14px;padding:clamp(22px,2.6vw,40px)}
.ba .col.before{opacity:.75}
.ba .col.after{border-color:var(--brand);background:rgba(0,181,120,.05)}
.ba .col .lab{font-family:var(--mono);letter-spacing:.26em;font-size:13px;color:var(--muted);text-transform:uppercase}
.ba .col.after .lab{color:var(--brand)}
.ba .col ul{list-style:none;margin-top:16px;display:flex;flex-direction:column;gap:12px}
.ba .col li{font-size:clamp(16px,1.5vw,22px);padding-left:1.4em;position:relative}
.ba .col.before li::before{content:"×";position:absolute;left:0;color:var(--warn)}
.ba .col.after li::before{content:"✓";position:absolute;left:0;color:var(--brand)}
.ba .vs{align-self:center;font-family:var(--mono);font-size:clamp(22px,2.4vw,36px);color:var(--brand);font-weight:700}

/* ---------- LAYOUT: big-quote ---------- */
.layout-quote{justify-content:center}
.layout-quote blockquote{
  font-size:clamp(34px,4.6vw,72px);font-weight:700;line-height:1.3;
  max-width:20em;letter-spacing:-.01em;
}
.layout-quote blockquote::before{
  content:"“";display:block;font-size:2.2em;line-height:.6;
  color:var(--accent,var(--brand));margin-bottom:.25em;
}
.layout-quote .attr{margin-top:clamp(20px,4vh,36px);font-family:var(--mono);color:var(--muted);letter-spacing:.2em;font-size:14px}

/* ---------- LAYOUT: text-focus ---------- */
.layout-focus{justify-content:center}
.layout-focus .focus-body{max-width:30em;display:flex;flex-direction:column;gap:clamp(20px,3.4vh,34px)}
.layout-focus p{font-size:clamp(21px,2.1vw,32px);line-height:1.65;color:var(--paper)}
.layout-focus p strong{color:var(--accent,var(--brand));font-weight:700}
.layout-focus .small{font-size:clamp(16px,1.4vw,20px);color:var(--muted)}

/* ---------- LAYOUT: demo-cta ---------- */
.layout-demo .demo-body{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,4vw,72px);align-items:center;margin-top:clamp(16px,3vh,32px)}
.demo-btn{
  display:inline-flex;align-items:center;gap:16px;
  font-family:var(--mono);font-size:clamp(17px,1.6vw,24px);letter-spacing:.14em;
  color:var(--ink);background:var(--neon);
  border:none;border-radius:12px;
  padding:clamp(16px,1.8vw,24px) clamp(26px,2.6vw,42px);
  cursor:pointer;text-decoration:none;font-weight:700;
  box-shadow:0 0 34px rgba(124,252,154,.35);
  transition:.3s var(--ease);
}
.demo-btn:hover{transform:translateY(-3px);box-shadow:0 6px 44px rgba(124,252,154,.5)}
.demo-note{font-family:var(--mono);font-size:13px;color:var(--faint);letter-spacing:.1em;margin-top:16px}

/* ---------- LAYOUT: matrix（索引） ---------- */
.mx{margin-top:clamp(20px,3vh,36px);display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(14px,1.6vw,24px)}
.mx .mx-ch{border-top:2px solid var(--accent,var(--brand));padding-top:12px}
.mx .mx-ch .t{font-family:var(--mono);letter-spacing:.2em;font-size:13px;color:var(--accent,var(--brand));text-transform:uppercase}
.mx .mx-ch ul{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:6px}
.mx .mx-ch a{color:var(--muted);text-decoration:none;font-size:15px;transition:.2s}
.mx .mx-ch a:hover{color:var(--paper)}
.mx .mx-ch a .sid{font-family:var(--mono);font-size:12px;color:var(--faint);margin-right:8px}

/* ---------- LAYOUT: finale ---------- */
.layout-finale{justify-content:center;align-items:flex-start}
.layout-finale .h-display{font-size:clamp(72px,13vw,220px)}
.layout-finale .fin-foot{margin-top:clamp(28px,6vh,64px);display:flex;gap:clamp(24px,4vw,64px);font-family:var(--mono);color:var(--muted);font-size:14px;letter-spacing:.18em;flex-wrap:wrap}

/* ---------- 覆盖层 ---------- */
.overlay{position:fixed;inset:0;z-index:80;background:rgba(4,10,8,.88);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center}
.overlay[hidden]{display:none}
.overlay-black{background:#000;z-index:90}
.menu-panel,.notes-panel{
  width:min(880px,92vw);max-height:84vh;overflow-y:auto;
  border:1px solid var(--line);border-radius:16px;
  background:var(--ink-2);padding:clamp(24px,3vw,44px);
}
.menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.menu-ch{margin-bottom:22px}
.menu-ch .t{font-family:var(--mono);letter-spacing:.24em;font-size:13px;color:var(--accent,var(--brand));text-transform:uppercase;margin-bottom:8px}
.menu-ch a{display:flex;gap:14px;align-items:baseline;color:var(--muted);text-decoration:none;padding:5px 0;font-size:17px;transition:.2s}
.menu-ch a:hover{color:var(--paper);padding-left:6px}
.menu-ch a .sid{font-family:var(--mono);font-size:12px;color:var(--faint)}
.menu-ch a.cur{color:var(--neon)}
.menu-foot{font-family:var(--mono);font-size:12px;color:var(--faint);letter-spacing:.14em;border-top:1px solid var(--line);padding-top:16px;margin-top:8px}
.notes-panel .eyebrow{margin-bottom:18px}
#notes-body{font-size:clamp(19px,1.8vw,26px);line-height:1.7;color:var(--paper)}
#notes-body em{color:var(--neon);font-style:normal}

/* ---------- 快捷键提示 ---------- */
#hint{
  position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:35;
  font-family:var(--mono);font-size:12px;letter-spacing:.22em;color:var(--muted);
  border:1px solid var(--line);border-radius:99px;padding:9px 22px;
  background:rgba(6,17,13,.7);backdrop-filter:blur(8px);
  transition:opacity .8s var(--ease);
}
#hint.gone{opacity:0;pointer-events:none}

/* ---------- 结论条（verdict） ---------- */
.verdict{
  margin-top:clamp(22px,4vh,40px);
  border-left:3px solid var(--accent,var(--brand));
  padding:14px 22px;
  background:linear-gradient(90deg,rgba(234,243,238,.05),transparent);
  font-size:clamp(17px,1.6vw,24px);line-height:1.55;
  color:var(--paper);max-width:44em;
}
.verdict em{color:var(--accent,var(--brand));font-style:normal}

/* ---------- LAYOUT: table（真实数据表） ---------- */
.tbl-wrap{
  margin-top:clamp(20px,3.5vh,40px);
  max-height:56vh;overflow:auto;
  border:1px solid var(--line);border-radius:12px;
  background:rgba(0,0,0,.25);
}
.tbl{width:100%;border-collapse:collapse;font-size:clamp(14px,1.2vw,18px)}
.tbl th{
  font-family:var(--mono);font-weight:600;letter-spacing:.14em;
  color:var(--accent,var(--brand));text-align:left;
  padding:12px 18px;border-bottom:1px solid var(--line);
  position:sticky;top:0;background:var(--ink-2);font-size:.82em;
}
.tbl td{padding:11px 18px;border-bottom:1px solid rgba(234,243,238,.06);color:var(--paper)}
.tbl td.mono{font-family:var(--mono);font-size:.88em;color:var(--neon)}
.tbl tr.hl td{background:rgba(0,181,120,.08)}
.tbl tr:hover td{background:rgba(234,243,238,.04)}

/* ---------- LAYOUT: formula（公式墙） ---------- */
.fx-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,26px);margin-top:clamp(20px,3.5vh,40px)}
.fx-card{
  border:1px solid var(--line);border-radius:12px;
  padding:clamp(16px,1.8vw,26px);
  background:linear-gradient(160deg,rgba(234,243,238,.04),transparent);
}
.fx-name{font-weight:700;font-size:clamp(16px,1.5vw,22px);margin-bottom:12px}
.fx-name::before{content:"ƒx";font-family:var(--mono);color:var(--accent,var(--brand));margin-right:10px;font-size:.85em}
.fx-code{
  font-family:var(--mono);font-size:clamp(12px,1.05vw,15px);line-height:1.6;
  color:var(--neon);background:rgba(0,0,0,.4);
  border:1px solid rgba(124,252,154,.18);border-radius:8px;
  padding:14px 16px;white-space:pre-wrap;word-break:break-all;
  max-height:24vh;overflow:auto;
}
.fx-code.solo{font-size:clamp(20px,3vw,44px);color:var(--neon);text-align:center;padding:clamp(24px,4vh,48px);margin-top:clamp(20px,3.5vh,40px);letter-spacing:.06em}
.fx-plain{margin-top:12px;color:var(--muted);font-size:clamp(14px,1.2vw,18px)}

/* ---------- LAYOUT: tree（目录树） ---------- */
.tree{
  font-family:var(--mono);font-size:clamp(13px,1.15vw,17px);line-height:1.75;
  color:var(--paper);background:rgba(0,0,0,.3);
  border:1px solid var(--line);border-radius:12px;
  padding:clamp(18px,2.4vw,32px) clamp(22px,3vw,44px);
  max-height:56vh;overflow:auto;margin-top:clamp(20px,3.5vh,40px);
}
.tree b{color:var(--accent,var(--brand));font-weight:700}
.tree i{color:var(--faint);font-style:normal}

/* ---------- LAYOUT: morph（萃取动画） ---------- */
.layout-morph .morph{position:relative;height:50vh;margin-top:clamp(14px,2.5vh,28px)}
.m-src{
  position:absolute;max-width:210px;padding:10px 14px;
  font-size:clamp(13px,1.1vw,16px);color:var(--warn);
  border:1px dashed rgba(255,122,69,.55);border-radius:10px;
  background:rgba(255,122,69,.07);
  transform:rotate(var(--r,0deg));
}
.screen.in .m-src{animation:mfly 1s var(--ease) forwards;animation-delay:var(--d)}
@keyframes mfly{to{transform:translate(33vw,0) scale(.22) rotate(0deg);opacity:0}}
.m-funnel{
  position:absolute;left:37%;top:50%;transform:translate(-50%,-50%);
  text-align:center;font-family:var(--mono);line-height:1.7;
  color:var(--accent,var(--brand));border:2px solid var(--accent,var(--brand));
  border-radius:14px;padding:16px 22px;font-size:clamp(13px,1.15vw,18px);
  background:rgba(0,181,120,.06);white-space:nowrap;
}
.screen.in .m-funnel{animation:mpulse 1.2s ease 1.7s}
@keyframes mpulse{0%,100%{box-shadow:0 0 0 rgba(0,181,120,0)}50%{box-shadow:0 0 48px rgba(0,181,120,.55)}}
.m-tables{position:absolute;right:0;top:0;bottom:0;width:47%;display:flex;flex-direction:column;gap:clamp(8px,1.4vh,14px);justify-content:center}
.m-tbl{
  border:1px solid var(--brand);border-radius:12px;
  padding:clamp(10px,1.4vh,16px) clamp(14px,1.6vw,22px);
  background:rgba(0,181,120,.07);
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  opacity:0;transform:translateY(26px);
}
.screen.in .m-tbl{animation:mrise .7s var(--ease) forwards;animation-delay:var(--d)}
.m-tbl .cd{font-family:var(--mono);color:var(--neon);font-size:12px;letter-spacing:.14em}
.m-tbl .nm{font-weight:700;font-size:clamp(16px,1.55vw,23px)}
.m-tbl .fd{font-family:var(--mono);color:var(--muted);font-size:clamp(12px,1vw,15px);text-align:right;white-space:nowrap}
@keyframes mrise{to{opacity:1;transform:none}}
.m-skel{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:clamp(12px,2vh,22px);opacity:0;transform:translateY(20px)}
.screen.in .m-skel{animation:mrise .7s var(--ease) forwards;animation-delay:3.5s}
.m-skel .chip{border:1px solid var(--line);border-radius:99px;padding:7px 16px;font-size:clamp(13px,1.1vw,16px);color:var(--paper)}
.m-skel .chip b{color:var(--neon);font-family:var(--mono);letter-spacing:.1em}

/* ---------- LAYOUT: layers（分层架构） ---------- */
.layers{position:relative;display:flex;flex-direction:column;gap:clamp(10px,1.6vh,16px);margin-top:clamp(18px,3vh,34px);padding-left:36px}
.layers::before{content:"";position:absolute;left:13px;top:10px;bottom:10px;width:2px;background:linear-gradient(180deg,var(--neon),var(--brand));opacity:.45}
.layer{
  display:flex;justify-content:space-between;align-items:center;gap:clamp(16px,2.4vw,40px);
  border:1px solid var(--line);border-radius:12px;
  padding:clamp(12px,1.7vh,20px) clamp(16px,2vw,30px);
  background:linear-gradient(160deg,rgba(234,243,238,.045),transparent);
  opacity:0;transform:translateY(30px);
}
.screen.in .layer{animation:mrise .7s var(--ease) forwards;animation-delay:var(--d)}
.layer .lk{font-family:var(--mono);color:var(--neon);font-size:12px;letter-spacing:.24em}
.layer .ln{font-size:clamp(18px,1.8vw,27px);font-weight:700;margin:4px 0 2px}
.layer .li{color:var(--muted);font-size:clamp(13px,1.15vw,17px)}
.layer .lh{font-family:var(--mono);text-align:right;color:var(--accent,var(--brand));font-size:clamp(12px,1.05vw,16px);max-width:36%;line-height:1.6}

/* s08 四时代：无序列表 + 具像化图标动效 */
.jlist{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.jlist li{position:relative;padding-left:14px;color:var(--muted);font-size:clamp(13px,1.05vw,16px);line-height:1.5}
.jlist li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--accent,var(--brand));opacity:.75}
.jlist .lab{display:inline-block;margin-right:8px;font-family:var(--mono);font-size:.72em;letter-spacing:.1em;color:var(--accent,var(--brand));vertical-align:1px}
.jlist b{color:var(--paper);font-weight:600}
.jicon{margin-top:auto;padding-top:16px;height:58px;color:var(--accent,var(--brand));opacity:.85}
.jicon svg{height:58px;width:auto}
@keyframes j-blink{0%,100%{opacity:.15}50%{opacity:1}}
.jicon .blinking{animation:j-blink 1.6s ease-in-out infinite}
@keyframes j-bob{0%,100%{transform:translateY(2px)}50%{transform:translateY(-3px)}}
.jicon .bobbing{animation:j-bob 2s ease-in-out infinite}
@keyframes j-flow{to{stroke-dashoffset:-18}}
.jicon .flowing{stroke-dasharray:4 5;animation:j-flow 1.2s linear infinite}
@keyframes j-spin{to{transform:rotate(360deg)}}
.jicon .spinning{transform-box:fill-box;transform-origin:center;animation:j-spin 9s linear infinite}
@media (prefers-reduced-motion: reduce){.jicon *{animation:none!important}}

/* s08 v2：分区对齐 + 阶梯式（左低右高）+ 图标并入工具行 */
.era-name{font-size:clamp(20px,1.8vw,28px);margin:2px 0 0;white-space:nowrap}
.jtool{display:flex;align-items:center;gap:12px;min-height:46px;margin:4px 0 6px;color:var(--paper);font-size:clamp(14px,1.15vw,17px);font-weight:500;line-height:1.4}
.jic{flex:none;color:var(--accent,var(--brand));opacity:.9}
.jic svg{height:36px;width:36px;display:block}
@media (min-width:761px){
  .journey.stepped{--stair:clamp(26px,4.5vh,52px);align-items:flex-start}
  .journey.stepped .jstep:nth-child(1){margin-top:calc(var(--stair)*3)}
  .journey.stepped .jstep:nth-child(2){margin-top:calc(var(--stair)*2)}
  .journey.stepped .jstep:nth-child(3){margin-top:var(--stair)}
}
@media (max-width:760px){.era-name{white-space:normal}.jtool{min-height:0}}

/* s11 属性条：标本五项属性（紧凑横排） */
.attr-row{display:flex;flex-wrap:wrap;gap:10px 24px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.attr{display:flex;align-items:baseline;gap:8px}
.attr b{font-family:var(--mono);font-size:clamp(20px,1.7vw,27px);color:var(--accent,var(--brand));font-weight:700;letter-spacing:.02em}
.attr span{color:var(--muted);font-size:clamp(12px,1vw,14px)}

/* s11 问题矩阵 */
.tbl-matrix td:first-child,.tbl-matrix th:first-child{font-weight:600;color:var(--paper);white-space:nowrap}
.tbl-matrix td{vertical-align:top;line-height:1.5}
.tbl-matrix .lv{color:var(--accent,var(--brand));letter-spacing:2px;font-size:.78em;margin-right:6px}
.tbl-matrix .lv.mid{opacity:.7}
.tbl-matrix .qv{font-family:var(--mono);color:var(--neon);font-weight:700;white-space:nowrap}
.tbl-matrix .calc{display:block;margin-top:3px;color:var(--muted);font-size:.72em;line-height:1.4;font-weight:400}

/* 表格窄屏兜底：横向滚动而非压碎 */
@media (max-width:760px){
  .tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .tbl-wrap .tbl{min-width:680px}
  .tbl-matrix th:first-child,.tbl-matrix td:first-child{position:sticky;left:0;background:#06110d;z-index:1}
  .tbl-matrix th:first-child{z-index:2}
}

/* ---------- s13 · 原问题 → 治理方向 → 结果 ---------- */
.layout-governance{justify-content:flex-start;padding-top:clamp(86px,9vh,112px)}
.layout-governance .h-section{font-size:clamp(34px,4.2vw,62px);letter-spacing:-.03em}
.layout-governance .lede-sub{max-width:68em;margin-top:clamp(8px,1.4vh,16px)}
.gov-board{margin-top:clamp(14px,2vh,24px);margin-left:clamp(-70px,-3.6vw,0px);width:calc(100% + clamp(0px,3.6vw,70px));display:flex;flex-direction:column;gap:10px;min-width:0}
.gov-head,.gov-row{display:grid;grid-template-columns:76px minmax(190px,.8fr) 30px minmax(280px,1.25fr) 30px minmax(210px,.85fr);align-items:stretch}
.gov-head{padding:0 16px 6px;gap:0}
.gov-head-cell,.gov-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.gov-head-cell{color:var(--faint)}
.gov-head-cell span{display:inline-block;margin-right:8px;color:var(--brand);font-weight:700}
.gov-head-cell.spread span{color:var(--warn);opacity:.72}
.gov-head-cell.problem span{color:var(--warn)}
.gov-head-cell.result span{color:var(--neon)}
.gov-row{position:relative;overflow:hidden;border:1px solid rgba(234,243,238,.1);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.16);opacity:0;transform:translateY(12px);transition:opacity .55s var(--ease),transform .55s var(--ease),border-color .3s ease}
.screen.in .gov-row{opacity:1;transform:none;transition-delay:calc(var(--gov-i) * 90ms + 120ms)}
.gov-row:hover{border-color:rgba(124,252,154,.36)}
.gov-spread{position:relative;display:flex;align-items:center;justify-content:center;min-height:96px;background:linear-gradient(105deg,rgba(255,122,69,.025),rgba(255,122,69,.10));border-left:1px dashed rgba(255,122,69,.28);border-top:1px solid rgba(255,122,69,.12);border-bottom:1px solid rgba(255,122,69,.12);overflow:visible}
.gov-spread-line{position:absolute;right:-25px;top:50%;width:25px;border-top:1px solid rgba(255,122,69,.48);z-index:3}
.gov-spread-line::after{content:"";position:absolute;right:-1px;top:-4px;width:6px;height:6px;border-top:1px solid var(--warn);border-right:1px solid var(--warn);transform:rotate(45deg)}
.gov-chaos{position:relative;width:76px;height:70px;color:var(--warn);font-family:var(--mono);font-size:8px;letter-spacing:.08em}
.gov-chaos b{position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);white-space:nowrap;font-weight:600;opacity:.62}
.chaos-shape{position:absolute;display:block;box-sizing:border-box}
.chaos-sheets .chaos-shape{width:53px;height:35px;border:1px solid rgba(255,122,69,.42);border-radius:3px;background:linear-gradient(135deg,rgba(255,122,69,.12),rgba(255,122,69,.025)),repeating-linear-gradient(0deg,transparent 0 7px,rgba(255,122,69,.14) 7px 8px)}
.chaos-sheets .one{left:2px;top:19px;transform:rotate(-16deg)}
.chaos-sheets .two{left:9px;top:12px;transform:rotate(8deg)}
.chaos-sheets .three{left:15px;top:9px;transform:rotate(-4deg)}
.chaos-sheets .four{left:21px;top:15px;transform:rotate(13deg);opacity:.82}
.chaos-data .chaos-shape{width:11px;height:11px;border:1px solid rgba(255,122,69,.65);background:rgba(255,122,69,.1);transform:rotate(14deg)}
.chaos-data .one{left:7px;top:14px}.chaos-data .two{left:31px;top:6px;transform:rotate(-17deg)}.chaos-data .three{left:54px;top:22px;transform:rotate(28deg)}.chaos-data .four{left:25px;top:37px;transform:rotate(8deg)}
.chaos-split .chaos-shape{width:9px;height:9px;border:1px solid rgba(255,122,69,.7);border-radius:50%;background:rgba(255,122,69,.12)}
.chaos-split::before,.chaos-split::after{content:"";position:absolute;left:25px;top:27px;width:42px;border-top:1px dashed rgba(255,122,69,.54);transform:rotate(-23deg);transform-origin:left center}.chaos-split::after{transform:rotate(23deg)}
.chaos-split .one{left:19px;top:27px}.chaos-split .two{left:59px;top:10px}.chaos-split .three{left:59px;top:44px}.chaos-split .four{left:5px;top:27px;opacity:.45}
.chaos-manual .chaos-shape{left:8px;width:59px;height:6px;border:1px solid rgba(255,122,69,.55);border-radius:99px;background:rgba(255,122,69,.1)}
.chaos-manual .one{top:14px;transform:rotate(-16deg)}.chaos-manual .two{top:27px;left:3px;transform:rotate(7deg)}.chaos-manual .three{top:39px;left:13px;transform:rotate(-4deg)}.chaos-manual .four{top:51px;left:0;transform:rotate(14deg);opacity:.58}
.gov-problem,.gov-direction,.gov-result{position:relative;min-height:96px;padding:11px 15px 10px;display:flex;flex-direction:column;justify-content:center}
.gov-problem{background:linear-gradient(105deg,rgba(255,122,69,.14),rgba(255,122,69,.045));border-left:3px solid rgba(255,122,69,.7)}
.gov-direction{background:linear-gradient(105deg,rgba(0,181,120,.11),rgba(0,181,120,.035));border-left:1px solid rgba(0,181,120,.18)}
.gov-result{background:linear-gradient(105deg,rgba(124,252,154,.09),rgba(124,252,154,.025));border-right:3px solid rgba(124,252,154,.65)}
.gov-kicker{display:flex;align-items:center;gap:8px;color:var(--faint);font-size:10px;letter-spacing:.14em;margin-bottom:5px}
.gov-no{color:var(--warn);font-size:12px;font-weight:700;letter-spacing:.05em}
.gov-icon{color:var(--brand);font-size:16px;line-height:1}
.gov-result .gov-icon{color:var(--neon)}
.gov-problem h3,.gov-direction h3,.gov-result h3{font-size:clamp(15px,1.25vw,19px);line-height:1.25;margin-bottom:3px}
.gov-problem h3{color:#ff9b73}
.gov-direction h3{color:var(--brand)}
.gov-result h3{color:var(--neon)}
.gov-problem p,.gov-direction p,.gov-result p{color:var(--muted);font-size:clamp(10.5px,.85vw,12.5px);line-height:1.45;max-width:48em}
/* 问题列 · 分角度短句列表 */
.gv-bl{margin:3px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}
.gv-bl li{position:relative;padding-left:13px;color:var(--muted);font-size:clamp(10.5px,.85vw,12.5px);line-height:1.4}
.gv-bl li::before{content:'';position:absolute;left:1px;top:.48em;width:5px;height:5px;border:1px solid var(--warn);transform:rotate(45deg)}
.gv-rd{margin:2px 0 0}
/* 治理方向 · 迷你工作流图示（逐节点点亮） */
.gd{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:6px}
.gd-node,.gd-zone,.gd-cond,.gd-out,.gd-lane{opacity:0;transform:translateY(5px) scale(.92);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.screen.in .gd-node,.screen.in .gd-zone,.screen.in .gd-cond,.screen.in .gd-out,.screen.in .gd-lane{opacity:1;transform:none;transition-delay:calc(var(--gov-i,0) * 90ms + var(--gn,0) * 130ms + 380ms)}
.gd-link,.gd-op,.gd-eq{opacity:0;transition:opacity .35s var(--ease)}
.screen.in .gd-link,.screen.in .gd-op,.screen.in .gd-eq{opacity:1;transition-delay:calc(var(--gov-i,0) * 90ms + var(--gn,0) * 130ms + 440ms)}
.gd-node{border:1px solid rgba(0,181,120,.45);border-radius:6px;padding:3px 11px;color:var(--neon);font-weight:800;font-size:clamp(11px,.9vw,13px);background:rgba(0,181,120,.1);box-shadow:0 0 12px rgba(0,181,120,.12)}
.gd-link{position:relative;width:20px;height:1px;background:linear-gradient(90deg,rgba(0,181,120,.2),rgba(0,181,120,.75))}
.gd-link::after{content:'';position:absolute;right:-1px;top:-3px;width:5px;height:5px;border-top:1px solid var(--brand);border-right:1px solid var(--brand);transform:rotate(45deg)}
.gd-zone{border:1px solid rgba(0,181,120,.4);border-radius:6px;padding:3px 9px;color:var(--brand);font-size:clamp(10px,.82vw,12px);font-weight:700;background:rgba(0,181,120,.07)}
.gd-cond{border:1px dashed rgba(255,193,7,.45);border-radius:6px;padding:3px 8px;color:#f3e9c8;font-size:clamp(10px,.82vw,12px);background:rgba(255,193,7,.05)}
.gd-op{color:var(--warn);font-weight:800;font-size:13px}
.gd-eq{color:var(--neon);font-weight:800;font-size:14px}
.gd-out{border:1px solid rgba(124,252,154,.5);border-radius:6px;padding:3px 10px;color:var(--neon);font-weight:800;font-size:clamp(10.5px,.85vw,12.5px);background:rgba(124,252,154,.1);box-shadow:0 0 14px rgba(124,252,154,.14)}
.gd-lanes{flex-direction:column;align-items:stretch;gap:4px}
.gd-lane{display:flex;gap:8px;align-items:center;border-left:2px solid var(--brand);padding:2px 9px;background:rgba(0,181,120,.05);border-radius:0 5px 5px 0}
.gd-lane b{color:var(--brand);font-size:clamp(10.5px,.85vw,12px);white-space:nowrap}
.gd-lane span{color:var(--muted);font-size:clamp(10px,.8vw,11.5px)}
.gd-cap{margin-top:5px;font-family:var(--mono);font-size:clamp(8.5px,.7vw,9.5px);letter-spacing:.1em;color:var(--faint)}
/* 动效强化：混沌图标摇摆 / 箭头脉冲 / 指标弹入 */
.screen.in .gov-chaos{animation:chaosSway 3.6s ease-in-out infinite}
@keyframes chaosSway{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2.5px) rotate(-1.4deg)}}
.screen.in .gov-arrow span{display:inline-block;animation:gvArr 2.1s ease-in-out infinite}
@keyframes gvArr{0%,100%{opacity:.5;transform:translateX(0)}50%{opacity:1;transform:translateX(4px)}}
.screen.in .gov-metrics span{animation:gdPop .4s var(--ease) both}
.screen.in .gov-metrics span:nth-child(1){animation-delay:calc(var(--gov-i,0) * 90ms + .7s)}
.screen.in .gov-metrics span:nth-child(2){animation-delay:calc(var(--gov-i,0) * 90ms + .8s)}
@keyframes gdPop{0%{opacity:0;transform:scale(.7)}100%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.screen.in .gov-chaos,.screen.in .gov-arrow span,.screen.in .gov-metrics span{animation:none}}
.gov-note{position:absolute;right:14px;bottom:10px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;opacity:.82}
.gov-note.warn{color:var(--warn)}
.gov-note.brand{color:var(--brand)}
.gov-arrow{display:flex;align-items:center;justify-content:center;background:rgba(0,181,120,.06);color:var(--brand);font-size:25px;font-family:var(--mono);text-shadow:0 0 14px rgba(0,181,120,.75)}
.gov-arrow span{transform:translateX(1px)}
.gov-metrics{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.gov-metrics span{padding:3px 8px;border:1px solid rgba(124,252,154,.3);border-radius:99px;color:var(--neon);font-family:var(--mono);font-size:10px;letter-spacing:.08em}
.gov-source{margin:clamp(14px,2vh,20px) 0 0;text-align:right;font-size:13px}
.gov-source a{color:var(--brand);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(0,181,120,.35);padding-bottom:2px;transition:color .2s ease,border-color .2s ease}
.gov-source a:hover{color:var(--neon);border-color:var(--neon)}
@media (max-width:1100px){
  .layout-governance{padding-top:92px;overflow-y:auto}
  .gov-board{margin-left:0;width:auto}
  .gov-head,.gov-row{grid-template-columns:1fr}
  .gov-head{display:none}
  .gov-row{gap:0}
  .gov-spread{min-height:72px;border-right:1px dashed rgba(255,122,69,.22)}
  .gov-spread-line{display:none}
  .gov-problem,.gov-direction,.gov-result{min-height:0;padding:16px 18px 17px}
  .gov-arrow{height:28px;min-height:28px}
  .gov-arrow span{transform:rotate(90deg)}
  .gov-note{position:static;margin-top:7px}
}

/* ---------- s15 · 流程化表单的三个新问题 ---------- */
.layout-flow-problems{justify-content:flex-start;padding-top:clamp(84px,9vh,110px)}
.layout-flow-problems .h-section{font-size:clamp(34px,4vw,58px);letter-spacing:-.035em}
.layout-flow-problems .lede-sub{max-width:70em;margin-top:clamp(8px,1.2vh,14px)}
.flow-bridge{display:grid;grid-template-columns:1fr 34px 1.28fr 34px 1fr;align-items:stretch;gap:0;margin-top:clamp(18px,2.5vh,28px)}
.flow-bridge-node{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:88px;padding:12px 16px;border:1px solid var(--line);border-radius:9px;background:rgba(234,243,238,.025)}
.flow-bridge-node span,.flow-kicker{font-family:var(--mono);font-size:9px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.flow-bridge-node b{margin-top:6px;color:var(--paper);font-size:clamp(15px,1.25vw,19px);line-height:1.2}
.flow-bridge-node small{margin-top:6px;color:var(--muted);font-size:clamp(11px,.9vw,13px);line-height:1.35}
.flow-bridge-node.prev{border-left:2px solid rgba(255,122,69,.55)}
.flow-bridge-node.prev span{color:rgba(255,122,69,.72)}
.flow-bridge-node.foundation{border-color:rgba(0,181,120,.42);background:linear-gradient(115deg,rgba(0,181,120,.13),rgba(0,181,120,.035));box-shadow:0 10px 26px rgba(0,181,120,.08)}
.flow-bridge-node.foundation span{color:var(--brand)}
.flow-bridge-node.foundation b{color:var(--brand)}
.flow-bridge-node.next{border-right:2px solid rgba(124,252,154,.62);background:rgba(124,252,154,.045)}
.flow-bridge-node.next span,.flow-bridge-node.next b{color:var(--neon)}
.flow-bridge-arrow{display:flex;align-items:center;justify-content:center;color:var(--brand);font-family:var(--mono);font-size:24px;text-shadow:0 0 14px rgba(0,181,120,.7)}
.flow-problem-board{margin-top:clamp(16px,2.3vh,26px);padding:12px 14px 12px;border:1px solid rgba(234,243,238,.12);border-radius:12px;background:linear-gradient(145deg,rgba(234,243,238,.035),rgba(0,0,0,.12));box-shadow:0 16px 40px rgba(0,0,0,.2)}
.flow-board-meta{display:flex;justify-content:space-between;gap:20px;padding:0 3px 9px;color:var(--faint);font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.flow-table-head,.flow-problem-row{display:grid;grid-template-columns:1.08fr 1.28fr 1.04fr 1.12fr;min-width:0}
.flow-table-head>div{padding:9px 14px;border:1px solid var(--line);border-right:0;background:rgba(234,243,238,.045);color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.flow-table-head>div:last-child{border-right:1px solid var(--line)}
.flow-table-head .core-head{color:var(--warn);background:rgba(255,122,69,.08)}
.flow-table-head .next-head{color:var(--neon);background:rgba(124,252,154,.055)}
.flow-problem-row{border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
.flow-cell{position:relative;min-width:0;min-height:108px;padding:12px 14px;border-right:1px solid var(--line);background:rgba(0,0,0,.12)}
.flow-cell:last-child{border-right:1px solid var(--line)}
.flow-cell b{display:block;margin-top:6px;color:var(--paper);font-size:clamp(15px,1.18vw,19px);line-height:1.2}
.flow-cell p{margin-top:6px;color:var(--muted);font-size:clamp(11px,.9vw,14px);line-height:1.42}
.flow-base{background:linear-gradient(108deg,rgba(0,181,120,.07),rgba(0,0,0,.12))}
.flow-base .flow-kicker{color:rgba(0,181,120,.82)}
.flow-core{display:flex;gap:10px;background:linear-gradient(108deg,rgba(255,122,69,.14),rgba(255,122,69,.055));border-left:2px solid rgba(255,122,69,.72)}
.flow-core .flow-kicker{color:var(--warn)}
.flow-core b{color:#ff9b73}
.flow-problem-no{flex:0 0 auto;color:var(--warn);font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.06em}
.flow-impact{background:linear-gradient(108deg,rgba(234,243,238,.045),rgba(0,0,0,.12))}
.flow-impact .flow-kicker{color:var(--faint)}
.flow-impact b{color:var(--paper)}
.flow-next{background:linear-gradient(108deg,rgba(0,181,120,.06),rgba(124,252,154,.09));border-right:2px solid rgba(124,252,154,.62)!important}
.flow-next .flow-kicker,.flow-next b{color:var(--neon)}
.flow-foot{display:flex;align-items:baseline;gap:10px;padding:10px 12px 2px;color:var(--muted);font-size:clamp(11px,.9vw,14px);line-height:1.4}
.flow-foot-mark{color:var(--brand);font-family:var(--mono);font-size:20px}
.flow-foot b{color:var(--paper);white-space:nowrap}

@media (max-width:1100px){
  .layout-flow-problems{padding-top:92px;overflow-y:auto}
  .flow-bridge{grid-template-columns:1fr;gap:8px}
  .flow-bridge-arrow{height:18px;transform:rotate(90deg)}
  .flow-table-head{display:none}
  .flow-problem-row{grid-template-columns:1fr}
  .flow-cell{min-height:0;border-bottom:0}
  .flow-next{border-bottom:1px solid var(--line);border-right:2px solid rgba(124,252,154,.62)!important}
  .flow-foot{flex-wrap:wrap}
}

/* ---------- s14 · 一张流程表拆成四大 PDCA 分区 ---------- */
.layout-zones{justify-content:flex-start;padding:clamp(82px,8vh,98px) clamp(48px,8vw,120px) clamp(26px,3vh,38px)}
.layout-zones .h-section{font-size:clamp(32px,3.6vw,54px);letter-spacing:-.03em}
.layout-zones .lede-sub{max-width:78em;margin-top:clamp(8px,1.2vh,14px)}
.zone-pdca{display:flex;align-items:center;gap:0;margin-top:clamp(12px,1.8vh,18px);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.zone-step{display:flex;align-items:center;gap:8px;color:var(--muted);position:relative}
.zone-letter{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--brand);border-radius:50%;color:var(--brand);font-size:12px;font-weight:700;letter-spacing:0}
.zone-step:nth-child(1) .zone-letter{border-color:var(--warn);color:var(--warn)}
.zone-step:nth-child(3) .zone-letter{border-color:var(--neon);color:var(--neon)}
.zone-step:nth-child(4) .zone-letter{border-color:var(--brand);color:var(--brand)}
.zone-step-name{white-space:nowrap}
.zone-step-arrow{margin:0 16px;color:var(--faint);font-size:18px}
.zone-board{margin-top:clamp(12px,1.7vh,18px);padding:10px 12px 12px;border:1px solid rgba(234,243,238,.12);border-radius:14px;background:linear-gradient(145deg,rgba(234,243,238,.04),rgba(0,0,0,.1));box-shadow:0 18px 50px rgba(0,0,0,.22)}
.zone-board-meta{display:flex;justify-content:space-between;gap:20px;padding:0 4px 7px;color:var(--faint);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.zone-matrix{display:grid;grid-template-columns:minmax(128px,.6fr) 1.35fr .82fr 1.18fr .9fr;grid-template-rows:auto repeat(4,minmax(58px,auto)) auto;min-width:0;border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:9px;overflow:hidden}
.matrix-corner,.matrix-row-label{background:rgba(234,243,238,.045);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.matrix-corner{display:flex;flex-direction:column;justify-content:center;padding:10px 12px;font-family:var(--mono)}
.matrix-corner b{color:var(--paper);font-size:11px;letter-spacing:.12em}
.matrix-corner small{margin-top:6px;color:var(--faint);font-size:9px;line-height:1.45;letter-spacing:.08em}
.zone-head{position:relative;min-width:0;padding:10px 12px;background:rgba(234,243,238,.035);border-right:1px solid var(--line);border-bottom:2px solid var(--brand);border-radius:0}
.zone-head>div{display:flex;align-items:center;gap:10px}
.zone-head .zone-letter{width:23px;height:23px;font-size:10px}
.zone-head b{font-size:clamp(15px,1.12vw,18px);color:var(--paper);font-weight:700;white-space:nowrap}
.zone-head small{display:block;margin:6px 0 0 33px;color:var(--muted);font-family:var(--mono);font-size:9px;line-height:1.35;letter-spacing:.06em}
.zone-head em{display:block;margin:7px 0 0 33px;color:var(--faint);font-size:11px;line-height:1.25;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zone-head.zone-plan{border-bottom-color:var(--warn)}
.zone-head.zone-plan .zone-letter{border-color:var(--warn);color:var(--warn)}
.zone-head.zone-do{border-bottom-color:var(--brand)}
.zone-head.zone-do .zone-letter{border-color:var(--brand);color:var(--brand)}
.zone-head.zone-check{border-bottom-color:var(--neon)}
.zone-head.zone-check .zone-letter{border-color:var(--neon);color:var(--neon)}
.zone-head.zone-act{border-bottom-color:var(--brand)}
.zone-head.zone-act .zone-letter{border-color:var(--brand);color:var(--brand)}
.matrix-row-label{display:grid;grid-template-columns:26px 1fr;align-content:center;column-gap:7px;padding:8px 10px}
.matrix-row-label span{grid-row:span 2;color:var(--brand);font-family:var(--mono);font-size:10px;letter-spacing:.08em}
.matrix-row-label b{color:var(--paper);font-size:12px;line-height:1.25;white-space:nowrap}
.matrix-row-label small{color:var(--faint);font-size:9px;line-height:1.25;white-space:nowrap}
.matrix-sample-label span{color:var(--neon)}
.matrix-cell{min-width:0;padding:8px 11px;background:rgba(0,0,0,.12);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.matrix-cell.zone-plan{background:rgba(255,122,69,.055)}
.matrix-cell.zone-check{background:rgba(124,252,154,.055)}
.matrix-cell .zone-list{margin:0}
.zone-list{list-style:none;display:flex;flex-direction:column;gap:3px;margin-top:5px;padding:0}
.zone-list li{position:relative;padding-left:9px;color:var(--muted);font-size:clamp(10px,.76vw,12px);line-height:1.3;overflow-wrap:anywhere}
.zone-list li::before{content:"";position:absolute;left:0;top:.54em;width:3px;height:3px;border-radius:50%;background:var(--brand);opacity:.9}
.zone-plan .zone-list li::before{background:var(--warn)}
.zone-check .zone-list li::before{background:var(--neon)}
.matrix-sample{display:flex;align-items:center;background:rgba(0,181,120,.07)}
.matrix-sample b{color:var(--neon);font-size:clamp(10px,.72vw,12px);line-height:1.3;font-weight:600;overflow-wrap:anywhere}
.zone-flow-note{display:flex;align-items:baseline;gap:10px;margin-top:8px;padding:7px 10px;border-top:1px solid var(--line);color:var(--muted);font-size:clamp(11px,.88vw,13px)}
.zone-flow-mark{color:var(--brand);font-family:var(--mono);font-size:20px}
.zone-flow-note b{color:var(--paper);font-weight:700;white-space:nowrap}
.zone-source{margin-top:7px;text-align:right;font-size:11px}
.zone-source a{color:var(--brand);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(0,181,120,.35);padding-bottom:2px}
.zone-source a:hover{color:var(--neon);border-color:var(--neon)}
@media (max-width:1100px){
  .layout-zones{padding-top:92px;overflow-y:auto}
  .zone-board-meta{align-items:flex-start;flex-direction:column;gap:5px}
  .zone-matrix{grid-template-columns:118px repeat(4,minmax(180px,1fr));overflow-x:auto}
  .zone-head,.matrix-row-label,.matrix-cell{min-width:0}
  .zone-flow-note{flex-wrap:wrap}
}
@media (max-width:720px){
  .zone-pdca{align-items:flex-start;flex-direction:column;gap:8px}
  .zone-step-arrow{display:none}
  .zone-board{padding:10px;overflow-x:auto}
  .zone-head small{margin-left:0}
  .zone-flow-note b{white-space:normal}
}

/* ---------- 旧版表单卡片（其他内容兼容） ---------- */
.form-showcase{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
.fz-card{background:rgba(234,243,238,.03);border:1px solid var(--line);border-radius:11px;padding:clamp(14px,2vh,22px) clamp(14px,2vw,22px);transition:border-color .25s ease,background .25s ease}
.fz-card:hover{border-color:rgba(0,181,120,.35);background:rgba(0,181,120,.05)}
.fz-num{font-family:var(--mono);font-size:1.2em;font-weight:800;color:var(--brand);opacity:.45;margin-bottom:6px}
.fz-title{font-size:.95em;font-weight:700;color:var(--paper);margin-bottom:8px}
.fz-fields{font-size:.72em;color:var(--faint);line-height:1.55;margin-bottom:8px}
.fz-desc{font-size:.7em;color:var(--muted);font-style:italic}

@media (max-width:720px){
  .sol-row{flex-direction:column}
  .sol-step{width:100%;height:28px;transform:rotate(90deg)}
  .sol-bad,.sol-good{border:none;border-top:3px solid transparent}
  .sol-bad{border-top-color:rgba(255,122,69,.35)}
  .sol-good{border-top-color:rgba(0,181,120,.35)}
  .form-showcase{grid-template-columns:1fr}
}

/* ---------- s16 · 新BTL 全景策略屋（三层横纵轴） ---------- */
.layout-strategy-house{justify-content:flex-start;padding-top:clamp(74px,7.6vh,94px)}
.layout-strategy-house .h-section{font-size:clamp(26px,2.7vw,42px);letter-spacing:-.04em}
.layout-strategy-house .lede-sub{max-width:70em;margin-top:clamp(4px,.7vh,8px);font-size:clamp(12px,.9vw,14px)}

.pano{display:flex;flex-direction:column;gap:clamp(6px,.9vh,10px);margin-top:clamp(10px,1.6vh,16px)}

/* 每一层：左纵轴标签 + 右横带 */
.sh-layer{display:grid;grid-template-columns:clamp(96px,8.5vw,124px) 1fr;gap:clamp(8px,1vw,14px);align-items:stretch}
.sh-axis{display:flex;flex-direction:column;justify-content:center;gap:3px;border-left:3px solid rgba(0,181,120,.45);padding-left:10px}
.sh-axis b{font-size:clamp(13px,1.05vw,16px);color:var(--paper);font-weight:800;letter-spacing:.03em}
.sh-axis small{font-size:clamp(10px,.78vw,12px);color:var(--muted)}

/* 层带 */
.sh-band{display:flex;gap:clamp(8px,1vw,12px);border-radius:12px;padding:clamp(10px,1.4vh,14px) clamp(12px,1.2vw,16px)}
.sh-band-front{background:linear-gradient(150deg,rgba(124,252,154,.12),rgba(124,252,154,.04));border:1px solid rgba(124,252,154,.3)}
.sh-band-mid{background:linear-gradient(150deg,rgba(0,181,120,.18),rgba(0,181,120,.07));border:1px solid rgba(0,181,120,.38)}
.sh-band-back{flex-direction:column;gap:8px;background:linear-gradient(150deg,rgba(3,30,19,.92),rgba(2,18,12,.95));border:1px solid rgba(0,181,120,.28)}

/* 层间三角：数据向上供水 */
.sh-conn{display:grid;grid-template-columns:clamp(96px,8.5vw,124px) 1fr;gap:clamp(8px,1vw,14px)}
.sh-conn i{justify-self:center;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:10px solid var(--brand);filter:drop-shadow(0 0 6px rgba(0,181,120,.5))}

/* 前台看板卡 */
.sh-dash{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;background:rgba(5,22,15,.6);border:1px solid rgba(124,252,154,.22);border-radius:9px;padding:clamp(8px,1.2vh,12px) clamp(10px,1vw,14px);transition:border-color .25s,transform .25s}
.sh-dash:hover{border-color:rgba(124,252,154,.5);transform:translateY(-2px)}
.sh-ico{width:clamp(22px,1.8vw,28px);height:clamp(22px,1.8vw,28px);color:var(--neon);display:inline-flex}
.sh-ico svg{width:100%;height:100%}
.sh-dash b{font-size:clamp(13px,1.05vw,16px);color:var(--paper);font-weight:700}
.sh-dash span{font-size:clamp(10px,.8vw,12px);color:var(--muted)}

/* 中台管理域卡 */
.sh-dom{flex:1;display:flex;flex-direction:column;gap:6px;background:rgba(5,22,15,.6);border:1px solid rgba(0,181,120,.26);border-radius:9px;padding:clamp(8px,1.2vh,12px) clamp(10px,1vw,14px);transition:border-color .25s,transform .25s}
.sh-dom:hover{border-color:rgba(0,181,120,.55);transform:translateY(-2px)}
.sh-dom>b{display:flex;align-items:center;font-size:clamp(12px,1vw,15px);color:var(--paper);font-weight:700}
.sh-ico-sm{width:15px;height:15px;color:var(--brand);display:inline-flex;flex-shrink:0}
.sh-ico-sm svg{width:100%;height:100%}
.sh-subs{flex:1;display:flex;flex-wrap:wrap;gap:5px;align-content:center;justify-content:center}
.sh-subs span{background:rgba(0,181,120,.1);border:1px solid rgba(0,181,120,.2);border-radius:5px;padding:5px 10px;font-size:clamp(10px,.85vw,12px);color:var(--paper);line-height:1.25;white-space:nowrap}
.sh-dom-note{margin-top:auto;padding-top:2px;font-size:clamp(9px,.75vw,11px);color:#ff9d5c;font-weight:700;text-align:center;letter-spacing:.02em}

/* 后台区块 */
.sh-sec{background:rgba(0,0,0,.28);border:1px solid rgba(0,181,120,.16);border-radius:9px;padding:clamp(8px,1.1vh,11px) clamp(10px,1vw,14px)}
.sh-sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.sh-sec-head b{display:flex;align-items:center;gap:6px;font-size:clamp(12px,.95vw,14px);color:var(--paper);font-weight:700}
.sh-sec-head em{font-style:normal;font-family:var(--mono);font-size:clamp(9px,.75vw,11px);color:#ff9d5c;letter-spacing:.02em}
.sh-cyls{display:flex;gap:clamp(8px,1vw,12px);justify-content:center}
.sh-cyl{flex:1;max-width:150px;padding:10px 8px;text-align:center;background:rgba(124,252,154,.07);border:1px solid rgba(124,252,154,.35);border-radius:50%/16%;font-size:clamp(10px,.85vw,12px);color:var(--paper);font-weight:600}
.sh-back-row{display:flex;gap:8px}
.sh-back-row .sh-sec{flex:1}
.sh-chips{display:flex;gap:6px}
.sh-chips span{flex:1;background:rgba(124,252,154,.09);border:1px solid rgba(124,252,154,.26);border-radius:5px;padding:5px 6px;text-align:center;font-size:clamp(10px,.82vw,12px);color:var(--paper)}

/* 底部规模条 */
.sh-foot{margin-top:2px;border-radius:9px;background:linear-gradient(90deg,rgba(3,30,19,.95),rgba(0,70,40,.85),rgba(3,30,19,.95));border:1px solid rgba(0,181,120,.35);padding:clamp(8px,1.1vh,11px) 16px;text-align:center;font-size:clamp(11px,.95vw,14px);color:var(--paper);letter-spacing:.03em}
.sh-foot b{color:var(--neon);font-family:var(--mono);font-weight:800}

/* ── 策略屋动态：数据向上生长 ── */
@keyframes shRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.anim .sh-layer,.anim .sh-conn,.anim .sh-foot{animation:shRise .7s cubic-bezier(.22,.9,.3,1) both}
.anim .pano>.sh-layer:nth-child(5){animation-delay:.1s}   /* 后台先亮 */
.anim .pano>.sh-conn:nth-child(4){animation-delay:.38s}
.anim .pano>.sh-layer:nth-child(3){animation-delay:.62s}  /* 中台 */
.anim .pano>.sh-conn:nth-child(2){animation-delay:.92s}
.anim .pano>.sh-layer:nth-child(1){animation-delay:1.15s} /* 前台最后长成 */
.anim .sh-foot{animation-delay:1.45s}

/* 层间连接：箭头呼吸 + 上升粒子 */
.sh-conn-c{justify-self:center;position:relative;display:flex;align-items:center;justify-content:center;height:14px}
@keyframes shArrow{0%,100%{transform:scale(1);filter:drop-shadow(0 0 5px rgba(0,181,120,.45))}50%{transform:scale(1.28);filter:drop-shadow(0 0 13px rgba(124,252,154,.9))}}
.sh-conn i{animation:shArrow 2.2s ease-in-out infinite;transform-origin:center}
.sh-p{position:absolute;left:50%;bottom:0;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--neon);box-shadow:0 0 7px rgba(124,252,154,.95);opacity:0;pointer-events:none;animation:shPRise 2.4s linear infinite}
.sh-p:nth-of-type(2){animation-delay:.8s}
.sh-p:nth-of-type(3){animation-delay:1.6s}
@keyframes shPRise{0%{transform:translateY(8px);opacity:0}18%{opacity:1}75%{opacity:1}100%{transform:translateY(-16px);opacity:0}}

/* 左轴扫描线（后台→中台→前台依次追扫） */
.sh-axis{position:relative;overflow:hidden}
.sh-axis::after{content:"";position:absolute;left:-3px;top:0;width:3px;height:26%;background:linear-gradient(180deg,transparent,var(--neon),transparent);opacity:.85;animation:shScan 4.2s ease-in-out infinite}
.pano>.sh-layer:nth-child(5) .sh-axis::after{animation-delay:0s}
.pano>.sh-layer:nth-child(3) .sh-axis::after{animation-delay:1.4s}
.pano>.sh-layer:nth-child(1) .sh-axis::after{animation-delay:2.8s}
@keyframes shScan{0%{top:-26%}55%,100%{top:100%}}

/* 中台业务 chips：波浪扫过 */
@keyframes shChip{0%,100%{border-color:rgba(0,181,120,.2);background:rgba(0,181,120,.1);box-shadow:none}10%{border-color:rgba(124,252,154,.8);background:rgba(124,252,154,.22);box-shadow:0 0 10px rgba(124,252,154,.4)}22%{border-color:rgba(0,181,120,.2);background:rgba(0,181,120,.1);box-shadow:none}}
.sh-subs span{animation:shChip 5s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes shTick{0%,100%{border-color:rgba(124,252,154,.26);background:rgba(124,252,154,.09);box-shadow:none}10%{border-color:rgba(124,252,154,.85);background:rgba(124,252,154,.24);box-shadow:0 0 10px rgba(124,252,154,.45)}22%{border-color:rgba(124,252,154,.26);background:rgba(124,252,154,.09);box-shadow:none}}
.sh-chips span{animation:shTick 5s ease-in-out infinite;animation-delay:var(--d,0s)}

/* 前台看板：呼吸内光 */
@keyframes shDash{0%,100%{box-shadow:inset 0 0 0 rgba(124,252,154,0)}50%{box-shadow:inset 0 0 22px rgba(124,252,154,.14)}}
.sh-dash{animation:shDash 4.2s ease-in-out infinite;animation-delay:var(--d,0s)}

/* 数据库圆柱：呼吸描边 */
@keyframes shCyl{0%,100%{border-color:rgba(124,252,154,.35);box-shadow:none}50%{border-color:rgba(124,252,154,.85);box-shadow:0 0 12px rgba(124,252,154,.28)}}
.sh-cyl{animation:shCyl 3.4s ease-in-out infinite;animation-delay:var(--d,0s)}

/* 底栏：流光扫过 */
.sh-foot{background-image:linear-gradient(90deg,rgba(3,30,19,.95) 0%,rgba(0,70,40,.85) 38%,rgba(124,252,154,.3) 50%,rgba(0,70,40,.85) 62%,rgba(3,30,19,.95) 100%);background-size:220% 100%;animation:shRise .7s cubic-bezier(.22,.9,.3,1) both,shFootShine 6s linear 1.6s infinite}
@keyframes shFootShine{0%{background-position:210% 0}100%{background-position:-110% 0}}

@media (prefers-reduced-motion:reduce){
  .anim .sh-layer,.anim .sh-conn,.anim .sh-foot,
  .sh-conn i,.sh-p,.sh-axis::after,.sh-subs span,.sh-chips span,.sh-dash,.sh-cyl,.sh-foot{animation:none!important;opacity:1!important;transform:none!important}
}

/* 响应式 */
@media (max-width:720px){
  .sh-layer{grid-template-columns:1fr}
  .sh-axis{flex-direction:row;align-items:baseline;gap:8px;border-left:none;border-bottom:2px solid rgba(0,181,120,.45);padding:0 0 4px}
  .sh-conn{display:none}
  .sh-band{flex-direction:column}
  .sh-back-row{flex-direction:column}
  .sh-cyl{border-radius:8px}
}

/* ---------- s17 · 底层数据建设三观点（建库→活水→调用） ---------- */
.layout-db-principles{justify-content:flex-start;padding-top:clamp(84px,9vh,110px)}
.layout-db-principles .lede-sub{max-width:70em}

.dbp-board{display:flex;align-items:stretch;flex:1;margin-top:clamp(22px,3.2vh,34px)}
.dbp-card{
  flex:1;display:flex;flex-direction:column;min-width:0;
  border:1px solid rgba(234,243,238,.1);border-radius:12px;
  background:linear-gradient(160deg,rgba(0,181,120,.07),rgba(0,0,0,.12));
  padding:clamp(20px,2.8vh,30px) clamp(18px,1.6vw,26px);
  box-shadow:0 12px 30px rgba(0,0,0,.16);
  opacity:0;transform:translateY(12px);
  transition:opacity .55s var(--ease),transform .55s var(--ease),border-color .3s ease
}
.screen.in .dbp-card{opacity:1;transform:none;transition-delay:calc(var(--dbp-i) * 130ms + 150ms)}
.dbp-card:hover{border-color:rgba(124,252,154,.36)}
.dbp-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:clamp(10px,1.6vh,16px)}
.dbp-no{font-family:var(--mono);font-size:clamp(30px,2.6vw,42px);font-weight:800;color:var(--brand);line-height:1;text-shadow:0 0 18px rgba(0,181,120,.4)}
.dbp-kicker{font-family:var(--mono);font-size:clamp(10px,.8vw,12px);letter-spacing:.16em;color:var(--faint);text-transform:uppercase;white-space:nowrap}
.dbp-card h3{font-size:clamp(18px,1.5vw,24px);color:var(--paper);line-height:1.3;margin-bottom:clamp(8px,1.2vh,12px)}
.dbp-card>p{color:var(--muted);font-size:clamp(12px,1vw,15px);line-height:1.6}
.dbp-vis{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(8px,1.4vh,14px) 0}
.dbp-vis svg{width:clamp(64px,6vw,96px);height:clamp(64px,6vw,96px);color:rgba(0,181,120,.32);filter:drop-shadow(0 0 18px rgba(0,181,120,.22))}
.dbp-steps{
  display:flex;flex-direction:column;gap:7px;
  margin-top:auto;padding-top:clamp(14px,2vh,20px);
  border-top:1px dashed rgba(234,243,238,.12)
}
.dbp-steps span{
  position:relative;display:block;padding:8px 12px 8px 28px;border-radius:6px;
  background:rgba(0,181,120,.08);border:1px solid rgba(0,181,120,.18);
  font-size:clamp(11px,.95vw,14px);color:var(--paper);line-height:1.3
}
.dbp-steps span::before{
  content:'';position:absolute;left:11px;top:50%;width:6px;height:6px;margin-top:-3px;
  border-radius:50%;background:var(--brand);box-shadow:0 0 6px rgba(0,181,120,.7)
}
.dbp-arrow{
  display:flex;align-items:center;justify-content:center;width:clamp(30px,2.8vw,44px);flex-shrink:0;
  color:var(--brand);font-size:clamp(20px,1.8vw,28px);font-family:var(--mono);
  text-shadow:0 0 14px rgba(0,181,120,.65)
}
.dbp-foot{
  display:flex;align-items:center;gap:10px;margin-top:clamp(16px,2.4vh,24px);
  padding:clamp(11px,1.6vh,15px) clamp(16px,1.4vw,22px);
  border:1px solid rgba(0,181,120,.25);border-radius:9px;background:rgba(0,181,120,.06);
  font-size:clamp(12px,1vw,15px);color:var(--muted)
}
.dbp-foot b{color:var(--paper);font-weight:700;white-space:nowrap}
.dbp-foot-mark{color:var(--brand);font-size:15px}
@media (max-width:720px){
  .dbp-board{flex-direction:column;gap:8px}
  .dbp-arrow{transform:rotate(90deg);width:100%;height:20px}
}

/* ---------- s18 · 数据流水线（工业 HMI 动态图） ---------- */
.layout-data-flow{justify-content:flex-start;padding-top:clamp(78px,8.4vh,100px)}
.layout-data-flow .lede-sub{max-width:76em}
.df-board{margin-top:clamp(12px,1.8vh,18px);border:1px solid rgba(234,243,238,.1);border-radius:14px;background:linear-gradient(145deg,rgba(234,243,238,.03),rgba(0,0,0,.16));box-shadow:0 18px 50px rgba(0,0,0,.22);padding:clamp(8px,1.2vh,14px)}
.df-board svg{display:block;width:100%;height:auto}
.df-t{fill:var(--paper)}
.df-m{fill:var(--muted)}
.df-f{fill:var(--faint)}
.df-n{fill:var(--neon)}
.df-b{fill:var(--brand)}
.df-q{font-size:12.5px;font-weight:700;letter-spacing:.06em}
.df-en{font-family:var(--mono);font-size:9px;letter-spacing:.22em}
.df-bt{font-size:15px;font-weight:700}
.df-rt{font-size:12px}
.df-rm{font-family:var(--mono);font-size:9px;letter-spacing:.12em}
.df-lm{font-family:var(--mono);font-size:9.5px;letter-spacing:.05em}
.df-gt{font-family:var(--mono);font-size:10px;letter-spacing:.1em}
.df-bk{font-size:11px;font-weight:600}
.df-note{fill:var(--neon);font-size:10.5px;font-weight:600}
.df-mnode{fill:rgba(3,30,19,.92);stroke:rgba(0,181,120,.55);stroke-width:1.2}
.df-guide{fill:none;stroke:rgba(234,243,238,.16);stroke-width:1;stroke-dasharray:2 4}
.df-ct{font-size:14.5px;font-weight:700}
.df-dl{font-size:11px}
.df-cm{font-family:var(--mono);font-size:10.5px}
.df-div{fill:none;stroke:rgba(234,243,238,.12);stroke-width:1}
.df-vis{color:rgba(0,181,120,.3);filter:drop-shadow(0 0 14px rgba(0,181,120,.2))}
.df-vis *{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.df-vis circle[r="1.6"]{fill:currentColor;stroke:none}
.df-box{fill:rgba(234,243,238,.03);stroke:rgba(0,181,120,.32);stroke-width:1}
.df-row{fill:rgba(0,181,120,.08);stroke:rgba(0,181,120,.2)}
.df-chip{fill:rgba(124,252,154,.08);stroke:rgba(124,252,154,.28)}
.df-cylt{fill:rgba(124,252,154,.12);stroke:rgba(124,252,154,.45)}
.df-cylb{fill:rgba(124,252,154,.07);stroke:rgba(124,252,154,.45)}
.df-line{fill:none;stroke:var(--brand);stroke-width:1.6;stroke-dasharray:7 7;animation:df-dash 1.1s linear infinite}
.df-line-ret{stroke:var(--neon);animation-duration:1.5s}
.df-ah{fill:var(--brand)}
.df-ah-ret{fill:var(--neon)}
.df-dot{fill:var(--neon);filter:drop-shadow(0 0 5px rgba(124,252,154,.9))}
.df-dot-ret{fill:#ffc107;filter:drop-shadow(0 0 5px rgba(255,193,7,.9))}
.df-led{fill:var(--neon);animation:df-led 1.8s ease-in-out infinite}
@keyframes df-dash{to{stroke-dashoffset:-14}}
@keyframes df-led{0%,100%{opacity:.3}50%{opacity:1}}
.df-foot{
  display:flex;align-items:center;gap:10px;margin-top:clamp(12px,1.8vh,18px);
  padding:clamp(9px,1.2vh,12px) clamp(14px,1.2vw,18px);
  border:1px solid rgba(0,181,120,.25);border-radius:9px;background:rgba(0,181,120,.06);
  font-size:clamp(11px,.9vw,13px);color:var(--muted)
}
.df-foot b{color:var(--paper);font-weight:700;white-space:nowrap}
.df-foot-mark{color:var(--brand);font-size:15px}
@media (prefers-reduced-motion:reduce){
  .df-line,.df-led{animation:none}
  .df-dot{display:none}
}

/* ---------- s19 · 四域 PDCA 协作环 ---------- */
.layout-domain-loop{justify-content:flex-start;padding-top:clamp(78px,8.4vh,100px)}
.layout-domain-loop .lede-sub{max-width:76em}
.df-phase{stroke-width:1.2}
.df-ph-p{fill:rgba(255,122,69,.08);stroke:rgba(255,122,69,.45)}
.df-ph-d{fill:rgba(0,181,120,.1);stroke:rgba(0,181,120,.45)}
.df-ph-c{fill:rgba(124,252,154,.08);stroke:rgba(124,252,154,.45)}
.df-phb{fill:rgba(3,30,19,.95);stroke-width:1.4}
.df-phb-p{stroke:#ff7a45}
.df-phb-d{stroke:#00B578}
.df-phb-c{stroke:#7cfc9a}
.df-phb-a{stroke:#ffc107}
.df-phl{font-family:var(--mono);font-size:11px;font-weight:800}
.df-phl-p{fill:#ff9d5c}
.df-phl-d{fill:#00B578}
.df-phl-c{fill:#7cfc9a}
.df-phl-a{fill:#ffc107}
.df-pht{font-size:13px;font-weight:700}
.df-phh{font-family:var(--mono);font-size:9px;letter-spacing:.1em}
.df-chip-flow{fill:rgba(0,181,120,.12);stroke:rgba(0,181,120,.3)}
.df-cm2{font-size:10px}
.df-line-a{stroke:#ffc107;animation-duration:1.6s}
.df-ah-a{fill:#ffc107}

/* ---------- s20 · 化整为零求最大公因数 ---------- */
.layout-refine-flow{justify-content:flex-start;padding-top:clamp(78px,8.4vh,100px)}
.layout-refine-flow .lede-sub{max-width:76em}
.df-box-warn{stroke:rgba(255,122,69,.4)}
.df-rm2{font-family:var(--mono);font-size:10.5px}
.rf-cell{fill:rgba(255,122,69,.4)}
.rf-pool{fill:rgba(234,243,238,.02);stroke:rgba(234,243,238,.22);stroke-dasharray:4 4}
.rf-pool-chip{animation:rf-float 3.2s ease-in-out infinite;animation-delay:var(--pd)}
@keyframes rf-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.rf-skel{fill:rgba(124,252,154,.12);stroke:rgba(124,252,154,.55);filter:drop-shadow(0 0 6px rgba(124,252,154,.25))}
.rf-own{fill:rgba(234,243,238,.04);stroke:rgba(234,243,238,.14)}
.rf-bar-sk{fill:var(--neon)}
.rf-bar-biz{fill:rgba(0,181,120,.55)}
@media (prefers-reduced-motion:reduce){.rf-pool-chip{animation:none}}

/* ---------- s21 · 流程全链路运转 ---------- */
.layout-chain-flow{justify-content:flex-start;padding-top:clamp(78px,8.4vh,100px)}
.layout-chain-flow .lede-sub{max-width:76em}

/* ---------- LAYOUT: archify（Archify 交互图嵌入） ---------- */
.layout-archify{justify-content:flex-start;padding-top:clamp(72px,7.8vh,92px)}
.layout-archify .lede-sub{max-width:76em}
.layout-archify .af-wrap{
  position:relative;margin-top:clamp(14px,2.2vh,24px);
  height:63vh;
  border:1px solid var(--line);border-radius:12px;overflow:hidden;
  background:#020617;
  box-shadow:0 24px 80px rgba(0,0,0,.5),0 0 0 1px rgba(0,181,120,.08),0 0 44px rgba(0,181,120,.06);
}
.layout-archify .af-frame{width:100%;height:100%;border:0;display:block;background:#020617}
.layout-archify .af-gate{
  position:absolute;inset:0;z-index:2;cursor:pointer;
  display:flex;align-items:flex-end;justify-content:flex-start;
  background:linear-gradient(180deg,rgba(6,17,13,0) 62%,rgba(6,17,13,.5));
  transition:opacity .3s var(--ease);
}
.layout-archify .af-gate:hover .af-gate-in{border-color:var(--brand);box-shadow:0 0 32px rgba(0,181,120,.25)}
.layout-archify .af-gate-in{
  margin:0 0 14px 14px;padding:10px 16px;
  background:rgba(6,17,13,.82);border:1px solid rgba(0,181,120,.4);border-radius:10px;
  backdrop-filter:blur(8px);box-shadow:0 0 24px rgba(0,181,120,.12);
  transition:.25s var(--ease);
}
.layout-archify .af-gate-in b{display:block;font-size:15px;color:var(--paper);letter-spacing:.04em}
.layout-archify .af-gate-in span{display:block;margin-top:3px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted)}
.layout-archify .af-wrap:not(.live) .af-frame{pointer-events:none}

/* Archify 全屏展示层 */
.af-full{position:fixed;inset:0;z-index:80;display:none;flex-direction:column;background:rgba(4,12,9,.96);backdrop-filter:blur(10px)}
.af-full.open{display:flex}
.af-full-top{
  display:flex;align-items:center;gap:18px;
  padding:12px 20px;border-bottom:1px solid var(--line);
  font-family:var(--mono);
}
.af-full-title{font-size:15px;font-weight:700;color:var(--paper);letter-spacing:.06em;white-space:nowrap}
.af-full-keys{font-size:11px;letter-spacing:.1em;color:var(--faint);white-space:nowrap}
.af-tabs{flex:1;display:flex;gap:8px;justify-content:center;min-width:0}
.af-tab{
  font-family:var(--mono);font-size:12px;letter-spacing:.06em;
  color:var(--muted);background:rgba(234,243,238,.05);border:1px solid var(--line);border-radius:999px;
  padding:6px 14px;cursor:pointer;transition:.2s var(--ease);white-space:nowrap;
}
.af-tab:hover{border-color:var(--brand);color:var(--paper)}
.af-tab.cur{color:var(--ink);background:var(--brand);border-color:var(--brand);font-weight:700}
.af-full-x{
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;
  color:var(--paper);background:rgba(6,17,13,.85);border:1px solid rgba(255,122,69,.5);border-radius:8px;
  padding:7px 14px;cursor:pointer;white-space:nowrap;
}
.af-full-x:hover{border-color:var(--warn);color:var(--warn)}
.af-full-frame{flex:1;width:100%;border:0;background:#020617}

.df-box-hl{stroke:rgba(124,252,154,.45)}
.cf-band{fill:rgba(3,30,19,.92);stroke:rgba(0,181,120,.32);stroke-width:1}
.df-line-read{stroke:var(--neon);animation-duration:1.3s}
.df-ah-read{fill:var(--neon)}
.df-lm2{font-family:var(--mono);font-size:10px;letter-spacing:.06em}

/* s21 流程图：主线/分支/条件 */
.df-nt{font-size:12px;font-weight:700}
.df-ns{font-size:9px}
.df-bt2{font-size:11px;font-weight:700}
.cf-node{stroke:rgba(0,181,120,.32)}
.cf-dia{fill:rgba(255,193,7,.07);stroke:rgba(255,193,7,.6);stroke-width:1.4}
.cf-b{stroke-width:1.2}
.cf-b-warn{fill:rgba(255,157,92,.07);stroke:rgba(255,157,92,.5)}
.cf-b-mid{fill:rgba(255,193,7,.06);stroke:rgba(255,193,7,.5)}
.cf-b-bad{fill:rgba(255,92,92,.07);stroke:rgba(255,92,92,.55)}
.df-line-warn{stroke:#ff9d5c}
.df-line-mid{stroke:#ffc107}
.df-line-bad{stroke:#ff5c5c}
.df-ah-warn{fill:#ff9d5c}
.df-ah-mid{fill:#ffc107}
.df-ah-bad{fill:#ff5c5c}
.df-dot-warn{fill:#ff9d5c;filter:drop-shadow(0 0 5px rgba(255,157,92,.9))}
.df-dot-mid{fill:#ffc107;filter:drop-shadow(0 0 5px rgba(255,193,7,.9))}
.df-dot-bad{fill:#ff5c5c;filter:drop-shadow(0 0 5px rgba(255,92,92,.9))}
.df-w2{fill:#ff9d5c}
.df-mid2{fill:#ffc107}
.df-bad2{fill:#ff7a7a}
.cf-dot-brand{fill:#00B578}
.cf-dot-mid{fill:#ffc107}
.cf-dot-bad{fill:#ff5c5c}
.cf-dot-warn{fill:#ff9d5c}

/* ---------- s22 · 复盘字段标准（取数→计算→判断 流水线） ---------- */
.layout-recap-std{justify-content:flex-start;padding-top:clamp(72px,7.8vh,92px)}
.layout-recap-std .lede-sub{max-width:76em}
.rs-wrap{display:flex;flex-direction:column;gap:clamp(8px,1.2vh,12px);margin-top:clamp(10px,1.6vh,16px)}

/* 泳道 = 标签 + 取数 + 计算 + 判断 */
.rs-lane{display:grid;grid-template-columns:clamp(120px,10vw,150px) 1.25fr 34px 1fr 34px 1.05fr;align-items:stretch;gap:clamp(8px,1vw,12px);opacity:0;transform:translateY(10px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.screen.in .rs-lane{opacity:1;transform:none;transition-delay:calc(var(--rs-i) * 140ms + 120ms)}
.rs-lane-label{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:12px;border-radius:10px;border-left:3px solid var(--brand);background:rgba(0,181,120,.06)}
.rs-lane-1 .rs-lane-label{border-left-color:var(--neon);background:rgba(124,252,154,.05)}
.rs-lane-label b{font-size:clamp(15px,1.25vw,19px);color:var(--paper);font-weight:800}
.rs-lane-label small{font-size:clamp(10px,.8vw,12px);color:var(--muted)}
.rs-tag{font-family:var(--mono);font-size:8px;letter-spacing:.16em;color:var(--faint);margin-top:2px}

/* 步骤卡 */
.rs-step-c{display:flex;flex-direction:column;gap:5px;padding:clamp(8px,1.1vh,11px) clamp(10px,.9vw,14px);border:1px solid rgba(234,243,238,.1);border-radius:10px;background:linear-gradient(160deg,rgba(0,181,120,.05),rgba(0,0,0,.12))}
.rs-step-h{display:flex;align-items:center;gap:7px;margin-bottom:2px}
.rs-step-h i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--brand);color:var(--brand);font-family:var(--mono);font-size:10px;font-weight:800;font-style:normal}
.rs-step-h b{font-size:clamp(12px,.95vw,14px);color:var(--paper);font-weight:700}
.rs-step-h small{font-family:var(--mono);font-size:8px;letter-spacing:.12em;color:var(--faint)}
.rs-arr{display:flex;align-items:center;justify-content:center;color:var(--brand);font-size:clamp(16px,1.4vw,20px);text-shadow:0 0 12px rgba(0,181,120,.6)}

/* 取数槽 */
.rs-slot{border:1px solid rgba(0,181,120,.2);border-radius:7px;background:rgba(0,181,120,.06);padding:4px 8px}
.rs-sk{display:flex;justify-content:space-between;align-items:baseline}
.rs-sk span{font-size:clamp(10px,.85vw,12px);color:var(--paper);font-weight:600}
.rs-sk em{font-style:normal;font-family:var(--mono);font-size:clamp(11px,.9vw,14px);font-weight:800;color:var(--neon)}
.rs-src{margin-top:3px;font-family:var(--mono);font-size:clamp(8px,.68vw,10px);color:var(--faint);line-height:1.3}

/* 计算式 */
.rs-fbox{font-family:var(--mono);font-size:clamp(9px,.75vw,10.5px);color:var(--neon);background:rgba(124,252,154,.06);border:1px dashed rgba(124,252,154,.3);border-radius:6px;padding:5px 9px;line-height:1.4}

/* 判断卡 */
.rs-judge{align-items:flex-start}
.rs-judge-ok{border-color:rgba(124,252,154,.35)}
.rs-judge-warn{border-color:rgba(255,157,92,.4)}
.rs-big{font-family:var(--mono);font-size:clamp(22px,1.9vw,29px);font-weight:800;color:var(--neon);line-height:1.05;text-shadow:0 0 18px rgba(124,252,154,.35)}
.rs-judge-warn .rs-big{color:#ff9d5c;text-shadow:0 0 18px rgba(255,157,92,.3)}
.rs-verdict{display:inline-block;padding:4px 10px;border-radius:99px;font-size:clamp(10px,.8vw,12px);font-weight:700}
.rs-verdict-ok{color:var(--neon);border:1px solid rgba(124,252,154,.45);background:rgba(124,252,154,.1)}
.rs-verdict-warn{color:#ff9d5c;border:1px solid rgba(255,157,92,.5);background:rgba(255,157,92,.1)}
.rs-rules{font-size:clamp(9px,.72vw,10px);color:var(--faint);line-height:1.4}

/* 段标题 */
.rs-sec-h{display:flex;align-items:center;gap:10px;margin-top:clamp(4px,.8vh,8px)}
.rs-sec-h i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:rgba(0,181,120,.15);border:1px solid rgba(0,181,120,.4);color:var(--neon);font-family:var(--mono);font-size:10px;font-weight:800;font-style:normal}
.rs-sec-h b{font-size:clamp(13px,1.05vw,16px);color:var(--paper);font-weight:800}
.rs-sec-h small{font-size:clamp(9px,.75vw,11px);color:var(--muted)}

/* ① 统一 */
.rs-unify{display:grid;grid-template-columns:1fr 34px 1fr;align-items:stretch;gap:clamp(8px,1vw,12px)}
.rs-u-box{padding:clamp(10px,1.3vh,14px) clamp(12px,1.1vw,16px);border-radius:10px}
.rs-u-box>b{display:block;font-size:clamp(12px,.95vw,14px);font-weight:700;margin-bottom:8px}
.rs-u-before{border:1px solid rgba(255,122,69,.35);background:linear-gradient(150deg,rgba(255,122,69,.08),rgba(0,0,0,.12))}
.rs-u-before>b{color:#ff9d5c}
.rs-u-after{border:1px solid rgba(124,252,154,.4);background:linear-gradient(150deg,rgba(124,252,154,.1),rgba(0,0,0,.12))}
.rs-u-after>b{color:var(--neon)}
.rs-u-chips{display:flex;flex-wrap:wrap;gap:6px}
.rs-u-chips span{padding:4px 10px;border-radius:5px;font-size:clamp(10px,.8vw,12px);line-height:1.2}
.rs-u-before .rs-u-chips span{background:rgba(255,122,69,.1);border:1px solid rgba(255,122,69,.25);color:var(--paper)}
.rs-u-after .rs-u-chips span{background:rgba(124,252,154,.12);border:1px solid rgba(124,252,154,.4);color:var(--neon);font-weight:700}
.rs-u-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--brand);font-size:clamp(18px,1.5vw,22px);text-shadow:0 0 12px rgba(0,181,120,.6)}
.rs-u-arrow i{font-style:normal;font-size:clamp(9px,.72vw,10.5px);font-weight:700;letter-spacing:.2em;color:var(--neon)}
/* ① 统一：后果 / 两块 / 收益 */
.rs-u-cons{margin-top:9px;padding-top:8px;border-top:1px dashed rgba(255,122,69,.35);font-size:clamp(10.5px,.85vw,12.5px);font-weight:800;letter-spacing:.12em;color:#ff7a45;text-shadow:0 0 10px rgba(255,122,69,.4)}
.rs-u-q{font-size:clamp(10px,.8vw,11.5px);color:var(--muted);margin:-2px 0 8px}
.rs-u-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rs-u-chip{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:7px;position:relative}
.rs-u-chip b{font-size:clamp(12px,.95vw,14px);font-weight:800}
.rs-u-chip em{font-style:normal;font-size:clamp(10px,.8vw,11.5px)}
.rs-u-chip i{position:absolute;top:7px;right:9px;font-style:normal;font-size:8.5px;letter-spacing:.12em;padding:2px 6px;border-radius:3px}
.rs-c1{background:rgba(0,181,120,.1);border:1px solid rgba(0,181,120,.45)}
.rs-c1 b,.rs-c1 em{color:var(--paper)}
.rs-c1 i{background:rgba(0,181,120,.2);color:var(--brand)}
.rs-c2{background:rgba(230,193,92,.09);border:1px solid rgba(230,193,92,.45)}
.rs-c2 b,.rs-c2 em{color:var(--paper)}
.rs-c2 i{background:rgba(230,193,92,.18);color:#e6c15c}
.rs-u-pros{margin-top:9px;padding-top:8px;border-top:1px dashed rgba(124,252,154,.35);font-size:clamp(10.5px,.85vw,12.5px);font-weight:800;letter-spacing:.12em;color:var(--neon);text-shadow:0 0 10px rgba(124,252,154,.4)}
.rs-role{margin-left:auto;font-size:9px;letter-spacing:.14em;padding:2px 7px;border-radius:3px;font-weight:700}
.rs-role-0{background:rgba(0,181,120,.16);color:var(--brand);border:1px solid rgba(0,181,120,.4)}
.rs-role-1{background:rgba(230,193,92,.14);color:#e6c15c;border:1px solid rgba(230,193,92,.4)}
.rs-auto-cap{display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(124,252,154,.3);border-radius:8px;background:rgba(124,252,154,.05);font-size:clamp(10px,.82vw,12px);font-weight:600;color:var(--neon)}
.rs-cap-pulse{flex:none;width:7px;height:7px;border-radius:50%;background:var(--neon);box-shadow:0 0 8px rgba(124,252,154,.9);animation:df-led 1.8s ease-in-out infinite}

/* ③ 自动化链 */
.rs-auto{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;align-items:stretch;gap:clamp(6px,.8vw,10px)}
.rs-auto-c{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:clamp(8px,1.1vh,12px) clamp(10px,.9vw,14px);border:1px solid rgba(0,181,120,.28);border-radius:9px;background:rgba(0,181,120,.06)}
.rs-auto-c b{font-size:clamp(11px,.9vw,13px);color:var(--paper);font-weight:700}
.rs-auto-c small{font-size:clamp(8px,.7vw,10px);color:var(--muted);line-height:1.35}
@media (max-width:720px){.rs-lane,.rs-unify,.rs-auto{grid-template-columns:1fr}.rs-arr,.rs-u-arrow{transform:rotate(90deg)}}

/* ---------- s01i · 自我介绍（效率先锋个人页） ---------- */
.layout-speaker{justify-content:center}
.sp-wrap{display:grid;grid-template-columns:minmax(260px,.72fr) 1.4fr;gap:clamp(24px,3vw,44px);align-items:center;margin-top:clamp(8px,1.5vh,16px)}

/* 照片卡 · 赛博朋克 HUD */
.sp-photo{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(124,252,154,.45);box-shadow:0 24px 60px rgba(0,0,0,.4),0 0 34px rgba(124,252,154,.14),inset 0 0 44px rgba(0,181,120,.1);opacity:0;transform:translateX(-16px);transition:opacity .6s var(--ease),transform .6s var(--ease);
background-image:radial-gradient(ellipse 72% 56% at 50% 40%,rgba(124,252,154,.17),transparent 70%),radial-gradient(ellipse 90% 40% at 50% 108%,rgba(0,181,120,.2),transparent 65%),linear-gradient(rgba(124,252,154,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(124,252,154,.07) 1px,transparent 1px),linear-gradient(160deg,#05180e,#020a06);
background-size:auto,auto,34px 34px,34px 34px,auto}
.screen.in .sp-photo{opacity:1;transform:none}
.sp-photo img{position:relative;z-index:2;width:100%;display:block;filter:drop-shadow(0 8px 30px rgba(124,252,154,.28)) saturate(1.05)}
.sp-photo::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(124,252,154,.05) 0 1px,transparent 1px 4px)}
.sp-frame{position:absolute;inset:12px;z-index:3;pointer-events:none;opacity:.85;filter:drop-shadow(0 0 6px rgba(124,252,154,.65));
background:linear-gradient(var(--neon),var(--neon)) left top/26px 2px,linear-gradient(var(--neon),var(--neon)) left top/2px 26px,linear-gradient(var(--neon),var(--neon)) right top/26px 2px,linear-gradient(var(--neon),var(--neon)) right top/2px 26px,linear-gradient(var(--neon),var(--neon)) left bottom/26px 2px,linear-gradient(var(--neon),var(--neon)) left bottom/2px 26px,linear-gradient(var(--neon),var(--neon)) right bottom/26px 2px,linear-gradient(var(--neon),var(--neon)) right bottom/2px 26px;background-repeat:no-repeat}
.sp-scanbeam{position:absolute;left:0;right:0;top:-28%;height:26%;z-index:3;pointer-events:none;background:linear-gradient(rgba(124,252,154,0),rgba(124,252,154,.13),rgba(124,252,154,0));animation:spScan 3.8s linear infinite}
@keyframes spScan{0%{top:-28%}100%{top:112%}}
.sp-hud{position:absolute;top:18px;z-index:3;font-family:var(--mono);font-size:clamp(8px,.68vw,9.5px);letter-spacing:.18em;color:rgba(124,252,154,.8);text-shadow:0 0 9px rgba(124,252,154,.55);pointer-events:none}
.sp-hud.a{left:20px}.sp-hud.b{right:20px}
.sp-hud.a::after{content:'▮';margin-left:6px;animation:spHudBlink 1.1s steps(2) infinite}
@keyframes spHudBlink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.sp-scanbeam,.sp-hud.a::after{animation:none}}
.sp-badge{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:clamp(14px,2vh,20px) clamp(14px,1.2vw,18px);background:linear-gradient(transparent,rgba(3,22,14,.94));display:flex;flex-direction:column;gap:3px}
.sp-badge b{font-size:clamp(20px,1.8vw,27px);color:var(--paper);font-weight:800}
.sp-badge span{font-size:clamp(10px,.85vw,12px);color:var(--muted)}
.sp-badge em{align-self:flex-start;font-style:normal;font-family:var(--mono);font-size:clamp(9px,.72vw,10px);letter-spacing:.1em;color:var(--neon);border:1px solid rgba(124,252,154,.45);border-radius:99px;padding:2px 9px;margin-top:3px}

/* 右侧主体 */
.sp-main{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease) .15s,transform .6s var(--ease) .15s;min-width:0}
.screen.in .sp-main{opacity:1;transform:none}
.sp-title{font-size:clamp(24px,2.4vw,38px);letter-spacing:-.03em;line-height:1.2;color:var(--paper);font-weight:800}
.sp-intro{margin-top:clamp(8px,1.2vh,12px);font-size:clamp(11px,.92vw,14px);color:var(--muted);line-height:1.6;max-width:56em}
.sp-stats{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1vw,12px);margin-top:clamp(14px,2vh,20px)}
.sp-stat{display:flex;flex-direction:column;gap:3px;padding:clamp(10px,1.5vh,15px) clamp(12px,1.1vw,16px);border:1px solid rgba(0,181,120,.22);border-radius:10px;background:linear-gradient(150deg,rgba(0,181,120,.07),rgba(0,0,0,.12))}
.sp-stat em{font-style:normal;font-family:var(--mono);font-size:clamp(17px,1.5vw,23px);font-weight:800;color:var(--neon);letter-spacing:-.01em}
.sp-stat span{font-size:clamp(9px,.75vw,11px);color:var(--muted);line-height:1.4}
.sp-laurels{display:flex;flex-wrap:wrap;gap:clamp(10px,1.4vh,16px) clamp(10px,1.2vw,20px);margin-top:clamp(14px,2.2vh,22px);min-width:0}
.sp-laurel{flex:1 1 calc(50% - clamp(10px,1.2vw,20px));display:flex;align-items:center;justify-content:center;gap:0;padding:clamp(7px,1vh,10px) clamp(4px,.5vw,8px);border-radius:12px;background:radial-gradient(ellipse 80% 90% at 50% 62%,rgba(230,193,92,.09),transparent 72%);opacity:0;transform:translateY(10px) scale(.94);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.screen.in .sp-laurel{opacity:1;transform:none;transition-delay:calc(.45s + var(--lf-i) * .18s)}
.sp-laurel .lf{width:clamp(30px,2.5vw,40px);height:auto;color:#e6c15c;filter:drop-shadow(0 0 8px rgba(230,193,92,.55));flex-shrink:0}
.sp-laurel .lf-r{transform:scaleX(-1)}
.lf-t{display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 2px;text-align:center;min-width:0}
.lf-t b{font-size:clamp(10.5px,.88vw,13px);white-space:nowrap;color:#f3e9c8;font-weight:800;letter-spacing:.02em;line-height:1.35;text-shadow:0 0 14px rgba(230,193,92,.35)}
.lf-t small{font-size:clamp(9.5px,.8vw,11.5px);color:#c9b478;font-weight:600;letter-spacing:.08em}
@media (max-width:720px){.sp-laurels{flex-direction:column;align-items:flex-start}}
@media (max-width:720px){.sp-wrap{grid-template-columns:1fr}.sp-photo{max-width:300px}}

/* ---------- s04 · 公司/部门/业务 纵置三层 ---------- */
.layout-intro-trio{justify-content:flex-start;padding-top:clamp(88px,9.6vh,112px)}
.layout-intro-trio .lede-sub{max-width:76em}
.it-vwrap{display:flex;flex-direction:column;gap:clamp(2px,.4vh,4px);margin-top:clamp(14px,2vh,20px)}
.it-band{display:grid;grid-template-columns:clamp(140px,11.5vw,170px) 1fr;gap:clamp(10px,1.2vw,18px);align-items:stretch;padding:clamp(10px,1.5vh,16px) clamp(12px,1.2vw,18px);border:1px solid rgba(234,243,238,.1);border-radius:12px;background:linear-gradient(150deg,rgba(0,181,120,.05),rgba(0,0,0,.1));opacity:0;transform:translateY(12px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.screen.in .it-band{opacity:1;transform:none;transition-delay:calc(var(--it-i) * 140ms + 120ms)}
.it-axis{display:flex;flex-direction:column;justify-content:center;gap:3px;border-right:1px solid rgba(234,243,238,.08);padding-right:clamp(10px,1.2vw,18px)}
.it-k{font-family:var(--mono);font-size:clamp(9px,.75vw,11px);letter-spacing:.16em;color:var(--neon)}
.it-axis b{font-size:clamp(19px,1.6vw,25px);color:var(--paper);font-weight:800}
.it-axis small{font-size:clamp(10px,.82vw,12px);color:var(--muted)}
.it-down{display:flex;justify-content:center;color:var(--brand);font-size:clamp(10px,.9vw,13px);line-height:1;text-shadow:0 0 12px rgba(0,181,120,.6)}
.it-content{display:flex;flex-direction:column;justify-content:center;gap:clamp(6px,1vh,9px);min-width:0}

/* 公司：三句定位横排 */
.it-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(8px,1vw,12px)}
.it-card{display:flex;flex-direction:column;gap:4px;padding:clamp(9px,1.2vh,12px) clamp(11px,.95vw,14px);border:1px solid rgba(234,243,238,.1);border-left:3px solid var(--brand);border-radius:9px;background:rgba(234,243,238,.025)}
.it-card b{font-size:clamp(11px,.92vw,13.5px);color:var(--paper);font-weight:700;line-height:1.4}
.it-card small{font-size:clamp(9px,.75vw,11px);color:var(--muted);line-height:1.45}

/* 部门：三列 */
.it-dept{display:grid;grid-template-columns:.75fr 1.15fr 1.5fr;gap:clamp(10px,1.2vw,16px);align-items:stretch}
.it-dcol{display:flex;flex-direction:column;gap:6px;min-width:0}
.it-dlab{font-family:var(--mono);font-size:clamp(8px,.68vw,10px);letter-spacing:.14em;color:var(--faint)}
.it-chips-v{display:flex;flex-direction:column;gap:5px}
.it-chips-v span{text-align:center;padding:6px 8px;border-radius:6px;background:rgba(0,181,120,.12);border:1px solid rgba(0,181,120,.35);color:var(--neon);font-size:clamp(10px,.85vw,12.5px);font-weight:700}
.it-card-h{flex:1;justify-content:center}
.it-roles{display:flex;flex-wrap:wrap;gap:5px;align-content:flex-start}
.it-roles span{padding:3px 9px;border-radius:99px;background:rgba(234,243,238,.06);border:1px solid rgba(234,243,238,.12);font-size:clamp(9px,.72vw,10.5px);color:var(--muted)}
.it-foot{font-size:clamp(8px,.68vw,10px);color:var(--faint);line-height:1.4;margin-top:auto}

/* 业务：六模块横排 */
.it-def{font-size:clamp(10px,.85vw,12.5px);color:var(--paper);font-weight:600}
.it-mods6{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(5px,.7vw,8px)}
.it-mod{display:flex;flex-direction:column;gap:2px;padding:clamp(6px,.9vh,8px) clamp(8px,.8vw,10px);border:1px solid rgba(234,243,238,.09);border-radius:7px;background:rgba(234,243,238,.03);transition:border-color .2s}
.it-mod:hover{border-color:rgba(124,252,154,.3)}
.it-mno{font-family:var(--mono);font-size:clamp(10px,.8vw,12px);font-weight:800;color:var(--brand)}
.it-mod b{font-size:clamp(10px,.85vw,12.5px);color:var(--paper)}
.it-mod small{font-size:clamp(8px,.68vw,10px);color:var(--muted);line-height:1.3}
.it-strip{font-size:clamp(9px,.75vw,11px);color:var(--neon);border:1px solid rgba(124,252,154,.3);border-radius:7px;background:rgba(124,252,154,.06);padding:6px 10px;line-height:1.45}
@media (max-width:720px){.it-band{grid-template-columns:1fr}.it-axis{border-right:none;border-bottom:1px solid rgba(234,243,238,.08);padding-bottom:6px}.it-cards,.it-dept{grid-template-columns:1fr}.it-mods6{grid-template-columns:1fr 1fr}}

/* ---------- s25 · AI 报告输出体系 ---------- */
.layout-ai-reports{justify-content:center}
.ar-block{margin-top:clamp(12px,2vh,20px)}
.ar-lab{display:flex;align-items:baseline;gap:10px;margin-bottom:clamp(8px,1.2vh,12px)}
.ar-lab b{font-size:clamp(13px,1.05vw,16px);color:var(--paper);font-weight:800}
.ar-lab b::before{content:'';display:inline-block;width:8px;height:8px;margin-right:8px;border:1px solid var(--neon);transform:rotate(45deg);vertical-align:1px}
.ar-lab span{font-family:var(--mono);font-size:clamp(9px,.72vw,10.5px);letter-spacing:.12em;color:var(--faint)}
.ar-rhythm{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;align-items:stretch;gap:clamp(6px,.8vw,10px)}
.ar-step{position:relative;display:flex;flex-direction:column;gap:5px;padding:clamp(10px,1.5vh,14px) clamp(11px,1vw,15px) clamp(12px,1.6vh,16px);border:1px solid rgba(124,252,154,.24);border-radius:10px;background:linear-gradient(160deg,rgba(124,252,154,.06),rgba(0,0,0,.16));opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.screen.in .ar-step{opacity:1;transform:none;transition-delay:calc(var(--ar-i) * 130ms + 150ms)}
.ar-f{font-size:clamp(17px,1.5vw,23px);color:var(--paper);font-weight:800;line-height:1.1}
.ar-f small{display:block;margin-top:3px;font-family:var(--mono);font-size:clamp(8px,.66vw,9.5px);letter-spacing:.18em;color:var(--faint);font-weight:600}
.ar-form{align-self:flex-start;font-family:var(--mono);font-size:clamp(9px,.75vw,10.5px);letter-spacing:.08em;border-radius:99px;padding:2px 10px;font-weight:700}
.ar-fm1{color:var(--brand);border:1px solid rgba(0,181,120,.5);background:rgba(0,181,120,.08)}
.ar-fm2,.ar-fm3{color:var(--neon);border:1px solid rgba(124,252,154,.45);background:rgba(124,252,154,.07)}
.ar-fm4{color:#e6c15c;border:1px solid rgba(230,193,92,.55);background:rgba(230,193,92,.08);text-shadow:0 0 10px rgba(230,193,92,.4)}
.ar-desc{font-size:clamp(10px,.82vw,12px);color:var(--muted);line-height:1.45}
.ar-bar{position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:0 0 10px 10px;background:rgba(124,252,154,.08);overflow:hidden}
.ar-bar i{display:block;height:100%;width:calc(var(--dep) * 25%);background:linear-gradient(90deg,var(--brand),var(--neon));box-shadow:0 0 10px rgba(124,252,154,.55);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.screen.in .ar-bar i{transform:none;transition-delay:calc(var(--ar-i) * 130ms + 500ms)}
.ar-arr{display:flex;align-items:center;justify-content:center;color:var(--brand);font-family:var(--mono);font-size:clamp(13px,1.1vw,16px);text-shadow:0 0 12px rgba(0,181,120,.6)}
.screen.in .ar-arr{animation:gvArr 2.1s ease-in-out infinite}
.ar-pipe{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;align-items:stretch;gap:clamp(6px,.8vw,10px)}
.ar-st{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:clamp(9px,1.3vh,12px) clamp(11px,1vw,15px);border:1px solid rgba(0,181,120,.28);border-radius:9px;background:rgba(0,181,120,.06);opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.screen.in .ar-st{opacity:1;transform:none;transition-delay:calc(var(--ar-i) * 150ms + 700ms)}
.ar-st em{font-style:normal;font-family:var(--mono);font-size:clamp(8px,.66vw,9.5px);letter-spacing:.16em;color:var(--faint)}
.ar-st em::before{content:'STAGE '}
.ar-st b{font-size:clamp(12px,1vw,14.5px);color:var(--paper);font-weight:700}
.ar-st span{font-size:clamp(9px,.74vw,11px);color:var(--muted);line-height:1.4}
@media (max-width:720px){.ar-rhythm,.ar-pipe{grid-template-columns:1fr}.ar-arr{transform:rotate(90deg)}}

/* ---------- s26 · H1 深度报告实例 ---------- */
.layout-ai-case{justify-content:center}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.4vw,20px);margin-top:clamp(12px,2vh,20px)}
.ac-card{display:flex;flex-direction:column;gap:clamp(7px,1.1vh,11px);padding:clamp(13px,1.9vh,19px) clamp(14px,1.3vw,20px);border:1px solid rgba(124,252,154,.26);border-radius:14px;background:linear-gradient(155deg,rgba(124,252,154,.05),rgba(0,0,0,.2));opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.screen.in .ac-card{opacity:1;transform:none;transition-delay:calc(var(--ac-i) * 160ms + 150ms)}
.ac-head{display:flex;align-items:center;gap:10px}
.ac-head b{font-size:clamp(15px,1.3vw,19px);color:var(--paper);font-weight:800}
.ac-head span{font-family:var(--mono);font-size:clamp(8.5px,.7vw,10px);letter-spacing:.14em;color:#e6c15c;border:1px solid rgba(230,193,92,.5);border-radius:99px;padding:2px 9px}
.ac-head a{margin-left:auto;font-size:clamp(10px,.8vw,11.5px);color:var(--brand);text-decoration:none;border-bottom:1px solid rgba(0,181,120,.35);padding-bottom:1px}
.ac-head a:hover{color:var(--neon);border-color:var(--neon)}
.ac-amt{font-family:var(--mono);font-size:clamp(30px,2.8vw,42px);font-weight:800;color:var(--neon);letter-spacing:-.02em;line-height:1;text-shadow:0 0 22px rgba(124,252,154,.35)}
.ac-amt small{font-size:clamp(11px,.9vw,13px)}
.ac-amt>small.ac-scale{display:block;margin-top:5px;font-size:clamp(9px,.74vw,10.5px);color:var(--faint);letter-spacing:.08em;font-weight:600}
.ac-verdict{font-size:clamp(11px,.92vw,13.5px);color:var(--paper);line-height:1.5;font-weight:600;border-left:2px solid #e6c15c;padding-left:10px}
.ac-holes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(6px,.7vw,9px)}
.ac-hole{display:flex;flex-direction:column;gap:2px;padding:clamp(7px,1vh,9px) clamp(8px,.8vw,11px);border:1px solid rgba(255,157,92,.3);border-radius:8px;background:rgba(255,157,92,.05);opacity:0;transform:scale(.9);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.screen.in .ac-hole{opacity:1;transform:none;transition-delay:calc(var(--ac-i) * 160ms + var(--ac-j) * 110ms + 450ms)}
.ac-hole em{font-style:normal;font-family:var(--mono);font-size:clamp(13px,1.15vw,17px);font-weight:800;color:#ff9d5c}
.ac-hole span{font-size:clamp(8.5px,.7vw,10px);color:var(--muted);line-height:1.35}
.ac-engine{font-size:clamp(10.5px,.85vw,12.5px);color:var(--neon);font-weight:700;border:1px solid rgba(124,252,154,.32);border-radius:8px;background:rgba(124,252,154,.06);padding:6px 11px;align-self:flex-start}
.ac-std{display:flex;align-items:center;gap:clamp(6px,.7vw,9px);margin-top:clamp(14px,2.2vh,22px);flex-wrap:wrap}
.ac-std-lab{font-size:clamp(11px,.9vw,13px);color:var(--paper);font-weight:800;margin-right:6px}
.ac-std-lab::before{content:'';display:inline-block;width:8px;height:8px;margin-right:8px;border:1px solid var(--neon);transform:rotate(45deg);vertical-align:1px}
.ac-std-n{border:1px solid rgba(0,181,120,.45);border-radius:7px;padding:5px 12px;color:var(--neon);font-weight:800;font-size:clamp(11px,.9vw,13px);background:rgba(0,181,120,.1);opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.screen.in .ac-std-n{opacity:1;transform:none;transition-delay:calc(var(--ar-i) * 140ms + 800ms)}
.ac-std-note{margin-top:clamp(8px,1.2vh,12px);font-size:clamp(10px,.82vw,12px);color:var(--muted);line-height:1.5}
.ac-std-note::before{content:'▸ ';color:var(--neon)}
@media (max-width:720px){.ac-grid{grid-template-columns:1fr}.ac-holes{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.screen.in .ar-arr{animation:none}.ar-step,.ar-st,.ac-card,.ac-hole,.ac-std-n,.ar-bar i{transition:none}}

/* ---------- s26 · H1 报告的 AI 产线 ---------- */
.layout-ai-process{justify-content:center}
.ap-pipe{display:grid;grid-template-columns:1fr 18px 1fr 18px 1fr 18px 1fr 18px 1fr;align-items:stretch;gap:clamp(5px,.6vw,8px);margin-top:clamp(12px,1.8vh,18px)}
.ap-st{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:clamp(9px,1.3vh,13px) clamp(10px,.9vw,14px);border:1px solid rgba(0,181,120,.3);border-radius:10px;background:linear-gradient(155deg,rgba(0,181,120,.08),rgba(0,0,0,.14));opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.screen.in .ap-st{opacity:1;transform:none;transition-delay:calc(var(--ar-i) * 140ms + 150ms)}
.ap-st em{font-style:normal;font-family:var(--mono);font-size:clamp(8px,.66vw,9.5px);letter-spacing:.16em;color:var(--neon)}
.ap-st b{font-size:clamp(12.5px,1.05vw,15px);color:var(--paper);font-weight:800}
.ap-st span{font-size:clamp(9px,.74vw,11px);color:var(--muted);line-height:1.45}
.ap-map{margin-top:clamp(14px,2.2vh,22px)}
.ap-map-lab{display:flex;align-items:baseline;gap:10px;margin-bottom:clamp(8px,1.2vh,12px)}
.ap-map-lab b{font-size:clamp(13px,1.05vw,16px);color:var(--paper);font-weight:800}
.ap-map-lab b::before{content:'';display:inline-block;width:8px;height:8px;margin-right:8px;border:1px solid var(--neon);transform:rotate(45deg);vertical-align:1px}
.ap-map-lab span{font-family:var(--mono);font-size:clamp(9px,.72vw,10.5px);letter-spacing:.12em;color:var(--faint)}
.ap-map-row{display:grid;grid-template-columns:1fr minmax(160px,.26fr) 30px minmax(150px,.24fr);align-items:stretch;gap:clamp(8px,1vw,14px)}
.ap-groups{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(6px,.8vw,10px)}
.ap-tg{display:flex;flex-direction:column;gap:6px;padding:clamp(8px,1.1vh,11px) clamp(9px,.8vw,12px);border:1px solid rgba(255,193,7,.28);border-radius:10px;background:rgba(255,193,7,.04);opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.screen.in .ap-tg{opacity:1;transform:none;transition-delay:calc(var(--ar-i) * 130ms + 600ms)}
.ap-tg>b{font-size:clamp(10.5px,.88vw,12.5px);color:#e6c15c;font-weight:800;letter-spacing:.03em}
.ap-tabs{display:flex;flex-direction:column;gap:4px}
.ap-tabs span{font-family:var(--mono);font-size:clamp(8.5px,.7vw,10px);color:var(--muted);border:1px solid rgba(234,243,238,.12);border-radius:5px;padding:2.5px 7px;line-height:1.35;background:rgba(234,243,238,.02)}
.ap-map-arr{display:flex;align-items:center;justify-content:center;color:#e6c15c;font-family:var(--mono);font-size:clamp(15px,1.3vw,19px);text-shadow:0 0 14px rgba(230,193,92,.6)}
.screen.in .ap-map-arr{animation:gvArr 2.1s ease-in-out infinite}
.ap-chain{display:flex;flex-direction:column;justify-content:center;gap:5px}
.ap-cn{border:1px solid rgba(124,252,154,.45);border-radius:7px;padding:5px 12px;color:var(--neon);font-weight:800;font-size:clamp(10.5px,.88vw,12.5px);background:rgba(124,252,154,.08);text-align:center;opacity:0;transform:translateX(10px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.screen.in .ap-cn{opacity:1;transform:none;transition-delay:calc(var(--ar-i) * 130ms + 1050ms)}
.ap-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:clamp(14px,2.2vh,22px);flex-wrap:wrap}
.ap-disc{display:flex;gap:clamp(6px,.8vw,10px);flex-wrap:wrap}
.ap-disc span{font-family:var(--mono);font-size:clamp(9.5px,.78vw,11px);font-weight:700;color:var(--paper);border:1px solid rgba(124,252,154,.4);border-radius:99px;padding:4px 13px;background:rgba(124,252,154,.06)}
.ap-disc span::before{content:'◆ ';color:var(--neon)}
.ap-links{display:flex;gap:clamp(10px,1.2vw,18px);flex-wrap:wrap}
.ap-links a{font-size:clamp(10px,.82vw,12px);color:var(--brand);text-decoration:none;border-bottom:1px solid rgba(0,181,120,.35);padding-bottom:1px}
.ap-links a:hover{color:var(--neon);border-color:var(--neon)}
@media (max-width:720px){.ap-pipe{grid-template-columns:1fr}.ap-map-row{grid-template-columns:1fr}.ap-groups{grid-template-columns:1fr 1fr}.ap-map-arr{transform:rotate(90deg)}}
@media (prefers-reduced-motion:reduce){.screen.in .ap-map-arr{animation:none}.ap-st,.ap-tg,.ap-cn{transition:none}}

/* ---------- s26 产线感强化：传送轨 + LED + 皮带线 ---------- */
.ap-track{position:relative;margin-top:clamp(12px,1.8vh,18px)}
.ap-track .ap-pipe{position:relative;z-index:2;margin-top:0}
.ap-track .ap-st{background:linear-gradient(155deg,rgba(0,181,120,.08),rgba(0,0,0,.14)),#071510}
.ap-track::before{content:'';position:absolute;left:-1.5%;right:-1.5%;top:50%;height:2px;transform:translateY(-1px);z-index:1;background:linear-gradient(90deg,rgba(0,181,120,.06),rgba(0,181,120,.4) 12%,rgba(0,181,120,.4) 88%,rgba(0,181,120,.06));box-shadow:0 0 14px rgba(0,181,120,.3)}
.ap-track::after{content:'';position:absolute;left:-1.5%;right:-1.5%;top:calc(50% + 5px);height:1px;z-index:1;background:repeating-linear-gradient(90deg,rgba(0,181,120,.35) 0 6px,transparent 6px 14px);animation:apBelt 1.1s linear infinite;opacity:.7}
.ap-pulse{position:absolute;top:50%;left:0;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;z-index:1;background:var(--neon);box-shadow:0 0 10px rgba(124,252,154,.9),0 0 22px rgba(124,252,154,.45);animation:apFlow 5.2s linear infinite}
.ap-pulse.p2{animation-delay:-1.73s}.ap-pulse.p3{animation-delay:-3.47s}
@keyframes apFlow{0%{left:-1%;opacity:0}6%{opacity:1}94%{opacity:1}100%{left:100.5%;opacity:0}}
@keyframes apBelt{to{background-position:14px 0}}
/* 工位机床感：LED + 铆钉角 */
.ap-st{overflow:hidden}
.ap-st::before{content:'';position:absolute;top:7px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--neon);box-shadow:0 0 8px rgba(124,252,154,.9);animation:apLed 1.7s steps(2) infinite;animation-delay:calc(var(--ar-i,0) * .35s)}
@keyframes apLed{50%{opacity:.15}}
.ap-st::after{content:'';position:absolute;inset:4px;pointer-events:none;opacity:.5;background:linear-gradient(rgba(124,252,154,.6),rgba(124,252,154,.6)) left top/10px 1px,linear-gradient(rgba(124,252,154,.6),rgba(124,252,154,.6)) left top/1px 10px,linear-gradient(rgba(124,252,154,.6),rgba(124,252,154,.6)) left bottom/10px 1px,linear-gradient(rgba(124,252,154,.6),rgba(124,252,154,.6)) left bottom/1px 10px,linear-gradient(rgba(124,252,154,.6),rgba(124,252,154,.6)) right top/10px 1px,linear-gradient(rgba(124,252,154,.6),rgba(124,252,154,.6)) right top/1px 10px,linear-gradient(rgba(124,252,154,.6),rgba(124,252,154,.6)) right bottom/10px 1px,linear-gradient(rgba(124,252,154,.6),rgba(124,252,154,.6)) right bottom/1px 10px;background-repeat:no-repeat}
.ap-st{position:relative}
/* 弹药库传送带 */
.ap-map-row{position:relative}
.ap-belt{position:absolute;left:-1%;right:-1%;bottom:-8px;height:2px;z-index:1;background:repeating-linear-gradient(90deg,rgba(230,193,92,.5) 0 8px,transparent 8px 18px);animation:apBeltG 1.3s linear infinite}
@keyframes apBeltG{to{background-position:18px 0}}
/* 章节链到位扫描 */
.ap-cn{position:relative;overflow:hidden}
.ap-cn::after{content:'';position:absolute;top:0;bottom:0;width:34%;left:-40%;background:linear-gradient(90deg,transparent,rgba(124,252,154,.12),transparent);animation:apCnScan 3.4s ease-in-out infinite;animation-delay:calc(var(--ar-i,0) * .5s + 1.2s)}
@keyframes apCnScan{0%{left:-40%}55%,100%{left:110%}}
@media (prefers-reduced-motion:reduce){.ap-track::after,.ap-pulse,.ap-st::before,.ap-belt,.ap-cn::after{animation:none}}

/* ---------- s26 · AI 处理舱 ---------- */
.ap-ai{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:clamp(9px,1.2vh,12px) clamp(10px,.9vw,13px);border:1px solid rgba(124,252,154,.55);border-radius:12px;background:rgba(124,252,154,.05);box-shadow:inset 0 0 26px rgba(124,252,154,.1),0 0 22px rgba(124,252,154,.1);opacity:0;transform:scale(.92);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.screen.in .ap-ai{opacity:1;transform:none;transition-delay:.95s}
.ap-ai-core{display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:2px}
.ap-ai-core i{width:15px;height:15px;border-radius:50%;border:2px solid rgba(124,252,154,.3);border-top-color:var(--neon);animation:apSpin 1.5s linear infinite}
@keyframes apSpin{to{transform:rotate(360deg)}}
.ap-ai-core b{font-family:var(--mono);font-size:clamp(13px,1.1vw,16px);font-weight:800;color:var(--neon);text-shadow:0 0 14px rgba(124,252,154,.6);letter-spacing:.06em}
.ap-ai-core span{font-family:var(--mono);font-size:clamp(8px,.66vw,9px);letter-spacing:.16em;color:var(--faint)}
.ap-ai-st{border-left:2px solid var(--neon);padding:3px 9px;background:rgba(124,252,154,.05);border-radius:0 5px 5px 0;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.screen.in .ap-ai-st{opacity:1;transform:none;transition-delay:calc(1.25s + var(--ar-i,0) * .16s)}
.ap-ai-st b{font-size:clamp(10.5px,.85vw,12px);color:var(--paper);font-weight:700}
.ap-ai-st span{display:block;font-size:clamp(8.5px,.7vw,10px);color:var(--muted);line-height:1.4}
@media (prefers-reduced-motion:reduce){.ap-ai-core i{animation:none}}
@media (max-width:720px){.ap-map-row{grid-template-columns:1fr}}

/* ---------- s03 · 导图总纲（思维导图式 · 横向满幅） ---------- */
.layout-mindmap{justify-content:center}
.mm{position:relative;margin-top:clamp(4px,.8vh,8px);padding-left:clamp(20px,2vw,30px)}
.mm-root{display:inline-block;margin-bottom:clamp(6px,1vh,10px);opacity:0;transform:translateY(-8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.screen.in .mm-root{opacity:1;transform:none}
.mm-root span{font-family:var(--mono);font-size:clamp(11px,.92vw,13.5px);font-weight:800;letter-spacing:.06em;color:var(--paper);border:1px solid rgba(124,252,154,.5);border-radius:9px;padding:7px 16px;background:linear-gradient(150deg,rgba(124,252,154,.14),rgba(0,181,120,.05));box-shadow:0 0 20px rgba(124,252,154,.16)}
.mm-spine{position:absolute;left:clamp(6px,.7vw,10px);top:clamp(46px,7vh,60px);bottom:6px;width:2px;background:linear-gradient(rgba(124,252,154,.7),rgba(0,181,120,.25));border-radius:2px;box-shadow:0 0 10px rgba(124,252,154,.35);transform:scaleY(0);transform-origin:top;transition:transform .9s var(--ease) .2s}
.screen.in .mm-spine{transform:none}
.mm-part{position:relative;display:grid;grid-template-columns:clamp(225px,19vw,290px) 1fr;gap:clamp(10px,1.2vw,18px);align-items:stretch;padding:clamp(3px,.6vh,6px) 0 clamp(3px,.6vh,6px) clamp(24px,2.2vw,34px);opacity:0;transform:translateX(-10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.screen.in .mm-part{opacity:1;transform:none;transition-delay:calc(.3s + var(--mm-i) * .16s)}
.mm-part::before{content:'';position:absolute;left:calc(clamp(6px,.7vw,10px) - clamp(20px,2vw,30px));top:50%;width:calc(clamp(24px,2.2vw,34px) + clamp(6px,.7vw,10px) - clamp(20px,2vw,30px) + 14px);height:2px;background:linear-gradient(90deg,rgba(124,252,154,.6),rgba(124,252,154,.15))}
.mm-ph{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;border:1px solid rgba(124,252,154,.32);border-radius:12px;padding:clamp(7px,1vh,10px) clamp(10px,.9vw,13px);background:linear-gradient(150deg,rgba(124,252,154,.09),rgba(0,0,0,.18))}
.mm-ph em{font-style:normal;font-family:var(--mono);font-size:clamp(8.5px,.7vw,10px);letter-spacing:.16em;color:var(--neon);border:1px solid rgba(124,252,154,.45);border-radius:99px;padding:2px 9px;background:rgba(124,252,154,.07)}
.mm-ph b{font-size:clamp(16px,1.35vw,20px);color:var(--paper);font-weight:800;letter-spacing:-.01em}
.mm-en{font-family:var(--mono);font-size:clamp(8px,.68vw,9.5px);letter-spacing:.18em;color:var(--faint)}
.mm-range{margin-top:2px;font-style:normal;font-family:var(--mono);font-size:clamp(8.5px,.72vw,10px);letter-spacing:.1em;color:var(--brand);border:1px dashed rgba(0,181,120,.45);border-radius:6px;padding:2px 8px}
.mm-items{position:relative;display:flex;flex-direction:row;align-items:stretch;gap:clamp(8px,1vw,14px);margin-top:0;padding-left:clamp(14px,1.4vw,20px)}
.mm-items::before{content:'';position:absolute;left:0;top:50%;width:clamp(14px,1.4vw,20px);height:2px;background:linear-gradient(90deg,rgba(0,181,120,.55),rgba(0,181,120,.18))}
.mm-item{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;border:1px solid rgba(234,243,238,.12);border-left:2px solid var(--brand);border-radius:9px;padding:clamp(6px,.9vh,9px) clamp(9px,.8vw,12px);background:rgba(234,243,238,.025);opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.screen.in .mm-item{opacity:1;transform:none;transition-delay:calc(.45s + var(--mm-i) * .16s + var(--mm-j) * .1s)}
.mm-item b{font-size:clamp(12px,1vw,14.5px);color:var(--neon);font-weight:700}
.mm-item span{font-size:clamp(10px,.84vw,12.5px);color:var(--muted);line-height:1.45}
@media (max-width:720px){.mm-part{grid-template-columns:1fr}.mm-items{flex-direction:column}.mm-items::before{display:none}}
@media (prefers-reduced-motion:reduce){.mm-spine{transition:none}.mm-root,.mm-part,.mm-item{transition:none}}}

/* ============ s27 前台·三源汇成作战看板（frontDash，fd-） ============ */
.fd-srcbox{stroke-width:1.2}
.fd-a1{stroke:rgba(0,181,120,.5)}
.fd-a2{stroke:rgba(230,193,92,.5)}
.fd-a3{stroke:rgba(124,252,154,.5)}
.fd-no{font-size:13px;font-weight:800;font-family:'Fira Code',monospace}
.fd-c1{fill:var(--brand)}
.fd-c2{fill:#e6c15c}
.fd-c3{fill:var(--neon)}
.fd-tag{font-size:14.5px;font-weight:700}
.fd-en{font-size:9.5px;letter-spacing:1.5px}
.fd-desc{font-size:10.5px}
.fd-tbl{fill:rgba(234,243,238,.04);stroke:rgba(234,243,238,.1);stroke-width:.6}
.fd-tname{fill:var(--paper);font-size:10.5px}
.fd-trows{fill:var(--neon);font-size:10px;font-family:'Fira Code',monospace}
.fd-feed{stroke-width:1.4}
.fd-hubbox{fill:rgba(0,181,120,.05);stroke:rgba(0,181,120,.45);stroke-width:1.4}
.fd-core{fill:rgba(0,181,120,.18);stroke:var(--brand);stroke-width:1.6}
.fd-core-p{fill:none;stroke:var(--neon);stroke-width:1.4}
.fd-core-t{fill:var(--neon);font-size:15px;font-weight:800}
.fd-hubname{font-size:17px;font-weight:800}
.fd-dims{fill:var(--muted);font-size:11px;font-family:'Fira Code',monospace}
.fd-linkb{fill:rgba(124,252,154,.08);stroke:rgba(124,252,154,.35);stroke-width:.8}
.fd-linkt{fill:var(--neon);font-size:10px;font-weight:600}
.fd-flab{font-size:9.5px;letter-spacing:1.5px}
.fd-fbox{fill:rgba(234,243,238,.03);stroke:rgba(230,193,92,.35);stroke-width:.9}
.fd-fk{font-size:12.5px;font-weight:700}
.fd-fv{fill:#e6c15c;font-size:10.5px;font-family:'Fira Code',monospace}
.fd-hnote{font-size:10px}
.fd-dashbox{fill:rgba(124,252,154,.03);stroke:rgba(124,252,154,.4);stroke-width:1.4}
.fd-dname{font-size:13.5px;font-weight:700}
.fd-sim{fill:rgba(230,193,92,.1);stroke:rgba(230,193,92,.5);stroke-width:.8}
.fd-simt{fill:#e6c15c;font-size:9.5px;font-weight:700;letter-spacing:1px}
.fd-kbox{fill:rgba(0,181,120,.07);stroke:rgba(0,181,120,.3);stroke-width:.8}
.fd-kv{font-size:14px;font-weight:800;font-family:'Fira Code',monospace}
.fd-kk{fill:var(--muted);font-size:9px}
.fd-tbox{fill:rgba(234,243,238,.03);stroke:rgba(234,243,238,.1);stroke-width:.8}
.fd-tbar{fill:var(--brand)}
.fd-tt{font-size:12px;font-weight:700}
.fd-tl{fill:var(--muted);font-size:10px}
.fd-loopt{font-size:11px}
/* 入场错峰 */
.anim .fd-src,.anim .fd-hub,.anim .fd-dash,.anim .fd-form,.anim .fd-kpi,.anim .fd-tile{opacity:0;transform:translateY(10px);animation:fd-in .55s cubic-bezier(.2,.8,.25,1) forwards;animation-delay:calc(var(--i) * .13s)}
@keyframes fd-in{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.anim .fd-src,.anim .fd-hub,.anim .fd-dash,.anim .fd-form,.anim .fd-kpi,.anim .fd-tile{opacity:1;transform:none;animation:none}.fd-core-p{display:none}}

/* s23 纵向压缩（三段一屏放下） */
.layout-recap-std .rs-wrap{gap:7px;margin-top:8px}
.layout-recap-std .lede{margin-top:6px}
.layout-recap-std .rs-sec-h{margin-top:2px}
.layout-recap-std .rs-sec-h i{width:19px;height:19px}
.layout-recap-std .rs-u-box{padding:8px 12px}
.layout-recap-std .rs-u-box>b{margin-bottom:6px}
.layout-recap-std .rs-u-chips{gap:5px}
.layout-recap-std .rs-u-chips span{padding:3px 8px}
.layout-recap-std .rs-u-cons,.layout-recap-std .rs-u-pros{margin-top:6px;padding-top:5px}
.layout-recap-std .rs-u-q{margin:-2px 0 6px}
.layout-recap-std .rs-u-chip{padding:6px 10px}
.layout-recap-std .rs-lane-label{padding:8px 10px;gap:2px}
.layout-recap-std .rs-step-c{gap:4px;padding:7px 10px}
.layout-recap-std .rs-step-h{margin-bottom:0}
.layout-recap-std .rs-step-h i{width:16px;height:16px}
.layout-recap-std .rs-slot{padding:3px 8px}
.layout-recap-std .rs-src{margin-top:2px}
.layout-recap-std .rs-fbox{padding:4px 8px}
.layout-recap-std .rs-big{font-size:clamp(19px,1.6vw,24px)}
.layout-recap-std .rs-verdict{padding:3px 9px}
.layout-recap-std .rs-auto-c{padding:7px 10px;gap:2px}
.layout-recap-std .rs-auto-cap{padding:5px 10px}
.layout-recap-std .rs-wrap{gap:6px}
.layout-recap-std .rs-sec-h{margin-top:0}
.layout-recap-std .rs-u-chip{padding:5px 10px}
.layout-recap-std .rs-u-q{margin-bottom:5px}
.layout-recap-std .rs-lane-label{padding:6px 10px}
.layout-recap-std .rs-step-c{gap:3px;padding:6px 10px}
.layout-recap-std .rs-slot{padding:2px 8px}
.layout-recap-std .rs-auto-c{padding:6px 10px}
.layout-recap-std .rs-auto-cap{padding:4px 10px}

/* ============ s23 复盘标准化 · 单链路总图（rs2-） ============ */
.rs2-box{fill:rgba(234,243,238,.03);stroke:rgba(0,181,120,.32);stroke-width:1}
.rs2-warn{stroke:rgba(255,122,69,.4);fill:rgba(255,122,69,.05)}
.rs2-ok{stroke:rgba(124,252,154,.4);fill:rgba(124,252,154,.05)}
.rs2-t{fill:var(--paper);font-size:14px;font-weight:800}
.rs2-wt{fill:#ff9d5c}
.rs2-ot{fill:var(--neon)}
.rs2-s{fill:var(--muted);font-size:10.5px}
.rs2-cons{fill:#ff7a45;font-size:12px;font-weight:800;letter-spacing:.06em;text-shadow:0 0 10px rgba(255,122,69,.4)}
.rs2-pros{fill:var(--neon);font-size:12px;font-weight:800;letter-spacing:.06em;text-shadow:0 0 10px rgba(124,252,154,.4)}
.rs2-ulab{fill:var(--neon);font-size:10px;font-weight:700;letter-spacing:.2em}
.rs2-colh{fill:var(--brand);font-size:11.5px;font-weight:800;letter-spacing:.1em}
.rs2-fork{fill:rgba(0,181,120,.07);stroke:rgba(0,181,120,.5);stroke-width:1.3}
.rs2-branch{stroke-width:1.3}
.rs2-lab{stroke-width:1.2;border-left:3px solid var(--brand)}
.rs2-lab-g{stroke:rgba(230,193,92,.5);stroke-width:1.2}
.rs2-lname{fill:var(--paper);font-size:17px;font-weight:800}
.rs2-ltag{fill:var(--faint);font-size:8.5px;font-family:'Fira Code',monospace;letter-spacing:.16em}
.rs2-role{fill:rgba(0,181,120,.16);stroke:rgba(0,181,120,.45);stroke-width:.7}
.rs2-role-t{fill:var(--brand);font-size:9.5px;font-weight:700;letter-spacing:.08em}
.rs2-role-g{fill:rgba(230,193,92,.14);stroke:rgba(230,193,92,.45);stroke-width:.7}
.rs2-role-tg{fill:#e6c15c;font-size:9.5px;font-weight:700;letter-spacing:.08em}
.rs2-slot{fill:rgba(0,181,120,.05);stroke:rgba(0,181,120,.18);stroke-width:.7}
.rs2-sk{fill:var(--paper);font-size:11px;font-weight:600}
.rs2-sv{fill:var(--neon);font-size:13px;font-weight:800;font-family:'Fira Code',monospace}
.rs2-ss{fill:var(--faint);font-size:8.5px;font-family:'Fira Code',monospace}
.rs2-fbox{fill:rgba(124,252,154,.05);stroke:rgba(124,252,154,.3);stroke-width:.8;stroke-dasharray:4 4}
.rs2-ff{fill:var(--neon);font-size:10.5px;font-family:'Fira Code',monospace}
.rs2-j-ok{stroke:rgba(124,252,154,.4)}
.rs2-j-warn{stroke:rgba(255,157,92,.45)}
.rs2-big{fill:var(--neon);font-size:26px;font-weight:800;font-family:'Fira Code',monospace;text-shadow:0 0 16px rgba(124,252,154,.35)}
.rs2-big-w{fill:#ff9d5c;text-shadow:0 0 16px rgba(255,157,92,.3)}
.rs2-pill{fill:rgba(124,252,154,.1);stroke:rgba(124,252,154,.45);stroke-width:.8}
.rs2-pill-t{fill:var(--neon);font-size:10.5px;font-weight:700}
.rs2-pill-w{fill:rgba(255,157,92,.1);stroke:rgba(255,157,92,.5);stroke-width:.8}
.rs2-pill-tw{fill:#ff9d5c;font-size:10.5px;font-weight:700}
.rs2-rules{fill:var(--faint);font-size:8.5px}
.rs2-mtx{fill:rgba(0,181,120,.06);stroke:rgba(0,181,120,.45);stroke-width:1.3}
.rs2-copy{fill:var(--neon);font-size:10px;font-weight:800}
.rs2-feed{fill:rgba(0,181,120,.05);stroke:rgba(0,181,120,.3)}
/* 入场错峰 */
.anim .rs2-g{opacity:0;transform:translateY(8px);animation:fd-in .5s cubic-bezier(.2,.8,.25,1) forwards;animation-delay:calc(var(--i) * .1s)}
@media (prefers-reduced-motion:reduce){.anim .rs2-g{opacity:1;transform:none;animation:none}}

/* s02 五个奖牌 → 一排 */
.sp-laurel{flex:1 1 0;padding-left:2px;padding-right:2px}
.sp-laurel .lf-t b{font-size:clamp(10.5px,.85vw,13px)}
.sp-laurel .lf-t small{font-size:clamp(10px,.8vw,12px)}
.sp-laurel .lf{width:clamp(24px,1.9vw,32px)}

/* ============ s03 目录 · 地铁线路图（mmx-） ============ */
.mmx{position:relative;margin-top:clamp(10px,1.6vh,16px);padding:4px 0 0}
.mmx-line{position:absolute;left:303px;top:56px;bottom:96px;width:2px;background:linear-gradient(180deg,transparent,var(--brand) 6%,var(--brand) 94%,transparent);box-shadow:0 0 10px rgba(0,181,120,.5);transform:scaleY(0);transform-origin:top;transition:transform 1.2s var(--ease)}
.screen.in .mmx-line{transform:none}
.mmx-line::after{content:'';position:absolute;left:-3.5px;top:0;width:9px;height:9px;border-radius:50%;background:var(--neon);box-shadow:0 0 12px rgba(124,252,154,.95);animation:mmx-train 9s linear infinite}
@keyframes mmx-train{0%{top:0;opacity:0}6%{opacity:1}94%{opacity:1}100%{top:100%;opacity:0}}
.mmx-row{position:relative;display:grid;grid-template-columns:258px 90px 1fr;align-items:center;gap:0 8px;padding:clamp(8px,1.3vh,13px) 0;opacity:0;transform:translateX(-12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.screen.in .mmx-row{opacity:1;transform:none;transition-delay:calc(.15s + var(--mx-i) * .14s)}
.mmx-sc{text-align:right;padding-right:4px}
.mmx-sc em{display:inline-block;font-style:normal;font-family:var(--mono);font-size:9px;letter-spacing:.18em;padding:2px 8px;border-radius:4px;border:1px solid rgba(0,181,120,.45);color:var(--brand);margin-bottom:5px}
.mmx-sc b{display:block;font-size:clamp(16px,1.35vw,20px);font-weight:800;color:var(--paper);line-height:1.2}
.mmx-meta{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:4px}
.mmx-meta span{font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;color:var(--faint)}
.mmx-meta i{font-style:normal;font-family:var(--mono);font-size:9px;color:var(--neon);border:1px dashed rgba(124,252,154,.4);padding:1px 7px;border-radius:4px}
.mmx-node{position:relative;width:54px;height:54px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#071510;border:2px solid var(--brand);box-shadow:0 0 16px rgba(0,181,120,.45);z-index:1}
.mmx-node span{font-family:var(--mono);font-size:18px;font-weight:800;color:var(--brand)}
.mmx-node::after{content:'';position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--brand);opacity:0;animation:mmx-pulse 2.6s ease-out infinite;animation-delay:calc(var(--mx-i) * .5s)}
@keyframes mmx-pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.75);opacity:0}}
.mmx-w .mmx-node{border-color:#ff9d5c;box-shadow:0 0 16px rgba(255,157,92,.4)}
.mmx-w .mmx-node span{color:#ff9d5c}
.mmx-w .mmx-node::after{border-color:#ff9d5c}
.mmx-w .mmx-sc em{border-color:rgba(255,157,92,.5);color:#ff9d5c}
.mmx-n .mmx-node{border-color:var(--neon);box-shadow:0 0 16px rgba(124,252,154,.5)}
.mmx-n .mmx-node span{color:var(--neon)}
.mmx-n .mmx-node::after{border-color:var(--neon)}
.mmx-n .mmx-sc em{border-color:rgba(124,252,154,.5);color:var(--neon)}
.mmx-exits{display:flex;gap:10px;align-items:stretch}
.mmx-exit{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:clamp(7px,1vh,10px) 12px;border:1px solid rgba(234,243,238,.1);border-left:3px solid var(--brand);border-radius:8px;background:linear-gradient(150deg,rgba(0,181,120,.05),rgba(0,0,0,.14));opacity:0;transform:translateX(14px);transition:opacity .45s var(--ease),transform .45s var(--ease),border-color .25s,box-shadow .25s}
.screen.in .mmx-exit{opacity:1;transform:none;transition-delay:calc(.3s + var(--mx-i) * .14s + var(--mx-j) * .1s)}
.mmx-exit:hover{border-color:rgba(0,181,120,.5);box-shadow:0 0 18px rgba(0,181,120,.18)}
.mmx-w .mmx-exit{border-left-color:#ff9d5c}
.mmx-n .mmx-exit{border-left-color:var(--neon)}
.mmx-e{flex:none;font-family:var(--mono);font-size:10px;font-weight:800;color:var(--brand);border:1px solid rgba(0,181,120,.45);border-radius:4px;width:26px;height:26px;display:flex;align-items:center;justify-content:center}
.mmx-w .mmx-e{color:#ff9d5c;border-color:rgba(255,157,92,.45)}
.mmx-n .mmx-e{color:var(--neon);border-color:rgba(124,252,154,.45)}
.mmx-et{min-width:0}
.mmx-et b{display:block;font-size:clamp(12px,.95vw,14px);color:var(--paper);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mmx-et small{display:block;font-size:clamp(9px,.72vw,10.5px);color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mmx-legend{display:flex;align-items:center;gap:8px;margin-top:clamp(6px,1vh,10px);padding-left:348px;font-size:clamp(9.5px,.75vw,11px);color:var(--faint);letter-spacing:.06em}
.mmx-lg-dot{width:8px;height:8px;border-radius:50%;background:var(--neon);box-shadow:0 0 8px rgba(124,252,154,.9)}
@media (max-width:720px){.mmx-line{display:none}.mmx-row{grid-template-columns:1fr}.mmx-sc{text-align:left}.mmx-legend{padding-left:0}}
@media (prefers-reduced-motion:reduce){.mmx-line{transition:none}.mmx-line::after,.mmx-node::after{display:none}.mmx-row,.mmx-exit{transition:none}}

/* ============ s05 公司→部门→业务 · 三列钻取（it2-） ============ */
.it2-wrap{display:grid;grid-template-columns:1fr 46px 1.18fr 46px 1.28fr;align-items:stretch;gap:0 clamp(6px,.8vw,12px);margin-top:clamp(12px,1.8vh,18px)}
.it2-col{display:flex;flex-direction:column;border:1px solid rgba(234,243,238,.1);border-radius:14px;background:linear-gradient(165deg,rgba(0,181,120,.04),rgba(0,0,0,.16));padding:clamp(12px,1.6vh,18px) clamp(12px,1.1vw,18px);opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.screen.in .it2-col{opacity:1;transform:none;transition-delay:calc(var(--it-i) * .18s)}
.it2-head{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(0,181,120,.22);margin-bottom:12px}
.it2-no{font-family:var(--mono);font-size:clamp(15px,1.2vw,18px);font-weight:800;color:var(--brand);text-shadow:0 0 12px rgba(0,181,120,.5)}
.it2-ht b{display:block;font-size:clamp(16px,1.3vw,20px);font-weight:800;color:var(--paper);line-height:1.15}
.it2-ht small{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;color:var(--faint);margin-top:2px}
.it2-body{flex:1;display:flex;flex-direction:column;gap:8px}
.it2-drill{align-self:center;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--brand);opacity:0;transition:opacity .5s var(--ease)}
.screen.in .it2-drill{opacity:1;transition-delay:.5s}
.it2-drill svg{width:26px;height:26px;filter:drop-shadow(0 0 8px rgba(0,181,120,.6));animation:it2-nudge 1.8s ease-in-out infinite}
.it2-drill span{font-size:9px;letter-spacing:.3em;text-indent:.3em;color:var(--faint)}
@keyframes it2-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
/* 公司 · 三句定位 */
.it2-quotes{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:10px}
.it2-quote{flex:1;display:flex;gap:10px;align-items:center;padding:10px 12px;border-left:3px solid var(--brand);border-radius:8px;background:rgba(0,181,120,.05);opacity:0;transform:translateX(-10px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.screen.in .it2-quote{opacity:1;transform:none;transition-delay:calc(.3s + var(--it-j) * .14s)}
.it2-qno{font-family:var(--mono);font-size:10px;font-weight:800;color:var(--brand);opacity:.75}
.it2-qt b{display:block;font-size:clamp(12.5px,1vw,15px);color:var(--paper);font-weight:800;line-height:1.4}
.it2-qt small{display:block;font-size:clamp(9.5px,.75vw,11px);color:var(--muted);margin-top:3px;line-height:1.45}
/* 部门 */
.it2-lab{font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;color:var(--faint)}
.it2-chips{display:flex;gap:7px}
.it2-chips span{flex:1;text-align:center;padding:7px 4px;border-radius:7px;font-size:clamp(11px,.88vw,13px);font-weight:700;color:var(--neon);background:rgba(124,252,154,.08);border:1px solid rgba(124,252,154,.35)}
.it2-stmt{padding:10px 12px;border-radius:9px;border:1px solid rgba(0,181,120,.3);background:rgba(0,181,120,.06)}
.it2-stmt b{display:block;font-size:clamp(11.5px,.92vw,13.5px);color:var(--paper);font-weight:700;line-height:1.4}
.it2-stmt small{display:block;font-size:clamp(9px,.72vw,10.5px);color:var(--muted);margin-top:3px}
.it2-roles{display:flex;flex-direction:column;gap:4px}
.it2-role{display:flex;align-items:center;gap:8px;opacity:0;transform:translateX(-8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.screen.in .it2-role{opacity:1;transform:none;transition-delay:calc(.45s + var(--it-j) * .1s)}
.it2-role i{flex:none;width:14px;height:2px;background:var(--brand);opacity:.6}
.it2-role span{font-size:clamp(10px,.8vw,11.5px);color:var(--paper)}
.it2-foot{margin-top:auto;padding-top:8px;border-top:1px dashed rgba(0,181,120,.25);font-size:clamp(9px,.72vw,10.5px);color:var(--neon);letter-spacing:.03em}
/* 业务 · 六模块 */
.it2-def{font-size:clamp(11px,.88vw,13px);color:var(--paper);font-weight:600}
.it2-mods{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.it2-mod{padding:8px 10px;border-radius:8px;border:1px solid rgba(234,243,238,.1);border-top:2px solid var(--brand);background:rgba(234,243,238,.03);opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.screen.in .it2-mod{opacity:1;transform:none;transition-delay:calc(.4s + var(--it-j) * .09s)}
.it2-mno{font-family:var(--mono);font-size:9px;font-weight:800;color:var(--brand)}
.it2-mod b{display:block;font-size:clamp(11px,.88vw,13px);color:var(--paper);font-weight:700;margin-top:1px}
.it2-mod small{display:block;font-size:clamp(8.5px,.68vw,10px);color:var(--muted);margin-top:2px;line-height:1.35}
@media (max-width:720px){.it2-wrap{grid-template-columns:1fr}.it2-drill svg{transform:rotate(90deg)}}
@media (prefers-reduced-motion:reduce){.it2-col,.it2-drill,.it2-quote,.it2-role,.it2-mod{transition:none}.it2-drill svg{animation:none}}
.sp-laurels{justify-content:center}
.layout-intro-trio .it2-wrap{min-height:58vh}
.layout-intro-trio .it2-body{justify-content:space-evenly}
.layout-intro-trio .it2-quotes{justify-content:space-between}

/* ============ s02 右侧重构 · 作战档案面板（sp-panel） ============ */
.sp-panel{position:relative;margin-top:clamp(12px,1.8vh,18px);padding:clamp(10px,1.4vh,14px) clamp(14px,1.3vw,20px) clamp(12px,1.6vh,16px);border:1px solid rgba(0,181,120,.26);border-radius:12px;background:linear-gradient(160deg,rgba(0,181,120,.06),rgba(0,0,0,.22) 60%);box-shadow:inset 0 0 30px rgba(0,181,120,.05),0 14px 40px rgba(0,0,0,.25)}
.sp-panel::before,.sp-panel::after{content:'';position:absolute;width:14px;height:14px;pointer-events:none}
.sp-panel::before{top:-1px;left:-1px;border-top:2px solid var(--neon);border-left:2px solid var(--neon);border-top-left-radius:10px;filter:drop-shadow(0 0 4px rgba(124,252,154,.6))}
.sp-panel::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--neon);border-right:2px solid var(--neon);border-bottom-right-radius:10px;filter:drop-shadow(0 0 4px rgba(124,252,154,.6))}
.sp-panel-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:clamp(8px,1.2vh,12px);padding-bottom:7px;border-bottom:1px solid rgba(0,181,120,.2)}
.sp-panel-h span{font-family:var(--mono);font-size:clamp(9px,.75vw,10.5px);font-weight:800;letter-spacing:.28em;color:var(--brand);text-shadow:0 0 10px rgba(0,181,120,.5)}
.sp-panel-h em{font-style:normal;font-size:clamp(9px,.72vw,10.5px);color:var(--faint);letter-spacing:.1em}
/* 核心战绩：遥测四格 */
.sp-mrow{display:grid;grid-template-columns:repeat(4,1fr)}
.sp-m{position:relative;display:flex;flex-direction:column;gap:3px;padding:2px clamp(10px,1vw,16px) 0;opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.sp-m + .sp-m::before{content:'';position:absolute;left:0;top:8%;bottom:14px;width:1px;background:linear-gradient(180deg,transparent,rgba(124,252,154,.3),transparent)}
.screen.in .sp-m{opacity:1;transform:none;transition-delay:calc(.3s + var(--m-i) * .12s)}
.sp-m em{font-style:normal;font-family:var(--mono);font-size:clamp(17px,1.5vw,23px);font-weight:800;color:var(--neon);text-shadow:0 0 16px rgba(124,252,154,.4);line-height:1.1}
.sp-m span{font-size:clamp(8.5px,.68vw,10px);color:var(--muted);line-height:1.35}
.sp-ticks{display:flex;align-items:flex-end;gap:3px;height:10px;margin-top:5px}
.sp-ticks i{width:3px;background:linear-gradient(180deg,var(--brand),rgba(0,181,120,.15));border-radius:1px;animation:sp-eq 1.6s ease-in-out infinite}
.sp-ticks i:nth-child(1){height:40%}
.sp-ticks i:nth-child(2){height:75%;animation-delay:.2s}
.sp-ticks i:nth-child(3){height:55%;animation-delay:.4s}
.sp-ticks i:nth-child(4){height:95%;animation-delay:.6s}
.sp-ticks i:nth-child(5){height:65%;animation-delay:.8s}
@keyframes sp-eq{0%,100%{transform:scaleY(.55);opacity:.5}50%{transform:scaleY(1);opacity:1}}
.sp-ticks i{transform-origin:bottom}
.sp-ruler{margin-top:9px;height:7px;background:repeating-linear-gradient(90deg,rgba(124,252,154,.3) 0 1px,transparent 1px 14px);mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
/* 荣誉档案：服役记录行 */
.sp-hrow{display:grid;grid-template-columns:22px 1fr auto 64px;align-items:center;gap:10px;padding:clamp(5px,.8vh,7px) 4px;border-bottom:1px solid rgba(234,243,238,.06);opacity:0;transform:translateX(-10px);transition:opacity .4s var(--ease),transform .4s var(--ease),background .25s}
.sp-hrow:last-child{border-bottom:none}
.screen.in .sp-hrow{opacity:1;transform:none;transition-delay:calc(.5s + var(--lf-i) * .1s)}
.sp-hrow:hover{background:rgba(230,193,92,.05)}
.sp-hlf{height:22px;width:12px;color:#e6c15c;filter:drop-shadow(0 0 6px rgba(230,193,92,.55))}
.sp-hrow b{font-size:clamp(11px,.88vw,13px);color:#f3e9c8;font-weight:700;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-hrow small{font-size:clamp(10px,.8vw,11.5px);color:#e6c15c;font-weight:700;text-align:right;white-space:nowrap;text-shadow:0 0 10px rgba(230,193,92,.3)}
.sp-hrow i{font-style:normal;font-family:var(--mono);font-size:8px;letter-spacing:.14em;color:var(--faint);text-align:right}
@media (max-width:720px){.sp-mrow{grid-template-columns:1fr 1fr;gap:10px 0}.sp-hrow{grid-template-columns:22px 1fr auto}.sp-hrow i{display:none}}
@media (prefers-reduced-motion:reduce){.sp-m,.sp-hrow{transition:none}.sp-ticks i{animation:none}}

/* ============ s02 荣誉档案 · 麦穗花环奖章墙（sp-wr-） ============ */
.sp-wreaths{display:flex;justify-content:space-between;gap:clamp(6px,.8vw,12px)}
.sp-wr{position:relative;flex:1;max-width:196px;aspect-ratio:1;opacity:0;transform:scale(.6) rotate(-10deg);transition:opacity .55s var(--ease),transform .55s cubic-bezier(.2,.9,.3,1.35)}
.screen.in .sp-wr{opacity:1;transform:none;transition-delay:calc(.4s + var(--lf-i) * .13s)}
.sp-wr-ring{position:absolute;inset:0;width:100%;height:100%}
.sp-wr-base{color:#8a6d2f;transform:scale(.965);opacity:.55}
.sp-wr-hi{color:#e6c15c;filter:drop-shadow(0 0 10px rgba(230,193,92,.5))}
.sp-wr-star{fill:#f3e9c8;filter:drop-shadow(0 0 6px rgba(243,233,200,.8));animation:sp-wr-tw 2.8s ease-in-out infinite;animation-delay:calc(var(--lf-i) * .5s)}
@keyframes sp-wr-tw{0%,100%{opacity:.55}50%{opacity:1}}
.sp-wr-t{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 16%;text-align:center}
.sp-wr-t b{font-size:clamp(10px,.82vw,12px);color:#f3e9c8;font-weight:800;line-height:1.3;text-shadow:0 0 12px rgba(230,193,92,.35)}
.sp-wr-t small{font-size:clamp(10px,.8vw,11.5px);color:#e6c15c;font-weight:800;letter-spacing:.06em;text-shadow:0 0 10px rgba(230,193,92,.45)}
@media (max-width:720px){.sp-wreaths{flex-wrap:wrap;justify-content:center}.sp-wr{flex:0 0 42%}}
@media (prefers-reduced-motion:reduce){.sp-wr{transition:none}.sp-wr-star{animation:none}}

/* ============ s15 四区切割 + 动态巡场（覆盖旧 zone- 配色） ============ */
/* ① 每区独立色相变量 */
.zone-head.zone-plan,.matrix-cell.zone-plan{--zc:#ff9d5c;--zc-soft:rgba(255,157,92,.06);--zc-line:rgba(255,157,92,.38)}
.zone-head.zone-do,.matrix-cell.zone-do{--zc:#00b578;--zc-soft:rgba(0,181,120,.06);--zc-line:rgba(0,181,120,.38)}
.zone-head.zone-check,.matrix-cell.zone-check{--zc:#e6c15c;--zc-soft:rgba(230,193,92,.06);--zc-line:rgba(230,193,92,.38)}
.zone-head.zone-act,.matrix-cell.zone-act{--zc:#7cfc9a;--zc-soft:rgba(124,252,154,.05);--zc-line:rgba(124,252,154,.38)}
/* ② 切割：区头色带+底色，区列整体染色+彩色分界 */
.zone-head{background:linear-gradient(180deg,var(--zc-soft,rgba(234,243,238,.035)),rgba(234,243,238,.02));border-bottom:2px solid var(--zc,var(--brand))}
.zone-head .zone-letter{border-color:var(--zc);color:var(--zc);box-shadow:0 0 8px var(--zc-line)}
.matrix-cell{background:var(--zc-soft,rgba(0,0,0,.12));border-right:1px solid var(--zc-line,var(--line))}
.matrix-cell .zone-list li::before{background:var(--zc,var(--brand))}
.matrix-sample{border-top:1px dashed var(--zc-line,var(--line))}
.matrix-sample b{color:var(--paper)}
/* 顶部 PDCA 链：四字母各归区色 */
.zone-step:nth-child(1) .zone-letter{border-color:#ff9d5c;color:#ff9d5c}
.zone-step:nth-child(2) .zone-letter{border-color:#00b578;color:#00b578}
.zone-step:nth-child(3) .zone-letter{border-color:#e6c15c;color:#e6c15c}
.zone-step:nth-child(4) .zone-letter{border-color:#7cfc9a;color:#7cfc9a}
/* ③ 入场：列级左→右错峰 */
.zone-head,.matrix-cell{opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.screen.in .zone-head,.screen.in .matrix-cell{opacity:1;transform:none;transition-delay:calc(.12s + var(--zi,0) * .12s)}
/* ④ 巡场：记录沿 P→D→C→A 点亮各区（9s 循环，延迟与区序对齐） */
.zone-head,.matrix-cell{animation:zn-spot 9s ease-in-out infinite;animation-delay:calc(1.4s + var(--zi,0) * 2.05s)}
@keyframes zn-spot{0%,100%{box-shadow:inset 0 0 0 0 transparent;filter:none}4%{box-shadow:inset 0 0 0 2px var(--zc,var(--brand));filter:brightness(1.3)}13%{box-shadow:inset 0 0 0 0 transparent;filter:none}}
.matrix-corner,.matrix-row-label{animation:none}
/* 记录光点：样本行内随巡场闪耀 */
.matrix-sample{position:relative}
.zone-pkt{flex:none;margin-left:auto;width:9px;height:9px;border-radius:50%;background:var(--zc,var(--brand));box-shadow:0 0 10px var(--zc,var(--brand));opacity:.22;animation:zn-pkt 9s ease-in-out infinite;animation-delay:calc(1.4s + var(--zi,0) * 2.05s)}
@keyframes zn-pkt{0%,100%{opacity:.22;transform:scale(1)}4%{opacity:1;transform:scale(1.7)}13%{opacity:.22;transform:scale(1)}}
/* 顶部字母同步脉动 */
.zone-step .zone-letter{animation:zn-pill 9s ease-in-out infinite;animation-delay:calc(1.4s + var(--zone-i,0) * 2.05s)}
@keyframes zn-pill{0%,100%{box-shadow:0 0 0 0 transparent}4%{box-shadow:0 0 14px 2px currentColor}13%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.zone-head,.matrix-cell{animation:none;transition:none}.zone-pkt,.zone-step .zone-letter{animation:none;opacity:.8}}
