/* 首页 v2（2026-10）：新 11 节结构的版式、三档响应式和弱机降级。
 * 排在所有主题表之后；所有规则都挂在 body.home-v2 下，别的页面不受影响。
 * 旧主题表里不少规则带 !important（cosmic 主题把 hero 改成居中单栏），这里要改回的地方只能同样用 !important。
 * 断点只用三档：手机 ≤640 / 平板 641–1024 / 桌面 ≥1025，另加矮屏（横屏手机）一档。
 */
.home-v2 {
  --v2-gap: 104px;
  --v2-pad: 24px;
  --v2-ink: #f2f4f8;
  --v2-ink-2: #c3cad6;
  --v2-ink-3: #a3adbd;
  --v2-line: rgba(255, 255, 255, 0.1);
  --v2-card: #141414;
  --v2-accent: #89aacc;
  --v2-cta: #3f7dff;
}

/* ── 通用节距：压掉旧样式里各节不一的上下留白，屏数主要靠这一条收 ── */
.home-v2 main > section:not(.company-intro):not(.hero) {
  padding-top: var(--v2-gap) !important;
  padding-bottom: 0 !important;
}
.home-v2 main > section#contact { padding-bottom: var(--v2-gap) !important; }
.home-v2 main > section h2 { font-size: 44px !important; line-height: 1.2 !important; }
.home-v2 .section-head, .home-v2 .capability-proof-head, .home-v2 .demo-video-head { margin-bottom: 36px !important; }
.home-v2 .v2-anchor { display: block; position: relative; top: -96px; height: 0; }
.home-v2 [id] { scroll-margin-top: 88px; }

/* ── 首屏 ── */
.home-v2 .hero.v2-hero {
  min-height: 0 !important;
  padding: 120px 0 0 !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
}
/* 首屏底层只留深色，星球挂在栅格上（见下），不再是 329% 宽的放大层。 */
.home-v2 .hero.v2-hero::before {
  top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
  aspect-ratio: auto !important; transform: none !important;
  background: #0a0a0a !important;
}
/* 桌面首屏星球：亮弧顶点压在录屏窗口上沿正上方 30px，只在窗口上方和右侧露出；左列背后淡出成夜空，文字不再压在亮弧上。
   位置全按栅格宽度算：窗口中心在栅格 72% 处，窗口高 ≈ 0.328×栅格宽 + 20px，垂直居中；margin 的百分比也按宽度算。
   图宽 = 141.6% 栅格宽，亮弧顶点在图的 (50%, 63.2%)。遮罩：左边 25.6%→32.3% 淡入（对应左列右沿到窗口左沿），底边 85%→100% 淡出。 */
@media (min-width: 1025px) {
  .home-v2 .hero .v2-hero-grid::before {
    content: ""; position: absolute; z-index: -1; pointer-events: none;
    left: 1.2%; top: 50%; width: 141.6%; aspect-ratio: 16 / 9;
    margin-top: calc(-66.74% - 40px);
    background: url("/assets/v2/hero-bg-horizon-4k-1920.webp") center / 100% 100% no-repeat;
    background-image: image-set(url("/assets/v2/hero-bg-horizon-1280.avif") type("image/avif"), url("/assets/v2/hero-bg-horizon-4k-1920.webp") type("image/webp"));
    -webkit-mask-image: linear-gradient(90deg, transparent 25.6%, #000 32.3%), linear-gradient(180deg, #000 85%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image: linear-gradient(90deg, transparent 25.6%, #000 32.3%), linear-gradient(180deg, #000 85%, transparent 100%);
    mask-composite: intersect;
  }
}
.home-v2 .hero .container.v2-hero-grid {
  display: grid !important;
  grid-template-columns: 5fr 7fr !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 48px !important;
  max-width: 1280px !important;
  padding-top: 0 !important;
  text-align: left !important;
}
.home-v2 .v2-hero-copy { min-width: 0; }
.home-v2 .hero h1 {
  max-width: none !important;
  margin: 0 0 20px !important;
  font-size: clamp(36px, 3.6vw + 8px, 64px) !important;
  line-height: 1.15 !important;
}
.home-v2 .hero h1 .hero-line-slogan {
  margin-top: 10px !important;
  margin-left: 0 !important;
  font-size: 0.56em !important;
  line-height: 1.35 !important;
}
.home-v2 .hero h1 .hero-line-slogan::after { margin-left: 0; }
.home-v2 .hero .v2-hero-lead { max-width: 34em !important; margin: 0 0 20px !important; font-size: 17px !important; line-height: 1.7 !important; color: var(--v2-ink-2) !important; }
.home-v2 .hero .v2-hero-lead .hero-copy-outcome { font-size: 17px; color: var(--v2-ink); }
.home-v2 .hero .v2-hero-lead strong { color: var(--v2-ink); }
.home-v2 .hero .hero-context,
.home-v2 .hero .hero-actions,
.home-v2 .hero .hero-refund-assurance { justify-content: flex-start !important; text-align: left !important; }
.home-v2 .v2-hero-points {
  display: flex; flex-direction: column; gap: 8px;
  margin: 0 0 28px; padding: 0; list-style: none;
}
.home-v2 .v2-hero-points li { display: flex; align-items: baseline; gap: 10px; font-size: 14px; color: var(--v2-ink-3); }
.home-v2 .v2-hero-points strong { flex: none; font-size: 15px; color: var(--v2-ink); font-weight: 650; }
.home-v2 .v2-hero-points strong::before { content: "✓"; margin-right: 6px; color: var(--v2-accent); }
.home-v2 .hero .hero-actions { gap: 12px !important; margin-bottom: 10px !important; }
.home-v2 .hero .hero-actions a { min-height: 52px !important; display: inline-flex; align-items: center; justify-content: center; }
.home-v2 .v2-sysreq { margin: 0 0 14px !important; font-size: 14px !important; color: var(--v2-ink-3) !important; text-shadow: none !important; }

/* 首屏右侧：软件窗口框 + 实时答题录屏。底部溢出首屏一点，勾着人往下滚。 */
.home-v2 .v2-window {
  min-width: 0;
  border: 1px solid var(--v2-line);
  border-radius: 14px;
  background: #0f1117;
  box-shadow: 0 30px 80px -28px rgba(0, 0, 0, 0.85), 0 0 90px -24px rgba(110, 155, 205, 0.22);
  overflow: hidden;
  margin-bottom: -80px;
}
.home-v2 .v2-window-bar { display: flex; align-items: center; gap: 7px; height: 34px; padding: 0 14px; border-bottom: 1px solid var(--v2-line); font-size: 13px; color: var(--v2-ink-3); }
.home-v2 .v2-window-bar i { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, 0.18); }
.home-v2 .v2-window-bar span { margin-left: 8px; }
.home-v2 .hero + section { padding-top: calc(var(--v2-gap) + 80px) !important; }

/* ── 录屏块：按文件实际比例预留空间，海报先显示，视频可播了再淡入 ── */
.home-v2 .v2-media {
  position: relative;
  margin: 0;
  width: 100%;
  aspect-ratio: var(--ar-d);
  overflow: hidden;
  border-radius: 12px;
  background: #0f1117;
}
.home-v2 .v2-window .v2-media { border-radius: 0; }
.home-v2 .v2-media picture, .home-v2 .v2-media .v2-poster, .home-v2 .v2-media img, .home-v2 .v2-media video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;
}
.home-v2 .v2-media img { filter: none !important; }
.home-v2 .v2-media img[data-src] { visibility: hidden; } /* 海报等接源时才取：没取之前别把 alt 文字露在画面上 */
.home-v2 .v2-media video { opacity: 0; transition: opacity 0.3s; }
.home-v2 .v2-media.is-playing video { opacity: 1; }
.home-v2 .v2-media-toggle {
  position: absolute; right: 10px; bottom: 10px; z-index: 2;
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.28); background: rgba(10, 10, 12, 0.72); color: #fff;
  display: grid; place-items: center; cursor: pointer;
  /* 录屏像 GIF：鼠标和手指看不到也点不到这个键，只有键盘 Tab 到时出现，保证能停下来 */
  opacity: 0; pointer-events: none;
}
.home-v2 .v2-media-toggle[hidden] { display: none; }
.home-v2 .v2-media-toggle span { width: 0; height: 0; border-style: solid; border-width: 7px 0 7px 12px; border-color: transparent transparent transparent currentColor; margin-left: 3px; }
.home-v2 .v2-media-toggle.is-playing span { width: 12px; height: 14px; border: 0; margin: 0; border-left: 4px solid currentColor; border-right: 4px solid currentColor; }
.home-v2 .v2-media-toggle:focus-visible { opacity: 1; pointer-events: auto; outline: 3px solid var(--v2-cta); outline-offset: 2px; }

/* ── 分栏：文案 + 录屏 ── */
.home-v2 .v2-split { display: grid; grid-template-columns: 5fr 7fr; gap: 48px; align-items: center; }
.home-v2 .v2-split-copy .label { margin-bottom: 12px; }
.home-v2 .v2-split-copy h2 { margin: 0 0 16px; text-align: left !important; }
.home-v2 .v2-lead { margin: 0 0 16px; font-size: 17px; line-height: 1.7; color: var(--v2-ink-2); }
.home-v2 .v2-lead kbd { font-size: 0.9em; }
.home-v2 .v2-ticks { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.home-v2 .v2-ticks li { font-size: 16px; color: var(--v2-ink-2); }
.home-v2 .v2-ticks li::before { content: "✓"; margin-right: 8px; color: var(--v2-accent); }
.home-v2 .v2-subhead { margin: 56px 0 20px; font-size: 22px; color: var(--v2-ink); text-align: center; }
.home-v2 .v2-section-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 40px 0 0; }
.home-v2 .v2-section-cta a { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; }
.home-v2 .v2-text-cta { color: var(--v2-accent); font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; }
.home-v2 .demo-video-caption { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 28px; }
.home-v2 .demo-video-caption a { min-height: 44px; display: inline-flex; align-items: center; }
.home-v2 .demo-video-caption a[hidden] { display: none; }

/* 双机位录屏是手机页，桌面版也是竖的：限高，别把整节撑高 */
.home-v2 .v2-media-portrait { width: min(100%, calc(480px * 404 / 720)); margin-left: auto; margin-right: auto; }

/* 对比滑块：离开首屏后自己管尺寸（原来的尺寸规则都写在 .hero 下面） */
.home-v2 .v2-compare {
  position: relative;
  width: 100%; max-width: 860px; min-height: 0 !important;
  margin: 0 auto 40px !important;
  aspect-ratio: 16 / 10;
  background: var(--v2-card) !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: 20px !important;
  box-shadow: 0 30px 80px -28px rgba(0, 0, 0, 0.85) !important;
}

/* 隐身节压高度：两种看法的配图裁成 16:9；51 秒演示限宽 */
.home-v2 .stealth-method-visual { aspect-ratio: 2 / 1; height: auto !important; min-height: 0 !important; overflow: hidden; }
.home-v2 .stealth-method-visual picture, .home-v2 .stealth-method-visual img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.home-v2 .stealth-methods-head { margin-bottom: 16px !important; }
.home-v2 .demo-video-wrap { max-width: 900px; margin-left: auto !important; margin-right: auto !important; }

/* 模拟面试：流程排成竖向，和录屏并排 */
.home-v2 .v2-mock .mock-interview-layout { text-align: left !important; max-width: none !important; margin: 0 !important; }
.home-v2 .v2-mock .mock-interview-layout h2 { text-align: left !important; }
.home-v2 .v2-mock .mock-interview-flow { flex-direction: column !important; align-items: stretch !important; }
.home-v2 .v2-mock .mock-flow-line { display: none !important; }
.home-v2 .v2-mock .mock-interview-cta { min-height: 52px; display: inline-flex; align-items: center; }

/* 双机位 */
.home-v2 .v2-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 40px; }
.home-v2 .v2-card { padding: 24px; border: 1px solid var(--v2-line); border-radius: 16px; background: var(--v2-card); }
.home-v2 .v2-card-num { font-size: 13px; color: var(--v2-accent); letter-spacing: 0.06em; }
.home-v2 .v2-card h3 { margin: 8px 0 8px; font-size: 19px; color: var(--v2-ink); }
.home-v2 .v2-card p { margin: 0; font-size: 16px; line-height: 1.7; color: var(--v2-ink-2); }
.home-v2 .v2-note { margin: 20px 0 0; text-align: center; font-size: 14px; color: var(--v2-ink-3); }

/* 细节：术语识别 + 眼神校准并排 */
.home-v2 .v2-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.home-v2 .v2-details .proof-secondary-card { margin: 0 !important; height: 100%; }
.home-v2 .v2-eye { padding: 24px; border: 1px solid var(--v2-line); border-radius: 24px; background: var(--v2-card); }
.home-v2 .v2-eye .eye-section-head { text-align: left !important; margin: 0 0 18px !important; }
.home-v2 .v2-eye-title { margin: 0; font-size: 22px; color: var(--v2-ink); }
.home-v2 .v2-eye .eye-comparison { padding: 0; border: 0; background: none; box-shadow: none; }

/* 触控区：tab、FAQ、导航胶囊不小于 44px */
.home-v2 .exam-proof-tab, .home-v2 .faq-item summary, .home-v2 .mobile-nav-pill, .home-v2 .nav-links a { min-height: 44px; display: inline-flex; align-items: center; }
.home-v2 .faq-item summary { display: flex; }
.home-v2 .footer-col a { display: flex; align-items: center; min-height: 44px; }
.home-v2 .hero-refund-assurance a { display: inline-flex; align-items: center; min-height: 44px; }

/* ── 平板 641–1024：上文下画 ── */
@media (max-width: 1024px) {
  .home-v2 { --v2-gap: 80px; }
  .home-v2 main > section h2 { font-size: 36px !important; }
  .home-v2 .hero .container.v2-hero-grid { grid-template-columns: 1fr !important; gap: 36px !important; }
  .home-v2 .v2-window { margin-bottom: -60px; }
  .home-v2 .hero + section { padding-top: calc(var(--v2-gap) + 60px) !important; }
  .home-v2 .hero h1 { font-size: 50px !important; }
  .home-v2 .v2-split { grid-template-columns: 1fr; gap: 28px; }
  .home-v2 .v2-split-reverse .v2-media { order: -1; }
  .home-v2 .v2-cards { grid-template-columns: 1fr; }
  .home-v2 .v2-details-grid { grid-template-columns: 1fr; }
}

