:root {
  --ink:#15282a;
  --muted:#607175;
  --paper:#f5f1ed;
  --surface:rgba(255,255,255,.78);
  --line:rgba(21,40,42,.13);
  --accent:#c6604f;
  --accent-2:#2c7a7c;
  --accent-3:#e7ad63;
  --soft:#f0ddd6;
  --shadow:0 22px 64px rgba(29,44,45,.14);
  --radius:22px;
  --font:"Microsoft YaHei UI","PingFang SC","Noto Sans CJK SC","Source Han Sans SC",sans-serif;
  --font-body:clamp(19px,1.36vw,23px);
  --font-copy:clamp(19px,1.3vw,22px);
  --font-small:clamp(17px,1.12vw,19px);
  --font-micro:clamp(15px,1vw,17px);
}
body.theme-umbilical {
  --ink:#142c2b;
  --muted:#5f726e;
  --paper:#edf3ef;
  --surface:rgba(255,255,255,.79);
  --line:rgba(20,44,43,.13);
  --accent:#247565;
  --accent-2:#b88635;
  --accent-3:#71a89d;
  --soft:#dceae4;
}
* { box-sizing:border-box; }
html,body { width:100%; height:100%; margin:0; }
body {
  overflow:hidden;
  color:var(--ink);
  background:
    radial-gradient(circle at 11% 10%,color-mix(in srgb,var(--accent-3) 25%,transparent),transparent 29%),
    radial-gradient(circle at 88% 88%,color-mix(in srgb,var(--accent-2) 17%,transparent),transparent 35%),
    var(--paper);
  font-family:var(--font);
  font-size:var(--font-body);
  -webkit-font-smoothing:antialiased;
}
button { font:inherit; }
button:focus-visible,[tabindex]:focus-visible { outline:3px solid color-mix(in srgb,var(--accent-2) 42%,transparent); outline-offset:3px; }
.orientation-gate { display:none; }
.deck { position:relative; width:100%; height:100dvh; overflow:hidden; isolation:isolate; }
.deck::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  opacity:.32;
  pointer-events:none;
  background-image:radial-gradient(color-mix(in srgb,var(--ink) 13%,transparent) .75px,transparent .75px);
  background-size:18px 18px;
  mask-image:linear-gradient(115deg,#000,transparent 72%);
}
.slide {
  position:absolute;
  inset:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:clamp(64px,6.4vh,82px) clamp(36px,4vw,78px) clamp(72px,7.6vh,96px);
  opacity:0;
  visibility:hidden;
  transform:translate3d(3%,0,0) scale(.985);
  transition:opacity .44s ease,transform .56s cubic-bezier(.2,.75,.2,1),visibility 0s linear .56s;
  pointer-events:none;
}
.slide.was-before { transform:translate3d(-2.4%,0,0) scale(.99); }
.slide.is-active {
  z-index:2;
  opacity:1;
  visibility:visible;
  transform:none;
  transition-delay:0s;
  pointer-events:auto;
}
.slide-inner {
  width:min(1760px,100%);
  min-height:calc(100dvh - clamp(136px,14.5vh,178px));
  margin:0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:clamp(14px,1.8vh,24px);
}
.slide.is-active .reveal {
  animation:rise .6s both;
  animation-delay:calc(var(--i,0) * 70ms + 55ms);
}
@keyframes rise {
  from { opacity:0; transform:translateY(16px); }
  to { opacity:1; transform:none; }
}
.chrome { position:fixed; z-index:35; display:flex; align-items:center; transition:opacity .3s ease; }
.brand {
  top:max(13px,env(safe-area-inset-top));
  left:max(20px,env(safe-area-inset-left));
}
.brand img {
  width:48px;
  height:48px;
  object-fit:contain;
}
.top-actions {
  z-index:90;
  top:max(15px,env(safe-area-inset-top));
  right:max(17px,env(safe-area-inset-right));
  gap:8px;
}
.icon-btn,.nav-btn {
  border:1px solid rgba(255,255,255,.72);
  color:var(--ink);
  background:rgba(255,255,255,.74);
  box-shadow:0 9px 25px rgba(20,44,43,.1);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,opacity .2s ease;
}
.icon-btn:hover,.nav-btn:hover:not(:disabled) { transform:translateY(-2px); background:#fff; }
.icon-btn { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; }
.progress { position:fixed; z-index:40; left:0; top:0; width:100%; height:3px; background:rgba(21,40,42,.05); transition:opacity .3s ease; }
.progress span { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--accent),var(--accent-3),var(--accent-2)); transition:width .4s ease; }
.bottom-nav {
  left:50%;
  bottom:max(17px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  gap:9px;
  padding:7px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:999px;
  background:rgba(255,255,255,.7);
  box-shadow:0 14px 38px rgba(21,40,42,.13);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.nav-btn { width:41px; height:41px; display:grid; place-items:center; border-radius:50%; box-shadow:none; }
.nav-btn:disabled { opacity:.25; cursor:default; }
.counter { min-width:82px; text-align:center; color:var(--muted); font-size:13px; font-weight:900; letter-spacing:.08em; }
body.at-end .brand,body.at-end .top-actions,body.at-end .bottom-nav,body.at-end .progress { opacity:0; visibility:hidden; pointer-events:none; }
h1,h2,h3,p { margin:0; }
h1 {
  max-width:1260px;
  font-size:clamp(70px,7vw,116px);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:900;
}
h2 {
  max-width:1480px;
  font-size:clamp(42px,4.2vw,72px);
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:900;
}
h3 { font-size:clamp(24px,1.9vw,32px); line-height:1.25; }
.lead { max-width:1260px; color:var(--muted); font-size:var(--font-body); line-height:1.58; }
.fine { color:var(--muted); font-size:var(--font-small); line-height:1.55; }
.accent { color:var(--accent); }
.accent-2 { color:var(--accent-2); }
.serif { font-family:"SimSun","STSong",serif; font-weight:700; }
.kicker {
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--accent);
  font-size:var(--font-micro);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.kicker::before { content:""; width:31px; height:2px; background:currentColor; }
.chip-row { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.chip {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:8px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  color:#4a5c5f;
  background:rgba(255,255,255,.61);
  font-size:var(--font-small);
  font-weight:800;
}
.chip::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--accent-2); }
.grid-2 { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); gap:clamp(26px,4vw,68px); align-items:center; }
.grid-2.equal { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; }
.grid-6 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.card {
  position:relative;
  padding:clamp(20px,2vw,30px);
  border:1px solid rgba(255,255,255,.92);
  border-radius:var(--radius);
  background:linear-gradient(145deg,rgba(255,255,255,.9),var(--surface));
  box-shadow:0 18px 44px rgba(21,40,42,.085);
  overflow:hidden;
}
.card::after {
  content:"";
  position:absolute;
  right:-34px;
  top:-34px;
  width:76px;
  height:76px;
  border-radius:50%;
  background:color-mix(in srgb,var(--accent) 7%,transparent);
}
.card p { margin-top:10px; color:var(--muted); font-size:var(--font-copy); line-height:1.55; }
.card-index { display:block; margin-bottom:13px; color:var(--accent); font-size:var(--font-micro); font-weight:900; letter-spacing:.12em; }
.source-line { padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size:var(--font-micro); line-height:1.5; }
.reading-tip {
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px 17px;
  border:1px solid color-mix(in srgb,var(--accent-2) 22%,transparent);
  border-radius:15px;
  color:color-mix(in srgb,var(--ink) 82%,var(--accent-2));
  background:color-mix(in srgb,var(--surface) 86%,var(--accent-2) 5%);
  font-size:var(--font-small);
  line-height:1.5;
}
.reading-tip strong { white-space:nowrap; color:var(--accent-2); }
.metric { color:var(--accent); font-size:clamp(48px,5vw,78px); line-height:1; font-weight:900; letter-spacing:-.05em; }
.metric small { font-size:max(.42em,15px); letter-spacing:0; }
.metric-label { margin-top:9px; font-size:var(--font-small); font-weight:900; }
.grid-2 > div:not(.card):has(> .metric) {
  min-height:310px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(28px,3vw,46px);
  border-left:5px solid var(--accent);
  border-radius:0 28px 28px 0;
  background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 10%,white),rgba(255,255,255,.62));
  box-shadow:0 24px 68px rgba(21,40,42,.08);
}
.grid-2 > div:not(.card):has(> .metric) > .metric { font-size:clamp(84px,8vw,132px); }
.hero-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr); gap:clamp(28px,6vw,86px); align-items:center; }
.hero-copy { display:flex; flex-direction:column; gap:20px; }
.hero-art { position:relative; min-height:min(57vh,590px); display:grid; place-items:center; }
.orb {
  position:relative;
  width:min(47vw,540px);
  aspect-ratio:1;
  border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);
  border-radius:50%;
  background:
    radial-gradient(circle at 42% 38%,rgba(255,255,255,.96),color-mix(in srgb,var(--soft) 72%,transparent) 32%,color-mix(in srgb,var(--accent) 18%,transparent) 55%,color-mix(in srgb,var(--accent-2) 8%,transparent) 72%,transparent 73%),
    repeating-radial-gradient(circle,transparent 0 37px,color-mix(in srgb,var(--accent) 11%,transparent) 38px 39px);
  box-shadow:inset 0 0 76px rgba(255,255,255,.65),0 38px 95px rgba(35,63,59,.13);
  animation:float 7s ease-in-out infinite;
}
@keyframes float { 50% { transform:translateY(-10px) rotate(1.2deg); } }
.orb-core { position:absolute; inset:36%; display:grid; place-items:center; border-radius:46% 54% 51% 49%; color:white; background:linear-gradient(145deg,var(--accent),color-mix(in srgb,var(--accent) 45%,white)); box-shadow:0 18px 52px color-mix(in srgb,var(--accent) 38%,transparent); font-size:clamp(22px,3vw,40px); font-weight:900; }
.orbit-label { position:absolute; z-index:3; padding:9px 13px; border:1px solid rgba(255,255,255,.82); border-radius:999px; color:#385052; background:rgba(255,255,255,.8); box-shadow:0 9px 28px rgba(21,40,42,.08); font-size:var(--font-micro); font-weight:900; backdrop-filter:blur(12px); }
.orbit-label:nth-child(2) { top:10%; left:8%; }
.orbit-label:nth-child(3) { top:23%; right:-2%; }
.orbit-label:nth-child(4) { bottom:19%; right:0; }
.orbit-label:nth-child(5) { bottom:7%; left:18%; }
.orbit-label:nth-child(6) { top:40%; left:-6%; }
.overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.overview-grid .card { min-height:185px; border-top:3px solid color-mix(in srgb,var(--accent) 62%,transparent); }
.evidence-chain { display:grid; grid-template-columns:repeat(4,1fr); gap:17px; }
.chain-card { min-height:238px; display:flex; flex-direction:column; justify-content:space-between; }
.chain-card .step { color:var(--accent); font-size:var(--font-micro); font-weight:900; letter-spacing:.12em; }
.chain-card ul { margin:14px 0 0; padding-left:22px; color:var(--muted); font-size:var(--font-small); line-height:1.62; }
.report-frame { padding:9px; border:1px solid var(--line); border-radius:21px; background:#fff; box-shadow:var(--shadow); }
.report-frame img { display:block; width:100%; max-height:61vh; object-fit:contain; border-radius:13px; background:#f4f4f1; cursor:zoom-in; }
.report-caption { display:flex; justify-content:space-between; gap:14px; padding:11px 4px 3px; color:var(--muted); font-size:var(--font-micro); line-height:1.4; }
.report-caption strong { color:var(--ink); }
.science-formula {
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:12px;
  align-items:center;
  padding:clamp(21px,3vw,34px);
  border-radius:var(--radius);
  color:white;
  background:
    radial-gradient(circle at 90% 4%,rgba(255,255,255,.18),transparent 34%),
    linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 82%,#17383a),color-mix(in srgb,var(--accent-2) 45%,#153536));
  box-shadow:0 22px 62px color-mix(in srgb,var(--accent-2) 24%,transparent);
}
.formula-part { text-align:center; }
.formula-part b { display:block; color:#fff; font-size:clamp(24px,3vw,40px); }
.formula-part span { display:block; margin-top:8px; color:rgba(255,255,255,.78); font-size:var(--font-small); line-height:1.42; }
.formula-sign { color:color-mix(in srgb,var(--accent-3) 72%,white); font-size:30px; font-weight:900; }
.term-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.term { min-height:205px; }
.term .term-name { color:var(--accent); font-size:var(--font-micro); font-weight:900; letter-spacing:.1em; }
.term h3 { margin-top:12px; }
.check-list { display:grid; gap:14px; }
.check { display:grid; grid-template-columns:36px 1fr; gap:14px; align-items:start; color:var(--muted); font-size:var(--font-copy); line-height:1.55; }
.check b { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--accent-2); font-size:var(--font-small); }
.table-scroll { overflow-x:auto; padding-bottom:4px; }
.data-table { width:100%; border-collapse:separate; border-spacing:0 8px; font-size:clamp(16px,1.18vw,19px); }
.data-table th { padding:0 13px 7px; color:var(--muted); text-align:left; font-size:var(--font-micro); letter-spacing:.06em; }
.data-table td { padding:13px; background:rgba(255,255,255,.82); border-top:1px solid rgba(255,255,255,.92); border-bottom:1px solid rgba(255,255,255,.92); line-height:1.42; }
.data-table td:first-child { border-radius:13px 0 0 13px; color:var(--accent); font-weight:900; }
.data-table td:last-child { border-radius:0 13px 13px 0; color:var(--muted); }
.data-table .em { color:var(--accent); font-weight:900; }
.single-evidence {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  padding:1px;
  overflow:hidden;
  border-radius:20px;
  color:#fff;
  background:linear-gradient(125deg,color-mix(in srgb,var(--accent-2) 88%,#153536),color-mix(in srgb,var(--accent) 72%,#2b4241));
  box-shadow:0 22px 58px color-mix(in srgb,var(--accent-2) 20%,transparent);
}
.single-evidence > div { min-height:92px; padding:18px 22px; background:rgba(255,255,255,.055); }
.single-evidence span { display:block; color:rgba(255,255,255,.72); font-size:var(--font-micro); font-weight:800; letter-spacing:.06em; }
.single-evidence strong { display:block; margin-top:8px; color:#fff; font-size:clamp(20px,1.7vw,27px); line-height:1.28; }
.batch-evidence { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr); gap:clamp(20px,3vw,42px); align-items:stretch; }
.batch-summary { min-width:0; display:flex; flex-direction:column; gap:13px; }
.batch-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.batch-metric { min-height:104px; padding:16px 18px; border-top:3px solid color-mix(in srgb,var(--accent) 70%,transparent); border-radius:16px; background:rgba(255,255,255,.8); box-shadow:0 12px 32px rgba(21,40,42,.07); }
.batch-metric b { display:block; color:var(--accent); font-size:clamp(27px,2.45vw,41px); line-height:1.05; letter-spacing:-.035em; }
.batch-metric b small { font-size:max(.56em,15px); letter-spacing:0; }
.batch-metric span { display:block; margin-top:8px; color:var(--muted); font-size:var(--font-micro); font-weight:850; line-height:1.38; }
.batch-table { border-spacing:0 6px; font-size:clamp(15px,1vw,17px); }
.batch-table th { padding-bottom:4px; }
.batch-table td { padding:10px 11px; white-space:nowrap; }
.batch-note { color:var(--muted); font-size:var(--font-micro); line-height:1.5; }
.batch-report { min-width:0; margin:0; padding:10px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:var(--shadow); }
.batch-report img { display:block; width:100%; max-height:52vh; flex:1; object-fit:contain; border-radius:13px; background:#f5f5f2; cursor:zoom-in; }
.batch-report figcaption { padding:10px 5px 3px; color:var(--muted); font-size:var(--font-micro); line-height:1.45; }
.batch-report figcaption strong { display:block; color:var(--ink); font-size:var(--font-small); }
.metric-board { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.metric-card { min-height:225px; display:flex; flex-direction:column; justify-content:space-between; }
.hydration-slide .slide-inner { gap:13px; }
.hydration-slide h2 { font-size:clamp(40px,3.65vw,64px); }
.hydration-slide .single-evidence > div { min-height:66px; padding:10px 17px; }
.hydration-slide .single-evidence strong { margin-top:5px; font-size:clamp(18px,1.4vw,23px); }
.hydration-layout { display:grid; grid-template-columns:minmax(0,1.22fr) minmax(390px,.78fr); gap:17px; align-items:stretch; min-height:264px; }
.hydration-chart { padding:18px 22px 16px; display:flex; flex-direction:column; }
.hydration-chart-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.hydration-chart-head .card-index { margin-bottom:5px; }
.hydration-chart-head h3 { font-size:clamp(21px,1.55vw,27px); }
.hydration-legend { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 15px; color:var(--muted); font-size:var(--font-micro); font-weight:800; }
.hydration-legend span { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.hydration-legend i { width:9px; height:9px; border-radius:50%; }
.hydration-legend .is-sample { background:var(--accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent); }
.hydration-legend .is-control { background:#718084; }
.hydration-plot { position:relative; flex:1; min-height:175px; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,3vw,48px); padding:24px 18px 0; border-bottom:1px solid var(--line); background:repeating-linear-gradient(to top,transparent 0 43px,rgba(21,40,42,.055) 43px 44px); }
.hydration-column { min-width:0; display:grid; grid-template-rows:1fr auto; gap:8px; text-align:center; }
.hydration-column > b { color:var(--muted); font-size:var(--font-micro); letter-spacing:.08em; }
.hydration-bars { height:100%; display:flex; align-items:flex-end; justify-content:center; gap:9px; }
.hydration-bar { position:relative; width:min(38px,36%); height:var(--h); min-height:16px; border-radius:8px 8px 3px 3px; box-shadow:inset 0 1px rgba(255,255,255,.45); }
.hydration-bar.is-sample { background:linear-gradient(to top,color-mix(in srgb,var(--accent) 85%,#243b3b),color-mix(in srgb,var(--accent) 68%,white)); }
.hydration-bar.is-control { background:linear-gradient(to top,#536468,#93a0a2); }
.hydration-bar span { position:absolute; left:50%; top:-21px; transform:translateX(-50%); color:var(--ink); font:800 clamp(11px,.82vw,14px)/1 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:nowrap; }
.hydration-reading { padding:20px 22px; display:flex; flex-direction:column; }
.hydration-reading h3 { font-size:clamp(21px,1.55vw,28px); }
.hydration-reading p { margin-top:8px; font-size:var(--font-small); line-height:1.48; }
.hydration-data { width:100%; margin-top:auto; border-collapse:separate; border-spacing:0 5px; font-size:var(--font-micro); }
.hydration-data th,.hydration-data td { padding:7px 8px; text-align:center; background:rgba(255,255,255,.66); }
.hydration-data thead th { color:var(--muted); font-size:max(.86em,12px); background:transparent; }
.hydration-data tbody th { color:var(--accent); text-align:left; border-radius:9px 0 0 9px; }
.hydration-data tbody td:last-child { border-radius:0 9px 9px 0; }
.bar-list { display:grid; gap:8px; margin-top:14px; }
.bar-row { display:grid; grid-template-columns:88px 1fr 72px; gap:10px; align-items:center; color:var(--muted); font-size:var(--font-micro); }
.bar { height:7px; overflow:hidden; border-radius:999px; background:rgba(21,40,42,.08); }
.bar i { display:block; width:var(--w); height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent),var(--accent-3)); }
.interpret-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.interpret-card { min-height:215px; }
.interpret-card .num { color:var(--accent); font-size:33px; font-weight:900; }
.gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.gallery figure { margin:0; padding:9px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 14px 38px rgba(21,40,42,.08); }
.gallery img { display:block; width:100%; height:clamp(250px,32vh,370px); object-fit:contain; border-radius:12px; background:#f4f4f1; cursor:zoom-in; }
.gallery figcaption { padding:10px 4px 3px; }
.gallery figcaption strong { display:block; font-size:var(--font-small); }
.gallery figcaption span { display:block; margin-top:5px; color:var(--muted); font-size:var(--font-micro); line-height:1.45; }
.model-map { display:grid; grid-template-columns:repeat(4,1fr); gap:17px; }
.model-card { min-height:245px; }
.model-badge { width:58px; height:58px; display:grid; place-items:center; margin-bottom:20px; border-radius:18px; color:white; background:linear-gradient(145deg,var(--accent),color-mix(in srgb,var(--accent) 45%,white)); font-size:var(--font-micro); font-weight:900; box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 24%,transparent); }
.cell-bars { display:grid; gap:10px; }
.cell-row { display:grid; grid-template-columns:155px 1fr 95px; gap:13px; align-items:center; padding:14px 16px; border:1px solid rgba(255,255,255,.88); border-radius:16px; background:rgba(255,255,255,.76); }
.cell-row strong { font-size:var(--font-small); }
.cell-row b { text-align:right; color:var(--accent); font-size:22px; }
.gene-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.gene-card { padding:18px; border-left:4px solid var(--accent); border-radius:0 18px 18px 0; background:rgba(255,255,255,.76); }
.gene-card b { display:block; color:var(--accent); font-size:clamp(24px,2.6vw,40px); }
.gene-card span { display:block; margin-top:5px; font-size:var(--font-small); font-weight:900; }
.gene-card small { display:block; margin-top:8px; color:var(--muted); font-size:var(--font-micro); line-height:1.42; }
.role-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.role-card { min-height:205px; }
.role-card b { color:var(--accent); font-size:28px; }
.role-card span { display:block; margin-top:7px; font-size:var(--font-small); font-weight:900; }
.role-card p { font-size:var(--font-copy); }
.product-stage { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:clamp(24px,4vw,58px); align-items:center; }
.product-photo { min-width:0; margin:0; padding:14px; overflow:hidden; border:1px solid rgba(255,255,255,.86); border-radius:32px; background:rgba(255,255,255,.72); box-shadow:var(--shadow); }
.product-photo img { display:block; width:100%; max-height:58vh; object-fit:contain; border-radius:22px; }
.product-stage > div { min-width:0; display:flex; flex-direction:column; gap:clamp(12px,1.6vh,19px); }
.spec-list { display:grid; gap:12px; }
.spec-item { display:grid; grid-template-columns:112px 1fr; gap:16px; padding:16px 18px; border-radius:17px; background:rgba(255,255,255,.76); border:1px solid var(--line); }
.spec-item b { color:var(--accent); font-size:var(--font-small); }
.spec-item span { color:var(--muted); font-size:var(--font-copy); line-height:1.48; }
.concept-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:17px; }
.concept-card { min-height:255px; }
.line-icon { width:60px; height:60px; display:grid; place-items:center; margin-bottom:20px; border-radius:18px; color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,white); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 13%,transparent); }
.line-icon svg { width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.slide.end-slide { padding:0; overflow:hidden; background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 82%,#152d2d),color-mix(in srgb,var(--accent-2) 65%,#10292a)); }
.end-slide .slide-inner { min-height:100dvh; align-items:center; justify-content:center; text-align:center; }
.end-logo { width:154px; height:154px; object-fit:contain; padding:0; background:transparent; box-shadow:none; filter:brightness(0) invert(1); opacity:.94; }
.end-slide h2 { margin-top:26px; color:white; font-size:clamp(54px,8vw,112px); letter-spacing:.04em; }
.menu {
  position:fixed;
  z-index:80;
  inset:0 0 0 auto;
  width:min(420px,90vw);
  padding:79px 23px 26px;
  transform:translateX(105%);
  transition:transform .34s cubic-bezier(.2,.75,.2,1);
  overflow-y:auto;
  background:color-mix(in srgb,var(--paper) 93%,white);
  box-shadow:-28px 0 78px rgba(21,40,42,.18);
  backdrop-filter:blur(23px);
  -webkit-backdrop-filter:blur(23px);
}
.menu.open { transform:none; }
.menu h3 { margin:0 9px 15px; }
.toc-list { display:grid; gap:5px; }
.toc-list button { width:100%; padding:11px 14px; border:0; border-radius:13px; color:var(--muted); background:transparent; text-align:left; cursor:pointer; font-size:15px; }
.toc-list button:hover,.toc-list button.active { color:var(--ink); background:#fff; }
.toc-list button.active { box-shadow:inset 3px 0 var(--accent); }
.lightbox { position:fixed; z-index:120; inset:0; display:grid; place-items:center; padding:22px; opacity:0; visibility:hidden; background:rgba(10,22,23,.92); transition:.24s ease; cursor:zoom-out; }
.lightbox.open { opacity:1; visibility:visible; }
.lightbox img { max-width:96vw; max-height:92vh; object-fit:contain; border-radius:9px; box-shadow:0 30px 95px rgba(0,0,0,.48); }
.lightbox button { position:absolute; top:17px; right:17px; color:white; background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.2); }
.mobile-hint { display:none; }
@media (max-width:980px) {
  .grid-4,.model-map,.concept-grid,.role-grid { grid-template-columns:repeat(2,1fr); }
  .evidence-chain { grid-template-columns:repeat(2,1fr); }
  .hero-layout { grid-template-columns:1fr .8fr; }
  .gene-grid { grid-template-columns:repeat(2,1fr); }
  .batch-evidence { grid-template-columns:1fr; }
  .hydration-layout { grid-template-columns:minmax(0,1fr) minmax(320px,.82fr); }
}
@media (max-width:720px) {
  .slide { padding:72px 20px 96px; }
  .slide-inner { min-height:auto; justify-content:flex-start; gap:17px; }
  .brand { left:11px; }
  .brand img { width:43px; height:43px; }
  .top-actions { right:10px; }
  .icon-btn { width:37px; height:37px; }
  h1 { font-size:clamp(48px,14vw,70px); line-height:1.02; }
  h2 { font-size:clamp(36px,9.5vw,48px); }
  .lead { font-size:19px; line-height:1.56; }
  .hero-layout,.grid-2,.grid-2.equal,.product-stage { grid-template-columns:1fr; }
  .hero-art { min-height:285px; order:2; }
  .orb { width:min(80vw,370px); }
  .overview-grid,.grid-3,.grid-6,.term-grid,.metric-board,.interpret-grid { grid-template-columns:1fr; }
  .single-evidence,.batch-metrics { grid-template-columns:1fr; }
  .hydration-layout { grid-template-columns:1fr; }
  .hydration-slide .single-evidence > div { min-height:0; padding:12px 15px; }
  .hydration-chart { min-height:310px; padding:18px 16px 15px; }
  .hydration-chart-head { flex-direction:column; gap:10px; }
  .hydration-legend { justify-content:flex-start; }
  .hydration-plot { min-height:205px; padding-inline:7px; gap:13px; }
  .hydration-reading { min-height:275px; }
  .grid-4,.model-map,.concept-grid,.role-grid { grid-template-columns:1fr 1fr; }
  .evidence-chain { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:7px; }
  .chain-card { min-width:78vw; scroll-snap-align:center; }
  .science-formula { grid-template-columns:1fr; gap:9px; }
  .formula-sign { transform:rotate(90deg); font-size:22px; }
  .gallery { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:9px; }
  .gallery figure { min-width:82vw; scroll-snap-align:center; }
  .gallery img { height:260px; }
  .report-frame img { max-height:46vh; }
  .gene-grid { grid-template-columns:1fr; }
  .cell-row { grid-template-columns:125px 1fr 78px; }
  .product-stage .product-photo { order:2; }
  .product-photo img { max-height:45vh; }
  .data-table { min-width:900px; }
  .bottom-nav { bottom:max(9px,env(safe-area-inset-bottom)); }
  .mobile-hint { display:block; color:var(--muted); font-size:15px; }
}
@media (max-width:560px) {
  .grid-4,.model-map,.concept-grid,.role-grid { grid-template-columns:1fr; }
  .hero-art { min-height:275px; }
  .orbit-label { padding:7px 10px; font-size:15px; }
  .metric { font-size:39px; }
  .report-caption { flex-direction:column; gap:3px; }
  .hydration-bar { width:min(33px,39%); }
  .hydration-bar span { font-size:11px; }
}
@media (min-width:1600px) and (min-height:900px) {
  .overview-grid .card { min-height:205px; }
  .chain-card { min-height:265px; }
  .term { min-height:225px; }
  .metric-card { min-height:250px; }
  .interpret-card { min-height:240px; }
  .model-card { min-height:270px; }
  .role-card { min-height:225px; }
  .concept-card { min-height:285px; }
  .science-formula { min-height:145px; }
  .product-photo img { max-height:64vh; }
}

/*
 * Three presentation surfaces are intentionally independent.
 * `deck.js` applies exactly one of these classes after the access gate opens.
 */
body.layout-desktop .slide {
  padding:clamp(62px,6.8vh,86px) clamp(44px,4.8vw,92px) clamp(72px,7.8vh,100px);
}
body.layout-desktop .slide-inner {
  width:min(1680px,100%);
  min-height:calc(100dvh - clamp(134px,14.6vh,186px));
}
body.layout-desktop .hydration-slide .slide-inner { gap:18px; }
body.layout-desktop .hydration-slide .single-evidence > div {
  min-height:78px;
  padding:14px 20px;
}
body.layout-desktop .hydration-layout {
  min-height:304px;
  gap:22px;
}
body.layout-desktop .hydration-chart { padding:22px 26px 20px; }
body.layout-desktop .hydration-plot {
  min-height:205px;
  padding:29px 22px 0;
  gap:clamp(24px,3.2vw,56px);
}
body.layout-desktop .hydration-reading { padding:24px 26px; }
body.layout-desktop section[data-title="DPPH抗氧解读"] .slide-inner { gap:11px; }
body.layout-desktop section[data-title="DPPH抗氧解读"] .term-grid { gap:11px; }
body.layout-desktop section[data-title="DPPH抗氧解读"] .term {
  min-height:0;
  padding:19px 23px;
}
body.layout-desktop section[data-title="DPPH抗氧解读"] .term h3 { margin-top:7px; }
body.layout-desktop section[data-title="DPPH抗氧解读"] .term p { margin-top:6px; line-height:1.45; }
body.layout-desktop section[data-title="三批粒径数据"] .slide-inner,
body.layout-desktop section[data-title="ECM全浓度数据"] .slide-inner { gap:10px; }
body.layout-desktop section[data-title="RAW舒缓数据"] .slide-inner,
body.layout-desktop section[data-title="证据索引"] .slide-inner { gap:9px; }
body.layout-desktop section[data-title="RAW舒缓数据"] .data-table,
body.layout-desktop section[data-title="证据索引"] .data-table {
  font-size:16px;
  border-spacing:0 4px;
}
body.layout-desktop section[data-title="RAW舒缓数据"] .data-table th,
body.layout-desktop section[data-title="证据索引"] .data-table th { padding:0 11px 4px; }
body.layout-desktop section[data-title="RAW舒缓数据"] .data-table td,
body.layout-desktop section[data-title="证据索引"] .data-table td {
  padding:9px 11px;
  line-height:1.32;
}
body.layout-desktop section[data-title="RAW舒缓数据"] .grid-3 { gap:13px; }
body.layout-desktop section[data-title="RAW舒缓数据"] .grid-3 .card { padding:18px 20px; }
body.layout-desktop section[data-title="RAW舒缓数据"] .grid-3 .card p {
  margin-top:6px;
  font-size:18px;
  line-height:1.45;
}
body.layout-desktop section[data-title="产品形态"] .product-stage > div { gap:9px; }
body.layout-desktop section[data-title="产品形态"] .spec-list { gap:8px; }
body.layout-desktop section[data-title="产品形态"] .spec-item { padding:13px 16px; }

@media (orientation:portrait) and (max-width:900px) {
  .orientation-gate { display:none!important; }
  .slide {
    -webkit-overflow-scrolling:touch;
    padding-top:max(72px,calc(env(safe-area-inset-top) + 60px));
    padding-bottom:max(104px,calc(env(safe-area-inset-bottom) + 88px));
  }
  .slide-inner { min-height:calc(100dvh - 176px); }
  .end-slide .slide-inner { min-height:calc(100dvh - 176px); }
  .menu { width:min(88vw,370px); padding-bottom:max(26px,env(safe-area-inset-bottom)); }
  .bottom-nav { max-width:calc(100vw - 28px); }
}

@media (max-width:900px) {
  body.layout-mobile-portrait {
    --font-body:19px;
    --font-copy:18px;
    --font-small:16px;
    --font-micro:14px;
    --radius:19px;
  }
  body.layout-mobile-portrait .slide {
    overflow-x:hidden;
    overflow-y:auto;
    padding:max(72px,calc(env(safe-area-inset-top) + 60px)) 18px max(102px,calc(env(safe-area-inset-bottom) + 88px));
    scroll-padding-top:76px;
  }
  body.layout-mobile-portrait .slide-inner {
    width:100%;
    min-height:calc(100dvh - 176px);
    justify-content:flex-start;
    gap:18px;
  }
  body.layout-mobile-portrait h1 {
    max-width:100%;
    font-size:clamp(47px,13.7vw,66px);
    line-height:1.02;
  }
  body.layout-mobile-portrait h2 {
    max-width:100%;
    font-size:clamp(35px,9.6vw,47px);
    line-height:1.12;
  }
  body.layout-mobile-portrait h3 { font-size:clamp(23px,6.2vw,29px); }
  body.layout-mobile-portrait .lead { font-size:19px; line-height:1.62; }
  body.layout-mobile-portrait .kicker { font-size:14px; }
  body.layout-mobile-portrait .card { padding:20px 18px; }
  body.layout-mobile-portrait .card p { margin-top:9px; line-height:1.62; }
  body.layout-mobile-portrait .hero-copy { gap:18px; }
  body.layout-mobile-portrait .hero-art { min-height:300px; }
  body.layout-mobile-portrait .overview-grid,
  body.layout-mobile-portrait .grid-2,
  body.layout-mobile-portrait .grid-2.equal,
  body.layout-mobile-portrait .grid-3,
  body.layout-mobile-portrait .grid-4,
  body.layout-mobile-portrait .grid-6,
  body.layout-mobile-portrait .term-grid,
  body.layout-mobile-portrait .metric-board,
  body.layout-mobile-portrait .interpret-grid,
  body.layout-mobile-portrait .model-map,
  body.layout-mobile-portrait .concept-grid,
  body.layout-mobile-portrait .role-grid,
  body.layout-mobile-portrait .gene-grid,
  body.layout-mobile-portrait .single-evidence,
  body.layout-mobile-portrait .batch-metrics,
  body.layout-mobile-portrait .batch-evidence,
  body.layout-mobile-portrait .product-stage,
  body.layout-mobile-portrait .hydration-layout {
    grid-template-columns:1fr;
  }
  body.layout-mobile-portrait .overview-grid .card,
  body.layout-mobile-portrait .chain-card,
  body.layout-mobile-portrait .term,
  body.layout-mobile-portrait .metric-card,
  body.layout-mobile-portrait .interpret-card,
  body.layout-mobile-portrait .model-card,
  body.layout-mobile-portrait .role-card,
  body.layout-mobile-portrait .concept-card { min-height:0; }
  body.layout-mobile-portrait .evidence-chain,
  body.layout-mobile-portrait .gallery {
    display:grid;
    grid-template-columns:1fr;
    overflow:visible;
    scroll-snap-type:none;
    padding-bottom:0;
  }
  body.layout-mobile-portrait .chain-card,
  body.layout-mobile-portrait .gallery figure { min-width:0; scroll-snap-align:none; }
  body.layout-mobile-portrait .gallery img { height:auto; max-height:52vh; }
  body.layout-mobile-portrait .science-formula { padding:22px 18px; }
  body.layout-mobile-portrait .single-evidence > div { min-height:0; padding:15px 17px; }
  body.layout-mobile-portrait .single-evidence strong { font-size:21px; }
  body.layout-mobile-portrait .batch-metric { min-height:0; }
  body.layout-mobile-portrait .table-scroll {
    margin:0;
    padding:0;
    overflow:visible;
  }
  body.layout-mobile-portrait .data-table {
    display:block;
    min-width:0;
    border-spacing:0;
    font-size:15px;
  }
  body.layout-mobile-portrait .data-table thead { display:none; }
  body.layout-mobile-portrait .data-table tbody { display:grid; gap:11px; }
  body.layout-mobile-portrait .data-table tr {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.9);
    border-radius:16px;
    background:var(--line);
    box-shadow:0 10px 26px rgba(21,40,42,.06);
  }
  body.layout-mobile-portrait .data-table td,
  body.layout-mobile-portrait .data-table td:first-child,
  body.layout-mobile-portrait .data-table td:last-child {
    display:block;
    min-width:0;
    padding:10px 11px;
    border:0;
    border-radius:0;
    color:var(--ink);
    background:rgba(255,255,255,.83);
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.42;
  }
  body.layout-mobile-portrait .data-table td:first-child {
    grid-column:1 / -1;
    color:var(--accent);
    font-size:17px;
    font-weight:900;
    background:rgba(255,255,255,.94);
  }
  body.layout-mobile-portrait .data-table td::before {
    display:block;
    margin-bottom:4px;
    color:var(--muted);
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
  }
  body.layout-mobile-portrait section[data-title="三批粒径数据"] td:nth-child(1)::before { content:"批次"; }
  body.layout-mobile-portrait section[data-title="三批粒径数据"] td:nth-child(2)::before { content:"X50"; }
  body.layout-mobile-portrait section[data-title="三批粒径数据"] td:nth-child(3)::before { content:"数量平均粒径"; }
  body.layout-mobile-portrait section[data-title="三批粒径数据"] td:nth-child(4)::before { content:"主要峰值"; }
  body.layout-mobile-portrait section[data-title="三批粒径数据"] td:nth-child(5)::before { content:"原始浓度"; }
  body.layout-mobile-portrait section[data-title="RAW舒缓数据"] td:nth-child(1)::before { content:"指标"; }
  body.layout-mobile-portrait section[data-title="RAW舒缓数据"] td:nth-child(2)::before { content:"10%"; }
  body.layout-mobile-portrait section[data-title="RAW舒缓数据"] td:nth-child(3)::before { content:"1%"; }
  body.layout-mobile-portrait section[data-title="RAW舒缓数据"] td:nth-child(4)::before { content:"0.1%"; }
  body.layout-mobile-portrait section[data-title="RAW舒缓数据"] td:nth-child(5)::before { content:"通俗理解"; }
  body.layout-mobile-portrait section[data-title="ECM全浓度数据"] td:nth-child(1)::before { content:"浓度"; }
  body.layout-mobile-portrait section[data-title="ECM全浓度数据"] td:nth-child(2)::before { content:"COLI"; }
  body.layout-mobile-portrait section[data-title="ECM全浓度数据"] td:nth-child(3)::before { content:"COLIV"; }
  body.layout-mobile-portrait section[data-title="ECM全浓度数据"] td:nth-child(4)::before { content:"COLVII"; }
  body.layout-mobile-portrait section[data-title="ECM全浓度数据"] td:nth-child(5)::before { content:"COLXVII"; }
  body.layout-mobile-portrait section[data-title="ECM全浓度数据"] td:nth-child(6)::before { content:"ELN"; }
  body.layout-mobile-portrait section[data-title="ECM全浓度数据"] td:nth-child(7)::before { content:"FN"; }
  body.layout-mobile-portrait section[data-title="ECM全浓度数据"] td:nth-child(8)::before { content:"NRF2"; }
  body.layout-mobile-portrait section[data-title="ECM全浓度数据"] td:nth-child(9)::before { content:"MMP1"; }
  body.layout-mobile-portrait section[data-title="证据索引"] td:nth-child(1)::before { content:"证据方向"; }
  body.layout-mobile-portrait section[data-title="证据索引"] td:nth-child(2)::before { content:"报告编号"; }
  body.layout-mobile-portrait section[data-title="证据索引"] td:nth-child(3)::before { content:"样品 / 模型"; }
  body.layout-mobile-portrait section[data-title="证据索引"] td:nth-child(4)::before { content:"核心读数"; }
  body.layout-mobile-portrait section[data-title="证据索引"] td:nth-child(5)::before { content:"对应章节"; }
  body.layout-mobile-portrait .mobile-hint { display:none; }
  body.layout-mobile-portrait .hydration-slide h2 {
    font-size:30px;
    line-height:1.16;
    letter-spacing:-.035em;
  }
  body.layout-mobile-portrait .hydration-slide h2 .accent { display:block; }
  body.layout-mobile-portrait .hydration-chart {
    min-height:330px;
    padding:20px 16px 17px;
  }
  body.layout-mobile-portrait .hydration-plot { min-height:215px; }
  body.layout-mobile-portrait .hydration-reading { min-height:0; padding:21px 18px; }
  body.layout-mobile-portrait .product-stage .product-photo { order:initial; }
  body.layout-mobile-portrait .product-photo img { max-height:none; }
  body.layout-mobile-portrait .bottom-nav {
    bottom:max(9px,env(safe-area-inset-bottom));
    max-width:calc(100vw - 24px);
  }
  body.layout-mobile-portrait .menu { width:min(91vw,390px); }
}

@media (orientation:landscape) and (max-height:620px) {
  .slide { padding-top:56px; padding-bottom:72px; }
  .slide-inner { min-height:auto; gap:12px; }
  h1 { font-size:clamp(50px,6.5vw,74px); }
  h2 { font-size:clamp(35px,4.2vw,52px); }
  .lead { font-size:18px; line-height:1.5; }
  .hero-art { min-height:310px; }
  .card { padding:18px; }
  .gallery img { height:180px; }
  .report-frame img { max-height:56vh; }
  .batch-report img { max-height:70vh; }
  .model-card,.concept-card,.chain-card { min-height:165px; }
  .card-index { margin-bottom:12px; }
  .bottom-nav { bottom:max(5px,env(safe-area-inset-bottom)); gap:4px; padding:4px; }
  .nav-btn { width:42px; height:42px; }
  .counter { min-width:72px; font-size:13px; }
}
@media (orientation:landscape) and (max-height:620px) {
  body.layout-mobile-landscape {
    --font-body:22px;
    --font-copy:20px;
    --font-small:18px;
    --font-micro:16px;
    --radius:18px;
  }
  body.layout-mobile-landscape .slide {
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:15px 40px 49px;
  }
  body.layout-mobile-landscape .slide-inner {
    width:100%;
    max-width:none;
    flex:0 0 auto;
    min-height:0!important;
    height:auto;
    justify-content:center;
    gap:11px;
    transform:scale(var(--landscape-scale,1));
    transform-origin:center center;
    will-change:transform;
  }
  body.layout-mobile-landscape .slide.end-slide { padding:0; }
  body.layout-mobile-landscape .end-slide .slide-inner { min-height:100dvh!important; }
  body.layout-mobile-landscape .brand { top:max(6px,env(safe-area-inset-top)); left:max(9px,env(safe-area-inset-left)); }
  body.layout-mobile-landscape .brand img { width:34px; height:34px; }
  body.layout-mobile-landscape .top-actions { top:max(6px,env(safe-area-inset-top)); right:max(8px,env(safe-area-inset-right)); gap:5px; }
  body.layout-mobile-landscape .icon-btn { width:34px; height:34px; font-size:15px; }
  body.layout-mobile-landscape .bottom-nav { bottom:max(4px,env(safe-area-inset-bottom)); gap:3px; padding:3px; }
  body.layout-mobile-landscape .nav-btn { width:36px; height:36px; }
  body.layout-mobile-landscape .counter { min-width:62px; font-size:12px; }
  body.layout-mobile-landscape h1 { max-width:none; font-size:64px; line-height:.98; }
  body.layout-mobile-landscape h2 { max-width:none; font-size:44px; line-height:1.08; }
  body.layout-mobile-landscape h3 { font-size:25px; }
  body.layout-mobile-landscape .lead { max-width:none; font-size:21px; line-height:1.44; }
  body.layout-mobile-landscape .kicker { font-size:16px; }
  body.layout-mobile-landscape .card { padding:16px 17px; }
  body.layout-mobile-landscape .card p { margin-top:7px; line-height:1.42; }
  body.layout-mobile-landscape .card-index { margin-bottom:9px; }
  body.layout-mobile-landscape .hero-layout { grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); }
  body.layout-mobile-landscape .hero-copy { gap:14px; }
  body.layout-mobile-landscape .hero-art { min-height:300px; order:initial; }
  body.layout-mobile-landscape .orb { width:min(47vw,540px); }
  body.layout-mobile-landscape .grid-2 { grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr); }
  body.layout-mobile-landscape .grid-2.equal { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.layout-mobile-landscape .overview-grid,
  body.layout-mobile-landscape .grid-3,
  body.layout-mobile-landscape .grid-6,
  body.layout-mobile-landscape .term-grid,
  body.layout-mobile-landscape .metric-board,
  body.layout-mobile-landscape .interpret-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.layout-mobile-landscape .grid-4,
  body.layout-mobile-landscape .model-map,
  body.layout-mobile-landscape .concept-grid,
  body.layout-mobile-landscape .role-grid,
  body.layout-mobile-landscape .gene-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body.layout-mobile-landscape .evidence-chain { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:visible; padding-bottom:0; }
  body.layout-mobile-landscape .chain-card { min-width:0; scroll-snap-align:none; }
  body.layout-mobile-landscape .overview-grid .card,
  body.layout-mobile-landscape .chain-card,
  body.layout-mobile-landscape .term,
  body.layout-mobile-landscape .metric-card,
  body.layout-mobile-landscape .interpret-card,
  body.layout-mobile-landscape .model-card,
  body.layout-mobile-landscape .role-card,
  body.layout-mobile-landscape .concept-card { min-height:0; }
  body.layout-mobile-landscape .single-evidence,
  body.layout-mobile-landscape .batch-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.layout-mobile-landscape .single-evidence > div { min-height:72px; padding:12px 18px; }
  body.layout-mobile-landscape .single-evidence strong { margin-top:5px; font-size:23px; }
  body.layout-mobile-landscape .batch-evidence { grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr); }
  body.layout-mobile-landscape .batch-metric { min-height:88px; padding:13px 15px; }
  body.layout-mobile-landscape .batch-report img { max-height:430px; }
  body.layout-mobile-landscape .science-formula { grid-template-columns:1fr auto 1fr auto 1fr; }
  body.layout-mobile-landscape .formula-sign { transform:none; }
  body.layout-mobile-landscape .gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; padding-bottom:0; }
  body.layout-mobile-landscape .gallery figure { min-width:0; scroll-snap-align:none; }
  body.layout-mobile-landscape .table-scroll { overflow:visible; }
  body.layout-mobile-landscape .data-table { min-width:0; font-size:16px; border-spacing:0 6px; }
  body.layout-mobile-landscape .data-table th { padding:0 10px 5px; }
  body.layout-mobile-landscape .data-table td { padding:10px; }
  body.layout-mobile-landscape .product-stage { grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); }
  body.layout-mobile-landscape .product-stage .product-photo { order:initial; }
  body.layout-mobile-landscape .product-stage { gap:30px; }
  body.layout-mobile-landscape .product-photo { padding:9px; border-radius:24px; }
  body.layout-mobile-landscape .product-photo img { max-height:360px; border-radius:17px; }
  body.layout-mobile-landscape .product-stage h2 { font-size:39px; }
  body.layout-mobile-landscape .product-stage .lead { font-size:19px; line-height:1.36; }
  body.layout-mobile-landscape .spec-list { gap:7px; margin-top:10px; }
  body.layout-mobile-landscape .spec-item {
    grid-template-columns:96px minmax(0,1fr);
    gap:10px;
    padding:10px 12px;
    border-radius:13px;
  }
  body.layout-mobile-landscape section[data-title="证据索引"] .slide-inner { gap:7px; }
  body.layout-mobile-landscape section[data-title="证据索引"] h2 { font-size:38px; }
  body.layout-mobile-landscape section[data-title="证据索引"] .data-table {
    font-size:14px;
    border-spacing:0 3px;
  }
  body.layout-mobile-landscape section[data-title="证据索引"] .data-table th { padding:0 8px 3px; }
  body.layout-mobile-landscape section[data-title="证据索引"] .data-table td { padding:7px 8px; line-height:1.28; }
  body.layout-mobile-landscape .hydration-layout { grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr); }
  body.layout-mobile-landscape .hydration-slide h2 { font-size:42px; }
  body.layout-mobile-landscape .hydration-slide .single-evidence > div { min-height:66px; padding:10px 17px; }
  body.layout-mobile-landscape .hydration-chart { min-height:0; padding:18px 22px 16px; }
  body.layout-mobile-landscape .hydration-chart-head { flex-direction:row; gap:18px; }
  body.layout-mobile-landscape .hydration-legend { justify-content:flex-end; }
  body.layout-mobile-landscape .hydration-plot { min-height:175px; padding:24px 18px 0; gap:clamp(18px,3vw,48px); }
  body.layout-mobile-landscape .hydration-reading { min-height:0; }
  body.layout-mobile-landscape .mobile-hint { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
@media print {
  body { overflow:visible; background:white; }
  .chrome,.progress,.menu,.lightbox,.orientation-gate { display:none!important; }
  .deck { height:auto; }
  .slide { position:relative; inset:auto; display:block; min-height:100vh; page-break-after:always; overflow:visible; opacity:1; visibility:visible; transform:none; pointer-events:auto; }
  .reveal { animation:none!important; opacity:1!important; }
}
