/* 无界指纹浏览器 · 产品能力页统一蓝白配色 + 每页独立排版（依赖 feature-pages-light-unb2.css） */

/* ========== 统一蓝白主题变量 ========== */
body.fp-account,
body.fp-sync,
body.fp-api,
body.fp-team,
body.fp-proxy {
  --fp-accent: #2f5bff;
  --fp-accent-2: #6f95ff;
  --fp-accent-soft: #eef3ff;
  --fp-glow: rgba(47, 91, 255, 0.16);
  --pd-blue: #2f5bff;
  --pd-blue-2: #4b77ff;
  --pd-blue-deep: #1e3fcc;
}

/* ========== 统一浅蓝白首屏 ========== */
.fp-account .pd-hero-bg,
.fp-sync .pd-hero-bg,
.fp-api .pd-hero-bg,
.fp-team .pd-hero-bg,
.fp-proxy .pd-hero-bg {
  background:
    radial-gradient(960px 600px at 82% -12%, rgba(78, 124, 255, 0.18), transparent 62%),
    radial-gradient(720px 500px at 0% 18%, rgba(0, 190, 255, 0.1), transparent 60%),
    linear-gradient(170deg, #f9fbff 0%, #eef4ff 56%, #e3ecff 100%);
}
.fp-sync .pd-hero-bg {
  background:
    radial-gradient(980px 620px at 50% -18%, rgba(78, 124, 255, 0.2), transparent 64%),
    radial-gradient(700px 500px at 6% 24%, rgba(0, 190, 255, 0.1), transparent 60%),
    linear-gradient(170deg, #fbfcff 0%, #f1f5ff 56%, #e4ecff 100%);
}
.fp-api .pd-hero-bg {
  background:
    radial-gradient(900px 580px at 84% -12%, rgba(78, 124, 255, 0.16), transparent 60%),
    radial-gradient(720px 500px at 0% 16%, rgba(0, 190, 255, 0.12), transparent 58%),
    linear-gradient(170deg, #f8fbff 0%, #edf3ff 56%, #dfe9ff 100%);
}
.fp-team .pd-hero-bg {
  background:
    radial-gradient(920px 600px at 78% -14%, rgba(78, 124, 255, 0.18), transparent 58%),
    radial-gradient(820px 540px at 2% 12%, rgba(111, 149, 255, 0.12), transparent 60%),
    linear-gradient(170deg, #fbfcff 0%, #f0f4ff 56%, #e2eaff 100%);
}
.fp-proxy .pd-hero-bg {
  background:
    radial-gradient(960px 600px at 18% -14%, rgba(78, 124, 255, 0.2), transparent 60%),
    radial-gradient(680px 500px at 96% 20%, rgba(0, 190, 255, 0.1), transparent 58%),
    linear-gradient(170deg, #f9fcff 0%, #eef4ff 56%, #e1ebff 100%);
}

/* ========== 统一蓝色按钮 ========== */
body[class*="fp-"] .pd-btn-primary {
  background: linear-gradient(135deg, #4b77ff 0%, #2447e0 65%, #1e3fcc 100%);
  box-shadow: 0 14px 32px rgba(47, 91, 255, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

/* ========== 首屏 mockup 蓝色细节 ========== */
.fp-fake-btn { background: rgba(47, 91, 255, 0.5); box-shadow: 0 0 0 1px rgba(47, 91, 255, 0.35); }
.fp-master-tag,
.fp-sync-tag { background: #eef3ff; border-color: #cfdcff; color: #2447e0; }
.fp-code-tabs span.is-on { background: #eef3ff; color: #2f5bff; box-shadow: inset 0 0 0 1px #cfdcff; }
.fp-code-foot b { color: #2f5bff; }
.fp-role-tag { background: #eef3ff; color: #2f5bff; }
.fp-proxy-ico { background: #eef3ff; color: #2f5bff; }
.fp-route-node.is-target { background: #eef3ff; color: #2f5bff; box-shadow: inset 0 0 0 1px #cfdcff; }
.fp-route > b { color: #2f5bff; }

/* ========== 统一浅蓝区块 ========== */
.fp-sync .pd-section-alt { background: #f6f9ff; border-color: #e6eefc; }
.fp-api .pd-section-alt { background: #f7faff; border-color: #e4edfb; }
.fp-team .pd-section { background: #fbfdff; }
.fp-team .pd-section-alt { background: #f4f8ff; border-color: #e4edfb; }
.fp-proxy .pd-section-alt { background: #f5f9ff; border-color: #e5eefc; }
.fp-sync .pd-metrics { background: #f8faff; border-color: #e7effc; }
.fp-api .pd-metrics { background: #f8faff; border-color: #e7effc; }
.fp-team .pd-metrics { background: #f8faff; border-color: #e7effc; }
.fp-proxy .pd-metrics { background: #f8faff; border-color: #e7effc; }

/* ========== 能力区配色统一 ========== */
.fp-api .fp-cap > i,
.fp-api .fp-cap.is-key > i { color: #2f5bff; }
.fp-api .fp-cap.is-key {
  background: linear-gradient(90deg, #eef3ff, rgba(238, 243, 255, 0));
  border-color: #d8e4fa;
}
.fp-api .fp-usecase { background: linear-gradient(165deg, #fff, #f8fbff); border-color: #e3ecfb; }
.fp-team .fp-cap { background: #fbfdff; border-color: #e3ecfb; }
.fp-team .fp-cap > i { color: #2f5bff; }
.fp-team .fp-cap.is-key,
.fp-team .fp-cap:last-child {
  background: linear-gradient(140deg, #f4f8ff, #e7eeff);
  border-color: #d5e1f7;
}
.fp-team .fp-panel { background: #fff; border-color: #e3ecfb; }
.fp-team .fp-panel-head { border-bottom-color: #eaf0fa; }
.fp-team .fp-team-host { background: #fff; border-color: #e3ecfb; }
.fp-team .fp-role { background: #fbfdff; border-color: #e6edf9; }
.fp-team .fp-role > span { background: #eef3ff; color: #2f5bff; }
.fp-team .fp-audit-mini { border-top-color: #eaf0fa; }
.fp-team .fp-audit-mini > p { color: #8a97ad; }
.fp-proxy .fp-cap > i,
.fp-proxy .fp-cap.is-key > i { color: #2f5bff; }
.fp-proxy .fp-cap.is-key {
  background: linear-gradient(90deg, #eef3ff, rgba(238, 243, 255, 0));
  border-color: #d8e4fa;
}
.fp-proxy .fp-flow-num { background: #2f5bff; box-shadow: 0 12px 26px rgba(47, 91, 255, 0.24); }
.fp-proxy .fp-flow:before { border-top-color: #cfdcf7; }
.fp-proxy .fp-note,
.fp-sync .fp-note { background: #f5f8ff; border-color: #dce7fb; }
.fp-proxy .fp-note > span,
.fp-sync .fp-note > span { background: #e8f0ff; color: #2f5bff; }
.fp-proxy .fp-note h3,
.fp-sync .fp-note h3 { color: #1f2a44; }
.fp-proxy .fp-note p,
.fp-sync .fp-note p { color: #5a6b85; }
.fp-proxy .fp-panel { border-color: #e3ecfb; }

/* ========== 对比表统一蓝色 ========== */
.fp-sync .fp-compare th { border-bottom-color: #dbe7fb; color: #8a97ad; }
.fp-sync .fp-compare th.is-us { color: #2f5bff; }
.fp-sync .fp-compare td { border-bottom-color: #eef3fd; }
.fp-sync .fp-compare td.is-us { background: #f7faff; }
.fp-sync .fp-compare td.is-us b { color: #2f5bff; }
.fp-team .fp-compare th { background: #f5f9ff; color: #8a97ad; }
.fp-team .fp-compare th.is-us { background: #eef3ff; color: #2f5bff; }
.fp-team .fp-compare td.is-us { background: #fafcff; }
.fp-team .fp-compare td.is-us b { color: #2f5bff; }

/* ========== 底部 CTA 统一浅蓝白 ========== */
.fp-cta { background: #f4f7ff; }
.fp-cta:before { background: linear-gradient(160deg, #f7faff 0%, #eaf1ff 60%, #dfe9ff 100%); }
.fp-sync .fp-cta,
.fp-api .fp-cta,
.fp-team .fp-cta,
.fp-proxy .fp-cta { background: #f4f7ff; }
.fp-sync .fp-cta:before,
.fp-api .fp-cta:before,
.fp-team .fp-cta:before,
.fp-proxy .fp-cta:before { background: linear-gradient(160deg, #f7faff 0%, #eaf1ff 60%, #dfe9ff 100%); }

/* ========== 每页独立标题排版 ========== */

/* 多窗口同步：整页居中标题，形成影院式节奏 */
.fp-sync .pd-wrap > .pd-head {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.fp-sync .pd-wrap > .pd-head .pd-kicker { justify-content: center; }
.fp-sync .pd-wrap > .pd-head p { margin-left: auto; margin-right: auto; }

/* 开放 API：文档式双栏标题，左侧编号索引 */
.fp-api .pd-wrap > .pd-head {
  max-width: none;
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  grid-template-areas: "k h" "k p";
  column-gap: 44px;
  border-top: 1px solid #e3ecfb;
  padding-top: 26px;
  margin-bottom: 46px;
}
.fp-api .pd-wrap > .pd-head .pd-kicker { grid-area: k; margin: 4px 0 0; align-self: start; }
.fp-api .pd-wrap > .pd-head h2 { grid-area: h; margin: 0 0 14px; }
.fp-api .pd-wrap > .pd-head p { grid-area: p; max-width: 760px; }

/* 团队协作：杂志式标题，标题与说明左右分栏 */
.fp-team .pd-wrap > .pd-head:not(.pd-head-center) {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  grid-template-areas: "k k" "h p";
  column-gap: 64px;
  align-items: end;
  padding-bottom: 26px;
  border-bottom: 1px solid #e4edfb;
}
.fp-team .pd-wrap > .pd-head:not(.pd-head-center) h2 { grid-area: h; margin-bottom: 0; }
.fp-team .pd-wrap > .pd-head:not(.pd-head-center) p { grid-area: p; padding-bottom: 4px; }

/* 代理管理：通栏标题 + 顶部细线，作为章节分隔 */
.fp-proxy .pd-wrap > .pd-head {
  max-width: none;
  border-top: 1px solid #dfe9f9;
  padding-top: 24px;
}
.fp-proxy .pd-wrap > .pd-head h2 { max-width: 780px; }
.fp-proxy .pd-wrap > .pd-head p { max-width: 660px; }

/* ========== 浅色重点卡文字对比度修正 ========== */
.fp-sync .fp-cap.is-key h3,
.fp-sync .fp-cap.is-key p,
.fp-team .fp-cap.is-key h3,
.fp-team .fp-cap.is-key p,
.fp-team .fp-cap:last-child h3,
.fp-team .fp-cap:last-child p,
.fp-api .fp-cap.is-key h3,
.fp-api .fp-cap.is-key p,
.fp-proxy .fp-cap.is-key h3,
.fp-proxy .fp-cap.is-key p { color: #16233f; }
.fp-sync .fp-cap.is-key > i,
.fp-team .fp-cap.is-key > i,
.fp-team .fp-cap:last-child > i,
.fp-api .fp-cap.is-key > i,
.fp-proxy .fp-cap.is-key > i { color: #2f5bff; }

/* ========== 团队页索引列加宽 ========== */
.fp-team .fp-cap { grid-template-columns: 96px minmax(0, 1fr); }
.fp-team .fp-cap > i { white-space: nowrap; font-size: 9.5px; letter-spacing: 0.08em; }

/* ========== 同步页残留紫色调统一为蓝 ========== */
.fp-sync .fp-caps { background: #e6eefc; border-color: #e6eefc; }
.fp-sync .fp-cap.is-key { background: #f1f5ff; }
.fp-sync .fp-flow li,
.fp-sync .fp-flow li:last-child { border-color: #e8effb; }
.fp-sync .fp-note-grid { border-top-color: #eaf0fa; }
.fp-sync .fp-note { border-bottom-color: #eaf0fa; }

/* ========== 文档式索引列加宽，避免折行 ========== */
.fp-api .fp-cap { grid-template-columns: 118px minmax(200px, 0.45fr) minmax(0, 1fr); }
.fp-api .fp-cap > i { white-space: nowrap; }
.fp-proxy .fp-cap { grid-template-columns: 104px minmax(180px, 0.5fr) minmax(0, 1fr); }
.fp-proxy .fp-cap > i { white-space: nowrap; }

/* ========== 响应式 ========== */
@media (max-width: 900px) {
  .fp-api .fp-cap > i,
  .fp-proxy .fp-cap > i { white-space: normal; }
  .fp-api .pd-wrap > .pd-head {
    display: block;
    border-top: 0;
    padding-top: 0;
  }
  .fp-api .pd-wrap > .pd-head .pd-kicker { margin-bottom: 16px; }
  .fp-team .pd-wrap > .pd-head:not(.pd-head-center) {
    display: block;
    padding-bottom: 0;
    border-bottom: 0;
  }
  .fp-team .pd-wrap > .pd-head:not(.pd-head-center) h2 { margin-bottom: 14px; }
  .fp-team .pd-wrap > .pd-head:not(.pd-head-center) p { padding-bottom: 0; }
}
