@charset "utf-8";
/* =========================================================================
   CPPM 证书知识库 — 视觉系统 v3
   设计原则：深海蓝品牌色 + 大留白 + 卡片层次 + 克制动效
   ========================================================================= */

:root {
  --brand: #006397;
  --brand-deep: #00466b;
  --brand-light: #1d8ec2;
  --brand-soft: #e9f3f8;
  --brand-line: #b6d5e4;
  --grad: linear-gradient(135deg, #006397 0%, #1784b0 55%, #2ba3cf 100%);
  --grad-soft: linear-gradient(135deg, #f2fafd 0%, #e6f3fb 100%);
  --grad-deep: linear-gradient(160deg, #023048 0%, #00527c 48%, #006397 100%);

  --ink: #0c1f2e;
  --ink-80: #1d3547;
  --ink-70: #33505f;
  --ink-60: #526e7d;
  --ink-50: #6e8593;
  --ink-40: #93a6b2;
  --ink-30: #b6c4cd;

  --line: #e4edf4;
  --line-2: #d3e3ef;
  --bg: #f5fafd;
  --bg-2: #eef6fb;
  --card: #ffffff;

  --r-sm: 10px;
  --r: 14px;
  --r-card: 18px;
  --r-lg: 26px;
  --r-pill: 999px;

  --sh-xs: 0 1px 2px rgba(9, 46, 76, 0.04);
  --sh-s: 0 2px 6px rgba(9, 46, 76, 0.05), 0 8px 20px -10px rgba(9, 46, 76, 0.1);
  --sh-m: 0 8px 24px -8px rgba(9, 60, 100, 0.14), 0 2px 6px rgba(9, 60, 100, 0.05);
  --sh-l: 0 24px 56px -22px rgba(0, 55, 85, 0.3), 0 6px 16px -8px rgba(0, 55, 85, 0.12);
  --sh-brand: 0 12px 28px -10px rgba(0, 99, 151, 0.45);

  --container: 1300px;
  --header-h: 66px;
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

* { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 20px);
}

body {
  margin: 0;
  font-family: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei",
    "Hiragino Sans GB", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color: var(--ink-80);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--brand); text-decoration: none; transition: color 0.2s var(--ease); }
a:hover { color: var(--brand-light); }
button { font-family: inherit; }
::selection { background: rgba(0, 99, 151, 0.2); color: var(--brand-deep); }

:focus-visible {
  outline: 2px solid var(--brand-light);
  outline-offset: 3px;
  border-radius: 4px;
}

/* 滚动条 */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #eff6fa; }
::-webkit-scrollbar-thumb {
  background: #c2d8e5;
  border-radius: 99px;
  border: 2px solid #eff6fa;
}
::-webkit-scrollbar-thumb:hover { background: #9cc2d8; }

/* 顶部阅读进度条 */
.read-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 0;
  z-index: 999;
  background: linear-gradient(90deg, #006397, #2ba3cf, #57d6c4);
  box-shadow: 0 0 12px rgba(31, 182, 221, 0.55);
  transition: width 0.1s linear;
  pointer-events: none;
}

/* ============================ 顶栏 ============================ */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--header-h);
  z-index: 120;
  background: rgba(255, 255, 255, 0.82);
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  backdrop-filter: saturate(180%) blur(18px);
  border-bottom: 1px solid transparent;
  transition: height 0.32s var(--ease), background 0.32s var(--ease),
    box-shadow 0.32s var(--ease), border-color 0.32s var(--ease);
}

.site-header.is-stuck {
  height: 58px;
  background: rgba(255, 255, 255, 0.94);
  border-bottom-color: rgba(211, 227, 239, 0.9);
  box-shadow: 0 8px 28px -18px rgba(0, 55, 85, 0.4);
}

.header-inner {
  max-width: var(--container);
  height: 100%;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 20px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 16.5px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.2px;
  white-space: nowrap;
}
.brand:hover { color: var(--ink); }

.brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 9px;
  border-radius: 8px;
  background: var(--grad);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.6px;
  box-shadow: 0 6px 14px -8px rgba(0, 99, 151, 0.8);
  transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease);
}
.brand:hover .brand-mark {
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 10px 20px -8px rgba(0, 99, 151, 0.85);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

/* 顶栏搜索 */
.header-search {
  position: relative;
  flex: 1;
  max-width: 320px;
  margin-left: 8px;
}
.search-glyph {
  position: absolute;
  left: 12px; top: 50%;
  transform: translateY(-50%);
  width: 15px; height: 15px;
  opacity: 0.38;
  pointer-events: none;
  color: var(--ink);
}
.header-search input {
  width: 100%;
  height: 38px;
  padding: 0 14px 0 36px;
  font-size: 13.5px;
  color: var(--ink);
  background: #f3f8fb;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  outline: none;
  transition: all 0.28s var(--ease);
}
.header-search input::placeholder { color: var(--ink-40); }
.header-search input:focus {
  background: #fff;
  border-color: var(--brand-line);
  box-shadow: 0 0 0 4px rgba(0, 99, 151, 0.12);
}

/* ============================ 按钮 ============================ */
.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 40px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  color: var(--ink-70);
  background: #fff;
  border: 1px solid var(--line-2);
  border-radius: var(--r-pill);
  cursor: pointer;
  overflow: hidden;
  white-space: nowrap;
  transition: transform 0.28s var(--ease-out), box-shadow 0.28s var(--ease),
    background 0.24s var(--ease), color 0.24s var(--ease), border-color 0.24s var(--ease);
}
.btn:hover { transform: translateY(-2px); color: var(--ink); }
.btn:active { transform: translateY(0) scale(0.985); }