/* ── 手机 ≤640：弱机优先，关掉模糊、流光、星点和跑马灯 ── */
@media (max-width: 640px) {
  .home-v2 { --v2-gap: 56px; }
  .home-v2 .container { padding-left: 20px !important; padding-right: 20px !important; }
  .home-v2 main > section h2 { font-size: 28px !important; line-height: 1.25 !important; }
  .home-v2 .hero.v2-hero { padding-top: 92px !important; }
  .home-v2 .hero h1 { font-size: clamp(36px, 7vw + 8px, 44px) !important; margin-bottom: 14px !important; }
  .home-v2 .hero .v2-hero-lead, .home-v2 .hero .v2-hero-lead .hero-copy-outcome { font-size: 16px !important; }
  .home-v2 .v2-hero-points { gap: 6px; margin-bottom: 20px; }
  .home-v2 .v2-hero-points li { gap: 8px; font-size: 13px; }
  .home-v2 .hero .hero-actions { flex-direction: column !important; align-items: stretch !important; }
  .home-v2 .hero .hero-actions a, .home-v2 .v2-section-cta a.btn-primary, .home-v2 .v2-section-cta a.btn-secondary { width: 100%; }
  .home-v2 .v2-sysreq { font-size: 13px !important; }
  .home-v2 .v2-window { margin-bottom: -40px; border-radius: 12px; }
  .home-v2 .v2-window-bar { height: 28px; }
  .home-v2 .hero + section { padding-top: calc(var(--v2-gap) + 40px) !important; }
  /* 手机用竖版源：按竖版比例预留空间，但最高不超过 62% 屏高，宽度随之收窄 */
  .home-v2 .v2-media { aspect-ratio: var(--ar-m); width: min(100%, calc(62svh * var(--ar-m))); margin-left: auto; margin-right: auto; }
  .home-v2 .v2-media.v2-media-still { aspect-ratio: var(--ar-m); width: 100%; }
  .home-v2 .v2-window .v2-media { width: 100%; }
  .home-v2 .v2-media-portrait { width: min(100%, calc(56svh * var(--ar-m))); }
  /* 两种看法的卡片：横着滑，不再上下堆两张 */
  .home-v2 .stealth-methods { display: flex !important; gap: 12px !important; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -20px; padding: 0 20px 4px; scrollbar-width: none; }
  .home-v2 .stealth-methods > .stealth-screen-card { flex: 0 0 86%; scroll-snap-align: center; }
  .home-v2 .v2-cards { gap: 10px; margin-top: 24px; }
  /* 并列的卡片（核心功能三卡、双机位三种方法）在手机上横滑，省掉一屏多高度 */
  .home-v2 .features-grid, .home-v2 .v2-cards { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; margin-left: -20px !important; margin-right: -20px !important; padding: 0 20px 4px !important; scrollbar-width: none; }
  .home-v2 .features-grid > *, .home-v2 .v2-cards > * { flex: 0 0 82%; scroll-snap-align: center; }
  .home-v2 .v2-coding .v2-media { width: min(100%, calc(52svh * var(--ar-m))); }
  .home-v2 .v2-details .eye-comparison { grid-template-columns: 1fr 1fr !important; }
  .home-v2 .v2-subhead { margin-top: 40px; font-size: 20px; }
  .home-v2 .v2-compare { aspect-ratio: 4 / 3; border-radius: 14px !important; margin-bottom: 28px !important; }
  .home-v2 .v2-card { padding: 18px; }
  .home-v2 .v2-eye { padding: 16px; border-radius: 16px; }

  /* 合成开销：手机上不用 backdrop-filter、不跑会动的模糊层 */
  .home-v2 *, .home-v2 *::before, .home-v2 *::after { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  .home-v2 header > .container.nav { background: rgba(20, 20, 20, 0.94) !important; }
  .home-v2 .hero-flow, .home-v2 .hero-flow-inner, .home-v2 .hero-stars, .home-v2 .xm-orb, .home-v2 .xm-noise, .home-v2 .xm-grid { display: none !important; }
  /* 平台 logo：不跑马灯，改成两行可横滑 */
  /* 悬浮客服收成 48px 圆形图标，不再压住内容 */
  .home-v2 .floating-service { width: 48px !important; height: 48px !important; min-width: 0 !important; padding: 0 !important; border-radius: 50% !important; justify-content: center !important; right: 12px !important; bottom: 16px !important; }
  .home-v2 .floating-service-copy, .home-v2 .floating-service-arrow { display: none !important; }
}

/* ── 矮屏（横屏手机）：首屏不撑满，两栏，视频不超过 70% 屏高 ── */
@media (max-height: 500px) and (min-width: 641px) {
  .home-v2 { --v2-gap: 48px; }
  .home-v2 header > .container.nav { min-height: 0 !important; padding-top: 4px !important; padding-bottom: 4px !important; }
  .home-v2 header { padding-top: 6px !important; }
  .home-v2 .hero.v2-hero { padding-top: 64px !important; }
  .home-v2 .hero .container.v2-hero-grid { grid-template-columns: 45fr 55fr !important; gap: 24px !important; }
  .home-v2 .hero h1 { font-size: 30px !important; margin-bottom: 10px !important; }
  .home-v2 .hero .v2-hero-lead { font-size: 15px !important; margin-bottom: 10px !important; }
  .home-v2 .v2-hero-points { margin-bottom: 12px; }
  .home-v2 .hero .hero-actions a { min-height: 44px !important; }
  .home-v2 .v2-window { margin-bottom: 0; }
  .home-v2 .hero + section { padding-top: var(--v2-gap) !important; }
  .home-v2 .v2-media { width: min(100%, calc(70vh * var(--ar-d))); margin-left: auto; margin-right: auto; }
  .home-v2 .v2-split { grid-template-columns: 1fr 1fr; }
  .home-v2 .v2-split-reverse .v2-media { order: 0; }
  .home-v2 .v2-media-portrait { width: min(100%, calc(70vh * 404 / 720)); }
  .home-v2 .v2-details-grid, .home-v2 .stealth-methods { grid-template-columns: 1fr 1fr !important; }
  .home-v2 .v2-cards { grid-template-columns: repeat(3, 1fr); }
  .home-v2 .features-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .home-v2 .v2-compare { max-width: calc(80vh * 1.6); }
  .home-v2 main > section h2 { font-size: 28px !important; }
}

/* 减少动效：不做任何过渡 */
@media (prefers-reduced-motion: reduce) {
  .home-v2 .v2-media video { transition: none; }
}

/* 站内的 Noto Serif SC 600 本身就是子集，缺「撕」字；单独给这个字用系统宋体，免得为一个字去下 200KB 的整套字体。 */
.home-v2 .v2-nofont { font-family: "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif !important; }
.home-v2 .v2-hero-points strong::before, .home-v2 .v2-ticks li::before { font-family: system-ui, sans-serif; }

/* 平板和手机：首屏底图换成纯 CSS 渐变画的地平线弧光。
   背景图在这两档会被浏览器算成 LCP（首屏最大元素），渐变不算，LCP 就落到录屏海报或 H1 上；也省一次图片请求。 */
@media (max-width: 1024px) {
  .home-v2 .hero.v2-hero::before {
    background:
      radial-gradient(140% 46% at 50% 108%, transparent 56%, rgba(168, 196, 222, 0.5) 58.5%, rgba(78, 133, 191, 0.22) 62%, transparent 70%),
      radial-gradient(70% 40% at 50% 38%, rgba(46, 78, 120, 0.28), transparent 70%),
      #0a0a0a !important;
  }
}

/* 桌面：FAQ 排两列，隐身节的对比图再收一点宽度，压总屏数 */
@media (min-width: 1025px) {
  .home-v2 .faq-list { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px 16px !important; align-items: start; max-width: 1200px !important; }
  .home-v2 .faq-list > .faq-item { margin: 0 !important; }
  .home-v2 .v2-compare { max-width: 760px; }
  .home-v2 .stealth-method-visual { aspect-ratio: 12 / 5; }
}

.home-v2 .v2-inline-cta { margin: 16px 0 0; }

/* 手机首屏：把录屏往上提，保证第一屏能看到大半个画面。
   文案块拆成 contents，让退款胶囊排到录屏下面（内容不删，只换位置）；两个按钮沿用原来的并排。 */
@media (max-width: 640px) {
  .home-v2 .hero.v2-hero { padding-top: 24px !important; }
  .home-v2 .hero .container.v2-hero-grid { gap: 0 !important; }
  .home-v2 .v2-hero-copy { display: contents; }
  .home-v2 .v2-hero-copy > * { order: 1; }
  .home-v2 .v2-window { order: 2; margin: 14px 0 0; }
  .home-v2 .hero .hero-context { margin-bottom: 12px !important; }
  .home-v2 .hero .v2-hero-lead { margin-bottom: 12px !important; }
  .home-v2 .hero .v2-hero-lead .hero-copy-outcome { margin-top: 4px; }
  .home-v2 .v2-hero-points { margin-bottom: 14px; gap: 2px; }
  .home-v2 .hero .hero-actions { display: grid !important; grid-template-columns: 1.15fr 0.85fr !important; flex-direction: row !important; gap: 8px !important; }
  .home-v2 .hero .hero-actions a { width: auto; padding-inline: 8px !important; min-width: 0 !important; }
  .home-v2 .v2-sysreq { margin-bottom: 0 !important; }
  .home-v2 .hero + section { padding-top: var(--v2-gap) !important; }
}

/* 横屏手机：录屏顶对齐，悬浮客服也收成圆形图标，不压画面 */
@media (max-height: 500px) and (min-width: 641px) {
  .home-v2 .hero .container.v2-hero-grid { align-items: start !important; }
  .home-v2 .floating-service { width: 48px !important; height: 48px !important; min-width: 0 !important; padding: 0 !important; border-radius: 50% !important; justify-content: center !important; right: 12px !important; bottom: 12px !important; }
  .home-v2 .floating-service-copy, .home-v2 .floating-service-arrow { display: none !important; }
}

/* ── 表面层次（2026-10 用户：卡片和大块区域「太黑、不好看」）──
   仍是深色宇宙风，只是把 cosmic 主题的纯灰黑（#141414 底 + #1f1f1f 线）换成偏蓝的三级表面：
   1 级 节背景：每节一团静态柔光（径向渐变，不动、不用 filter/混合模式，只画一次，不耗帧率）
   2 级 卡片：偏蓝的底，上亮下暗，顶部一道高光描边，再加一圈很淡的内发光
   3 级 卡片里的小块（图标底、编号、按键、事实格）：再亮一档
   分隔线换成偏蓝低透明度的细线，不再是浅色主题留下来的 #e2e8f0 白线。全程不用 backdrop-filter。 */
.home-v2 {
  --v2-card: #10162a;
  --v2-line: rgba(150, 178, 238, 0.16);
  --v2-line-soft: rgba(150, 178, 238, 0.12);
  --v2-line-hover: rgba(160, 190, 255, 0.3);
  --v2-surface: linear-gradient(180deg, rgba(112, 146, 232, 0.11), rgba(112, 146, 232, 0.035) 42%, rgba(112, 146, 232, 0.02)), #0d1222;
  --v2-surface-3: rgba(132, 165, 238, 0.11);
  --v2-shade: inset 0 1px 0 rgba(198, 216, 255, 0.17), inset 0 0 36px -14px rgba(108, 148, 255, 0.2), 0 24px 48px -32px rgba(0, 0, 0, 0.9);
  /* 次级文字：cosmic 的 #9a9a9a / #6f6f6f 在偏蓝底上按实际像素只有 3.1–4.5:1，提到 ≥4.5（小字留足余量） */
  --x-ink-3: #b3bccc;
  --x-ink-4: #a3acbf;
}
/* 浅色主题留下的字色（深蓝、石板灰）在深底上几乎看不见 */
.home-v2 .exam-proof-keys-head span { color: var(--v2-ink) !important; }
.home-v2 :is(.exam-proof-keys-head small, .exam-proof-keys-note, .feature-scenarios-lead) { color: var(--x-ink-4) !important; }
/* 对比滑块的说明压在截图上，亮处只有 2.5:1：给它垫一层深色底 */
.home-v2 .hero-slider-caption span { background: rgba(8, 12, 24, 0.78); padding: 4px 12px; border-radius: 999px; }
.home-v2 .hero-slider-caption { z-index: 21 !important; } /* 分隔线 z=20，原来从说明文字中间穿过去 */
/* 笔试示例的题号圆点：白字压在透明底上只有 4.1:1 */
.home-v2 .exam-question-index { background: #2f5fd0 !important; color: #fff !important; }
.home-v2 :is(.feature-mini-card, .proof-secondary-card, .mock-interview-flow, .exam-proof, .stealth-method-visual, .demo-video-wrap,
  .stealth-screen-card, .faq-item, .v2-card, .v2-eye, .v2-compare, .contact-card) {
  background: var(--v2-surface) !important;
  border: 1px solid var(--v2-line) !important;
  box-shadow: var(--v2-shade) !important;
}
.home-v2 :is(.feature-mini-card, .proof-secondary-card, .mock-interview-flow, .stealth-screen-card, .faq-item, .v2-card, .demo-video-wrap):is(:hover, [open]) {
  border-color: var(--v2-line-hover) !important;
}
.home-v2 :is(.feature-mini-icon, .feature-flow-icon, .feature-mini-corner, .mock-flow-item span, .proof-kicker, .exam-proof-key kbd, .proof-fact, .exam-proof-keys-panel) {
  background: var(--v2-surface-3) !important;
  border-color: var(--v2-line) !important;
}
.home-v2 :is(.feature-mini-outcome, .feature-mini-card-cyan .feature-mini-outcome, .proof-fact, .exam-proof-keys-note) { border-top-color: var(--v2-line-soft) !important; }
.home-v2 .exam-proof-copy { border-color: var(--v2-line-soft) !important; }
.home-v2 :is(.stealth-section, .capability-proof-section, .demo-video-section, #faq) { border-top-color: var(--v2-line-soft) !important; }

/* 节背景柔光：左右交替，最后的下载区居中更亮一点。
   用固定像素尺寸、圆心离节顶 320px：光斑在 72% 半径处就淡完了（420×0.72≈302px），碰不到节的上沿，不会切出一道硬边。 */
.home-v2 main > section:is(#stealth, #features, #mock-interview, #eye-contact) {
  background: radial-gradient(720px 420px at 12% 320px, rgba(70, 108, 222, 0.13), transparent 72%) no-repeat !important;
}
.home-v2 main > section:is(#demo-video, #capability-proof, #dual-camera, #faq) {
  background: radial-gradient(720px 420px at 88% 320px, rgba(70, 108, 222, 0.11), transparent 72%) no-repeat !important;
}
.home-v2 main > section#contact {
  background: radial-gradient(900px 480px at 50% 360px, rgba(64, 106, 232, 0.17), transparent 74%) no-repeat !important;
}
.home-v2 #contact .cta {
  background: var(--v2-surface) !important;
  border: 1px solid var(--v2-line) !important;
  box-shadow: var(--v2-shade) !important;
}
.home-v2 footer {
  background: linear-gradient(180deg, #0c1120, #090c15) !important;
  border-top-color: var(--v2-line-soft) !important;
}

/* v3 笔试题型：5 个面板换成小面真实界面截图（演示数据、原创题），不再用网页代码画的示意面板。
   电脑 16:9 横图铺满面板；手机换 9:16 竖图，限宽居中，避免一张图占满两屏。 */
.home-v2 .exam-proof-panel:has(> .exam-shot) { display: block; min-height: 0; padding: 0; }
.home-v2 .exam-proof-panel[hidden] { display: none; }
.home-v2 .exam-shot { display: block; margin: 0; }
.home-v2 .exam-shot img {
  display: block; width: 100%; height: auto; aspect-ratio: 16 / 9;
  border-radius: 14px; border: 1px solid rgba(160, 190, 255, .18);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .35); background: #0d1424;
}
@media (max-width: 640px) {
  .home-v2 .exam-shot img { aspect-ratio: 9 / 16; width: min(100%, 260px); margin: 0 auto; }
}

/* v3 精简：节距收紧，演示视频和两张「答案怎么看」配图略收，页面更短、节奏更紧；首屏和用户要求放大的对比示例不动。 */
.home-v2 { --v2-gap: 80px; }
.home-v2 .demo-video-wrap { max-width: 1080px; } /* 2026-10 用户嫌小：800 -> 1080，片源换成 16:9 不再留黑边 */
/* 教学视频：点了才播，原生控制条（含全屏）；封面本身就是 16:9 设计图 */
.home-v2 .demo-video-wrap video.demo-tutorial-video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #04060b; border-radius: 11px; cursor: pointer; }
/* 10-03：播放键放大、居中（封面正中偏下留了位置）；开播后按钮消失，换成原生控制条（可全屏） */
.home-v2 .demo-tutorial { position: relative; }
.home-v2 .demo-tutorial-play {
  position: absolute; left: 50%; top: 66%; transform: translate(-50%, -50%);
  display: inline-flex; align-items: center; gap: 18px; padding: 14px 34px 14px 14px;
  border: 0; border-radius: 999px; background: #fff; color: #0b0d12; font-family: inherit; font-size: 22px; font-weight: 700; line-height: 1; cursor: pointer;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .55), 0 0 0 8px rgba(255, 255, 255, .12);
  transition: transform .2s ease, box-shadow .2s ease;
}
.home-v2 .demo-tutorial-play:hover, .home-v2 .demo-tutorial-play:focus-visible { transform: translate(-50%, -50%) scale(1.05); box-shadow: 0 18px 50px rgba(0, 0, 0, .55), 0 0 0 12px rgba(255, 255, 255, .16); outline: none; }
.home-v2 .demo-tutorial-icon { width: 64px; height: 64px; border-radius: 50%; background: #0b0d12; display: grid; place-items: center; }
.home-v2 .demo-tutorial-icon::after { content: ""; margin-left: 6px; border-left: 22px solid #fff; border-top: 13px solid transparent; border-bottom: 13px solid transparent; }
.home-v2 .demo-tutorial.is-started .demo-tutorial-play { display: none; }
@media (max-width: 640px) {
  .home-v2 .demo-tutorial-play { gap: 10px; padding: 8px 18px 8px 8px; font-size: 15px; box-shadow: 0 10px 30px rgba(0, 0, 0, .55), 0 0 0 5px rgba(255, 255, 255, .12); }
  .home-v2 .demo-tutorial-icon { width: 38px; height: 38px; }
  .home-v2 .demo-tutorial-icon::after { margin-left: 4px; border-left-width: 13px; border-top-width: 8px; border-bottom-width: 8px; }
}
.home-v2 .demo-video-copy { white-space: nowrap; }
@media (max-width: 640px) { .home-v2 .demo-video-copy { white-space: normal; } }
.home-v2 .section-head, .home-v2 .capability-proof-head, .home-v2 .demo-video-head { margin-bottom: 28px !important; }
@media (min-width: 1025px) {
  .home-v2 .stealth-method-visual { aspect-ratio: 5 / 2; }
}
@media (max-width: 640px) {
  .home-v2 { --v2-gap: 48px; }
}
/* 1025–1179 宽导航 7 个词被挤成两行（实/时答题）：不换行，收小内边距和间距。 */
.home-v2 .nav-links a { white-space: nowrap; }
@media (min-width: 1025px) and (max-width: 1179px) {
  .home-v2 .nav-links { gap: 2px !important; }
  .home-v2 .nav-links a { padding: 7px 9px !important; }
}

/* ===== v3 精简 2：页面长度（桌面 ≤9.5 屏 / 平板 ≤9 / 手机 ≤11.5）和下载入口间隔（≤2 / 2.5 屏）=====
   只动排列和间距，内容一条不删；用 docs/site-v3/tools/len-probe.cjs 量。 */
.home-v2 main > section:not(#live-answer) { padding-top: 72px !important; }
.home-v2 .v2-section-cta { margin-top: 28px !important; }
.home-v2 .stealth-stage { margin-top: 36px !important; }
/* 页脚每列 6~7 个链接竖排太长：列内排两列网格，链接和点击高度都保留 */
.home-v2 .footer-col { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 12px; align-content: start; }
.home-v2 .footer-col h4 { grid-column: 1 / -1; height: auto !important; margin-bottom: 8px !important; }
.home-v2 .footer-col a { padding-block: 0 !important; line-height: 1.5 !important; }
.home-v2 footer, footer { padding-bottom: 16px !important; }
/* 「答案怎么看」两张配图限高，只露上半部分（悬浮窗 / 手机答案都在上半） */
.home-v2 .stealth-method-visual { max-height: 230px; overflow: hidden; }
.home-v2 .stealth-method-visual img { object-fit: cover; object-position: top; }

/* 对比度复测（STILL=1 冻结动画后）没过的几处：
   平台名 11.5px #33415c 压在被 brightness(.9) 压暗的白卡上，实测 1.5~1.9 → 卡片不压暗、字改近黑；
   截图快捷键说明 / 术语对照小标题 / 模拟面试步骤说明是 11~13px 的次级灰字，实测 2.7~3.7 → 提一档亮度。 */
.home-v2 .exam-proof-key span { color: #d3dae6 !important; }
.home-v2 .term-chipbox small { color: #c7cfdd !important; }
.home-v2 .term-arrow { color: #c7cfdd !important; }
.home-v2 .mock-flow-item span, .home-v2 .mock-flow-item small, .home-v2 .mock-flow-item p { color: #cddcef !important; }

/* 「退款规则 →」只有 19px 高，各档都补足点击区 */
.home-v2 .refund-promise a { display: inline-flex; align-items: center; min-height: 44px; margin-block: -12px; }
/* 平板上「查看悬浮窗保护完整教程 →」同样补点击区（行内，靠上下内边距撑，不改行高） */
@media (min-width: 700px) and (max-width: 1024px) {
  .home-v2 .stealth-note a { display: inline-block; padding-block: 12px; margin-block: -12px; }
}

/* 「细节做到位」标签：只在手机上出现，宽屏两块并排 */
.home-v2 .v2-details-tabs { display: none; }

@media (min-width: 1025px) {
  /* 所有节标题一行放下（用户 15:55：大标题一行） */
  .home-v2 main > section h2 { max-width: none !important; text-wrap: balance; }
  .home-v2 .demo-video-head { margin-bottom: 20px !important; }
  .home-v2 .v2-split-copy h2, .home-v2 .mock-interview-layout h2 { font-size: clamp(30px, 2.3vw, 36px) !important; }
  /* 隐身节：适配平台条挪到下载按钮后面 → 首屏到第一个下载入口从 2.17 屏缩到 2 屏内 */
  .home-v2 #stealth .stealth-note { margin-top: 14px !important; }
  .home-v2 #stealth .v2-section-cta { margin-top: 18px !important; }
  .home-v2 #stealth .stealth-stage { margin-top: 28px !important; }
  .home-v2 #stealth > .container { display: flex; flex-direction: column; }
  .home-v2 #stealth > .container > * { order: 1; }
  .home-v2 #stealth > .container > .product-card { align-self: center; margin-bottom: 0 !important; }
  /* 双机位：左栏文案 234px、右栏竖屏视频 480px，下面再单独一排卡 → 三种方法挪进左栏，补掉空白 */
  .home-v2 #dual-camera > .container { display: grid; grid-template-columns: 1fr 269px; column-gap: 56px; align-items: start; }
  .home-v2 #dual-camera .v2-split { display: contents !important; }
  .home-v2 #dual-camera .v2-split-copy { grid-column: 1; grid-row: 1; }
  .home-v2 #dual-camera figure.v2-media-portrait { grid-column: 2; grid-row: 1 / span 4; }
  .home-v2 #dual-camera .v2-cards { grid-column: 1; grid-row: 2; grid-template-columns: 1fr !important; gap: 10px !important; margin-top: 20px !important; }
  .home-v2 #dual-camera .v2-card { display: grid; grid-template-columns: 40px 140px 1fr; align-items: baseline; padding: 14px 18px !important; min-height: 0 !important; }
  .home-v2 #dual-camera .v2-card h3, .home-v2 #dual-camera .v2-card p { margin: 0 !important; }
  .home-v2 #dual-camera .v2-note { grid-column: 1; grid-row: 3; margin-top: 14px !important; }
  .home-v2 #dual-camera .v2-section-cta { grid-column: 1; grid-row: 4; justify-content: flex-start !important; margin-top: 18px !important; }
}

/* 平板：原来全部单列堆叠，改两 / 三列 */
@media (min-width: 700px) and (max-width: 1024px) {
  .home-v2 main > section:not(#live-answer) { padding-top: 64px !important; }
  .home-v2 .stealth-methods { grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
  .home-v2 .features-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; }
  .home-v2 .v2-cards { grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; }
  .home-v2 #dual-camera .v2-split { grid-template-columns: 1fr 240px !important; align-items: center; }
  .home-v2 .v2-details-grid { grid-template-columns: 1fr 1fr !important; }
  .home-v2 .eye-comparison { grid-template-columns: 1fr !important; }
  .home-v2 .v2-split:not(#dual-camera .v2-split) { grid-template-columns: 1fr 1fr !important; align-items: center; gap: 24px !important; }
  .home-v2 .exam-proof { grid-template-columns: 1fr !important; }
}

/* 手机 */
@media (max-width: 699px) {
  .home-v2 main > section:not(#live-answer) { padding-top: 40px !important; }
  .home-v2 .section-head { margin-bottom: 20px !important; }
  .home-v2 .v2-section-cta { margin-top: 20px !important; }
  .home-v2 .footer-cols { grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; }
  .home-v2 .footer-brand { gap: 6px !important; }
  .home-v2 .v2-split figure.v2-media { max-width: 300px; margin-inline: auto; }
  .home-v2 #mock-interview figure.v2-media, .home-v2 #capability-proof .v2-split figure.v2-media { max-width: 240px !important; }
  /* 隐身节：平台条挪到下载按钮后面，第一个下载入口提前 */
  .home-v2 #stealth > .container { display: flex; flex-direction: column; }
  .home-v2 #stealth > .container > * { order: 1; }
  /* 两行横滑（上面 640 档已定），这里只限高；不能写 overflow:hidden，否则后半截平台滑不到 */
  /* 实测这里盒子被内容撑到 504px（比内容区宽），第二行又被 108px 限高切掉一半 → 宽度锁回内容区、高度放开 */
  .home-v2 #stealth .stealth-note { padding: 12px 14px !important; font-size: 13px !important; }
  /* 双机位：三张卡横滑 → 竖排紧凑列表（编号和标题同一行），竖屏视频限宽 */
  .home-v2 #dual-camera .v2-cards { display: grid !important; grid-template-columns: 1fr !important; width: auto !important; overflow: visible !important; gap: 8px !important; margin-top: 16px !important; }
  .home-v2 #dual-camera .v2-card { display: grid !important; grid-template-columns: auto 1fr; column-gap: 10px; align-items: baseline; width: auto !important; min-height: 0 !important; padding: 12px 14px !important; }
  .home-v2 #dual-camera .v2-card p { grid-column: 1 / -1; margin: 0 !important; }
  .home-v2 #dual-camera .v2-card-num { margin: 0 !important; }
  .home-v2 #dual-camera figure.v2-media-portrait { max-width: 200px !important; }
  .home-v2 #dual-camera .v2-section-cta, .home-v2 #capability-proof .v2-section-cta { gap: 10px !important; }
  /* 笔试 / 模拟面试 / 术语卡压紧 */
  .home-v2 .exam-proof-copy { gap: 12px !important; }
  .home-v2 .exam-proof-keys-panel { padding: 12px !important; }
  .home-v2 .exam-proof-keys-note { margin-top: 8px !important; }
  .home-v2 .mock-flow-item { padding-block: 8px !important; min-height: 0 !important; }
  .home-v2 .mock-interview-flow { margin-block: 14px !important; }
  .home-v2 .proof-facts { grid-template-columns: repeat(3, 1fr) !important; gap: 6px !important; }
  .home-v2 .term-stream { grid-template-columns: 1fr 20px 1fr !important; align-items: center !important; gap: 8px !important; }
  .home-v2 .term-arrow { height: auto !important; align-self: center !important; text-align: center; }
  /* 「细节做到位」：术语识别 / 眼神修正两块改成标签页，一次只显示一块 */
  .home-v2 .v2-details-tabs { display: flex; gap: 6px; margin: 0 0 14px; padding: 4px; border-radius: 12px; background: rgba(132, 165, 238, 0.08); border: 1px solid rgba(160, 190, 255, 0.14); }
  .home-v2 .v2-details-tab { flex: 1; min-height: 44px; border: 0; border-radius: 9px; background: transparent; color: var(--x-ink-2, #c9d3e6); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
  .home-v2 .v2-details-tab[aria-selected="true"] { background: rgba(132, 165, 238, 0.2); color: var(--x-ink, #fff); }
  .home-v2 .v2-details-tab:focus-visible { outline: 2px solid var(--c-accent-soft, #9db8ff); outline-offset: 2px; }
  .home-v2 .v2-details-grid[data-details-active="term"] > [data-details-panel="eye"],
  .home-v2 .v2-details-grid[data-details-active="eye"] > [data-details-panel="term"] { display: none !important; }
  /* 竖屏录屏放在文案右边（窄列），不再单独占半屏 */
  .home-v2 #dual-camera .v2-split { display: grid !important; grid-template-columns: 1fr 128px !important; gap: 14px !important; align-items: start; }
  .home-v2 #dual-camera figure.v2-media-portrait { max-width: none !important; width: 128px !important; margin: 0 !important; }
  .home-v2 #capability-proof .v2-split { display: grid !important; grid-template-columns: 1fr 132px !important; gap: 14px !important; align-items: start; }
  .home-v2 #capability-proof .v2-split figure.v2-media { max-width: none !important; width: 132px !important; margin: 0 !important; }
  .home-v2 #capability-proof .v2-split-copy .v2-lead, .home-v2 #dual-camera .v2-split-copy .v2-lead { font-size: 14px !important; }
  /* 笔试题型标签一行横滑，截图限宽；说明列去掉多余内边距 */
  .home-v2 .exam-proof-tabs { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; }
  .home-v2 .exam-proof-tabs::-webkit-scrollbar { display: none; }
  .home-v2 .exam-proof-tab { flex: 0 0 auto !important; }
  .home-v2 .exam-shot img { width: min(100%, 220px) !important; }
  .home-v2 .exam-proof-copy { padding: 16px !important; }
  .home-v2 .exam-proof-copy h3 { margin-top: 10px !important; font-size: 19px !important; }
  .home-v2 .v2-subhead { margin-top: 28px !important; }
  /* 模拟面试：录屏同样放到文案旁的窄列 */
  /* 标题、介绍、按钮占满宽；只有三步列表和录屏左右并排（整列并排会把文字挤成 188px 宽，反而更长） */
  .home-v2 #mock-interview .v2-split { display: grid !important; grid-template-columns: minmax(0, 1fr) 120px !important; column-gap: 14px !important; row-gap: 0 !important; align-items: start; }
  .home-v2 #mock-interview .mock-interview-layout { display: contents !important; }
  .home-v2 #mock-interview .mock-interview-layout > * { grid-column: 1 / -1; }
  .home-v2 #mock-interview .mock-interview-layout > .mock-interview-flow { grid-column: 1; grid-row: 4; margin-top: 0 !important; }
  .home-v2 #mock-interview figure.v2-media { grid-column: 2; grid-row: 4; max-width: none !important; width: 120px !important; margin: 0 !important; }
  .home-v2 #mock-interview .mock-interview-layout > .label { justify-self: start; }
  .home-v2 #mock-interview .mock-interview-layout > .mock-interview-cta { justify-self: start; margin-top: 14px !important; }
  .home-v2 #mock-interview .mock-interview-intro { margin-bottom: 14px !important; }
  .home-v2 #mock-interview .mock-interview-intro { font-size: 14px !important; }
  /* 双机位两个按钮并成一行：主按钮「免费下载 Windows 版」要 158px，按 6:4 分宽，不再被裁 */
  .home-v2 #dual-camera .v2-section-cta { flex-direction: row !important; flex-wrap: nowrap; }
  .home-v2 #dual-camera .v2-section-cta > .btn-secondary { flex: 4 1 0; min-width: 0; padding-inline: 10px !important; font-size: 14px !important; }
  .home-v2 #dual-camera .v2-section-cta > .btn-primary { flex: 6 1 0; min-width: 0; padding-inline: 10px !important; }
  /* 说明文字里的两个跳转链接在手机上点击区只有 16~19px：补到 44px（不改字号和位置） */
  .home-v2 .stealth-note a { display: inline-block; padding-block: 14px; margin-block: -14px; }
  .home-v2 .refund-promise a { margin-block: -12px; }
}

/* v3 r4 流畅度：桌面也去掉 backdrop-filter（吸顶导航、页脚、按钮/标签每帧都要重新模糊合成），
   换成近似的实色半透明底；一直循环的按钮流光、滑块呼吸只跑 2 遍就停。
   本机 Edge 1568×760 滚动、基线/修复交替 3 轮中位数：49.7→55.7 fps，>50ms 帧 23→6，长任务 1→0（docs/site-v3/perf/r4）。 */
.home-v2 *, .home-v2 *::before, .home-v2 *::after { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.home-v2 header > .container.nav { background: rgba(14, 18, 30, 0.94) !important; }
.home-v2 footer { background: #0b0f1a !important; }
.home-v2 .btn-secondary, .home-v2 .tags > .tag, .home-v2 .hero-slider-caption { background-color: rgba(22, 28, 44, 0.86) !important; }
.home-v2 .btn-primary::before, .home-v2 .btn-primary::after, .home-v2 .hero-slider-button,
.home-v2 .hero-slider-caption, .home-v2 .hero-slider-caption-arrow { animation-iteration-count: 2 !important; }

/* v3：「对方看不到」滑块发暗。实测是四层叠加：
   ① 用的是「-blue」调色版（壁纸压成深蓝，均亮 119/133，原色版 136/149）；
   ② 图片 filter saturate(.55)，把会议窗口也洗灰；
   ③ 容器 ::after 上下各压一层 30%~36% 的深蓝渐变；
   ④ 外框 ::before 一层 50% 蓝光。
   图换回原色版（笔记本那张是演示数据重做版，已无真人简历），②③去掉、④减到很淡。 */
.home-v2 .hero-slider-container::after { display: none !important; }
.home-v2 .hero-slider-base, .home-v2 .hero-slider-overlay img, .home-v2 .hero-window-grade img { filter: none !important; }
.home-v2 .hero-window-grade { display: none !important; }
.home-v2 .v2-compare::before { opacity: .18 !important; }

/* v3：岗位术语识别——一条「实时转写」示意代替两个纯文字块：听错的词灰色划掉，校准后的词蓝色高亮 */
.home-v2 .term-demo { margin: 18px 0 16px; padding: 14px 16px 12px; border-radius: 14px;
  background: rgba(10, 16, 30, .72); border: 1px solid rgba(132, 165, 238, .18); }
.home-v2 .term-demo-bar { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 12px; color: #9fb0cc; }
.home-v2 .term-demo-bar i { width: 7px; height: 7px; border-radius: 50%; background: #3ddc97; box-shadow: 0 0 0 3px rgba(61, 220, 151, .16); }
.home-v2 .term-demo-bar em { margin-left: auto; font-style: normal; color: #8fb4ff; }
.home-v2 .term-demo-line { margin: 0; font-size: 15px; line-height: 2.05; color: #e8edf6; }
.home-v2 .term-demo-who { margin-right: 8px; padding: 1px 7px; border-radius: 5px; font-size: 12px; color: #9fc0ff; background: rgba(91, 140, 255, .14); }
.home-v2 .term-fix { display: inline-flex; align-items: baseline; gap: 5px; white-space: nowrap; }
.home-v2 .term-fix s, .home-v2 .term-demo-legend s { color: #8a93a6; text-decoration-color: rgba(255, 120, 120, .75); text-decoration-thickness: 1.5px; font-size: .86em; }
.home-v2 .term-fix b, .home-v2 .term-demo-legend b { color: #7fb0ff; font-weight: 600; padding: 0 5px; border-radius: 5px; background: rgba(91, 140, 255, .16); }
.home-v2 .term-demo-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 8px; font-size: 12px; color: #aab5c8; }
.home-v2 .term-demo-legend b { font-size: 12px; }
.home-v2 .term-facts .proof-fact { background: transparent !important; padding: 8px 0 0 !important; border-top: 1px solid rgba(132, 165, 238, .16); }
.home-v2 .term-facts .proof-fact strong { display: block; font-size: 22px; line-height: 1.2; color: #f1f4fa; }
.home-v2 .term-facts .proof-fact span { font-size: 12.5px; color: #aab5c8; }
@media (max-width: 640px) { .home-v2 .term-demo-line { font-size: 14px; line-height: 2.1; } }

/* v3：双机位三张方法卡配图。这一节的卡在桌面左栏、手机上都是紧凑横条（见上面 5da6ec87 的压缩），
   所以图放在每条左侧做缩略图（16:9），不增加行高；第三张没有真实截图，用耳机 + 静态声波示意 */
.home-v2 #dual-camera .v2-card.v2-card-visual { display: grid !important; grid-template-columns: 132px 1fr !important; grid-template-rows: auto 1fr; column-gap: 16px !important; row-gap: 4px !important; align-items: start !important; padding: 12px !important; }
.home-v2 .v2-card-pic { grid-column: 1; grid-row: 1 / span 3; display: block; width: 132px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 10px; background: #0d1424; border: 1px solid rgba(132, 165, 238, .16); align-self: center; }
.home-v2 .v2-card-pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-v2 #dual-camera .v2-card-visual > .v2-card-num { grid-column: 2; grid-row: 1; margin: 2px 0 0 !important; }
.home-v2 #dual-camera .v2-card-visual > h3 { grid-column: 2; grid-row: 1; margin: 0 0 0 30px !important; font-size: 17px !important; }
.home-v2 #dual-camera .v2-card-visual > p { grid-column: 2; grid-row: 2; margin: 0 !important; font-size: 14.5px !important; line-height: 1.6 !important; }
@media (max-width: 640px) {
  .home-v2 #dual-camera .v2-card.v2-card-visual { grid-template-columns: 96px 1fr !important; column-gap: 12px !important; padding: 10px !important; }
  .home-v2 .v2-card-pic { width: 96px; }
  .home-v2 #dual-camera .v2-card-visual > h3 { font-size: 15px !important; margin-left: 26px !important; }
  .home-v2 #dual-camera .v2-card-visual > p { font-size: 13px !important; }
  .home-v2 .v2-card-listen svg { width: 30px; height: 30px; }
  .home-v2 .v2-card-listen .v2-listen-wave, .home-v2 .v2-card-listen span { display: none; }
}
.home-v2 .v2-card-listen { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: #8fb4ff;
  background: radial-gradient(80% 90% at 50% 30%, rgba(91, 140, 255, .22), rgba(13, 20, 36, 1) 70%); }
.home-v2 .v2-listen-wave { display: flex; align-items: center; gap: 4px; height: 24px; }
.home-v2 .v2-listen-wave i { width: 4px; border-radius: 2px; background: #7fb0ff; }
.home-v2 .v2-listen-wave i:nth-child(1), .home-v2 .v2-listen-wave i:nth-child(7) { height: 6px; }
.home-v2 .v2-listen-wave i:nth-child(2), .home-v2 .v2-listen-wave i:nth-child(6) { height: 14px; }
.home-v2 .v2-listen-wave i:nth-child(3), .home-v2 .v2-listen-wave i:nth-child(5) { height: 20px; }
.home-v2 .v2-listen-wave i:nth-child(4) { height: 24px; }
.home-v2 .v2-card-listen span { display: none; }
.home-v2 .v2-card-listen svg { width: 34px; height: 34px; }
.home-v2 .v2-card-listen .v2-listen-wave { height: 14px; gap: 3px; }
.home-v2 .v2-card-listen .v2-listen-wave i { width: 3px; max-height: 14px; }

/* 眼神修正：脸部特写前后对比（替换原多宫格整图的绝对定位裁切） */
.home-v2 .eye-faces { display: grid; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
.home-v2 .eye-faces .eye-comparison-frame { margin: 0; aspect-ratio: auto; overflow: hidden; border-radius: 14px; background: #0d1424;
  border: 1px solid rgba(143, 180, 255, .16); }
.home-v2 .eye-faces .eye-comparison-frame.after { border-color: rgba(255, 255, 255, .22); }
.home-v2 .eye-faces .eye-comparison-frame img { position: static; display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.home-v2 .eye-faces figcaption { display: flex; align-items: center; gap: 7px; padding: 9px 12px; font-size: 14px; font-weight: 600; line-height: 1.3; color: #c7d3ea; }
.home-v2 .eye-faces figcaption i { display: none; }
.home-v2 .eye-faces figcaption { color: var(--x-ink-3); font-weight: 500; }
.home-v2 .eye-faces .after figcaption { color: var(--v2-ink); font-weight: 600; }
/* ── v3.1 配色（用户 10-02：上一版每节一个主色「太花、不高级」）──
   改成深色产品官网常见的克制做法（Linear / Vercel / Raycast 一类）：
   整页只用 黑 · 白 · 三档灰，外加一个品牌蓝做极少量点缀；层次靠字号、字重和灰度拉开，不靠颜色。
   主按钮是白色实心，全页最亮的块；彩色只留给有含义的地方（术语纠错的划线、录屏和截图本身）。
   节背景回到原来那一档很淡的蓝色柔光（见「节背景柔光」）。 */
.home-v2 {
  --v3-ink-2: #c9d1df;                       /* 正文 */
  --v3-hair: rgba(255, 255, 255, 0.09);      /* 细线 */
  --v3-hair-2: rgba(255, 255, 255, 0.18);    /* 悬停 / 强调线 */
  --v3-chip: rgba(255, 255, 255, 0.045);     /* 小块底 */
  --v3-accent: #8fb4ff;                      /* 唯一点缀色 */
}
.home-v2 main > section .label { color: var(--x-ink-3) !important; font-weight: 600; }
.home-v2 main > section .label::before { background: var(--v3-hair-2) !important; opacity: 1 !important; }
.home-v2 #dual-camera .v2-card-num { color: var(--x-ink-3) !important; }
.home-v2 #mock-interview .mock-flow-item.active span { background: var(--v2-ink) !important; color: #0b0f1a !important; border-color: transparent !important; }

/* 核心功能三卡：单色线性图标 + 标题 + 一句话 */
.home-v2 #features .feature-mini-card { gap: 8px; padding: 26px 24px 24px !important; }
.home-v2 #features .feature-mini-card::before { display: none !important; }
.home-v2 #features .feature-mini-card .feature-mini-icon { width: 44px; height: 44px; border-radius: 12px; margin-bottom: 10px;
  color: var(--v2-ink) !important; background: var(--v3-chip) !important; border: 1px solid var(--v3-hair) !important; }
.home-v2 #features .feature-mini-card .feature-mini-icon svg { width: 22px; height: 22px; }
.home-v2 #features .feature-mini-card h3 { font-size: 20px; color: var(--v2-ink) !important; }
.home-v2 #features .feature-mini-card p { font-size: 15px; line-height: 1.6; color: var(--x-ink-3) !important; }
.home-v2 #features .feature-mini-card:hover { border-color: var(--v3-hair-2) !important; }

/* 手撕算法三步：不要底色胶囊，只用细圈编号 + 箭头串起来 */
.home-v2 .v2-steps { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 0; }
.home-v2 .v2-steps li { display: inline-flex; align-items: center; gap: 8px; color: var(--v3-ink-2); font-size: 15px; font-weight: 500; }
.home-v2 .v2-steps li + li::before { content: "→"; margin: 0 12px; color: var(--x-ink-4); font-family: system-ui, sans-serif; }
.home-v2 .v2-steps b { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--v3-hair-2);
  color: var(--v2-ink); font-size: 12px; font-weight: 600; }
/* 按键：中性键帽，不用彩色 */
.home-v2 .v2-coding .v2-lead kbd, .home-v2 .exam-proof-key kbd { color: var(--v2-ink) !important; background: linear-gradient(180deg, #262d3d, #1b2130) !important;
  border: 1px solid var(--v3-hair-2) !important; box-shadow: 0 2px 0 rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .07) !important;
  font-style: normal !important; font-weight: 600; font-family: ui-monospace, "SF Mono", Consolas, monospace !important; }
.home-v2 .v2-coding .v2-lead kbd { padding: 1px 8px; border-radius: 6px; }

/* 笔试左栏：只剩三个大按键 */
.home-v2 .exam-proof-copy { justify-content: center; padding: 28px !important; }
.home-v2 .exam-proof-copy .exam-proof-keys { display: grid; grid-template-columns: 1fr; gap: 14px; }
.home-v2 .exam-proof-copy .exam-proof-key { display: flex; align-items: center; gap: 14px; padding: 0 !important; background: none !important; border: 0 !important; }
.home-v2 .exam-proof-copy .exam-proof-key kbd { flex: 0 0 auto; min-width: 72px; padding: 9px 12px; border-radius: 10px; font-size: 17px; text-align: center; }
.home-v2 .exam-proof-copy .exam-proof-key span { font-size: 15px; font-weight: 600; color: var(--v2-ink) !important; line-height: 1.4; }
.home-v2 .exam-proof-tab[aria-selected="true"] { color: #0b0f1a !important; background: var(--v2-ink) !important; box-shadow: none !important; }
@media (min-width: 1025px) {
  .home-v2 .exam-proof { grid-template-columns: 260px minmax(0, 1fr) !important; min-height: 0 !important; }
}
@media (max-width: 1024px) {
  .home-v2 .exam-proof-copy { padding: 16px !important; }
  .home-v2 .exam-proof-copy .exam-proof-keys { grid-template-columns: repeat(3, auto); justify-content: start; gap: 10px 18px; }
  .home-v2 .exam-proof-copy .exam-proof-key { gap: 8px; }
  .home-v2 .exam-proof-copy .exam-proof-key kbd { min-width: 0; padding: 6px 10px; font-size: 14px; }
  .home-v2 .exam-proof-copy .exam-proof-key span { font-size: 13px; }
}
@media (max-width: 699px) {
  .home-v2 .exam-proof-copy .exam-proof-keys { grid-template-columns: 1fr; }
  .home-v2 .v2-steps li { font-size: 14px; padding: 6px 12px 6px 6px; }
}

/* v3.1 首屏左列：去掉彩色胶囊和顶部药丸标签。
   层次只靠 字号（标题 → 导语 → 小字）和 灰度（白 → 浅灰 → 中灰），卖点是一行用细竖线分开的文字；
   主按钮白色实心，是首屏唯一的亮块。 */
.home-v2 .hero .hero-context { background: none !important; border: 0 !important; padding: 0 !important; box-shadow: none !important;
  color: var(--x-ink-3) !important; font-size: 13px !important; letter-spacing: .04em !important; font-style: normal !important;
  font-family: inherit !important; margin-bottom: 18px !important; }
.home-v2 .hero .hero-context::before { display: none !important; }
.home-v2 .hero h1 { margin-bottom: 16px !important; }
.home-v2 .hero .hero-line-slogan::after { display: none !important; }
.home-v2 .hero .v2-hero-lead { margin-bottom: 16px !important; color: var(--v3-ink-2) !important; }
.home-v2 .v2-hero-points { flex-direction: row !important; flex-wrap: wrap; gap: 6px 0 !important; margin: 0 0 30px !important; }
.home-v2 .v2-hero-points li { gap: 0 !important; padding: 0; font-size: 14px !important; white-space: nowrap; background: none; border: 0; }
.home-v2 .v2-hero-points li + li::before { content: ""; width: 1px; height: 12px; margin: 0 14px; background: var(--v3-hair-2); align-self: center; }
.home-v2 .v2-hero-points strong { font-size: 14px !important; font-weight: 500 !important; color: var(--x-ink-3) !important; }
.home-v2 .v2-hero-points strong::before { content: none !important; }
.home-v2 .v2-trust { display: flex; flex-wrap: wrap; align-items: center; margin-top: 2px; }
.home-v2 .v2-trust .v2-sysreq { margin: 0 !important; font-size: 13px !important; color: var(--x-ink-4) !important; }
/* 退款承诺：按钮下方单独一枚绿色胶囊（用户 10-02 要求恢复），首屏唯一的绿色 */
.home-v2 .hero .v2-refund-pill { display: inline-flex !important; align-items: center !important; gap: 8px !important; width: auto;
  margin: 18px 0 0 !important; padding: 7px 8px 7px 10px !important; min-height: 0 !important; border-radius: 999px !important;
  background: rgba(52, 211, 153, .08) !important; border: 1px solid rgba(52, 211, 153, .32) !important; box-shadow: none !important; }
.home-v2 .v2-refund-pill .hero-refund-assurance-mark { display: inline-grid !important; place-items: center; width: 18px !important; height: 18px !important;
  border-radius: 50%; font-size: 10px !important; font-weight: 900; background: rgba(52, 211, 153, .2) !important; color: #4ade9a !important; }
.home-v2 .v2-refund-pill strong { font-size: 13px !important; font-weight: 500 !important; color: #c9f2dd !important; }
.home-v2 .v2-refund-pill a { min-height: 28px !important; padding: 0 6px; font-size: 13px; color: #8fdcb6 !important;
  text-decoration: underline; text-decoration-color: rgba(143, 220, 182, .45); text-underline-offset: 3px; }
.home-v2 .v2-refund-pill a:hover { color: #c9f2dd !important; }
@media (max-width: 640px) {
  .home-v2 .v2-hero-copy > .v2-refund-pill { order: 3; justify-self: center; margin-top: 16px !important; }
  .home-v2 .v2-refund-pill strong, .home-v2 .v2-refund-pill a { font-size: 12px !important; }
}

/* 大标题「大气」：字号再大一档、字距收紧、字重加到 700，副标题按比例缩小拉开主次 */
@media (min-width: 1025px) {
  .home-v2 .hero h1 { font-size: clamp(56px, 4.6vw + 6px, 76px) !important; line-height: 1.08 !important; letter-spacing: -0.02em !important; }
  .home-v2 .hero h1 .hero-line-1 { font-weight: 700 !important; white-space: nowrap; }
  .home-v2 .hero h1 .hero-line-slogan { font-size: 0.46em !important; margin-top: 14px !important; letter-spacing: 0 !important; }
}
@media (min-width: 641px) and (max-width: 1024px) {
  .home-v2 .hero h1 { font-size: 60px !important; letter-spacing: -0.02em !important; }
  .home-v2 .hero h1 .hero-line-1 { font-weight: 700 !important; }
  .home-v2 .hero h1 .hero-line-slogan { font-size: 0.5em !important; }
}
@media (max-width: 640px) {
  .home-v2 .hero h1 { font-size: clamp(40px, 9vw + 6px, 48px) !important; letter-spacing: -0.02em !important; }
  .home-v2 .hero h1 .hero-line-1 { font-weight: 700 !important; }
  .home-v2 .hero h1 .hero-line-slogan { font-size: 0.5em !important; }
}
/* 次按钮：透明底 + 细线，不抢主按钮 */
.home-v2 .hero .hero-actions .btn-secondary { background: transparent !important; border: 1px solid var(--v3-hair-2) !important; color: var(--v2-ink) !important; box-shadow: none !important; }
.home-v2 .hero .hero-actions .btn-secondary:hover { border-color: rgba(255, 255, 255, .34) !important; }
@media (max-width: 640px) {
  .home-v2 .hero .hero-context { margin-bottom: 12px !important; font-size: 12px !important; }
  .home-v2 .v2-hero-points { margin-bottom: 18px !important; flex-wrap: nowrap; }
  .home-v2 .v2-hero-points li + li::before { margin: 0 10px; }
  .home-v2 .v2-hero-points strong { font-size: 13px !important; }
}

/* ── v3.1 排版（用户 10-02 图：首屏下沿乱）──
   1) 首屏录屏窗口原来 margin-bottom:-80px 故意伸出首屏，但首屏深色底只铺到首屏下沿、下一节又有一条顶部分隔线：
      于是一条横线和一道底色接缝正好从窗口下部穿过去，下一节的小标题也贴在窗口底下。
      改成窗口完整留在首屏里，首屏自己留下边距；下一节不再为「接住伸出的窗口」多加 80px。
   2) 各节顶部分隔线有的有、有的没有（隐身 / 演示 / 手撕算法 / FAQ 有，其余没有），节与节靠统一的上下留白分开，分隔线全部去掉。
   3) 卡片标题和说明之间只有 3–4px，统一 8px。
   4) 中文标题 / 导语末行只剩一两个字（如「截一下就行」掉一个「。」到下一行）：开 text-wrap，让断行更均匀。 */
.home-v2 .v2-window { margin-bottom: 0 !important; }
.home-v2 .hero.v2-hero { padding-bottom: 32px !important; } /* 用户 10-02：首屏和下一节之间空太多（原 88 + 下一节 72） */
/* 那段空白看着更「空」的另一个原因：首屏的纯黑底（::before）在首屏下沿戛然而止，下面露出星点和柔光，
   形成一道发灰的横带。底边 140px 渐隐成透明，黑底和下面的夜空连成一片，不再有接缝。 */
.home-v2 .hero.v2-hero::before {
  -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 140px), transparent 100%) !important;
  mask-image: linear-gradient(180deg, #000 calc(100% - 140px), transparent 100%) !important;
}
.home-v2 main > section#stealth { padding-top: 40px !important; }
@media (max-width: 640px) { .home-v2 main > section#stealth { padding-top: 32px !important; } }
.home-v2 main > section { border-top: 0 !important; }
.home-v2 :is(.stealth-card-head, .v2-card, .feature-mini-card, .proof-secondary-card) h3 + p { margin-top: 8px !important; }
.home-v2 #dual-camera .v2-card h3 + p { margin-top: 6px !important; } /* 原规则带 #dual-camera，优先级更高，单独补 */
.home-v2 main :is(h1, h2, h3, .hero-line) { text-wrap: balance; }
.home-v2 main :is(p, li, figcaption) { text-wrap: pretty; }
@media (max-width: 1024px) {
  .home-v2 .hero.v2-hero { padding-bottom: 24px !important; }
  /* 平板单列：文案块和录屏窗口都在 1024 内容宽里，但文案左对齐、录屏撑满，看着左重右轻；
     两块都限到 680px 并居中，上下对齐成一列 */
  .home-v2 .hero .container.v2-hero-grid { justify-items: center !important; }
  .home-v2 .v2-hero-copy, .home-v2 .v2-window { width: 100%; max-width: 680px; }
}
@media (max-width: 640px) { .home-v2 .hero.v2-hero { padding-bottom: 8px !important; } }

/* ── v3.1 标题字色（用户 10-02：「字都是白的」不高级，又不要花）──
   深色产品官网的常见做法：标题不用纯白平涂，而是一道很浅的竖向金属渐变（上白下银灰），有体积但不出彩色；
   全页只在首屏一处关键词「实时辅助」用品牌蓝的冷光渐变，作为唯一的色彩落点。
   层级靠明度拉开：标题（白→银）> 副标题（浅银灰）> 正文（灰）> 小字（深灰）。
   主题用 !important 把 h1/h2 及其子元素锁成 currentColor 平涂，这里用更高的选择器覆盖。
   渐变字和 text-shadow 叠在一起会发脏，标题的阴影去掉（左列背后的星球已遮罩淡出，不需要阴影托字）。 */
.home-v2 .hero h1 .hero-line-1,
.home-v2 main > section h2,
.home-v2 main > section h2 .title-phrase {
  background: linear-gradient(180deg, #ffffff 0%, #eef2f8 30%, #9aa6bb 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important; color: #eef1f6 !important;
  text-shadow: none !important;
}
/* 首屏大标题（用户 10-02：前四字银、后四字蓝「不够大气」——一行字被切成两种颜色，显得拼凑）：
   改成整行一道横向光感渐变：左边纯白，向右过渡到冰蓝，和右上方星球边缘的蓝白光同一色相，像被那道光照亮；
   整句是一个整体，只有明度和冷暖的变化，不出第二种颜色。 */
.home-v2 .hero h1 .hero-line-1 {
  background: linear-gradient(100deg, #ffffff 0%, #f4f7ff 38%, #c9d9ff 72%, #94b4ff 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.home-v2 .hero h1 .hero-line-slogan {
  -webkit-text-fill-color: #b9c2d2 !important; color: #b9c2d2 !important; font-weight: 600 !important; text-shadow: none !important;
}
.home-v2 .hero .v2-hero-lead, .home-v2 .hero .v2-hero-lead * { text-shadow: none !important; }
/* 卡片标题：主题给的 800 太粗，衬线字在小字号上发闷；降到 600，颜色用略暖的白 */
.home-v2 main :is(.feature-mini-card, .v2-card, .stealth-card-head, .proof-secondary-card) h3 { font-weight: 600 !important; color: #eef1f6 !important; }

/* ── v3.2 首屏质感（用户 10-02：「不够震撼、不高级」）──
   1) 标题字体：大号中文衬线（宋体系）读起来偏「文艺 / 出版物」，「AI」两个英文字母又落在 Instrument Serif 上，
      和中文笔画粗细、倾角都不一样，像拼起来的。科技产品首屏（Apple、Linear、Vercel、Raycast）都用粗无衬线大字：
      大标题和各节 h2 统一换成系统无衬线 700，字距收紧，一个字族一气呵成。
   2) 首屏下面那道发灰的横带：页面背后有几团大光晕（xm-orb，蓝紫色、模糊 78px），首屏有纯黑底遮住，
      一出首屏光晕就露出来，整页都蒙着一层灰蓝雾，黑不够黑、对比度上不去。光晕压到原来的 35%，黑底更纯，
      星球和录屏窗口的光才显得出来。
   3) 录屏窗口：原来是一圈平的灰线，像贴上去的截图。改成「顶部受光」的渐变描边（上沿亮、往下淡出，
      和上方星球的光同一方向），外面加一圈很淡的蓝色辉光，窗口像是被那道光照亮、浮在夜空里。
   4) 导航里「下载 Windows 版」的 Windows 是斜体衬线，和旁边的中文不是一套字；统一成无衬线正体。 */
.home-v2 .hero h1, .home-v2 .hero h1 .hero-line,
.home-v2 main > section h2, .home-v2 main > section h2 .title-phrase {
  font-family: "Inter", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans SC", sans-serif !important;
  font-style: normal !important;
}
.home-v2 .hero h1 .hero-line-1 { font-weight: 700 !important; letter-spacing: -0.035em !important; }
/* 用户 10-02：大标题「辅助」的「助」被切掉。渐变字（background-clip:text）只在元素自己的盒子里上色，
   1568 宽时字号到 76px，整行比左栏宽、溢出栏外的那半个字没有底色就透明了。
   ① 行改成 inline-block + 右侧留 0.1em：盒子永远包住整行（含负字距吃掉的最后一个字的边缘）；
   ② 字号上限按栏宽算：整行约 6.95em，左栏最宽约 513px → 上限 72px，任何宽度都不溢出。 */
.home-v2 .hero h1 .hero-line-1 { display: inline-block !important; padding-right: .1em; margin-right: -.1em; }
@media (min-width: 1025px) {
  .home-v2 .hero h1 { font-size: clamp(52px, 4.4vw, 72px) !important; }
}
.home-v2 .hero h1 .hero-line-slogan { font-weight: 500 !important; letter-spacing: -0.01em !important; }
.home-v2 main > section h2 { font-weight: 700 !important; letter-spacing: -0.025em !important; }
.home-v2 .xm-orb { opacity: .35 !important; }
.home-v2 .xm-noise { opacity: .12 !important; }
@media (min-width: 641px) {
  .home-v2 .v2-window {
    border: 1px solid transparent !important;
    background:
      linear-gradient(#0d1019, #0d1019) padding-box,
      linear-gradient(180deg, rgba(190, 214, 255, .55) 0%, rgba(150, 182, 240, .18) 28%, rgba(150, 182, 240, .08) 100%) border-box !important;
    box-shadow:
      0 -1px 0 0 rgba(214, 228, 255, .10),
      0 0 0 1px rgba(0, 0, 0, .4),
      0 40px 100px -30px rgba(0, 0, 0, .9),
      0 0 120px -30px rgba(96, 140, 255, .32) !important;
    border-radius: 16px !important;
  }
  .home-v2 .v2-window-bar { background: rgba(255, 255, 255, .025); border-bottom-color: rgba(160, 190, 255, .10) !important; }
}
.home-v2 header .nav-cta, .home-v2 header .nav-cta * { font-family: "Inter", "PingFang SC", "Microsoft YaHei", sans-serif !important; font-style: normal !important; letter-spacing: 0 !important; }

/* 体检修正：#stealth .container 在窄屏是 flex 列，平台区里横滑轨道把它撑到 504px（视口 390），
   标题跟着偏右；给 flex 子项 min-width:0，宽度回到容器内。 */
.home-v2 #stealth > .container > * { min-width: 0; max-width: 100%; }
/* 小字补到 ≥12px：平台名 10.5–11.5px、笔试题型标签 11.5px、术语图例 10.3px、滑块说明 11px */
.home-v2 .term-demo-legend s, .home-v2 .term-demo-legend b { font-size: 12px !important; }
.home-v2 .exam-proof-tab { font-size: 13px !important; }
@media (max-width: 699px) {
  .home-v2 .hero-slider-caption span { font-size: 12px !important; }
}

/* 平板两栏并排时眼神面板约 360px，前后图再并排只剩 158px；改上下排，每张约 330px */
@media (min-width: 700px) and (max-width: 1024px) {
  .home-v2 .eye-faces { grid-template-columns: 1fr !important; }
}
@media (max-width: 699px) {
  /* 手机并排只有 140px 宽，眼睛太小；眼神面板在标签页里，上下排不增加默认页长 */
  .home-v2 .v2-details .eye-comparison.eye-faces { grid-template-columns: 1fr !important; gap: 10px !important; }
  .home-v2 .eye-faces figcaption { padding: 7px 8px; font-size: 12px; gap: 5px; }
  .home-v2 .eye-faces .eye-comparison-frame { border-radius: 10px; }
}

/* ── v3.4 首屏刚好一屏（用户 10-02 17:43：一进来就看到下一节截图的顶边，破坏首屏的完整感）──
   原来首屏高度由内容决定（上 120 + 内容 + 下 32），比一屏矮，下一节的标题和截图顶边露在首屏底部。
   改成首屏至少占满「视口 − 吸顶导航 84px」，内容在里面垂直居中（下边距略大于上边距，视觉重心稍偏上）；
   下一节从视口下沿开始，首屏只有标题、录屏和星球。用 svh：手机浏览器地址栏收起/展开时高度不跳。
   横屏手机（高 ≤500）沿用原来的紧凑首屏，不撑满。 */
@media (min-width: 641px) and (min-height: 501px) {
  .home-v2 .hero.v2-hero {
    min-height: calc(100vh - 84px) !important; min-height: calc(100svh - 84px) !important;
    display: flex !important; flex-direction: column; justify-content: center;
    padding-top: 40px !important; padding-bottom: 64px !important; box-sizing: border-box;
  }
  .home-v2 .hero.v2-hero > .container { width: 100%; }
}

/* ── v3.3 首屏左列恢复成 9 月那版的样子（用户 10-02 16:53：「之前的文案和样式好看，改回去」）──
   参照值取自 fbffbcef^ 的计算样式（docs/site-v3/tmp/old-hero-style.cjs）：
   药丸标签（蓝点 + 斜体英文）→ 衬线大标题、纯白 + 柔和阴影（不再用渐变字）→ 白色衬线副标题 → 蓝色短线 →
   灰色导语一行 + 浅白结果一行 → 白主按钮 + 深灰次按钮 → 绿色退款胶囊。
   只回退首屏左列；右侧录屏窗口、两栏布局、标题不被裁切的修正保留。各节 h2 一并回到衬线，和首屏同一套字。 */
.home-v2 .hero h1, .home-v2 .hero h1 .hero-line,
.home-v2 main > section h2, .home-v2 main > section h2 .title-phrase {
  font-family: var(--c-display) !important;
  background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important;
  -webkit-text-fill-color: #f5f5f5 !important; color: #f5f5f5 !important;
}
.home-v2 main > section h2, .home-v2 main > section h2 .title-phrase { font-weight: 600 !important; letter-spacing: -0.01em !important; text-shadow: none !important; }
.home-v2 .hero h1 { letter-spacing: -0.015em !important; line-height: 1.02 !important; margin-bottom: 26px !important; }
.home-v2 .hero h1 .hero-line { text-shadow: 0 2px 22px rgba(8, 8, 10, .85), 0 0 60px rgba(8, 8, 10, .55) !important; }
.home-v2 .hero h1 .hero-line-1 { font-weight: 600 !important; letter-spacing: -0.015em !important; }
.home-v2 .hero h1 .hl-en { font-family: "Instrument Serif", Georgia, serif !important; font-style: italic !important; letter-spacing: -0.02em; }
.home-v2 .hero h1 .hero-line-slogan { font-size: 0.5em !important; font-weight: 700 !important; letter-spacing: -0.03em !important; margin-top: 14px !important; }
.home-v2 .hero .hero-line-slogan::after { content: "" !important; display: block !important; width: 56px; height: 3px; margin: 18px 0 0 !important;
  border-radius: 2px; background: #89aacc !important; }
/* 药丸标签 */
.home-v2 .hero .hero-context { display: inline-flex !important; align-items: center; gap: 8px; padding: 6px 14px !important; margin-bottom: 22px !important;
  border: 1px solid #2e2e2e !important; border-radius: 999px !important; background: rgba(63, 125, 255, .10) !important;
  color: #a8c4de !important; font-size: 13px !important; letter-spacing: .01em !important; font-family: var(--c-display) !important; }
.home-v2 .hero .hero-context::before { content: "" !important; display: block !important; width: 7px; height: 7px; border-radius: 50%; background: #89aacc !important; }
.home-v2 .hero .hero-context .hc-en { font-family: "Instrument Serif", Georgia, serif; font-style: italic; }
/* 两行导语：灰色一行说做什么，浅白一行说结果，「轻松拿大厂 Offer」加粗纯白 */
.home-v2 .hero .v2-hero-lead { margin: 0 0 28px !important; text-shadow: none !important; }
.home-v2 .hero .v2-hero-lead .hero-copy-detail { display: block; font-size: 15px !important; color: #a3a3a3 !important; }
.home-v2 .hero .v2-hero-lead .hero-copy-outcome { display: block; margin-top: 8px; font-size: 18px !important; color: #c9c9c9 !important; }
.home-v2 .hero .v2-hero-lead .hero-copy-outcome strong { color: #f5f5f5 !important; font-weight: 700; }
/* 次按钮：深灰实底 + 细线 */
.home-v2 .hero .hero-actions .btn-secondary { background: #141414 !important; border: 1px solid #2e2e2e !important; color: #f5f5f5 !important; }
.home-v2 .hero .hero-actions .btn-secondary:hover { border-color: #444 !important; }
@media (max-width: 640px) {
  .home-v2 .hero .hero-context { margin-bottom: 14px !important; font-size: 12px !important; }
  .home-v2 .hero h1 { margin-bottom: 18px !important; }
  .home-v2 .hero .hero-line-slogan::after { margin-top: 12px !important; }
  .home-v2 .hero .v2-hero-lead { margin-bottom: 16px !important; }
  .home-v2 .hero .v2-hero-lead .hero-copy-detail { font-size: 14px !important; }
  .home-v2 .hero .v2-hero-lead .hero-copy-outcome { font-size: 16px !important; margin-top: 4px; }
}

/* ── v3.5 首屏底部平台条（用户 10-02 18:12：首屏撑满一屏后「感觉太空」）──
   空的是首屏下半截：内容只占约 60%，下面 200px 什么都没有。补的是「信任信息」而不是更多文字：
   原隐身节里的平台 logo 挪到首屏底部，做成深色产品站常见的单色 logo 墙（Linear / Vercel 的「客户 logo 条」）。
   logo 原图是白底彩色小卡，深色底上会变成一排白块 → 预先转成「白色标志 + 透明底」的单色图（assets/platforms/mono/，
   docs/site-v3/tools/mono-logos.cjs 生成）；整条降到 .55 透明度，不和标题、按钮抢。
   底边钉在首屏下沿（margin-top:auto），两侧渐隐，慢速横向滚动；减少动效时不滚。 */
/* 全宽度都显示（隐身节里已删掉原 logo 条，手机上也不能丢）；手机：标签在上、logo 在下，排在首屏最后 */
.home-v2 .v2-hero-platforms { display: flex !important; flex-direction: column; align-items: stretch; gap: 12px; margin-top: 32px !important; }
.home-v2 .v2-hero-platforms .v2-hp-label { text-align: center; }
@media (min-width: 641px) and (min-height: 501px) {
  .home-v2 .hero.v2-hero { justify-content: flex-start !important; padding-bottom: 28px !important; }
  .home-v2 .hero.v2-hero > .v2-hero-grid { margin-top: auto; }
  .home-v2 .v2-hero-platforms {
    flex-direction: row; align-items: center; gap: 28px;
    max-width: 1280px !important; margin: auto auto 0 !important; padding-top: 40px !important;
  }
  .home-v2 .v2-hero-platforms .v2-hp-label { text-align: left; }
}
/* 右下角「联系客服」浮窗（约 168px 宽、贴右 20px）会压住平台条的右端 → 平台条左右各让出 200px 居中；
   平板（<1025）宽度不够放「标签 + logo」一行，改成标签在上、logo 在下 */
@media (min-width: 641px) and (min-height: 501px) {
  .home-v2 .v2-hero-platforms { width: min(1180px, calc(100vw - 400px)) !important; padding-inline: 0 !important; }
}
@media (min-width: 641px) and (max-width: 1024px) and (min-height: 501px) {
  .home-v2 .v2-hero-platforms { flex-direction: column; gap: 10px; }
  .home-v2 .v2-hero-platforms .v2-hp-label { text-align: center; }
  .home-v2 .v2-hp-marquee { width: 100%; }
}
.home-v2 .v2-hp-label { flex: none; margin: 0; font-size: 13px; letter-spacing: .02em; color: var(--v2-ink-3); white-space: nowrap; }
  .home-v2 .v2-hp-marquee {
    flex: 1; min-width: 0; display: flex; overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }
  .home-v2 .v2-hp-track {
    flex: none; display: flex; align-items: center; gap: 36px; margin: 0; padding: 0 36px 0 0; list-style: none;
    animation: v2-hp-scroll 60s linear infinite;
  }
  .home-v2 .v2-hp-track li { display: flex; align-items: center; gap: 8px; opacity: .55; white-space: nowrap; }
  /* logo 大多自带字标（zoom、BOSS直聘…），旁边不再重复写名字；名字在 alt/title 里 */
  .home-v2 .v2-hp-track img { width: auto; height: 24px; }
  .home-v2 .v2-hp-track span { font-size: 13px; color: #e6e6e6; }
  .home-v2 .v2-hp-glyph { font-size: 15px; line-height: 1; }
@keyframes v2-hp-scroll { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .home-v2 .v2-hp-track { animation: none !important; } }

/* ── v3.6 首屏光效（用户 10-02：背景加点光的动效，要震撼，但不能让网站变卡，手机也要适配）──
   三层，全部只动 transform / opacity（浏览器交给 GPU 合成，不重排、不重绘、不用 filter / 混合模式 / backdrop-filter）：
   1 fx-pulse 星球亮弧顶上的光，慢慢「呼吸」（亮暗 + 微微放大）
   2 fx-comet 一道流光沿着亮弧从左往右扫过，扫完停一会再来（父层 fx-orbit 是 0×0 的点，绕亮弧圆心转，
     流光挂在半径上，所以始终贴着弧线、自动顺着切线方向；图层只有流光本身那么大，不是一整个大圆）
   3 fx-aura  弧光上方一层很淡的蓝色光幕，左右缓慢漂移
   桌面：光效盒子和星球底图（.v2-hero-grid::before）同位置同大小，弧线几何量自底图
   （docs/site-v3/tmp/arc-fit.cjs：圆心 50.18% / 185.44%，半径 0.6882 图宽，顶点在 63.1% 高处，误差 ≤8px）。
   平板 / 手机没有星球图：光效盒子落在录屏窗口那一格（绝对定位 + grid-row = 窗口所在行），
   光从窗口后面透出来，流光沿窗口上沿外的弧线扫过、两端绕到窗口背后，不压任何文字。
   首屏滚出视口或标签页切走时由 home-v2-media.js 加 .fx-off 暂停；系统「减少动效」时只留静态光。 */
.home-v2 .v2-hero-fx { position: absolute; z-index: -1; pointer-events: none; container-type: inline-size; }
.home-v2 .v2-hero-fx i { position: absolute; display: block; }
.home-v2 .v2-hero-fx .fx-pulse {
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(214, 230, 255, .3), rgba(120, 165, 255, .1) 55%, transparent);
  animation: v2-fx-pulse 7s ease-in-out infinite alternate;
}
.home-v2 .v2-hero-fx .fx-orbit { width: 0; height: 0; animation: v2-fx-orbit-d 11s cubic-bezier(.45, .05, .35, 1) infinite; }
.home-v2 .v2-hero-fx .fx-comet {
  left: 0; top: 0; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(236, 244, 255, .8), rgba(176, 204, 255, .38) 30%, rgba(110, 160, 255, .12) 62%, transparent);
  animation: v2-fx-comet 11s linear infinite;
}
.home-v2 .v2-hero-fx .fx-aura {
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(96, 140, 255, .16), rgba(96, 140, 255, .06) 60%, transparent);
  animation: v2-fx-aura 16s ease-in-out infinite alternate;
}
@keyframes v2-fx-pulse { from { opacity: .45; transform: translate(-50%, -50%) scale(.96); } to { opacity: 1; transform: translate(-50%, -50%) scale(1.05); } }
/* 角度写死，不用 var()：关键帧里有变量时浏览器不把动画交给合成线程，手机上实测样式重算翻倍 */
@keyframes v2-fx-orbit-d { 0% { transform: rotate(-13deg); } 62%, 100% { transform: rotate(38deg); } }
@keyframes v2-fx-orbit-m { 0% { transform: rotate(-30deg); } 62%, 100% { transform: rotate(30deg); } }
@keyframes v2-fx-comet { 0% { opacity: 0; } 14% { opacity: .85; } 46% { opacity: .85; } 62%, 100% { opacity: 0; } }
@keyframes v2-fx-aura { from { opacity: .6; transform: translate(-58%, -50%); } to { opacity: 1; transform: translate(-42%, -50%); } }

/* 桌面：盒子 = 星球底图的位置和大小（和上面 ::before 同一套算法），单位 cqw = 底图宽的 1% */
@media (min-width: 1025px) {
  .home-v2 .v2-hero-fx { left: 1.2%; top: 50%; width: 141.6%; aspect-ratio: 16 / 9; margin-top: calc(-66.74% - 40px); }
  .home-v2 .v2-hero-fx .fx-pulse { left: 50%; top: 63.1%; width: 52cqw; height: 9cqw; }
  .home-v2 .v2-hero-fx .fx-orbit { left: 50.18%; top: 185.44%; }
  /* 流光挂在半径 68.82cqw 的位置；扫过的范围 -13°→38° 对应底图横向约 34%→93%，不进左边文字列 */
  .home-v2 .v2-hero-fx .fx-comet { width: 18cqw; height: .7cqw; transform: translate(-50%, calc(-50% - 68.82cqw)); }
  .home-v2 .v2-hero-fx .fx-aura { left: 62%; top: 52%; width: 70cqw; height: 16cqw; }
}
/* 平板 / 手机：盒子 = 录屏窗口那一格，cqw = 窗口宽的 1% */
@media (max-width: 1024px) {
  .home-v2 .v2-hero-fx { grid-column: 1; grid-row: 2; left: 0; right: 0; top: 0; bottom: 0; }
  .home-v2 .v2-hero-fx .fx-orbit { animation-name: v2-fx-orbit-m; }
  .home-v2 .v2-hero-fx .fx-pulse { left: 50%; top: 0; width: 120cqw; height: 26cqw; }
  .home-v2 .v2-hero-fx .fx-orbit { left: 50%; top: 88cqw; }
  .home-v2 .v2-hero-fx .fx-comet { width: 34cqw; height: 1.3cqw; transform: translate(-50%, calc(-50% - 91cqw)); }
  .home-v2 .v2-hero-fx .fx-aura { left: 50%; top: 4cqw; width: 150cqw; height: 34cqw; }
}
/* 手机首屏是「标签、标题、导语、按钮」四行文字在上，录屏在第 5 行（见上面 v2-hero-copy 拆成 contents 那段） */
@media (max-width: 640px) {
  .home-v2 .v2-hero-fx { grid-row: 5; }
}
/* 横屏手机两栏：录屏在右栏第 1 行 */
@media (max-height: 500px) and (min-width: 641px) {
  .home-v2 .v2-hero-fx { grid-column: 2; grid-row: 1; }
}
.home-v2 .hero.fx-off .v2-hero-fx i { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) {
  .home-v2 .v2-hero-fx i { animation: none !important; }
  .home-v2 .v2-hero-fx .fx-pulse { transform: translate(-50%, -50%); opacity: .8; }
  .home-v2 .v2-hero-fx .fx-aura { transform: translate(-50%, -50%); }
  .home-v2 .v2-hero-fx .fx-orbit { display: none; }
}

/* 10-04 用户：「答案怎么看」两张图看不全。原图 3:2，之前裁成 5:2 且只留上半，悬浮窗和手机下半截被切。
   实测主体位置（按原图高度比例）：笔记本 14%–86%，手机 6%–97%。16:10 居中裁只切上下各 3%，两张都完整；
   卡片头原有 116px 最小高度（为对齐右上角徽标留的），收回来抵掉一部分加高。 */
.home-v2 .stealth-method-visual { aspect-ratio: 16 / 10 !important; max-height: none !important; }
.home-v2 .stealth-method-visual img { object-position: center !important; }
.home-v2 #stealth .stealth-methods .stealth-card-head { min-height: 0 !important; margin-bottom: 4px !important; padding-bottom: 12px !important; }
.home-v2 #stealth .stealth-methods .stealth-method-visual { margin-top: 0 !important; }
/* 两卡和下面的说明条收到与上方对比滑块同宽（1000px），整节一条竖线对齐；图随宽度变矮一点，补回加高的页长 */
@media (min-width: 1025px) {
  .home-v2 #stealth .stealth-methods, .home-v2 #stealth .stealth-note { max-width: 1000px; margin-inline: auto !important; }
}
/* 图加高后页长超 0.01 屏：把「电脑端 / 手机端」小标签挪到标题同一行，省掉一整行，标题区也更利落 */
@media (min-width: 700px) {
  .home-v2 #stealth .stealth-methods .stealth-card-head > div { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; }
  .home-v2 #stealth .stealth-methods .stealth-card-head .method-tag { grid-column: 1; margin: 0 !important; }
  .home-v2 #stealth .stealth-methods .stealth-card-head h3 { grid-column: 2; margin: 0 !important; }
  .home-v2 #stealth .stealth-methods .stealth-card-head p { grid-column: 1 / -1; }
}

/* 10-04 用户：核心功能 + 手撕算法「杂乱、堆在一起」。三处原因：
   1) 上面整块居中、紧接着这块左对齐，中间没有分界，读起来像同一块里突然换了排法 → 加一条细分隔线；
   2) 三步横排加箭头，宽度不够时第 3 步带着箭头掉到下一行开头 → 改竖排，编号之间一条细线串起来，不再折行；
   3) 文字列和右侧演示图上下居中，文字少时悬在半空 → 文字列与图顶对齐。 */
/* 全站节间距统一 72px（为控页长），不单独加大；改为用一条细分隔线把两块分开 */
.home-v2 main > section#capability-proof { border-top: 1px solid var(--v2-line-soft) !important; }
.home-v2 #capability-proof .v2-split { align-items: start; }
.home-v2 #capability-proof .v2-split-copy { padding-top: 8px; }
.home-v2 .v2-steps { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 4px; }
.home-v2 .v2-steps li { position: relative; gap: 12px; }
.home-v2 .v2-steps li + li::before { content: ""; position: absolute; left: 11px; top: -14px; width: 1px; height: 14px; margin: 0; background: var(--v3-hair-2); }
.home-v2 .v2-steps b { flex: 0 0 auto; background: var(--v3-chip); }
.home-v2 #capability-proof .v2-inline-cta { margin-top: 24px; }
/* 10-04 用户：双机位三张方法卡「排版不好、图太小看不清，最好能点开放大」。
   原来是三条横条 + 132px 宽缩略图（手机 96px）。改成三列「大图在上、编号标题和说明在下」，
   电脑上图约 270px 宽（两倍），平板同样三列；手机改横滑卡片，图占满卡宽。图本身是按钮，点开看 1536 宽原图。 */
@media (min-width: 700px) {
  .home-v2 #dual-camera .v2-cards { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; }
}
/* 电脑上提示语和下面两颗按钮同在左栏、按钮靠左，提示语居中会错开一条线 → 一起靠左 */
@media (min-width: 1025px) { .home-v2 #dual-camera .v2-note { text-align: left; } }
.home-v2 #dual-camera .v2-card.v2-card-visual { grid-template-columns: auto 1fr !important; grid-template-rows: auto auto 1fr !important; column-gap: 8px !important; row-gap: 0 !important; align-items: baseline !important; padding: 10px 10px 16px !important; }
.home-v2 #dual-camera .v2-card-visual > .v2-card-pic { grid-column: 1 / -1; grid-row: 1; width: 100% !important; margin: 0 0 14px; align-self: stretch; }
.home-v2 #dual-camera .v2-card-visual > .v2-card-num { grid-column: 1; grid-row: 2; margin: 0 0 0 6px !important; }
.home-v2 #dual-camera .v2-card-visual > h3 { grid-column: 2; grid-row: 2; margin: 0 6px 0 0 !important; }
.home-v2 #dual-camera .v2-card-visual > p { grid-column: 1 / -1; grid-row: 3; margin: 6px 6px 0 !important; }
.home-v2 #dual-camera .v2-card-listen svg { width: 44px; height: 44px; }
.home-v2 #dual-camera .v2-card-listen .v2-listen-wave { display: flex !important; height: 20px; }
.home-v2 #dual-camera .v2-card-listen .v2-listen-wave i { max-height: 20px; }
.home-v2 #dual-camera .v2-card-listen span { display: block !important; margin-top: 4px; font-size: 12px; color: #aab5c8; }
/* 可放大的缩略图：按钮外观归零，右下角一个「放大」小标 */
.home-v2 .v2-zoom { position: relative; padding: 0; font: inherit; color: inherit; cursor: zoom-in; }
.home-v2 .v2-zoom:is(.v2-card-pic, .stealth-method-visual) img { transition: transform .3s ease; }
.home-v2 .v2-zoom:is(.v2-card-pic, .stealth-method-visual):hover img { transform: scale(1.03); }
/* 「答案怎么看」两张图、笔试五张截图也能点开（10-04 用户：图都要能放大） */
.home-v2 .stealth-method-visual.v2-zoom { display: block; }
.home-v2 .stealth-method-visual.v2-zoom .v2-zoom-hint { z-index: 1; right: 12px; bottom: 12px; }
.home-v2 .exam-shot-wrap { position: relative; display: block; border-radius: 14px; }
/* 截图外多包了一层：原来「面板只装一张图就铺满」的规则认的是直接子元素 .exam-shot，这里补上包层这一种 */
.home-v2 .exam-proof-panel:has(> .exam-shot-wrap) { display: block; min-height: 0; padding: 0; }
.home-v2 .exam-proof-panel[hidden] { display: none; }
/* 眼神对比两张：原图只有 520 宽，放大后不超过 2 倍，免得糊 */
.home-v2 .eye-comparison-frame.v2-zoom { position: relative; }
.home-v2 .eye-comparison-frame.v2-zoom .v2-zoom-hint { top: 8px; bottom: auto; }
.home-v2 .v2-zoom .v2-zoom-hint { z-index: 2; } /* 有的图带定位或合成层，会盖住后面才出现的小标 */
.home-v2 .v2-lightbox img[src*="eye-compare"] { max-width: min(1040px, 96vw); }
.home-v2 .exam-shot-wrap .v2-zoom-hint { right: 12px; bottom: 12px; }
@media (max-width: 699px) {
  .home-v2 .exam-shot-wrap { width: min(100%, 220px); margin: 0 auto; }
  .home-v2 .exam-shot-wrap .exam-shot img { width: 100% !important; }
}
.home-v2 .v2-zoom:focus-visible { outline: 2px solid #9db8ff; outline-offset: 2px; }
/* 模拟面试录屏（10-05）：整块录屏都能点开，透明按钮盖满画面；大图是单独截的完整主窗口，不是录屏放大 */
.home-v2 .v2-media-zoom { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; border: 0; border-radius: inherit; background: transparent; }
.home-v2 .v2-media-zoom:focus-visible { outline-offset: -2px; }
.home-v2 .v2-media .v2-media-zoom .v2-zoom-hint { right: 12px; bottom: 12px; }
.home-v2 .v2-zoom-hint { position: absolute; right: 8px; bottom: 8px; display: inline-flex; align-items: center; gap: 4px; padding: 4px 8px; border-radius: 999px;
  font-size: 12px; line-height: 1; color: #fff; background: rgba(8, 12, 20, .72); border: 1px solid rgba(255, 255, 255, .16); pointer-events: none; }
.home-v2 .v2-lightbox { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(5, 8, 14, .9); cursor: zoom-out; }
.home-v2 .v2-lightbox[hidden] { display: none; }
.home-v2 .v2-lightbox img { max-width: min(1536px, 96vw); max-height: 88vh; width: auto; height: auto; border-radius: 12px; box-shadow: 0 24px 80px rgba(0, 0, 0, .6); cursor: default; }
.home-v2 .v2-lightbox-close { position: absolute; top: 16px; right: 18px; width: 44px; height: 44px; border: 0; border-radius: 50%; color: #fff; background: rgba(255, 255, 255, .16); font-size: 26px; line-height: 1; cursor: pointer; }
.home-v2 .v2-lightbox-close:focus-visible { outline: 2px solid #9db8ff; outline-offset: 2px; }
html.v2-lightbox-open { overflow: hidden; }
@media (max-width: 699px) {
  .home-v2 #dual-camera .v2-cards { display: flex !important; overflow-x: auto !important; scroll-snap-type: x mandatory; gap: 10px !important; margin: 16px -20px 0 !important; padding: 0 20px 4px !important; scrollbar-width: none; }
  .home-v2 #dual-camera .v2-cards::-webkit-scrollbar { display: none; }
  .home-v2 #dual-camera .v2-cards > .v2-card { flex: 0 0 80%; scroll-snap-align: center; }
  .home-v2 #dual-camera .v2-card.v2-card-visual { grid-template-columns: auto 1fr !important; padding: 8px 8px 14px !important; }
  .home-v2 #dual-camera .v2-card-visual > h3 { margin-left: 0 !important; }
  .home-v2 .v2-lightbox { padding: 12px; }
  .home-v2 .v2-lightbox img { max-width: 100%; }
}

@media (max-width: 699px) {
  .home-v2 .v2-steps { gap: 10px; }
  .home-v2 .v2-steps li { padding: 0 !important; gap: 10px; }
  .home-v2 .v2-steps li + li::before { top: -10px; height: 10px; }
  .home-v2 #capability-proof .v2-split-copy { padding-top: 0; }
}

/* 10-04 笔试题型：从截图顶上的「工具栏式」标签条，挪到左栏做竖排选择列表。
   每行 = 题型名 + 对应快捷键；未选中灰字、选中亮底 + 左侧白色指示线；轮播时选中行底部走 7 秒进度线。
   平板/手机：横排按钮（手机 3+2 两行）。只用黑白灰 + 一点品牌蓝，不加新颜色。 */
.home-v2 .exam-proof .exam-proof-copy { justify-content: center; gap: 0 !important; padding: 28px 22px !important; }
.home-v2 .exam-type-label { margin: 0 0 12px 12px; color: var(--x-ink-4); font-size: 13px; font-weight: 600; letter-spacing: .02em; }
.home-v2 .exam-proof .exam-proof-tabs { display: flex !important; flex-direction: column; flex-wrap: nowrap !important; gap: 4px; overflow: visible;
  margin: 0; padding: 0; border: 0 !important; border-radius: 0; background: none !important; }
.home-v2 .exam-proof .exam-proof-tab { position: relative; display: flex !important; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; min-height: 48px; padding: 0 14px 0 16px; overflow: hidden; border: 1px solid transparent !important; border-radius: 10px;
  color: var(--x-ink-3) !important; background: transparent !important; box-shadow: none !important; font-size: 15px !important; font-weight: 600; text-align: left;
  cursor: pointer; transition: background-color .18s ease, color .18s ease, border-color .18s ease; }
.home-v2 .exam-proof .exam-proof-tab::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 2px; border-radius: 2px; background: var(--v2-ink); opacity: 0; transition: opacity .18s ease; }
.home-v2 .exam-proof .exam-proof-tab:hover { color: var(--v2-ink) !important; background: rgba(255, 255, 255, .04) !important; }
.home-v2 .exam-proof .exam-proof-tab[aria-selected="true"] { color: var(--v2-ink) !important; background: rgba(255, 255, 255, .075) !important; border-color: var(--v3-hair-2) !important; }
.home-v2 .exam-proof .exam-proof-tab[aria-selected="true"]::before { opacity: 1; }
.home-v2 .exam-proof .exam-proof-tab:focus-visible { outline: 2px solid var(--v2-accent); outline-offset: 2px; }
.home-v2 .exam-proof .exam-proof-tab kbd { flex: 0 0 auto; min-width: 34px; padding: 3px 7px; border-radius: 6px; border: 1px solid var(--v3-hair);
  color: var(--x-ink-4); background: rgba(255, 255, 255, .03); font: 600 12px/1.2 ui-monospace, "SF Mono", Consolas, monospace; font-style: normal; text-align: center; }
.home-v2 .exam-proof .exam-proof-tab[aria-selected="true"] kbd { color: var(--v2-ink); border-color: var(--v3-hair-2); background: rgba(255, 255, 255, .08); }
.home-v2 .exam-tab-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--v2-accent); opacity: 0; transform: scaleX(0); transform-origin: left center; }
.home-v2 .exam-proof-tabs.is-rotating .exam-proof-tab[aria-selected="true"] .exam-tab-bar { opacity: .7; animation: exam-tab-progress 7s linear forwards; }
@keyframes exam-tab-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.home-v2 .exam-proof-more { display: flex; align-items: center; gap: 10px; margin: 18px 0 0; padding: 14px 0 0 12px; border-top: 1px solid var(--v3-hair);
  color: var(--x-ink-3); font-size: 13.5px; line-height: 1.45; }
.home-v2 .exam-proof-more kbd { flex: 0 0 auto; padding: 3px 7px; border-radius: 6px; border: 1px solid var(--v3-hair-2); color: var(--v2-ink);
  background: rgba(255, 255, 255, .05); font: 600 12px/1.2 ui-monospace, "SF Mono", Consolas, monospace; font-style: normal; }
@media (prefers-reduced-motion: reduce) { .home-v2 .exam-tab-bar { display: none; } }
@media (max-width: 1024px) {
  .home-v2 .exam-proof .exam-proof-copy { padding: 18px 16px 16px !important; }
  .home-v2 .exam-type-label { margin: 0 0 10px; }
  .home-v2 .exam-proof .exam-proof-tabs { flex-direction: row; flex-wrap: wrap !important; gap: 8px; }
  .home-v2 .exam-proof .exam-proof-tab { flex: 1 1 0 !important; width: auto; min-width: 0; min-height: 46px; justify-content: center; gap: 8px;
    padding: 0 12px; border-color: var(--v3-hair) !important; background: rgba(255, 255, 255, .025) !important; font-size: 14px !important; white-space: nowrap; }
  .home-v2 .exam-proof .exam-proof-tab::before { display: none; }
  .home-v2 .exam-proof .exam-proof-tab[aria-selected="true"] { color: #0b0f1a !important; background: var(--v2-ink) !important; border-color: var(--v2-ink) !important; }
  .home-v2 .exam-proof .exam-proof-tab[aria-selected="true"] kbd { color: #0b0f1a; border-color: rgba(11, 15, 26, .22); background: rgba(11, 15, 26, .06); }
  .home-v2 .exam-tab-bar { background: #0b0f1a; }
  .home-v2 .exam-proof-more { margin-top: 12px; padding: 12px 0 0; }
}
@media (max-width: 699px) {
  .home-v2 .exam-proof .exam-proof-tabs { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
  .home-v2 .exam-proof .exam-proof-tab { grid-column: span 2 !important; padding: 0 4px; font-size: 13px !important; gap: 4px; letter-spacing: 0; }
  .home-v2 .exam-proof .exam-proof-tab:nth-child(n + 4) { grid-column: span 3 !important; }
  .home-v2 .exam-proof .exam-proof-tab kbd { min-width: 0; padding: 2px 4px; font-size: 10.5px; }
}
@media (max-width: 359px) {
  .home-v2 .exam-proof .exam-proof-tab kbd { display: none; }
}
/* 窄屏：题型按钮只写题型名；键位挪到按钮下面一行 */
.home-v2 .exam-proof-keyline { display: none; }
@media (max-width: 1024px) {
  .home-v2 .exam-proof .exam-proof-tab kbd, .home-v2 .exam-proof-more { display: none !important; }
  .home-v2 .exam-proof-keyline { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 12px 0 0; color: var(--x-ink-3); font-size: 13px; line-height: 1.5; }
  .home-v2 .exam-proof-keyline span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
  .home-v2 .exam-proof-keyline kbd { padding: 2px 6px; border-radius: 5px; border: 1px solid var(--v3-hair-2); color: var(--v2-ink);
    background: rgba(255, 255, 255, .05); font: 600 11.5px/1.2 ui-monospace, "SF Mono", Consolas, monospace; font-style: normal; }
}

/* ── 10-05 模拟面试 / 双机位 / 术语 / 眼神：去挤、去重复（用户：太挤、说明看不懂、听得准和看得自然放一起不合适）──
   模拟面试：三步改成和手撕算法同款竖排步骤（每步一行），不再是带框卡片里两行小字。
   双机位：去掉右侧竖屏录屏，标题居中，三张卡铺满整行。
   术语识别、眼神修正：拆成两节，各自 左文右图 / 左图右文。 */
.home-v2 #mock-interview .v2-steps { margin: 4px 0 28px; }
.home-v2 #mock-interview .mock-interview-intro { margin-bottom: 22px !important; }
@media (max-width: 699px) {
  .home-v2 #mock-interview .v2-split { display: grid !important; grid-template-columns: 1fr !important; row-gap: 18px !important; }
  .home-v2 #mock-interview .mock-interview-layout { display: block !important; }
  .home-v2 #mock-interview figure.v2-media { grid-column: auto; grid-row: auto; width: 100% !important; max-width: 360px !important; margin: 0 auto !important; }
  .home-v2 #mock-interview .v2-steps { margin-bottom: 18px; }
}

.home-v2 #dual-camera > .container { display: block !important; }
.home-v2 #dual-camera .v2-dual-head { max-width: 760px; margin: 0 auto !important; text-align: center; }
.home-v2 #dual-camera .v2-dual-head .v2-lead { margin: 12px auto 0; }
.home-v2 #dual-camera .v2-cards { max-width: 1080px; margin: 36px auto 0 !important; grid-column: auto; grid-row: auto; }
.home-v2 #dual-camera .v2-note { max-width: 1080px; margin: 18px auto 0 !important; text-align: center !important; color: var(--x-ink-4); font-size: 13px; }
.home-v2 #dual-camera .v2-section-cta { justify-content: center !important; margin-top: 20px !important; }
@media (min-width: 700px) {
  .home-v2 #dual-camera .v2-cards { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; }
  .home-v2 #dual-camera .v2-card.v2-card-visual { padding: 12px 12px 18px !important; }
  .home-v2 #dual-camera .v2-card-visual > p { margin: 8px 6px 0 !important; font-size: 14.5px !important; color: var(--x-ink-3); }
}

.home-v2 .v2-term .v2-split { grid-template-columns: 5fr 7fr; align-items: center; }
.home-v2 .v2-term .term-demo { margin: 0; padding: 22px 24px 20px; }
.home-v2 .v2-term .term-demo-line { font-size: 17px; line-height: 2.2; }
.home-v2 #eye-contact .v2-split { grid-template-columns: 7fr 5fr; align-items: center; }
.home-v2 #eye-contact .eye-comparison.eye-faces { grid-template-columns: 1fr 1fr !important; gap: 14px !important; margin: 0; }
.home-v2 #eye-contact .eye-faces figcaption { font-size: 14px; padding: 10px 12px; }
@media (max-width: 1024px) {
  .home-v2 .v2-term .v2-split, .home-v2 #eye-contact .v2-split { grid-template-columns: 1fr !important; gap: 22px !important; }
}
@media (max-width: 699px) {
  .home-v2 .v2-term .term-demo { padding: 16px 16px 14px; }
  .home-v2 .v2-term .term-demo-line { font-size: 15px; line-height: 2.1; }
  .home-v2 #eye-contact .eye-comparison.eye-faces { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .home-v2 #eye-contact .eye-faces figcaption { font-size: 12px; padding: 7px 8px; }
}
@media (min-width: 1025px) {
  .home-v2 #eye-contact .eye-comparison { order: -1; }   /* 桌面：图在左、文在右，和上一节术语识别左右交替 */
}
@media (max-width: 1024px) {
  .home-v2 #eye-contact .eye-comparison { order: 1; }    /* 窄屏：先文字后图 */
}

/* 10-05 双机位分两组：面试（方案 A / B 二选一）| 笔试（耳机听答案）。
   电脑和平板：一行两组，面试组占两份宽、笔试组占一份，三张卡还是一样大；组名在卡片上方，左对齐。
   手机：两组上下排，面试组两张卡横滑，笔试组一张卡铺满。卡片左上角从 01/02/03 换成「方案 A / 方案 B / 耳机」，底部一行写什么时候用。 */
/* 每组一块浅底面板，组名在面板顶上：一眼看出是「面试一组、笔试一组」，不是并排三步。
   列宽算过：两块面板内边距 16px、边框 1px、面试组内两卡间距 16px、组间距 20px 时，笔试列 = (总宽 - 2px) / 3，三张卡正好一样宽 */
.home-v2 #dual-camera .v2-dual-groups { display: grid; grid-template-columns: minmax(0, 1fr) calc((100% - 2px) / 3); gap: 20px; max-width: 1080px; margin: 36px auto 0; }
.home-v2 #dual-camera .v2-dual-group { min-width: 0; padding: 16px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 20px; background: rgba(255, 255, 255, .02); }
.home-v2 #dual-camera .v2-group-head { display: flex; align-items: baseline; gap: 12px; margin: 2px 4px 16px; font-size: 14px; color: var(--x-ink-4); }
.home-v2 #dual-camera .v2-group-head b { color: var(--v2-ink, #fff); font-size: 20px; font-weight: 600; letter-spacing: .02em; }
.home-v2 #dual-camera .v2-dual-groups .v2-cards { max-width: none; margin: 0 !important; }
.home-v2 #dual-camera .v2-card.v2-card-visual { grid-template-rows: auto auto auto 1fr !important; }
.home-v2 #dual-camera .v2-card-visual > .v2-card-num { white-space: nowrap; }
.home-v2 #dual-camera .v2-card-visual > .v2-card-fit { grid-column: 1 / -1; grid-row: 4; align-self: end; margin: 12px 6px 0; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, .08); font-size: 13px; color: var(--x-ink-4); }
@media (min-width: 700px) {
  .home-v2 #dual-camera .v2-dual-group-interview .v2-cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .home-v2 #dual-camera .v2-dual-group-exam .v2-cards { grid-template-columns: minmax(0, 1fr) !important; }
  .home-v2 #dual-camera .v2-dual-group { display: flex; flex-direction: column; }
  .home-v2 #dual-camera .v2-dual-group .v2-cards { flex: 1; }
  .home-v2 #dual-camera .v2-dual-group .v2-card { height: 100%; }
}
@media (max-width: 699px) {
  .home-v2 #dual-camera .v2-dual-groups { grid-template-columns: 1fr; gap: 16px; margin-top: 24px; }
  .home-v2 #dual-camera .v2-dual-group { padding: 14px; border-radius: 16px; overflow: hidden; }
  .home-v2 #dual-camera .v2-group-head { margin: 0 0 12px; }
  .home-v2 #dual-camera .v2-group-head b { font-size: 18px; }
  /* 面试组两张卡在面板里横滑，滑到面板边缘就截住 */
  .home-v2 #dual-camera .v2-dual-group-interview .v2-cards { margin: 0 -14px !important; padding: 0 14px 2px !important; scroll-padding: 0 14px; }
  .home-v2 #dual-camera .v2-dual-group-exam .v2-cards { display: block !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; }
}
@media (min-width: 700px) and (max-width: 1024px) {
  /* tablet: group name and hint on two lines in both groups, so the narrow exam group never wraps alone and all three cards stay the same height */
  .home-v2 #dual-camera .v2-group-head { flex-direction: column; gap: 2px; }
}

/* 10-05 all-features: one screen listing every feature in four groups (before / during / tests / private).
   Restrained: grey panels, white group titles, a small blue tick per item; the only accent is the brand blue. */
.home-v2 #all-features .v2-all-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; max-width: 1080px; margin: 36px auto 0; }
.home-v2 #all-features .v2-all-col { padding: 22px 22px 18px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 18px; background: rgba(255, 255, 255, .025); }
.home-v2 #all-features .v2-all-col h3 { margin: 0 0 14px; font-size: 17px; font-weight: 600; color: var(--v2-ink, #fff); }
.home-v2 #all-features .v2-all-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.home-v2 #all-features .v2-all-col li { position: relative; padding-left: 22px; font-size: 14.5px; line-height: 1.5; color: var(--x-ink-3, #b3bccc); }
.home-v2 #all-features .v2-all-col li::before { content: ""; position: absolute; left: 2px; top: .42em; width: 10px; height: 6px; border-left: 2px solid #8fb4ff; border-bottom: 2px solid #8fb4ff; transform: rotate(-45deg); }
.home-v2 #all-features .v2-all-foot { margin: 22px auto 0; text-align: center; font-size: 14px; color: var(--x-ink-4, #a3acbf); }
@media (max-width: 1024px) {
  .home-v2 #all-features .v2-all-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 699px) {
  .home-v2 #all-features .v2-all-grid { gap: 10px; margin-top: 24px; }
  .home-v2 #all-features .v2-all-col { padding: 14px 10px 12px 12px; border-radius: 14px; }
  .home-v2 #all-features .v2-all-col h3 { font-size: 16px; margin-bottom: 10px; }
  .home-v2 #all-features .v2-all-col ul { gap: 8px; }
  .home-v2 #all-features .v2-all-col li { padding-left: 16px; font-size: 13px; letter-spacing: -.005em; }
  .home-v2 #all-features .v2-all-col li::before { left: 0; width: 8px; height: 5px; }
}

/* 10-07 hero tag: three capability words instead of "platform · scenario". Same pill, no new colour. */
.home-v2 .hero .hero-context i { font-style: normal; color: var(--v2-ink-3, #a3adbd); opacity: .7; }
.home-v2 .hero .hero-context span { font-style: normal !important; font-family: inherit !important; }
@media (max-width: 359px) { .home-v2 .hero .hero-context { gap: 6px !important; padding: 6px 11px !important; font-size: 11.5px !important; white-space: nowrap; } }

/* 10-09 为什么选小面（重做）：问题清单两列，前两项（按你的经历答 / 速度）蓝调放大；手机单列 */
.home-v2 #why .v2-why-list { max-width: 920px; margin: 28px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.home-v2 #why .v2-why-item { margin: 0; padding: 16px 20px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 16px; background: rgba(255, 255, 255, .02); }
.home-v2 #why .v2-why-item dt { font-size: 15px; font-weight: 500; line-height: 1.5; color: var(--v2-ink-2, #c3cad6); }
.home-v2 #why .v2-why-item dd { margin: 6px 0 0; font-size: 15px; line-height: 1.6; color: var(--v2-ink, #f2f4f8); }
.home-v2 #why .v2-why-item.is-key { padding: 22px 24px; border-color: rgba(110, 160, 255, .28); background: rgba(110, 160, 255, .06); }
.home-v2 #why .v2-why-item.is-key dt { font-size: 19px; font-weight: 600; color: var(--v2-ink, #f2f4f8); }
.home-v2 #why .v2-why-item.is-key dd { font-size: 16px; color: var(--v2-ink-2, #c3cad6); }
.home-v2 #why .v2-why-item dd a { display: inline-block; margin-top: 4px; font-weight: 600; white-space: nowrap; color: var(--v2-accent, #8fb4ff); }
.home-v2 #why .v2-why-src { display: block; margin-top: 6px; font-size: 12.5px; line-height: 1.5; color: var(--v2-ink-3, #a3adbd); }
.home-v2 #why .v2-why-foot { margin: 22px auto 0; max-width: 920px; text-align: center; font-size: 15px; line-height: 1.7; color: var(--v2-ink-2, #c3cad6); }
.home-v2 #why .v2-section-cta { margin-top: 20px; }

@media (max-width: 640px) {
  .home-v2 #why .v2-why-list { grid-template-columns: 1fr; gap: 10px; margin-top: 24px; }
  .home-v2 #why .v2-why-item { padding: 12px 16px; border-radius: 14px; }
  .home-v2 #why .v2-why-item.is-key { padding: 16px 18px; }
  .home-v2 #why .v2-why-item.is-key dt { font-size: 17px; }
  .home-v2 #why .v2-why-item dd, .home-v2 #why .v2-why-item.is-key dd { font-size: 14.5px; }
  .home-v2 #why .v2-why-foot { font-size: 14px; text-align: left; }
}

/* ── 10-09 导入资料 #materials；10-11 精简：左「简历/JD/项目笔记 → 小面 → 回答」图示流程 + 右对比卡（HTML 文字，不做成图） ── */
.home-v2 #materials .v2-split { align-items: center; }
.home-v2 #materials .v2-split > * { min-width: 0; }
.home-v2 .v2-mat-flow { list-style: none; margin: 26px 0 8px; padding: 0; display: flex; align-items: center; }
.home-v2 .v2-mat-flow > li + li::before { content: "→"; margin: 0 14px; color: var(--x-ink-4, #6b7385); font-family: system-ui, sans-serif; font-size: 18px; }
.home-v2 .v2-mat-flow > li { display: flex; align-items: center; }
.home-v2 .v2-mat-files { flex-direction: column; align-items: stretch !important; gap: 6px; }
.home-v2 .v2-mat-file, .home-v2 .v2-mat-node { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; border-radius: 10px; }
.home-v2 .v2-mat-file { padding: 6px 12px 6px 9px; font-size: 14px; color: var(--v2-ink-2, #c3cad6); border: 1px solid var(--v2-line, rgba(255, 255, 255, .1)); background: rgba(255, 255, 255, .03); }
.home-v2 .v2-mat-node { padding: 10px 16px 10px 13px; font-size: 16px; font-weight: 600; color: var(--v2-ink, #f2f4f8); border: 1px solid var(--v2-line, rgba(255, 255, 255, .12)); background: rgba(255, 255, 255, .04); }
.home-v2 .v2-mat-node.is-app { color: #a9c6ff; border-color: rgba(110, 160, 255, .38); background: rgba(110, 160, 255, .08); }
.home-v2 .v2-mat-flow svg { flex: none; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; stroke-linecap: round; }
.home-v2 .v2-mat-node svg { width: 18px; height: 18px; }
.home-v2 .v2-mat-file svg { color: var(--v2-ink-3, #a3adbd); }
.home-v2 .v2-mat-keys { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; font-size: 12.5px; line-height: 1.6; color: #8fb4ff; }
.home-v2 .v2-mat-keys li + li::before { content: "·"; margin: 0 8px; color: var(--v2-ink-3, #a3adbd); }
.home-v2 .v2-mat-compare { margin: 0; padding: 22px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; border: 1px solid var(--v2-line, rgba(255, 255, 255, .1)); border-radius: 20px; background: var(--v2-card, rgba(255, 255, 255, .03)); }
.home-v2 .v2-mat-q { display: grid; gap: 4px; margin: 0 0 2px; }
.home-v2 .v2-mat-q span { font-size: 13px; letter-spacing: .02em; color: var(--v2-ink-3, #a3adbd); }
.home-v2 .v2-mat-q strong { font-size: 18px; font-weight: 600; color: var(--v2-ink, #f2f4f8); }
.home-v2 .v2-mat-ans { padding: 14px 16px; border: 1px solid rgba(255, 255, 255, .06); border-radius: 14px; }
.home-v2 .v2-mat-ans p { margin: 6px 0 0; font-size: 15px; line-height: 1.75; }
.home-v2 .v2-mat-ans.is-before { background: rgba(255, 255, 255, .02); display: flex; align-items: baseline; gap: 10px; }
.home-v2 .v2-mat-ans.is-before .v2-mat-tag { flex: none; }
.home-v2 .v2-mat-ans.is-before p { margin: 0; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--v2-ink-3, #a3adbd); }
.home-v2 .v2-mat-ans.is-after { background: rgba(110, 160, 255, .07); border-color: rgba(110, 160, 255, .32); }
.home-v2 .v2-mat-ans.is-after p { color: var(--v2-ink, #f2f4f8); }
.home-v2 .v2-mat-ans.is-after b { font-weight: 600; color: #a9c6ff; }
.home-v2 .v2-mat-tag { font-size: 12.5px; font-weight: 600; letter-spacing: .04em; color: var(--v2-ink-3, #a3adbd); }
.home-v2 .v2-mat-ans.is-after .v2-mat-tag { color: #8fb4ff; }
.home-v2 .v2-mat-note { margin: 2px 0 0; font-size: 12.5px; line-height: 1.6; color: var(--v2-ink-3, #a3adbd); }
@media (max-width: 640px) {
  .home-v2 .v2-mat-compare { padding: 16px; border-radius: 16px; }
  .home-v2 .v2-mat-q strong { font-size: 16px; }
  .home-v2 .v2-mat-ans { padding: 12px 14px; }
  .home-v2 .v2-mat-ans p { font-size: 14.5px; }
  .home-v2 .v2-mat-flow { margin: 18px 0 4px; }
  .home-v2 .v2-mat-flow > li + li::before { margin: 0 8px; font-size: 16px; }
  .home-v2 .v2-mat-file { padding: 5px 9px 5px 7px; font-size: 13px; gap: 5px; }
  .home-v2 .v2-mat-node { padding: 8px 11px 8px 9px; font-size: 15px; gap: 5px; }
}
@media (max-width: 360px) {
  .home-v2 .v2-mat-flow > li + li::before { margin: 0 5px; }
  .home-v2 .v2-mat-file { padding: 4px 7px 4px 6px; gap: 4px; }
  .home-v2 .v2-mat-file svg { width: 14px; height: 14px; }
  .home-v2 .v2-mat-node { padding: 7px 8px 7px 7px; font-size: 14px; gap: 4px; }
  .home-v2 .v2-mat-node svg { width: 15px; height: 15px; }
  .home-v2 .v2-mat-keys { font-size: 12px; }
  .home-v2 .v2-mat-keys li + li::before { margin: 0 5px; }
}
/* 10-09 mobile length: compact #why list (the 2 key items keep cards) + clamp the "before" answer to 3 lines */
@media (max-width: 640px) {
  .home-v2 #why .v2-why-list { gap: 0; }
  .home-v2 #why .v2-why-item.is-key { margin-bottom: 10px; }
  .home-v2 #why .v2-why-item:not(.is-key) { padding: 10px 2px; border: 0; border-top: 1px solid rgba(255, 255, 255, .08); border-radius: 0; background: none; }
  .home-v2 #why .v2-why-item:not(.is-key) dd { margin-top: 2px; }
  .home-v2 #why .v2-why-src { text-wrap: balance; }
}
