/* website_b v832 · static-v2 home CSS bundle（v832 首页背景不改，仅同步缓存版本） */

/* source: base/variables.css */
/* Layer: base/variables.css */
:root {
  --app-height: 100svh;
  --app-width: 100vw;
  --v2-bg: #050d1b;
  --v2-bg-deep: #020713;
  --v2-bg-soft: #0b1f3a;
  --v2-card: rgba(10, 38, 79, 0.82);
  --v2-card-strong: rgba(23, 74, 137, 0.96);
  --v2-panel: rgba(5, 20, 45, 0.94);
  --v2-border: rgba(116, 186, 255, 0.42);
  --v2-border-strong: rgba(255, 216, 87, 0.56);
  --v2-gold: #ffdc5f;
  --v2-gold-2: #ffc13b;
  --v2-accent-gold-start: #fff6a6;
  --v2-accent-gold-end: #ffc13c;
  --v2-accent-gold-text: #16140d;
  --v2-accent-gold-border: rgba(255, 255, 255, .70);
  --v2-accent-gold-shadow: rgba(255, 199, 55, .28);
  --v2-text: #f6fbff;
  --v2-muted: rgba(235, 245, 255, 0.76);
  --v2-danger: #ff7985;
  --v2-ok: #64f0bc;
  --v2-safe-bottom: env(safe-area-inset-bottom, 0px);
  --v2-shell-w: 430px;
  --v2-gap: clamp(10px, calc(var(--app-height) * 0.016), 16px);
  --v2-gap-sm: clamp(7px, calc(var(--app-height) * 0.011), 12px);
  --v2-page-pad-x: clamp(14px, 4vw, 18px);
  --v2-header-h: clamp(58px, calc(var(--app-height) * 0.098), 86px);
  --v2-nav-h: clamp(66px, calc(var(--app-height) * 0.102), 82px);
  --v2-radius-lg: 20px;
  --v2-radius-md: 15px;
  --v2-shadow-card: 0 18px 46px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255,255,255,.10);
  --v2-shadow-soft: 0 12px 34px rgba(0, 0, 0, .20);
  --v2-accent-blue: #66d9ff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;
}


/* source: base/reset.css */
/* Layer: base/reset.css */
* { box-sizing: border-box; }
html {
  width: 100%;
  touch-action: manipulation;
  -ms-touch-action: manipulation;
  height: var(--app-height);
  margin: 0;
  background: var(--v2-bg-deep);
  overflow: hidden;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  width: 100%;
  touch-action: manipulation;
  -ms-touch-action: manipulation;
  height: var(--app-height);
  margin: 0;
  overflow: hidden;
  color: var(--v2-text);
  background: var(--v2-bg-deep);
  -webkit-font-smoothing: antialiased;
  overscroll-behavior: none;
}
button, input, select, textarea {
  font: inherit;
  touch-action: manipulation;
  -ms-touch-action: manipulation;
}

@supports (-webkit-touch-callout: none) {
  input, select, textarea { font-size: 16px; }
}
button { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }


/* source: base/layout.css */
/* Layer: base/layout.css */
.v2-shell {
  width: min(var(--v2-shell-w), 100vw);
  height: var(--app-height);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 16% 7%, rgba(255, 255, 255, 0.20), transparent 17%),
    radial-gradient(circle at 92% 86%, rgba(255, 255, 255, 0.12), transparent 16%),
    radial-gradient(circle at 64% 13%, rgba(76, 130, 255, 0.16), transparent 24%),
    linear-gradient(180deg, #0b2b53 0%, #07192f 48%, #03101e 100%);
  box-shadow: 0 0 42px rgba(0, 0, 0, .36);
}
.v2-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.32) 1px, transparent 1.4px),
    linear-gradient(135deg, rgba(255,216,87,.08), transparent 34%, rgba(65,142,255,.08));
  background-size: 92px 92px, 100% 100%;
  opacity: .36;
}