.btn-primary {
  color: #fff;
  background: var(--grad);
  border-color: transparent;
  box-shadow: var(--sh-brand);
}
.btn-primary::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 28%, rgba(255, 255, 255, 0.42) 48%, transparent 66%);
  transform: translateX(-130%);
  transition: transform 0.75s var(--ease);
}
.btn-primary:hover {
  color: #fff;
  box-shadow: 0 16px 34px -10px rgba(0, 99, 151, 0.6);
}
.btn-primary:hover::after { transform: translateX(130%); }

.btn-outline {
  color: var(--brand);
  background: rgba(255, 255, 255, 0.7);
  border-color: var(--brand-line);
}
.btn-outline:hover {
  color: var(--brand-deep);
  background: var(--brand-soft);
  border-color: var(--brand-light);
}

.btn-ghost {
  background: transparent;
  border-color: transparent;
  color: var(--ink-60);
}
.btn-ghost:hover { background: var(--bg-2); color: var(--brand); }

.btn-lg {
  height: 52px;
  padding: 0 22px;
  font-size: 15px;
  border-radius: var(--r);
}
.btn .ico {
  font-size: 16px;
  line-height: 1;
  filter: saturate(1.15);
}

/* ============================ Hero（对标参考站） ============================ */
.hero {
  position: relative;
  margin-top: calc(var(--header-h) * -1);
  padding: calc(var(--header-h) + 178px) 24px 58px;
  background-color: #f6fafd;
  background-image:
    radial-gradient(900px 520px at 84% 6%, rgba(0, 99, 151, 0.13), rgba(0, 99, 151, 0) 62%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 42%),
    url("data:image/webp;base64,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");
  background-size: 100% 100%, 100% 100%, cover;
  background-position: center, center, left bottom;
  background-repeat: no-repeat;
  isolation: isolate;
}
/* 底部向白色过渡，衔接下一区块 */
.hero::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 90px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%);
  pointer-events: none;
  z-index: 0;
}

.hero-inner {
  position: relative;
  z-index: 1;
  max-width: var(--container);
  margin: 0 auto;
}

.hero h1 {
  margin: 0 0 24px;
  font-size: 60px;
  line-height: 1.26;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--brand);
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: currentColor;
  text-wrap: balance;
}

.hero .lede {
  max-width: 820px;
  margin: 0 0 42px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  color: #1a1c1e;
  letter-spacing: 0.1px;
}
.hero .lede span {
  display: block;
  margin-top: 5px;
  font-size: 14px;
  color: #5c6b77;
  letter-spacing: 0.2px;
}

/* ============================ 搜索卡 ============================ */
.search-card {
  position: relative;
  max-width: 100%;
  margin: 0;
  padding: 13px 18px 15px;
  background: #ffffff;
  border: 1px solid transparent;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(26, 28, 30, 0.1);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: border-color 0.28s var(--ease), box-shadow 0.28s var(--ease);
}
.search-card::before { display: none; }
.search-card:hover {
  border-color: rgba(0, 99, 151, 0.4);
  box-shadow: 0 3px 14px rgba(26, 28, 30, 0.12);
}
.search-card:focus-within {
  transform: none;
  border-color: var(--brand);
  box-shadow: 0 4px 18px rgba(0, 99, 151, 0.18);
}

.search-field {
  display: block;
  padding: 0;
}
.search-field textarea {
  width: 100%;
  height: 44px;
  min-height: 44px;
  padding: 9px 0;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.6;
  color: #1a1c1e;
  background: transparent;
  border: 0;
  outline: none;
  resize: none;
  overflow: hidden;
}
.search-field textarea::placeholder { color: rgba(26, 28, 30, 0.5); }

/* 快捷问题 + 提交按钮 */
.search-quick {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 9px;
  padding-top: 13px;
  border-top: 1px solid #edf1f4;
}
.ask-chip {
  position: relative;
  flex: none;
  height: 32px;
  padding: 0 14px;
  font-family: inherit;
  font-size: 12.8px;
  line-height: 1;
  color: #46505a;
  white-space: nowrap;
  background: #ffffff;
  border: 1px solid #e3e8ec;
  border-radius: var(--r-pill);
  cursor: pointer;
  overflow: hidden;
  transition: color 0.22s var(--ease), border-color 0.22s var(--ease),
    background 0.22s var(--ease);
}
.ask-chip::before { display: none; }
.ask-chip:hover {
  color: var(--brand);
  border-color: rgba(0, 99, 151, 0.45);
  background: #f5fafd;
  transform: none;
  box-shadow: none;
}
.ask-chip:active { transform: scale(0.985); }

.search-quick .btn {
  flex: none;
  margin-left: auto;
  height: 38px;
  padding: 0 24px;
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: 0.3px;
  border-radius: var(--r-pill);
  box-shadow: none;
}

.search-results {
  display: none;
  margin: 12px -18px -15px;
  padding: 10px;
  max-height: 380px;
  overflow-y: auto;
  background: #fbfdfe;
  border-top: 1px solid #edf1f4;
  border-radius: 0 0 10px 10px;
  box-shadow: none;
  text-align: left;
}
.search-results.is-open {
  display: block;
  animation: panelIn 0.3s var(--ease-out);
}
@keyframes panelIn {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: none; }
}

.sr-item {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  transition: background 0.18s var(--ease);
}
.sr-item + .sr-item { margin-top: 2px; }
.sr-item .t {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 3px;
}
.sr-item .d {
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--ink-50);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sr-item mark {
  color: var(--brand-deep);
  background: rgba(0, 99, 151, 0.12);
  border-radius: 3px;
  padding: 0 2px;
}
.sr-item:hover, .sr-item.is-cursor {
  background: #eef6fb;
  transform: none;
}
.sr-empty {
  padding: 18px 14px;
  font-size: 13px;
  color: var(--ink-50);
  text-align: center;
}
.sr-page-list {
  margin-top: 6px;
  padding: 10px 12px 4px;
  border-top: 1px dashed var(--line);
  font-size: 12.5px;
}

/* ============================ 首屏行动按钮 ============================ */
.hero-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  max-width: 100%;
  margin: 34px 0 0;
}
.hero-actions .btn {
  height: 54px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.4px;
  color: #ffffff;
  background: var(--brand);
  border: 1px solid var(--brand);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 99, 151, 0.18);
  gap: 9px;
}
.hero-actions .btn::after { display: none; }
.hero-actions .btn .ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px; height: 18px;
  font-size: 15px;
  line-height: 1;
  transition: transform 0.3s var(--ease-out);
}
.hero-actions .btn .ico svg { display: block; width: 18px; height: 18px; }
.hero-actions .btn:hover {
  color: #ffffff;
  background: #004a71;
  border-color: #004a71;
  box-shadow: 0 10px 22px -10px rgba(0, 99, 151, 0.75);
  transform: translateY(-2px);
}
.hero-actions .btn:hover .ico { transform: scale(1.12); }

/* ============================ 通用区块 ============================ */
.section {
  position: relative;
  max-width: var(--container);
  margin: 0 auto;
  padding: 74px 24px;
}
.section + .section { padding-top: 42px; }
.hero + .section { padding-top: 40px; }

.section-head {
  text-align: center;
  margin-bottom: 44px;
}
.section-title {
  position: relative;
  display: inline-block;
  text-wrap: balance;
  margin: 0;
  padding-bottom: 16px;
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -0.8px;
  color: var(--ink);
}
.section-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 44px;
  height: 4px;
  margin-left: -22px;
  border-radius: 99px;
  background: var(--grad);
  transition: width 0.5s var(--ease-out);
}
.section-head:hover .section-title::after { width: 72px; }
.section-sub {
  margin: 14px 0 0;
  font-size: 15px;
  color: var(--ink-50);
  letter-spacing: 0.1px;
}

/* ============================ 文档卡片 ============================ */
.doc-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.doc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 26px 24px 24px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-shadow: var(--sh-xs);
  overflow: hidden;
  transition: transform 0.42s var(--ease-out), box-shadow 0.42s var(--ease),
    border-color 0.42s var(--ease);
}
/* 顶部渐变扫光 */
.doc-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 0; height: 3px;
  background: var(--grad);
  border-radius: 0 3px 3px 0;
  transition: width 0.5s var(--ease-out);
}
/* 右上箭头 */
.doc-card::after {
  content: "→";
  position: absolute;
  top: 22px; right: 22px;
  font-size: 16px;
  color: var(--brand-light);
  opacity: 0;
  transform: translate(-6px, 6px);
  transition: opacity 0.34s var(--ease), transform 0.34s var(--ease-out);
}
.doc-card:hover {
  transform: translateY(-6px);
  border-color: var(--brand-line);
  box-shadow: var(--sh-l);
}
.doc-card:hover::before { width: 100%; }
.doc-card:hover::after { opacity: 1; transform: none; }