.v2-header {
  flex: 0 0 var(--v2-header-h);
  min-height: var(--v2-header-h);
  padding: max(8px, env(safe-area-inset-top, 0px)) var(--v2-page-pad-x) 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.v2-header-inner { width: 100%; text-align: center; }
.v2-page-title {
  margin: 0;
  color: var(--v2-gold);
  font-size: clamp(21px, calc(var(--app-height) * 0.034), 27px);
  line-height: 1.2;
  font-weight: 950;
  letter-spacing: .12em;
  text-shadow: 0 2px 14px rgba(0,0,0,.35);
}
.v2-page-subtitle {
  margin-top: 4px;
  color: var(--v2-muted);
  font-size: 12px;
  line-height: 1.35;
}

.v2-main {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 0 var(--v2-page-pad-x) var(--v2-gap);
  display: flex;
  flex-direction: column;
  gap: 0;
  --v2-main-stack-gap: var(--v2-gap);
  position: relative;
  z-index: 1;
  scrollbar-width: none;
}
.v2-main::-webkit-scrollbar { width: 0; height: 0; }

/* v456 · 主页面栈间距。
   页面一级模块间距统一由 v2-main 管理，不依赖 flex/grid gap，避免移动端浏览器兼容差异。 */
.v2-main[data-v2-main] > * {
  margin-top: 0;
  margin-bottom: 0;
}
.v2-main[data-v2-main] > * + * {
  margin-top: var(--v2-main-stack-gap, var(--v2-gap));
}

/* v456 · 通用模块栈。
   只处理模块列表/内容流的垂直间距，具体间距由页面或模块变量配置。 */
[data-v2-stack],
[data-standard-flow],
[data-full-sections],
[data-pro-modules] {
  gap: 0;
}
[data-v2-stack] > *,
[data-standard-flow] > *,
[data-full-sections] > *,
[data-pro-modules] > * {
  margin-top: 0;
  margin-bottom: 0;
}
[data-v2-stack] > * + *,
[data-standard-flow] > * + *,
[data-full-sections] > * + *,
[data-pro-modules] > * + * {
  margin-top: var(--v2-stack-gap, var(--v2-section-stack-gap, var(--v2-gap-sm)));
}
.v2-standard-flow[data-standard-flow] > *,
.v2-standard-report-list[data-full-sections] > *,
.v2-pro-module-list[data-pro-modules] > * {
  margin-top: 0;
  margin-bottom: 0;
}
.v2-standard-flow[data-standard-flow] > * + *,
.v2-standard-report-list[data-full-sections] > * + *,
.v2-pro-module-list[data-pro-modules] > * + * {
  margin-top: var(--v2-stack-gap, var(--v2-section-stack-gap, var(--v2-gap-sm)));
}

.v2-footer {
  flex: 0 0 calc(var(--v2-nav-h) + var(--v2-safe-bottom));
  min-height: calc(var(--v2-nav-h) + var(--v2-safe-bottom));
  padding: 7px var(--v2-page-pad-x) calc(7px + var(--v2-safe-bottom));
  position: relative;
  z-index: 5;
  background: linear-gradient(180deg, rgba(4, 17, 35, .50), rgba(4, 17, 35, .95));
  border-top: 1px solid rgba(112,174,255,.32);
  backdrop-filter: blur(10px);
}


/* source: components/buttons.css */
/* Layer: components/buttons.css */
.v2-btn-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.v2-btn {
  min-height: clamp(45px, calc(var(--app-height) * 0.064), 52px);
  border: 0;
  border-radius: 14px;
  padding: 0 18px;
  font-weight: 950;
  color: #14151a;
  background: linear-gradient(180deg, #fff7ad, #ffc63c);
  box-shadow: 0 9px 24px rgba(255,199,55,.28), inset 0 1px 0 rgba(255,255,255,.85);
  cursor: pointer;
  white-space: nowrap;
}
.v2-btn.secondary {
  color: var(--v2-text);
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.09);
  box-shadow: none;
}
.v2-btn.ghost {
  color: var(--v2-gold);
  border: 1px solid rgba(255,216,87,.45);
  background: rgba(255,216,87,.06);
  box-shadow: none;
}
.v2-btn.full { width: 100%; }
.v2-btn:disabled { opacity: .55; cursor: not-allowed; }


/* source: components/navigation.css */
/* Layer: components/navigation.css */
/* v479 · 导航选中态使用全局金色主强调变量，供首页标题和主按钮统一复用。 */
.v2-tabbar {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
}
.v2-nav-btn {
  appearance: none;
  border: 1px solid transparent;
  text-decoration: none;
  font-family: inherit;
  border-radius: 13px;
  color: rgba(255,255,255,.84);
  background: rgba(2, 12, 27, .10);
  font-size: 12px;
  font-weight: 850;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  min-width:0;
}
.v2-nav-btn .icon { font-size: 18px; line-height:1; }
.v2-nav-btn.active {
  color: var(--v2-accent-gold-text);
  border-color: var(--v2-accent-gold-border);
  background: linear-gradient(180deg, var(--v2-accent-gold-start), var(--v2-accent-gold-end));
  box-shadow: 0 7px 18px var(--v2-accent-gold-shadow);
}


/* source: components/modal.css */
/* Layer: components/modal.css */
.v2-modal-mask {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(0, 0, 0, .62);
  display: none; align-items: center; justify-content: center;
  padding: 20px;
}
.v2-modal-mask.show { display: flex; }
.v2-modal {
  width: min(360px, 94vw);
  max-height: calc(var(--app-height) - 48px);
  overflow: auto;
  border: 1px solid rgba(255,216,87,.48);
  border-radius: 18px;
  background: linear-gradient(180deg, #123c73, #061931);
  box-shadow: 0 24px 70px rgba(0,0,0,.45);
  padding: 20px;
}
.v2-modal h3 { margin: 0 0 10px; color: var(--v2-gold); font-size: 20px; }
.v2-modal p { margin: 0 0 18px; color: var(--v2-muted); line-height: 1.65; }


/* v405 · 全站弹窗手机端安全区统一修复
   仅修复 static-v2 公共弹窗和日期时间选择器的层级、真实视口定位、底部导航遮挡；不改接口、不改权限判断。 */
body.v2-modal-open,
body.v2-birth-picker-open {
  touch-action: none;
}
.v2-modal-mask {
  position: fixed !important;
  top: var(--v2-modal-top, 0px) !important;
  left: var(--v2-modal-left, 0px) !important;
  right: auto !important;
  bottom: auto !important;
  width: var(--v2-modal-vw, 100vw) !important;
  height: var(--v2-modal-vh, var(--app-height)) !important;
  min-height: 0 !important;
  z-index: 2147483200 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  place-items: center !important;
  padding: max(14px, env(safe-area-inset-top, 0px)) 16px max(14px, calc(env(safe-area-inset-bottom, 0px) + 14px)) !important;
  background: rgba(0, 0, 0, .72) !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
  pointer-events: auto !important;
  transform: none !important;
  -webkit-transform: none !important;
  isolation: isolate !important;
}
.v2-modal-mask.show,
body.v2-modal-open .v2-modal-mask.show {
  display: grid !important;
}
.v2-modal-mask .v2-modal {
  position: relative !important;
  z-index: 1 !important;
  width: min(380px, calc(var(--v2-modal-vw, 100vw) - 32px)) !important;
  max-width: calc(var(--v2-modal-vw, 100vw) - 32px) !important;
  max-height: calc(var(--v2-modal-vh, var(--app-height)) - max(32px, env(safe-area-inset-top, 0px)) - max(32px, env(safe-area-inset-bottom, 0px))) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 20px !important;
  border: 1px solid rgba(255,216,87,.56) !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgba(16, 48, 92, .99), rgba(4, 15, 32, .99)) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.10) !important;
  outline: none !important;
}
.v2-modal-mask .v2-modal h3 {
  margin: 0 0 10px !important;
  color: var(--v2-gold) !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 1000 !important;
}
.v2-modal-mask .v2-modal p {
  margin: 0 0 18px !important;
  color: rgba(236,246,255,.82) !important;
  line-height: 1.65 !important;
  font-size: 14px !important;
}
.v2-modal-mask .v2-modal .v2-btn-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}
.v2-modal-mask .v2-modal .v2-btn {
  width: 100% !important;
  min-height: 48px !important;
}
@media (max-width: 480px) {
  .v2-modal-mask {
    padding: max(12px, env(safe-area-inset-top, 0px)) 14px max(12px, calc(env(safe-area-inset-bottom, 0px) + 12px)) !important;
  }
  .v2-modal-mask .v2-modal {
    width: calc(var(--v2-modal-vw, 100vw) - 28px) !important;
    max-width: calc(var(--v2-modal-vw, 100vw) - 28px) !important;
    max-height: calc(var(--v2-modal-vh, var(--app-height)) - 28px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    padding: 18px !important;
  }
}
@media (max-height: 540px) {
  .v2-modal-mask .v2-modal {
    padding: 16px !important;
    border-radius: 18px !important;
  }
  .v2-modal-mask .v2-modal h3 { font-size: 18px !important; }
  .v2-modal-mask .v2-modal p { margin-bottom: 12px !important; line-height: 1.5 !important; }
  .v2-modal-mask .v2-modal .v2-btn { min-height: 44px !important; }
}
.v2-birth-picker-mask-v404 {
  top: var(--v2-picker-top, 0px) !important;
  left: var(--v2-picker-left, 0px) !important;
  right: auto !important;
  bottom: auto !important;
  width: var(--v2-picker-vw, 100vw) !important;
  height: var(--v2-picker-vh, var(--app-height)) !important;
  min-height: 0 !important;
  z-index: 2147483300 !important;
}
.v2-birth-picker-sheet-v404 {
  max-width: calc(var(--v2-picker-vw, 100vw) - 24px) !important;
  max-height: calc(var(--v2-picker-vh, var(--app-height)) - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
}


/* source: components/accessibility.css */
/* Layer: components/accessibility.css */
/* v378 上线候选自检与可访问性细节 */
.v2-btn:focus-visible,
.v2-nav-btn:focus-visible,
.v2-input:focus-visible,
.v2-select:focus-visible,
.v2-textarea:focus-visible {
  outline: 2px solid rgba(255, 220, 95, .92);
  outline-offset: 2px;
}
.v2-check-list { display: grid; gap: 9px; }
.v2-check-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid rgba(112,174,255,.28);
  background: rgba(255,255,255,.06);
  border-radius: 14px;
  padding: 11px 12px;
}
.v2-check-row div { min-width: 0; display: grid; gap: 4px; }
.v2-check-row b { font-size: 13px; line-height: 1.25; }
.v2-check-row span { color: var(--v2-muted); font-size: 11px; line-height: 1.25; overflow-wrap: anywhere; }
.v2-check-row em {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 5px 8px;
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
}
.v2-check-row.ok em { color: #032417; background: rgba(100,240,188,.86); }
.v2-check-row.bad { border-color: rgba(255,121,133,.55); }
.v2-check-row.bad em { color: #351014; background: rgba(255,121,133,.88); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; transition-duration: .001ms !important; }
}


/* source: themes/product-polish.css */
/* Layer: themes/product-polish.css */
/* v385 · static-v2 全站 UI 视觉优化与移动端体验精修
   只统一视觉层、移动端触控、卡片/按钮/间距/报告阅读体验；不改报告、支付、会员、顾问接口。 */
.v2-shell {
  isolation: isolate;
  border-left: 1px solid rgba(255,255,255,.08);
  border-right: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 222, 102, .20), transparent 23%),
    radial-gradient(circle at 86% 18%, rgba(102, 217, 255, .18), transparent 25%),
    radial-gradient(circle at 50% 100%, rgba(82, 94, 255, .15), transparent 30%),
    linear-gradient(180deg, #0a2a55 0%, #061b38 46%, #020915 100%);
}
.v2-shell::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 22%, rgba(0,0,0,.16)),
    radial-gradient(circle at 50% -8%, rgba(255,255,255,.18), transparent 25%);
  opacity: .72;
}
.v2-header,
.v2-main,
.v2-footer { position: relative; z-index: 1; }
.v2-header { padding-bottom: 6px; }
.v2-header-inner {
  min-height: 46px;
  display: grid;
  align-content: center;
  padding: 6px 12px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
  box-shadow: var(--v2-shadow-soft);
  backdrop-filter: blur(12px);
}
.v2-page-title { letter-spacing: -.02em; }
.v2-page-subtitle { color: rgba(238,248,255,.78); }
.v2-main { padding-bottom: calc(var(--v2-gap) + 2px); }
.v2-card {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.025)),
    var(--v2-card);
  border-color: rgba(135, 201, 255, .36);
  backdrop-filter: blur(14px);
}
.v2-card::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255,255,255,.14), transparent 31%),
    radial-gradient(circle at 88% 8%, rgba(255,216,87,.11), transparent 25%);
  opacity: .74;
}
.v2-card > * { position: relative; z-index: 1; }
.v2-card.is-hero {
  min-height: clamp(284px, calc(var(--app-height) * 0.47), 372px);
  border-color: rgba(255, 220, 95, .62);
  box-shadow: 0 22px 58px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.14);
}
.v2-hero-title,
.v2-report-title,
.v2-card-title,
.v2-section-title { text-wrap: balance; }
.v2-hero-sub,
.v2-text-muted,
.v2-report-summary,
.v2-section-body p { overflow-wrap: anywhere; }
.v2-trust-row,
.v2-value-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 2px;
}
.v2-trust-row span,
.v2-value-strip span {
  min-height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,216,87,.30);
  border-radius: 999px;
  color: rgba(255,255,255,.92);
  background: rgba(255,216,87,.075);
  font-size: 11px;
  line-height: 1.2;
  font-weight: 900;
  text-align: center;
}
.v2-value-strip { margin: 12px 0 0; }
.v2-value-strip span { border-color: rgba(102,217,255,.30); background: rgba(102,217,255,.075); }
.v2-btn,
.v2-mini-btn,
.v2-chip,
.v2-auth-tabs button,
.v2-contact-card,
.v2-pay-method,
.v2-list-item[data-v2-nav] {
  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease, opacity .16s ease;
}
.v2-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  letter-spacing: .12em;
  touch-action: manipulation;
}
.v2-btn:not(:disabled):active,
.v2-mini-btn:not(:disabled):active,
.v2-chip:not(:disabled):active,
.v2-nav-btn:not(:disabled):active,
.v2-list-item[data-v2-nav]:active,
.v2-pay-method:active { transform: translateY(1px) scale(.995); }
.v2-btn.secondary,
.v2-btn.ghost { backdrop-filter: blur(8px); }
.v2-btn-row { align-items: stretch; }
.v2-input,
.v2-select,
.v2-textarea {
  min-height: 48px;
  border-color: rgba(135,201,255,.38);
  background: rgba(1, 10, 26, .66);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.v2-input::placeholder,
.v2-textarea::placeholder { color: rgba(235,245,255,.44); }
.v2-field label { font-weight: 850; color: rgba(236,247,255,.78); }
.v2-form-card .v2-form { gap: 13px; }
.v2-chip-row { gap: 8px; }
.v2-chip { min-height: 36px; }
.v2-mobile-safe-note {
  margin: 2px 2px 0;
  color: rgba(238,248,255,.68);
  font-size: 12px;
  line-height: 1.55;
}
.v2-report-row { align-items: flex-start; }
.v2-score {
  background:
    radial-gradient(circle at 50% 50%, #fff8c5 0 38%, #ffdf63 40% 53%, #5ddaff 74%, #407dff 100%);
  box-shadow: 0 16px 36px rgba(0,0,0,.38), 0 0 0 1px rgba(255,255,255,.24) inset;
}
.v2-report-flow {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto;
  align-items: center;
  gap: 6px;
  margin-top: 9px;
  color: rgba(255,255,255,.78);
  font-size: 11px;
  font-weight: 850;
}
.v2-report-flow i {
  display: block;
  height: 1px;
  background: linear-gradient(90deg, rgba(255,216,87,.65), rgba(102,217,255,.25));
}
.v2-mini-card {
  border-color: rgba(102,217,255,.26);
  background:
    radial-gradient(circle at 88% 10%, rgba(102,217,255,.12), transparent 30%),
    rgba(255,255,255,.055);
}
.v2-preview-item,
.v2-section-card,
.v2-pro-module,
.v2-report-list-card,
.v2-order-card,
.v2-pro-feature-list div,
.v2-pay-method,
.v2-contact-card {
  border-color: rgba(135,201,255,.25);
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
}
.v2-preview-item { padding: 12px 13px; }
.v2-section-card { gap: 13px; padding: 13px; }
.v2-section-index,
.v2-pro-feature-list b,
.v2-pro-module-head span { box-shadow: 0 8px 18px rgba(255,199,55,.18); }
.v2-price-box {
  background:
    radial-gradient(circle at 92% 10%, rgba(255,255,255,.14), transparent 26%),
    linear-gradient(180deg, rgba(255,216,87,.16), rgba(255,216,87,.07));
}
.v2-pay-method { min-height: 66px; }
.v2-pay-method.active {
  box-shadow: 0 12px 28px rgba(255,199,55,.16), inset 0 1px 0 rgba(255,255,255,.10);
}
.v2-list-item {
  cursor: default;
  background: linear-gradient(180deg, rgba(38, 93, 164, .76), rgba(20, 61, 119, .78));
}
.v2-list-item:not([data-v2-nav])::after { content: ''; }
.v2-list-item[data-v2-nav] { cursor: pointer; }
.v2-member-actions { margin-top: 12px; }
.v2-contact-card { grid-template-columns: 46px 1fr auto; }
.v2-footer {
  box-shadow: 0 -14px 30px rgba(0,0,0,.20);
  border-top-color: rgba(135,201,255,.24);
}
.v2-tabbar { gap: 7px; }
.v2-nav-btn {
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.06);
}
.v2-nav-btn.active {
  box-shadow: 0 8px 20px rgba(255,199,55,.26), inset 0 1px 0 rgba(255,255,255,.78);
}
@media (hover: hover) {
  .v2-btn:not(:disabled):hover,
  .v2-mini-btn:not(:disabled):hover,
  .v2-chip:not(:disabled):hover,
  .v2-pay-method:hover,
  .v2-contact-card:hover,
  .v2-list-item[data-v2-nav]:hover { transform: translateY(-1px); }
}
@media (max-width: 390px) {
  .v2-btn-row { display: grid; grid-template-columns: 1fr; }
  .v2-btn-row .v2-btn { width: 100%; }
  .v2-trust-row,
  .v2-value-strip { grid-template-columns: 1fr; }
  .v2-report-flow { grid-template-columns: 1fr; gap: 4px; }
  .v2-report-flow i { display: none; }
  .v2-pay-method { align-items: flex-start; }
  .v2-contact-card { grid-template-columns: 40px 1fr; }
  .v2-contact-card em { grid-column: 2; }
}
@media (max-height: 680px) {
  .v2-card.is-hero { min-height: clamp(238px, calc(var(--app-height) * .40), 300px); }
  .v2-header-inner { min-height: 42px; }
  .v2-page-title { font-size: clamp(19px, calc(var(--app-height) * 0.031), 24px); }
  .v2-page-subtitle { font-size: 11px; }
}





/* v412 · 全流程真机验收与上线收口 */
body.v2-payment-sheet-open .v2-tabbar {
  pointer-events: none;
  filter: blur(.5px);
}
.v2-payment-sheet .v2-btn:disabled,
.v2-payment-sheet .v2-btn.v2-loading {
  opacity: .64;
  cursor: wait;
}
.v2-payment-sheet .v2-sheet-free:not(.v2-hidden),
.v2-payment-sheet [data-sheet-free]:not(.v2-hidden) {
  display: block !important;
  border-color: rgba(125,197,255,.44) !important;
  color: rgba(223,241,255,.96) !important;
  background: linear-gradient(180deg, rgba(74,144,226,.20), rgba(255,255,255,.06)) !important;
}
.v2-payment-sheet .v2-alert.danger {
  margin-bottom: 12px;
}
.v2-payment-sheet-mask.show .v2-payment-sheet {
  animation: v2SheetEnter .18s ease-out both;
}
@keyframes v2SheetEnter {
  from { transform: translateY(18px); opacity: .72; }
  to { transform: translateY(0); opacity: 1; }
}
.v2-pro-stream-content {
  word-break: break-word;
}
.v2-pro-accordion-item:focus-visible {
  outline: 2px solid rgba(255,216,87,.75);
  outline-offset: 3px;
}
@media (max-width: 420px) {
  .v2-payment-sheet {
    max-height: calc(var(--v2-sheet-vh, var(--app-height)) - 18px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  }
  .v2-payment-sheet h3 {
    font-size: 20px;
  }
  .v2-payment-sheet .v2-btn {
    min-height: 46px;
  }
}


/* source: pages/home.css */
/* Layer: pages/home.css */
/* v479 · 首页主强调色统一版。标题和主按钮复用导航选中态金色变量，不做历史补丁堆叠。 */
body.v2-home-unified-bg {
  background: #020712;
}
.v2-home-unified-bg .v2-home-unified-shell {
  --v2-header-h: clamp(54px, calc(var(--app-height) * .074), 68px);
  --v2-nav-h: clamp(66px, calc(var(--app-height) * .102), 82px);
  --v2-page-pad-x: clamp(16px, 4.8vw, 22px);
  --v2-home-accent-start: var(--v2-accent-gold-start);
  --v2-home-accent-end: var(--v2-accent-gold-end);
  --v2-home-accent-text: var(--v2-accent-gold-text);
  --v2-home-accent-border: var(--v2-accent-gold-border);
  --v2-home-accent-shadow: var(--v2-accent-gold-shadow);
  background:
    radial-gradient(circle at 50% 27%, rgba(255, 226, 150, .14), transparent 25%),
    radial-gradient(circle at 15% 12%, rgba(95, 153, 255, .18), transparent 24%),
    linear-gradient(180deg, rgba(2, 7, 18, .12), rgba(2, 7, 18, .92)),
    url('/static/images/home-integrated-bg-v395.webp') center top / cover no-repeat,
    #020712;
  background:
    radial-gradient(circle at 50% 27%, rgba(255, 226, 150, .14), transparent 25%),
    radial-gradient(circle at 15% 12%, rgba(95, 153, 255, .18), transparent 24%),
    linear-gradient(180deg, rgba(2, 7, 18, .12), rgba(2, 7, 18, .92)),
    image-set(
      url('/static/images/home-integrated-bg-v693.avif') type('image/avif'),
      url('/static/images/home-integrated-bg-v395.webp') type('image/webp')
    ) center top / cover no-repeat,
    #020712;
  overflow: hidden;
}
/* v832 home-background-rollback: 不再默认叠加独立星盘层；首页只使用原始 integrated background，避免双重星盘。 */
.v2-home-unified-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 82% 18%, rgba(255, 246, 166, .14), transparent 18%),
    linear-gradient(180deg, transparent 38%, rgba(2, 7, 18, .58) 74%, rgba(2, 7, 18, .92) 100%);
  opacity: .9;
}
.v2-home-unified-header {
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 6px;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.v2-home-unified-brand,
.v2-home-unified-badge {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: inline-flex;
  align-items: center;
}
.v2-home-unified-brand {
  gap: 9px;
}
.v2-home-unified-brand img,
.v2-home-unified-brand svg {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  filter: drop-shadow(0 0 16px rgba(255, 199, 55, .18));
}
.v2-home-unified-brand span {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.v2-home-unified-brand b {
  color: rgba(255, 243, 214, .98);
  font-size: 14px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .02em;
  white-space: nowrap;
  text-shadow: 0 2px 10px rgba(0,0,0,.56);
}
.v2-home-unified-brand small {
  color: rgba(232, 240, 252, .72);
  font-size: 10px;
  line-height: 1.1;
  font-weight: 760;
  white-space: nowrap;
}
.v2-home-unified-badge {
  gap: 6px;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(235, 202, 126, .30);
  border-radius: 999px;
  color: rgba(255, 240, 205, .96);
  background: rgba(7, 17, 35, .58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 10px 20px rgba(0,0,0,.18);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}
.v2-home-unified-badge img,
.v2-home-unified-badge svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}
.v2-home-inline-icon {
  display: block;
  flex: 0 0 auto;
}
.v2-home-unified-main {
  justify-content: flex-start;
  padding: 0 var(--v2-page-pad-x) clamp(7px, calc(var(--app-height) * .010), 12px);
  gap: 0;
  background: transparent;
}
.v2-home-unified-hero {
  width: 100%;
  min-height: min(100%, calc(var(--app-height) - var(--v2-header-h) - var(--v2-nav-h) - var(--v2-safe-bottom) - 8px));
  display: grid;
  grid-template-rows: minmax(clamp(168px, calc(var(--app-height) * .27), 274px), 1fr) auto auto auto auto;
  align-content: end;
  gap: clamp(10px, calc(var(--app-height) * .014), 15px);
  padding: 0 0 clamp(10px, calc(var(--app-height) * .017), 16px);
}
.v2-home-art-space {
  display: grid;
  place-items: end center;
  min-height: 0;
}
.v2-home-orb-card {
  position: relative;
  z-index: 2;
  width: min(192px, 54vw);
  min-height: 86px;
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 246, 166, .22);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(11, 32, 67, .62), rgba(4, 13, 31, .72)),
    rgba(4, 13, 31, .52);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 36px rgba(0,0,0,.25);
}
.v2-home-orb-icon {
  width: 64px;
  height: 64px;
  filter: drop-shadow(0 0 20px rgba(255, 199, 55, .18));
}
.v2-home-orb-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.v2-home-orb-copy span,
.v2-home-orb-copy small {
  color: rgba(226, 237, 252, .68);
  font-size: 9px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .12em;
}
.v2-home-orb-copy b {
  color: rgba(255, 231, 157, .98);
  font-size: 16px;
  line-height: 1.1;
  font-weight: 950;
  white-space: nowrap;
}
.v2-home-slogan {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  text-align: center;
}
.v2-home-slogan h2 {
  margin: 0;
  color: var(--v2-home-accent-start);
  font-size: clamp(36px, calc(var(--app-height) * .054), 48px);
  line-height: 1.05;
  font-weight: 980;
  letter-spacing: -.045em;
  text-shadow:
    0 4px 0 rgba(42, 29, 9, .54),
    0 10px 26px rgba(0,0,0,.78),
    0 0 24px var(--v2-home-accent-shadow);
}
.v2-home-slogan-mid {
  width: fit-content;
  max-width: 100%;
  margin: 2px auto 0;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 1px solid rgba(235, 202, 126, .26);
  border-radius: 999px;
  color: rgba(255, 234, 183, .96);
  background: rgba(7, 17, 35, .46);
  font-size: clamp(14px, calc(var(--app-height) * .020), 17px);
  line-height: 1.2;
  font-weight: 880;
  letter-spacing: .10em;
}
.v2-home-slogan-small {
  margin: 0;
  color: rgba(240, 246, 255, .86);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 760;
  text-shadow: 0 3px 12px rgba(0,0,0,.58);
}
.v2-home-insight-tags,
.v2-home-flow-steps {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
}
.v2-home-insight-tags {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.v2-home-flow-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.v2-home-insight-tags span,
.v2-home-flow-steps span {
  min-width: 0;
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px solid rgba(255, 226, 160, .18);
  background: rgba(6, 20, 44, .62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.v2-home-insight-tags span {
  min-height: 62px;
  gap: 5px;
  padding: 8px 4px;
  border-radius: 17px;
  color: rgba(255, 247, 224, .98);
  font-size: 11.5px;
  line-height: 1.15;
  font-weight: 920;
}
.v2-home-insight-tags img,
.v2-home-insight-tags svg {
  width: 25px;
  height: 25px;
  filter: drop-shadow(0 0 14px rgba(255,199,55,.18));
}
.v2-home-flow-steps span {
  min-height: 38px;
  grid-template-columns: 20px minmax(0, auto);
  justify-content: center;
  gap: 5px;
  padding: 0 6px;
  border-radius: 999px;
  color: rgba(230, 240, 255, .82);
  font-size: 11px;
  line-height: 1;
  font-weight: 850;
}
.v2-home-flow-steps img,
.v2-home-flow-steps svg {
  width: 18px;
  height: 18px;
}
.v2-home-flow-steps b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v2-home-action-zone {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
}
.v2-home-generate-btn {
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: clamp(56px, calc(var(--app-height) * .074), 64px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--v2-home-accent-border);
  border-radius: 20px;
  color: var(--v2-home-accent-text);
  background:
    linear-gradient(180deg, rgba(255,255,255,.52), rgba(255,255,255,0) 30%),
    linear-gradient(180deg, var(--v2-home-accent-start), var(--v2-home-accent-end));
  box-shadow:
    0 18px 42px var(--v2-home-accent-shadow),
    0 0 22px rgba(255, 199, 55, .18),
    inset 0 1px 0 rgba(255,255,255,.84),
    inset 0 -2px 0 rgba(88, 57, 12, .18);
  font-size: clamp(17px, calc(var(--app-height) * .023), 20px);
  font-weight: 980;
  letter-spacing: .08em;
}
.v2-home-generate-btn::before {
  content: '';
  position: absolute;
  inset: 1px 1px auto;
  height: 42%;
  border-radius: 18px 18px 50% 50%;
  background: linear-gradient(180deg, rgba(255,255,255,.46), rgba(255,255,255,0));
  pointer-events: none;
}
.v2-home-generate-btn span,
.v2-home-generate-btn img,
.v2-home-generate-btn svg {
  position: relative;
  z-index: 1;
}
.v2-home-generate-btn img,
.v2-home-generate-btn svg {
  width: 23px;
  height: 23px;
  flex: 0 0 auto;
}
.v2-home-generated-card {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid rgba(235, 202, 126, .20);
  border-radius: 999px;
  background: rgba(7, 17, 35, .52);
  color: rgba(238, 244, 252, .84);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.v2-home-generated-card img,
.v2-home-generated-card svg {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}
.v2-home-generated-line {
  margin: 0;
  min-width: 0;
  color: inherit;
  font-size: 12.5px;
  line-height: 1.2;
  font-weight: 760;
  text-align: center;
}
.v2-home-generated-line b {
  color: var(--v2-home-accent-end);
  font-size: 14px;
  font-weight: 980;
  margin: 0 2px;
}
.v2-home-unlock-ticker {
  position: relative;
  z-index: 1;
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 14px;
  border: 1px solid rgba(235, 202, 126, .20);
  border-radius: 999px;
  color: rgba(237, 243, 252, .88);
  background: rgba(7, 17, 35, .58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 8px 18px rgba(0,0,0,.14);
  font-size: 12.5px;
  line-height: 1.2;
  overflow: hidden;
}
.v2-home-unlock-ticker [data-social-ticker] {
  display: block;
  height: 20px;
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}
.v2-ticker-track {
  display: grid;
  transition: transform .72s cubic-bezier(.22, .72, .24, 1);
  will-change: transform;
}
.v2-ticker-item {
  height: 20px;
  line-height: 20px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.v2-home-unlock-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--v2-home-accent-end);
  box-shadow: 0 0 12px var(--v2-home-accent-shadow);
}
.v2-home-unified-bg .v2-footer {
  background: linear-gradient(180deg, rgba(5, 12, 24, .48), rgba(5, 12, 24, .92));
  border-top-color: rgba(224, 198, 132, .13);
}
.v2-home-unified-bg .v2-tabbar {
  background: transparent;
  border: 0;
  box-shadow: none;
}
@media (max-height: 740px) {
  .v2-home-unified-bg .v2-home-unified-shell { --v2-header-h: clamp(50px, calc(var(--app-height) * .068), 62px); }
  .v2-home-unified-hero {
    grid-template-rows: minmax(clamp(116px, calc(var(--app-height) * .20), 192px), 1fr) auto auto auto auto;
    gap: 8px;
    padding-bottom: 8px;
  }
  .v2-home-orb-card { min-height: 72px; grid-template-columns: 54px minmax(0, 1fr); padding: 8px 10px; }
  .v2-home-orb-icon { width: 52px; height: 52px; }
  .v2-home-slogan h2 { font-size: clamp(29px, calc(var(--app-height) * .047), 37px); }
  .v2-home-slogan-mid { min-height: 27px; font-size: 14px; }
  .v2-home-slogan-small { font-size: 12px; }
  .v2-home-insight-tags { gap: 6px; }
  .v2-home-insight-tags span { min-height: 50px; font-size: 10.5px; border-radius: 15px; }
  .v2-home-insight-tags img, .v2-home-insight-tags svg { width: 21px; height: 21px; }
  .v2-home-flow-steps span { min-height: 32px; }
  .v2-home-generate-btn { min-height: 48px; border-radius: 17px; }
  .v2-home-generated-card,
  .v2-home-unlock-ticker { min-height: 32px; }
}
@media (max-width: 360px) {
  .v2-home-unified-bg .v2-home-unified-shell { --v2-page-pad-x: 14px; }
  .v2-home-unified-brand small { display: none; }
  .v2-home-unified-brand b { font-size: 13px; }
  .v2-home-unified-badge { padding: 0 8px; font-size: 10.5px; }
  .v2-home-slogan h2 { font-size: 30px; }
  .v2-home-insight-tags,
  .v2-home-flow-steps { gap: 6px; }
  .v2-home-insight-tags span { min-height: 48px; padding-inline: 3px; font-size: 10px; }
  .v2-home-insight-tags img, .v2-home-insight-tags svg { width: 20px; height: 20px; }
  .v2-home-flow-steps b { font-size: 10.5px; }
  .v2-home-generated-line { font-size: 11.5px; }
}