.doc-card-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-right: 40px;
  font-size: 17.5px;
  line-height: 1.48;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.2px;
}
/* JS 注入的图标容器 */
.doc-ico {
  flex: none;
  margin-top: -3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px; height: 42px;
  border-radius: 13px;
  background: linear-gradient(140deg, #f0f9fe, #e2f1fa);
  border: 1px solid rgba(185, 220, 240, 0.85);
  color: var(--brand);
  transition: background 0.42s var(--ease), color 0.42s var(--ease),
    transform 0.42s var(--ease-out), box-shadow 0.42s var(--ease);
}
.doc-ico svg { width: 21px; height: 21px; display: block; }
.doc-card:hover .doc-ico {
  background: var(--grad);
  border-color: transparent;
  color: #fff;
  transform: translateY(-2px) scale(1.06);
  box-shadow: 0 10px 20px -10px rgba(0, 99, 151, 0.8);
}

/* 兜底：未注入时的原始 svg */
.doc-glyph {
  flex: none;
  width: 20px; height: 20px;
  color: var(--brand);
}

.doc-card-desc {
  margin: 0;
  font-size: 14.2px;
  font-weight: 400;
  line-height: 1.74;
  color: var(--ink-50);
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.3s var(--ease);
}
.doc-card:hover .doc-card-desc { color: var(--ink-60); }

/* ============================ 数据条 ============================ */
.stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0 auto 10px;
  max-width: var(--container);
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  overflow: hidden;
}
.stat {
  padding: 24px 18px;
  text-align: center;
  background: #fff;
  transition: background 0.3s var(--ease);
}
.stat:hover { background: var(--bg); }
.stat b {
  display: block;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -1px;
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.stat span {
  display: block;
  margin-top: 4px;
  font-size: 12.5px;
  color: var(--ink-50);
}

/* ============================ Tabs ============================ */
.tabs-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}
.tab-list {
  position: relative;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
  padding: 5px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  box-shadow: var(--sh-s);
}
.tab {
  position: relative;
  z-index: 1;
  height: 38px;
  padding: 0 18px;
  font-size: 13.8px;
  font-weight: 500;
  color: var(--ink-60);
  background: transparent;
  border: 0;
  border-radius: var(--r-pill);
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.26s var(--ease);
}
.tab:hover { color: var(--brand); }
.tab[aria-selected="true"] { color: #fff; font-weight: 600; }
.tab[aria-selected="true"]::after { content: none; }
/* 滑块 */
.tab-glider {
  position: absolute;
  top: 0; left: 0;
  height: 38px;
  width: 0;
  border-radius: var(--r-pill);
  background: var(--grad);
  box-shadow: 0 8px 18px -10px rgba(0, 99, 151, 0.85);
  transition: transform 0.44s var(--ease-out), width 0.44s var(--ease-out);
  z-index: 0;
  pointer-events: none;
}

.tab-panels { position: relative; }
.tab-panel { display: none; }
.tab-panel.is-active {
  display: block;
  animation: panelFade 0.46s var(--ease-out);
}
@keyframes panelFade {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}

/* 特色面板 */
.feature-box {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
  padding: 40px;
  background: linear-gradient(160deg, #ffffff 0%, #f7fcff 100%);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-m);
}
.feature-box h3 {
  margin: 0 0 14px;
  font-size: 22px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.3px;
}
.feature-box p {
  margin: 0 0 12px;
  font-size: 14.5px;
  line-height: 1.85;
  color: var(--ink-60);
}
.feature-box p:last-child { margin-bottom: 0; }

.feature-list {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}
.feature-list li {
  position: relative;
  padding: 9px 0 9px 26px;
  font-size: 14px;
  color: var(--ink-70);
  border-top: 1px dashed var(--line);
}
.feature-list li::before {
  content: "";
  position: absolute;
  left: 4px; top: 17px;
  width: 8px; height: 8px;
  border-radius: 3px;
  background: var(--grad);
  transition: transform 0.3s var(--ease-out);
}
.feature-list li:hover::before { transform: rotate(45deg) scale(1.15); }

.feature-visual {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  padding: 26px;
  text-align: center;
  background: radial-gradient(120% 120% at 50% 0%, #eaf6fd 0%, #f7fcff 60%, #fff 100%);
  border: 1px solid var(--brand-line);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.feature-visual::before {
  content: "";
  position: absolute;
  inset: -40% -10% auto -10%;
  height: 160%;
  background: conic-gradient(from 180deg at 50% 50%, rgba(0, 99, 151, 0.14), transparent 40%, rgba(87, 214, 196, 0.16), transparent 78%);
  animation: spinSlow 22s linear infinite;
  pointer-events: none;
}
@keyframes spinSlow { to { transform: rotate(360deg); } }

.feature-visual .big {
  position: relative;
  font-size: 76px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -4px;
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.feature-visual .small {
  position: relative;
  margin-top: 10px;
  font-size: 13px;
  color: var(--ink-60);
  letter-spacing: 0.3px;
}

/* ============================ 优势卡 ============================ */
.adv-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.adv-card {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: start;
  column-gap: 18px;
  padding: 28px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-shadow: var(--sh-xs);
  overflow: hidden;
  transition: transform 0.42s var(--ease-out), box-shadow 0.42s var(--ease),
    border-color 0.42s var(--ease);
}
.adv-card::after {
  content: "";
  position: absolute;
  inset: auto -40% -70% auto;
  width: 260px; height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 99, 151, 0.13), transparent 68%);
  opacity: 0;
  transition: opacity 0.5s var(--ease);
  pointer-events: none;
}
.adv-card:hover {
  transform: translateY(-5px);
  border-color: var(--brand-line);
  box-shadow: var(--sh-l);
}
.adv-card:hover::after { opacity: 1; }

.adv-icon svg { width: 21px; height: 21px; display: block; }
.adv-icon {
  position: relative;
  grid-row: 1 / span 2;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px; height: 48px;
  font-size: 22px;
  border-radius: 14px;
  background: var(--grad-soft);
  border: 1px solid rgba(185, 220, 240, 0.9);
  transition: transform 0.42s var(--ease-out), background 0.42s var(--ease);
}
.adv-card:hover .adv-icon {
  transform: translateY(-2px) rotate(-6deg) scale(1.05);
  background: #fff;
}
.adv-card h3 {
  grid-column: 2;
  margin: 2px 0 8px;
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
}
.adv-card p {
  grid-column: 2;
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: var(--ink-50);
}

/* ============================ FAQ ============================ */
.faq-list {
  max-width: 1000px;
  margin: 0 auto;
}
.faq-item {
  position: relative;
  margin-bottom: 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r);
  overflow: hidden;
  transition: border-color 0.3s var(--ease), box-shadow 0.3s var(--ease),
    background 0.3s var(--ease);
}
.faq-item::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--grad);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.4s var(--ease-out);
}
.faq-item:hover { border-color: var(--brand-line); box-shadow: var(--sh-s); }
.faq-item.is-open {
  border-color: var(--brand-line);
  box-shadow: var(--sh-m);
  background: #fdfeff;
}
.faq-item.is-open::before { transform: scaleY(1); }

.faq-q {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 20px 56px 20px 22px;
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.6;
  text-align: left;
  color: var(--ink);
  background: transparent;
  border: 0;
  cursor: pointer;
  transition: color 0.26s var(--ease);
}
.faq-q:hover { color: var(--brand); }
.faq-item.is-open .faq-q { color: var(--brand-deep); }

.faq-q .plus {
  position: absolute;
  right: 20px; top: 50%;
  width: 22px; height: 22px;
  margin-top: -11px;
  border-radius: 50%;
  background: var(--bg-2);
  transition: background 0.32s var(--ease), transform 0.42s var(--ease-out);
}
.faq-q .plus::before,
.faq-q .plus::after {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  background: var(--brand);
  border-radius: 2px;
  transition: transform 0.42s var(--ease-out), background 0.32s var(--ease);
}
.faq-q .plus::before {
  width: 10px; height: 1.8px;
  transform: translate(-50%, -50%);
}
.faq-q .plus::after {
  width: 1.8px; height: 10px;
  transform: translate(-50%, -50%);
}
.faq-item.is-open .faq-q .plus { background: var(--grad); transform: rotate(180deg); }
.faq-item.is-open .faq-q .plus::before,
.faq-item.is-open .faq-q .plus::after { background: #fff; }
.faq-item.is-open .faq-q .plus::after { transform: translate(-50%, -50%) scaleY(0); }

.faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.46s var(--ease-out);
}
.faq-a-inner {
  padding: 0 22px 22px;
  font-size: 14.5px;
  line-height: 1.85;
  color: var(--ink-60);
  border-top: 1px dashed var(--line);
  padding-top: 16px;
  margin: 0 0 0;
}
.faq-a-inner p { margin: 0 0 10px; }
.faq-a-inner p:last-child { margin-bottom: 0; }

/* ============================ CTA ============================ */
.cta {
  padding: 20px 24px 80px;
}
.cta-box {
  position: relative;
  max-width: var(--container);
  margin: 0 auto;
  padding: 56px 48px;
  text-align: center;
  color: #fff;
  background: var(--grad-deep);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 40px 80px -40px rgba(0, 55, 85, 0.7);
  isolation: isolate;
}
.cta-box::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 18% 20%, rgba(31, 182, 221, 0.35), transparent 42%),
    radial-gradient(circle at 84% 76%, rgba(87, 214, 196, 0.28), transparent 46%),
    linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: auto, auto, 46px 46px, 46px 46px;
  z-index: -1;
}
.cta-box::after {
  content: "";
  position: absolute;
  top: -60%; left: -20%;
  width: 60%; height: 220%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.12), transparent);
  transform: rotate(14deg);
  animation: sheen 7s ease-in-out infinite;
  pointer-events: none;
}
@keyframes sheen {
  0%, 100% { transform: translateX(-40%) rotate(14deg); opacity: 0; }
  45% { opacity: 1; }
  60% { transform: translateX(260%) rotate(14deg); opacity: 0; }
}
.cta-box h2 {
  margin: 0 0 14px;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.6px;
  color: #fff;
}
.cta-box p {
  margin: 0 auto;
  max-width: 620px;
  font-size: 15px;
  line-height: 1.85;
  color: rgba(255, 255, 255, 0.82);
}
.cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 30px;
}
.cta-box .btn-primary {
  background: #fff;
  color: var(--brand-deep);
  box-shadow: 0 16px 34px -16px rgba(0, 0, 0, 0.6);
}
.cta-box .btn-primary:hover { color: var(--brand); }
.cta-box .btn-outline {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.4);
}
.cta-box .btn-outline:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.7);
}

/* ============================ 页脚 ============================ */
.site-footer {
  position: relative;
  padding: 56px 24px 0;
  color: rgba(255, 255, 255, 0.68);
  background: linear-gradient(180deg, #0b2f49 0%, #07243a 100%);
  overflow: hidden;
}
.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 12% 0%, rgba(0, 99, 151, 0.2), transparent 40%),
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: auto, 52px 52px, 52px 52px;
  pointer-events: none;
}
.footer-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 0.92fr);
  gap: 40px;
  max-width: var(--container);
  margin: 0 auto;
  padding-bottom: 44px;
}
.footer-brand .brand {
  color: #fff;
  margin-bottom: 14px;
}
.footer-brand .brand:hover { color: #fff; }
.footer-brand p {
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 1.85;
  color: rgba(255, 255, 255, 0.55);
}
.footer-col h4 {
  margin: 0 0 16px;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.6px;
  color: #fff;
  text-transform: uppercase;
}
.footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-col.wide ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 22px;
}
.footer-col li { margin-bottom: 9px; }
.footer-col a {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  font-size: 13.5px;
  color: rgba(255, 255, 255, 0.6);
  transition: color 0.24s var(--ease), transform 0.24s var(--ease);
}
.footer-col a:hover {
  color: #fff;
  transform: translateX(3px);
}
.footer-bottom {
  position: relative;
  max-width: var(--container);
  margin: 0 auto;
  padding: 20px 0 26px;
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.4);
  border-top: 1px solid rgba(255, 255, 255, 0.09);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  justify-content: space-between;
}

/* ============================ 文档页布局 ============================ */
.doc-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr) 208px;
  gap: 32px;
  max-width: var(--container);
  margin: 0 auto;
  padding: calc(var(--header-h) + 28px) 24px 60px;
  align-items: start;
}

.sidebar {
  position: sticky;
  top: calc(var(--header-h) + 18px);
  max-height: calc(100vh - var(--header-h) - 40px);
  overflow-y: auto;
  padding: 18px 14px 22px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-shadow: var(--sh-xs);
  scrollbar-width: thin;
}
.sidebar::-webkit-scrollbar { width: 6px; }
.sidebar::-webkit-scrollbar-thumb { background: #d3e3ef; border: 0; border-radius: 99px; }

.sidebar-head {
  padding: 4px 10px 12px;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.8px;
  color: var(--ink-40);
  text-transform: uppercase;
  border-bottom: 1px solid var(--line);
}
.nav-group { margin-bottom: 4px; }
.nav-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  margin-bottom: 2px;
  font-size: 13.6px;
  line-height: 1.5;
  color: var(--ink-60);
  border-radius: var(--r-sm);
  transition: background 0.22s var(--ease), color 0.22s var(--ease),
    padding-left 0.22s var(--ease);
}
.nav-link .em { display: none; }
.nav-link:hover {
  color: var(--brand);
  background: var(--bg-2);
  padding-left: 16px;
}
.nav-link.is-current {
  color: var(--brand-deep);
  background: var(--brand-soft);
  font-weight: 600;
}
.nav-link.is-current::before {
  content: "";
  position: absolute;
  left: 0; top: 8px; bottom: 8px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--grad);
}

.doc-main { min-width: 0; }

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 12.5px;
  color: var(--ink-40);
}
.breadcrumb a { color: var(--ink-50); }
.breadcrumb a:hover { color: var(--brand); }
.breadcrumb .sep { color: var(--ink-30); }

.doc-inner {
  padding: 38px 40px 44px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-s);
}

/* 正文 */
.prose { font-size: 15.5px; line-height: 1.9; color: var(--ink-70); }
.prose h1 {
  margin: 0 0 14px;
  font-size: 30px;
  line-height: 1.34;
  text-wrap: balance;
  font-weight: 800;
  letter-spacing: -0.6px;
  color: var(--ink);
}
.prose .lede {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.85;
  color: var(--ink-60);
}
.prose .meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 26px;
  padding-bottom: 20px;
  font-size: 12.5px;
  color: var(--ink-40);
  border-bottom: 1px solid var(--line);
}
.prose h2 {
  position: relative;
  margin: 44px 0 16px;
  padding-left: 16px;
  font-size: 22px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: -0.3px;
  color: var(--ink);
  scroll-margin-top: calc(var(--header-h) + 24px);
}
.prose h2::before {
  content: "";
  position: absolute;
  left: 0; top: 50%;
  width: 4px; height: 18px;
  margin-top: -9px;
  border-radius: 99px;
  background: var(--grad);
  transition: height 0.3s var(--ease-out);
}
.prose h2:hover::before { height: 26px; margin-top: -13px; }
.prose h3 {
  margin: 28px 0 12px;
  font-size: 17px;
  font-weight: 700;
  color: var(--ink-80);
}
.prose p { margin: 0 0 15px; }
.prose strong { color: var(--ink); font-weight: 700; }
.prose a {
  color: var(--brand);
  border-bottom: 1px solid rgba(0, 99, 151, 0.32);
  transition: border-color 0.22s var(--ease), background 0.22s var(--ease);
}
.prose a:hover {
  color: var(--brand-deep);
  border-bottom-color: var(--brand);
  background: rgba(0, 99, 151, 0.07);
}
.prose ul, .prose ol { margin: 0 0 16px; padding-left: 22px; }
.prose li { margin-bottom: 8px; }
.prose li::marker { color: var(--brand-light); }
.prose hr {
  margin: 36px 0;
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--line-2), transparent);
}
.prose code {
  padding: 2px 6px;
  font-size: 0.9em;
  color: var(--brand-deep);
  background: var(--bg-2);
  border-radius: 5px;
}
.prose blockquote {
  position: relative;
  margin: 22px 0;
  padding: 18px 22px 18px 26px;
  font-size: 15px;
  color: var(--ink-70);
  background: var(--grad-soft);
  border-radius: var(--r);
  border-left: 3px solid var(--brand-light);
}
.prose blockquote p:last-child { margin-bottom: 0; }

/* 表格 */
.table-wrap {
  margin: 22px 0;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--sh-xs);
  -webkit-overflow-scrolling: touch;
}
.prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  background: #fff;
}
.prose thead th {
  padding: 13px 16px;
  font-size: 13px;
  font-weight: 700;
  text-align: left;
  color: var(--brand-deep);
  background: var(--bg-2);
  border-bottom: 1px solid var(--line-2);
  white-space: nowrap;
}
.prose tbody td {
  padding: 13px 16px;
  color: var(--ink-70);
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.prose tbody td:first-child { font-weight: 600; color: var(--ink); }
.prose tbody tr { transition: background 0.2s var(--ease); }
.prose tbody tr:hover { background: #f8fcfe; }
.prose tbody tr:last-child td { border-bottom: 0; }

/* 提示块 */
.callout {
  position: relative;
  display: flex;
  gap: 14px;
  margin: 24px 0;
  padding: 20px 22px;
  background: linear-gradient(135deg, #f0f9fe, #eaf5fc);
  border: 1px solid var(--brand-line);
  border-radius: var(--r);
}
.callout::before {
  content: "";
  position: absolute;
  left: 0; top: 14px; bottom: 14px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--grad);
}
.callout .ico { flex: none; font-size: 18px; line-height: 1.5; }
.callout p { margin: 0 0 8px; font-size: 14.2px; line-height: 1.8; color: var(--ink-70); }
.callout p:last-child { margin-bottom: 0; }
.callout.warn {
  background: linear-gradient(135deg, #fff9f0, #fff4e6);
  border-color: #f3d9b0;
}
.callout.warn::before { background: linear-gradient(180deg, #f0a53c, #e8890c); }

/* 相关阅读 */
.related { margin-top: 40px; }
.related-title {
  position: relative;
  margin-bottom: 16px;
  padding-left: 14px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}
.related-title::before {
  content: "";
  position: absolute;
  left: 0; top: 50%;
  width: 3px; height: 14px;
  margin-top: -7px;
  border-radius: 99px;
  background: var(--grad);
}
.related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
}
.rel-item {
  display: block;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r);
  transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease),
    border-color 0.3s var(--ease);
}
.rel-item:hover {
  transform: translateY(-3px);
  border-color: var(--brand-line);
  box-shadow: var(--sh-m);
}
.rel-t {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 4px;
}
.rel-d {
  font-size: 12.5px;
  line-height: 1.65;
  color: var(--ink-50);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 翻页 */
.doc-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 36px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}
.doc-nav a {
  display: block;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r);
  transition: all 0.3s var(--ease);
}
.doc-nav a:hover {
  border-color: var(--brand-line);
  box-shadow: var(--sh-m);
  transform: translateY(-2px);
}
.doc-nav .dir {
  display: block;
  font-size: 11.5px;
  letter-spacing: 0.5px;
  color: var(--ink-40);
  margin-bottom: 4px;
}
.doc-nav .ttl { font-size: 14px; font-weight: 600; color: var(--ink); }
.doc-nav .next { text-align: right; }
.doc-nav .ph { visibility: hidden; }

/* 右侧目录 */
.toc {
  position: sticky;
  top: calc(var(--header-h) + 18px);
  max-height: calc(100vh - var(--header-h) - 40px);
  overflow-y: auto;
  padding: 18px 6px 18px 18px;
  font-size: 13px;
  border-left: 1px solid var(--line);
  scrollbar-width: thin;
}
.toc::-webkit-scrollbar { width: 5px; }
.toc::-webkit-scrollbar-thumb { background: #dbe8f1; border-radius: 99px; }
.toc-title {
  margin-bottom: 12px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.8px;
  color: var(--ink-40);
}
.toc a {
  position: relative;
  display: block;
  padding: 7px 10px;
  margin-bottom: 2px;
  color: var(--ink-50);
  border-radius: 7px;
  transition: color 0.22s var(--ease), background 0.22s var(--ease);
}
.toc a.lv3 { padding-left: 22px; font-size: 12.5px; }
.toc a:hover { color: var(--brand); background: var(--bg-2); }
.toc a.is-active {
  color: var(--brand-deep);
  font-weight: 600;
  background: var(--brand-soft);
}
.toc a.is-active::before {
  content: "";
  position: absolute;
  left: 0; top: 50%;
  width: 2px; height: 14px;
  margin-top: -7px;
  border-radius: 99px;
  background: var(--grad);
}


/* 无 JS 兜底：目录仍嵌在正文卡片内时的排版 */
.doc-inner > .toc {
  position: static;
  max-height: none;
  margin-top: 34px;
  padding: 20px 0 0;
  border-left: 0;
  border-top: 1px dashed var(--line-2);
  columns: 2;
  column-gap: 26px;
}
.doc-inner > .toc a { break-inside: avoid; }
.doc-inner > .toc .toc-title { column-span: all; }

/* ============================ 枢纽页 ============================ */
.hub-hero {
  position: relative;
  margin-top: calc(var(--header-h) * -1);
  padding: calc(var(--header-h) + 98px) 24px 52px;
  background:
    radial-gradient(900px 400px at 50% -20%, #ffffff 0%, rgba(255, 255, 255, 0) 70%),
    linear-gradient(180deg, #eaf5fb 0%, #f6fbfe 60%, #fff 100%);
  overflow: hidden;
}
.hub-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(0, 99, 151, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 99, 151, 0.05) 1px, transparent 1px);
  background-size: 52px 52px;
  -webkit-mask-image: radial-gradient(700px 340px at 50% 10%, #000, transparent 78%);
  mask-image: radial-gradient(700px 340px at 50% 10%, #000, transparent 78%);
  pointer-events: none;
}
.hub-hero .hub-inner {
  position: relative;
  max-width: 880px;
  margin: 0 auto;
}
.hub-hero .breadcrumb { justify-content: flex-start; margin-bottom: 14px; }
.hub-hero h1 {
  margin: 0 0 16px;
  font-size: 44px;
  line-height: 1.22;
  font-weight: 800;
  letter-spacing: -1.1px;
  text-wrap: balance;
  background: linear-gradient(120deg, #00466b, #006397 55%, #1f92c1);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hub-lede {
  max-width: 760px;
  margin: 0;
  font-size: 15.5px;
  line-height: 1.85;
  color: var(--ink-60);
}
.hub-no {
  position: absolute;
  top: 18px; right: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 22px;
  padding: 0 7px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.4px;
  color: var(--ink-40);
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: 7px;
  transition: opacity 0.3s var(--ease), transform 0.3s var(--ease-out),
    color 0.3s var(--ease), background 0.3s var(--ease);
}
.doc-card:hover .hub-no {
  opacity: 0;
  transform: translateY(-5px);
}
.map-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 24px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}
.map-list li { margin: 0; }
.map-list a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 16px;
  font-size: 14px;
  color: var(--ink-70);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r);
  transition: all 0.28s var(--ease);
}
.map-list a:hover {
  color: var(--brand-deep);
  border-color: var(--brand-line);
  box-shadow: var(--sh-s);
  transform: translateX(3px);
}

/* ============================ 404 ============================ */
.err-wrap {
  max-width: 640px;
  margin: 0 auto;
  padding: calc(var(--header-h) + 90px) 24px 100px;
  text-align: center;
}
.err-code {
  font-size: 120px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -6px;
  background: linear-gradient(135deg, #cfe4f1, #006397 70%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: errFloat 5s ease-in-out infinite;
}
@keyframes errFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
.err-wrap h1 {
  margin: 10px 0 12px;
  font-size: 26px;
  font-weight: 700;
  color: var(--ink);
}
.err-desc {
  margin: 0 0 26px;
  font-size: 14.5px;
  line-height: 1.8;
  color: var(--ink-50);
}
.err-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 40px;
}
.err-hot {
  padding: 24px;
  text-align: left;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-shadow: var(--sh-s);
}
.err-hot-title {
  margin-bottom: 12px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--ink-40);
}
.err-hot ul { list-style: none; margin: 0; padding: 0; }
.err-hot li { margin-bottom: 8px; }
.err-hot a { font-size: 14px; color: var(--ink-70); }
.err-hot a:hover { color: var(--brand); }

/* ============================ 回到顶部 ============================ */
.to-top {
  position: fixed;
  right: 24px;
  bottom: 28px;
  z-index: 90;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  font-size: 17px;
  color: var(--brand);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--line-2);
  border-radius: 50%;
  box-shadow: var(--sh-m);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(0.9);
  transition: opacity 0.34s var(--ease), transform 0.34s var(--ease-out),
    visibility 0.34s, box-shadow 0.3s var(--ease);
}
.to-top.is-on { opacity: 1; visibility: visible; transform: none; }
.to-top:hover {
  color: #fff;
  background: var(--grad);
  border-color: transparent;
  box-shadow: var(--sh-brand);
  transform: translateY(-3px);
}


/* ============================ 移动端目录按钮 ============================ */
.nav-toggle {
  display: none;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  padding: 0;
  background: #fff;
  border: 1px solid var(--line-2);
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.24s var(--ease), border-color 0.24s var(--ease),
    box-shadow 0.24s var(--ease);
}
.nav-toggle span {
  position: relative;
  display: block;
  width: 16px; height: 1.8px;
  background: var(--ink-70);
  border-radius: 2px;
  transition: background 0.24s var(--ease);
}
.nav-toggle span::before,
.nav-toggle span::after {
  content: "";
  position: absolute;
  left: 0;
  width: 16px; height: 1.8px;
  background: inherit;
  border-radius: 2px;
  transition: transform 0.3s var(--ease-out);
}
.nav-toggle span::before { top: -5px; }
.nav-toggle span::after { top: 5px; }
.nav-toggle:hover { background: var(--bg-2); border-color: var(--brand-line); }
.nav-toggle.is-open span { background: transparent; }
.nav-toggle.is-open span::before { transform: translateY(5px) rotate(45deg); background: var(--brand); }
.nav-toggle.is-open span::after { transform: translateY(-5px) rotate(-45deg); background: var(--brand); }

@media (max-width: 860px) {
  .nav-toggle { display: inline-flex; }
}

/* ============================ 滚动揭示 ============================ */
html.js-anim .reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out);
  transition-delay: var(--d, 0ms);
  will-change: opacity, transform;
}
html.js-anim .reveal.is-in {
  opacity: 1;
  transform: none;
}
html.js-anim .reveal-l {
  opacity: 0;
  transform: translateX(-24px);
  transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out);
  transition-delay: var(--d, 0ms);
}
html.js-anim .reveal-l.is-in { opacity: 1; transform: none; }

/* ============================ 响应式 ============================ */
@media (max-width: 1080px) {
  .doc-layout {
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 24px;
  }
  .toc { display: none; }
  .doc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .hero { background-position: right bottom; }
  .hero h1 { font-size: 40px; letter-spacing: 0; }
  .hero { padding-top: calc(var(--header-h) + 100px); padding-bottom: 92px; }
  .section { padding: 52px 20px; }
  .section-title { font-size: 27px; }
  .hub-hero h1 { font-size: 32px; }
  .hero-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .adv-grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .feature-box { grid-template-columns: 1fr; gap: 26px; padding: 28px; }
  .feature-visual { min-height: 150px; }
  .feature-visual .big { font-size: 58px; }
  .doc-layout {
    display: block;
    padding: calc(var(--header-h) + 18px) 16px 40px;
  }
  .sidebar {
    position: fixed;
    top: 0; left: 0; bottom: 0;
    width: 282px;
    max-height: 100vh;
    z-index: 200;
    border-radius: 0;
    border: 0;
    transform: translateX(-102%);
    transition: transform 0.36s var(--ease-out);
    box-shadow: 12px 0 40px -20px rgba(0, 55, 85, 0.5);
  }
  .sidebar.is-open { transform: none; }
  .nav-mask {
    position: fixed;
    inset: 0;
    z-index: 190;
    background: rgba(6, 34, 54, 0.44);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s var(--ease), visibility 0.3s;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
  }
  .nav-mask.is-open { opacity: 1; visibility: visible; }
  .doc-inner { padding: 26px 20px 30px; border-radius: var(--r-card); }
  .prose h1 { font-size: 25px; }
  .prose h2 { font-size: 19.5px; margin-top: 34px; }
  .prose { font-size: 15px; }
  .footer-inner { grid-template-columns: 1fr; gap: 30px; }
  .cta-box { padding: 38px 24px; border-radius: 22px; }
  .cta-box h2 { font-size: 24px; }
  .map-list { grid-template-columns: 1fr; }
  .header-search { display: none; }
  .doc-nav { grid-template-columns: 1fr; }
  .doc-nav .next { text-align: left; }
}

@media (max-width: 560px) {
  .hero h1 { font-size: 29px; letter-spacing: 0; line-height: 1.34; }
  .hero .lede { font-size: 14.5px; }
  .hero-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .hero-actions .btn { height: 48px; font-size: 13.5px; }
  .doc-grid { grid-template-columns: 1fr; }
  .doc-card { padding: 22px 20px; }
  .doc-card-desc { -webkit-line-clamp: 5; }
  .search-card { border-radius: 10px; padding: 12px 14px 14px; }
  .search-quick {
    flex-wrap: wrap;
    gap: 8px;
    margin: 9px 0 0;
    padding: 12px 0 0;
    overflow: visible;
  }
  .search-quick .btn {
    margin-left: auto;
    height: 32px;
    padding: 0 16px;
    font-size: 12.5px;
  }
  .ask-chip { flex: 0 1 auto; font-size: 12px; height: 30px; padding: 0 11px; }
  .header-actions .btn-outline { display: none; }
  .header-inner { padding: 0 16px; gap: 12px; }
  .brand { font-size: 15px; }
  .brand-mark { height: 26px; font-size: 11px; }
  .btn { height: 36px; padding: 0 14px; font-size: 13px; }
  .section-title { font-size: 23px; }
  .stat b { font-size: 26px; }
  .tab { height: 34px; padding: 0 14px; font-size: 12.8px; }
  .tab-glider { height: 34px; }
  .err-code { font-size: 84px; }
  .to-top { right: 14px; bottom: 16px; width: 40px; height: 40px; }
  .footer-col.wide ul { grid-template-columns: 1fr; }
}

/* ============================ 动效降级 ============================ */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
  html.js-anim .reveal,
  html.js-anim .reveal-l { opacity: 1; transform: none; }
}

@media print {
  .site-header, .to-top, .read-progress, .sidebar, .toc, .cta, .hero-blob { display: none !important; }
  body { background: #fff; }
  .doc-layout { display: block; padding: 0; }
  .doc-inner { border: 0; box-shadow: none; padding: 0; }
}
