/* =============================================
   dark-theme.css — 全局深色主题覆盖
   在 common.css 之后、page-*.css 之前加载
   ============================================= */

/* ===== 变量覆盖 ===== */
:root {
  --bg-color: #050a07;
  --primary-blue: #34d399;
  --primary-blue-dim: rgba(52, 211, 153, 0.12);
  --primary-blue-mid: rgba(52, 211, 153, 0.25);
  --text-main: #ecfdf3;
  --text-dim: #aabbb0;
  --text-muted: #7ca894;
  --grid-color: rgba(255, 255, 255, 0.02);
  --surface-glass: rgba(12, 20, 14, 0.5);
  --surface-glass-strong: rgba(16, 26, 18, 0.7);
  --surface-raised: rgba(14, 22, 16, 0.75);
  --border-subtle: rgba(255, 255, 255, 0.04);
  --border-mid: rgba(255, 255, 255, 0.07);
  --border-glow: rgba(52, 211, 153, 0.25);

  /* 覆盖 common.css 浅色变量 */
  --void: #050a07;
  --paper: #050a07;
  --paper-dot: rgba(52,211,153,0.03);
  --ink: #ecfdf3;
  --ink-light: #b0c8b8;
  --ink-semi: #8aab9a;
  --line: rgba(255,255,255,0.04);
  --line-strong: rgba(255,255,255,0.08);
  --signal: #34d399;
  --ice: #34d399;
  --accent: #34d399;
  --accent-2: #34d399;
  --accent-hot: #f472b6;
  --marker-yellow: rgba(52,211,153,0.18);
  --marker-blue: rgba(52,211,153,0.18);
  --marker-pink: rgba(253,175,180,0.18);
  --marker-green: rgba(52,211,153,0.18);

  /* 导航 — Liquid Glass */
  --nav-bg: rgba(5,10,7,0.08);
  --nav-bg-glass: rgba(5,10,7,0.08);
  --nav-bg-glass-scrolled: rgba(5,10,7,0.22);
  --nav-inner-highlight: rgba(52,211,153,0.06);
  --nav-inner-highlight-strong: rgba(52,211,153,0.1);
  --nav-border-gradient: linear-gradient(180deg, rgba(52,211,153,0.18) 0%, rgba(52,211,153,0.08) 22%, transparent 38%, transparent 62%, rgba(52,211,153,0.08) 78%, rgba(52,211,153,0.18) 100%);
  --nav-border-gradient-strong: linear-gradient(180deg, rgba(52,211,153,0.28) 0%, rgba(52,211,153,0.12) 22%, transparent 38%, transparent 62%, rgba(52,211,153,0.12) 78%, rgba(52,211,153,0.28) 100%);
  --nav-ink: #ecfdf3;
  --nav-muted: #9eb4a8;
  --nav-rail-bg: rgba(5,10,7,0.15);
  --nav-rail-border: rgba(52,211,153,0.06);

  /* 阴影 */
  --shadow-sketch: 0 4px 24px rgba(0,0,0,0.4), 0 1px 2px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.02);
  --shadow-sketch-hover: 0 18px 48px rgba(52,211,153,0.1), 0 8px 16px rgba(52,211,153,0.05), inset 0 1px 0 rgba(255,255,255,0.04);

  /* 布局 */
  --nav-stack-clearance: 104px;
}

/* ===== 基础元素 ===== */
body {
  background-color: var(--bg-color);
  background-image: none;
  color: var(--text-main);
  line-height: 1.72;
}
body.page-home { background-color: var(--bg-color); background-image: none; }

/* 链接 */
a { color: var(--accent); }
a:hover { color: var(--ice); }

/* ===== 导航栏（与 page-index.css 保持一致）===== */
#site-nav > .nav-links-wrap {
  background: rgba(12,12,16,0.75) !important;
  background-color: rgba(12,12,16,0.75) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  box-shadow: 0 0 0 1px rgba(52,211,153,0.06), 0 10px 36px rgba(0,0,0,0.4), 0 2px 8px rgba(52,211,153,0.04), inset 0 1px 0 rgba(255,255,255,0.04) !important;
}
#site-nav.is-scrolled > .nav-links-wrap {
  background: rgba(8,8,12,0.92) !important;
  background-color: rgba(8,8,12,0.92) !important;
  border-color: rgba(255,255,255,0.12) !important;
  box-shadow: 0 0 0 1px rgba(52,211,153,0.12), 0 16px 48px rgba(0,0,0,0.5), 0 4px 14px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.06) !important;
}
.logo { color: #fff !important; }
.logo-word {
  background: linear-gradient(118deg, #e0e7ff 0%, #a7f0d2 32%, #fff 72%, #6ee7b7 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important;
}
.logo-icon {
  background: linear-gradient(145deg, rgba(52,211,153,0.6), rgba(52,211,153,0.25)) !important;
  border-color: rgba(255,255,255,0.15) !important;
  box-shadow: 0 4px 16px rgba(52,211,153,0.25), inset 0 1px 0 rgba(255,255,255,0.2) !important;
}
@media (min-width: 769px) {
  .nav-links-wrap { background: rgba(255,255,255,0.04) !important; border: 1px solid rgba(255,255,255,0.06) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,0.03) !important; }
  .nav-right { border-left-color: rgba(255,255,255,0.08) !important; }
}
.nav-item { color: var(--text-dim) !important; }
.nav-item:hover { color: #fff !important; background: rgba(255,255,255,0.06) !important; box-shadow: 0 1px 8px rgba(0,0,0,0.2) !important; }
.nav-item.active { color: #000 !important; background: linear-gradient(135deg, #34d399 0%, #2eb88a 52%, #228b6a 100%) !important; box-shadow: 0 4px 14px rgba(52,211,153,0.35), inset 0 1px 0 rgba(255,255,255,0.25) !important; }
.lang-trigger { color: #fff !important; background: rgba(255,255,255,0.06) !important; border-color: rgba(255,255,255,0.1) !important; box-shadow: 0 1px 0 rgba(255,255,255,0.04) inset !important; }
.lang-trigger:hover { background: rgba(255,255,255,0.1) !important; border-color: rgba(52,211,153,0.35) !important; box-shadow: 0 4px 16px rgba(52,211,153,0.1) !important; }
.lang-trigger .lucide, .lang-trigger .lang-icon { stroke: #fff !important; }
.lang-menu { background: rgba(18,18,24,0.92) !important; border-color: rgba(255,255,255,0.1) !important; box-shadow: 0 18px 48px -8px rgba(0,0,0,0.6), 0 8px 16px rgba(52,211,153,0.05) !important; }
.lang-menu a { color: var(--text-dim) !important; }
.lang-menu a:hover, .lang-menu a[aria-current="true"] { color: #fff !important; background: rgba(52,211,153,0.1) !important; }
.btn-nav-login { background: rgba(52, 211, 153, 0.1) !important; border-color: rgba(52, 211, 153, 0.25) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 4px 16px rgba(52,211,153,0.1) !important; color: #6ee7b7 !important; }
.btn-nav-login:hover { background: rgba(52, 211, 153, 0.18) !important; border-color: rgba(52, 211, 153, 0.45) !important; color: #a7f3d0 !important; box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 6px 20px rgba(52,211,153,0.18) !important; }
.nav-user-trigger { background: rgba(255,255,255,0.06) !important; border-color: rgba(255,255,255,0.12) !important; box-shadow: 0 1px 0 rgba(255,255,255,0.04) inset, 0 0 0 1px rgba(52,211,153,0.08), 0 6px 20px rgba(0,0,0,0.3), 0 2px 8px rgba(0,0,0,0.15) !important; }
.nav-user-trigger:hover { border-color: rgba(52,211,153,0.35) !important; box-shadow: 0 1px 0 rgba(255,255,255,0.06) inset, 0 0 0 1px rgba(52,211,153,0.18), 0 10px 28px rgba(52,211,153,0.15), 0 4px 14px rgba(0,0,0,0.2) !important; }
.nav-avatar-letter { background: linear-gradient(135deg, #34d399 0%, #2eb88a 38%, #228b6a 72%, #6ee7b7 100%) !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; }
.hamburger { background: rgba(255,255,255,0.06) !important; border-color: rgba(255,255,255,0.1) !important; box-shadow: 0 1px 0 rgba(255,255,255,0.04) inset !important; }
.hamburger:hover { background: rgba(255,255,255,0.1) !important; border-color: rgba(52,211,153,0.25) !important; }
.hamburger span { background: #fff !important; }
@media (max-width: 768px) {
  .nav-links { background: rgba(18,18,24,0.95) !important; border-color: rgba(255,255,255,0.1) !important; box-shadow: 0 0 0 1px rgba(52,211,153,0.06), 0 20px 50px rgba(0,0,0,0.5) !important; }
}

/* ===== 页脚 ===== */
footer.site-footer {
  border-top: 1px solid rgba(52,211,153,0.08) !important;
  background: transparent !important; box-shadow: none !important; color: #94a3b8 !important; margin-top: 80px !important;
}
.site-footer__mesh { display: none !important; }
.site-footer__orbs { display: none !important; }
.footer-grid.site-footer__grid { gap: 20px !important; margin-bottom: 32px !important; }
.footer-col {
  background: var(--surface-glass) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid var(--border-subtle) !important; border-radius: 20px !important; padding: 28px !important;
  transition: border-color 0.4s ease, transform 0.4s ease !important;
}
.footer-col:hover { border-color: var(--border-glow) !important; transform: translateY(-4px) !important; }
a.footer-logo.site-footer__logo { color: #f8fafc !important; }
.site-footer__logo-icon { background: linear-gradient(145deg, rgba(52,211,153,0.35), rgba(52,211,153,0.15)) !important; border-color: rgba(52,211,153,0.2) !important; box-shadow: 0 8px 28px rgba(52,211,153,0.18), inset 0 1px 0 rgba(255,255,255,0.15) !important; }
.footer-tagline.site-footer__tagline { color: #94a3b8 !important; }
.site-footer__email { color: var(--ink-light) !important; }
.site-footer__email:hover { color: var(--primary-blue) !important; }
.site-footer__cta-chip { color: #d1fae5 !important; border-color: rgba(52,211,153,0.35) !important; background: rgba(52,211,153,0.1) !important; }
.site-footer__cta-chip:hover { background: rgba(52,211,153,0.18) !important; border-color: rgba(52,211,153,0.55) !important; box-shadow: 0 10px 28px rgba(52,211,153,0.15) !important; color: #fff !important; }
.footer-col h5 { color: #cbd5e1 !important; }
.footer-col h5::before { background: linear-gradient(90deg, var(--primary-blue), rgba(52,211,153,0.5), transparent) !important; box-shadow: 0 0 16px rgba(52,211,153,0.25) !important; }
.footer-col:not(.footer-col--brand) ul li { color: #94a3b8 !important; }
.footer-col ul li a:hover { color: var(--primary-blue) !important; }
.footer-bottom.site-footer__bottom { border-top: none !important; padding: 20px 24px !important; background: var(--surface-glass) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important; border: 1px solid var(--border-subtle) !important; border-radius: 16px !important; }
.site-footer__copyright { color: var(--ink-semi) !important; }
.site-footer__byline { color: #7aab8a !important; }
@media (max-width: 768px) {
  .footer-col { padding: 22px !important; }
  .footer-bottom.site-footer__bottom { flex-direction: column !important; gap: 8px !important; text-align: center !important; }
}

/* ===== 认证弹窗 ===== */
.auth-modal { background: rgba(10,10,10,0.85) !important; }
.auth-modal__card {
  background: rgba(18,18,24,0.95) !important; border: 1px solid rgba(255,255,255,0.08) !important;
  box-shadow: 0 24px 64px rgba(0,0,0,0.6), 0 0 40px rgba(52,211,153,0.08) !important;
}
.auth-step { color: var(--text-main) !important; }
.auth-step h2, .auth-step h3 { color: var(--text-main) !important; }
.auth-step p { color: var(--text-dim) !important; }
.auth-input-wrap input {
  background: rgba(255,255,255,0.05) !important; border-color: rgba(255,255,255,0.1) !important; color: var(--text-main) !important;
}
.auth-input-wrap input:focus { border-color: var(--border-glow) !important; background: rgba(52,211,153,0.05) !important; }
.auth-input-wrap input::placeholder { color: var(--text-muted) !important; }
.auth-msg { color: #ef4444 !important; }
.auth-msg.ok { color: #34d399 !important; }
.auth-link { color: var(--primary-blue) !important; }
.auth-link:hover { color: #6ee7b7 !important; }
.auth-btn-primary { background: linear-gradient(135deg, #2eb88a 0%, #34d399 45%, #228b6a 100%) !important; border-color: rgba(255,255,255,0.2) !important; color: #000 !important; box-shadow: 0 4px 16px rgba(52,211,153,0.3), inset 0 1px 0 rgba(255,255,255,0.2) !important; }
.auth-btn-primary:hover { box-shadow: 0 8px 28px rgba(52,211,153,0.35), inset 0 1px 0 rgba(255,255,255,0.25) !important; }
.auth-btn-secondary { background: rgba(255,255,255,0.06) !important; border-color: rgba(255,255,255,0.1) !important; color: var(--text-main) !important; }
.auth-btn-secondary:hover { background: rgba(52,211,153,0.1) !important; border-color: var(--border-glow) !important; }
.auth-toggle-pw { color: var(--text-muted) !important; }
.auth-ident-format-hint { color: #f59e0b !important; }
.auth-ident-format-hint--warn { color: #ef4444 !important; }
.auth-modal-close { color: var(--text-dim) !important; }
.auth-modal-close:hover { color: #fff !important; }

/* 弹窗内：避免全局 button / input 规则的 !important 盖掉验证码行样式（否则易出现「只剩一条线」或按钮不可辨） */
.auth-modal .auth-send-code {
  color: #34d399 !important;
  background: rgba(52, 211, 153, 0.07) !important;
  border: 1px solid rgba(52, 211, 153, 0.28) !important;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(52, 211, 153, 0.1) !important;
}
.auth-modal .auth-send-code:hover:not(:disabled) {
  background: rgba(52, 211, 153, 0.12) !important;
  border-color: rgba(52, 211, 153, 0.5) !important;
}
.auth-modal .auth-send-code:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
}
.auth-modal .auth-input-wrap input {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* ===== 通用 hero 区域 ===== */
[class*="-hero"] {
  background: transparent !important;
}
[class*="-hero__grid"] {
  background-image:
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px) !important;
}
[class*="-hero__glow--a"] { background: rgba(52,211,153,0.25) !important; }
[class*="-hero__glow--b"] { background: rgba(52,211,153,0.18) !important; }
[class*="-hero"] h1 { color: var(--text-main) !important; }
[class*="-hero"] .section-subtitle { color: var(--primary-blue) !important; }

/* ===== 玻璃卡片 ===== */
.sketch-box,
[class*="sketch-box"] {
  background: var(--surface-glass) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid var(--border-subtle) !important; box-shadow: var(--shadow-sketch) !important; color: var(--text-main) !important;
}
.sketch-box:hover { border-color: var(--border-glow) !important; background: var(--surface-glass-strong) !important; box-shadow: var(--shadow-sketch-hover) !important; }

/* ===== 通用卡片 ===== */
.signal-feature-card,
[class*="feature-card"] {
  background: var(--surface-glass) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid var(--border-subtle) !important; color: var(--text-main) !important;
}
.signal-feature-card:hover { border-color: var(--border-glow) !important; background: var(--surface-glass-strong) !important; }

/* ===== Section 头部 ===== */
.section-header--signal { color: var(--text-main) !important; }
.section-header--signal h2 { color: var(--text-main) !important; }
.section-header--signal p { color: var(--text-dim) !important; }
.section-header--signal .section-eyebrow { color: var(--primary-blue) !important; }
.section-header--signal h2::after {
  background: linear-gradient(90deg, var(--primary-blue), #6ee7b7, transparent) !important;
  box-shadow: 0 0 18px rgba(52,211,153,0.3) !important;
}
.section-header--signal::before { background: radial-gradient(ellipse 70% 55% at 50% 50%, rgba(52,211,153,0.04), transparent 65%) !important; }

/* ===== 表格 ===== */
table { color: var(--text-main) !important; }
th { color: var(--text-dim) !important; border-color: var(--border-mid) !important; }
td { border-color: var(--border-subtle) !important; color: var(--text-main) !important; }
tr:nth-child(even) td { background: rgba(255,255,255,0.02) !important; }

/* ===== 表单元素 ===== */
input:not([type="range"]):not([type="submit"]), textarea, select {
  background: rgba(255,255,255,0.05) !important; border-color: rgba(255,255,255,0.1) !important; color: var(--text-main) !important;
}
input:focus, textarea:focus, select:focus { border-color: var(--border-glow) !important; }
input::placeholder, textarea::placeholder { color: var(--text-muted) !important; }
button, .btn { color: var(--text-main) !important; }
.btn-primary, .signal-btn--primary { background: #1e1e1e !important; color: #d0d0d0 !important; border-color: #2a2a2a !important; box-shadow: 6px 6px 12px #0f0f0f, -6px -6px 12px #2d2d2d !important; }
.btn-primary:hover, .signal-btn--primary:hover { color: #fff !important; border-color: #009087 !important; }
.btn-secondary, .signal-btn--ghost { background: #1e1e1e !important; border-color: #2a2a2a !important; color: #d0d0d0 !important; box-shadow: 6px 6px 12px #0f0f0f, -6px -6px 12px #2d2d2d !important; }
.btn-secondary:hover, .signal-btn--ghost:hover { color: #fff !important; border-color: #009087 !important; }

/* ===== 时间线 ===== */
.signal-timeline__num { color: #fff !important; background: linear-gradient(145deg, #34d399, #228b6a) !important; }
.signal-timeline__body { background: var(--surface-glass) !important; border-color: var(--border-subtle) !important; color: var(--text-main) !important; }
.signal-timeline__body p { color: var(--text-dim) !important; }
.signal-timeline__list::before { background: linear-gradient(180deg, #34d399, #6ee7b7, #34d399) !important; }

/* ===== 标签页/Pills ===== */
.signal-pill { background: var(--surface-glass) !important; border-color: var(--border-subtle) !important; color: var(--text-main) !important; }
.signal-pill:hover { border-color: var(--border-glow) !important; }

/* ===== 分割线 ===== */
hr, [class*="divider"] { border-color: var(--border-subtle) !important; }

/* ===== 代码/KBD ===== */
code, kbd, pre {
  background: rgba(255,255,255,0.05) !important; color: var(--primary-blue) !important; border-color: var(--border-subtle) !important;
}

/* ===== 面包屑 ===== */
[class*="breadcrumb"] a { color: var(--text-dim) !important; }
[class*="breadcrumb"] a:hover { color: var(--primary-blue) !important; }

/* ===== 通用间距区段 ===== */
.home-section, [class*="home-section"] { background: transparent !important; }
.home-section--muted {
  background: linear-gradient(180deg, rgba(52,211,153,0.03) 0%, transparent 40%, transparent 60%, rgba(52,211,153,0.03) 100%) !important;
  border-block-color: rgba(52,211,153,0.06) !important;
}

/* ===== 支付通道弹窗（浅色面板，硬编码深色文字）===== */
.pay-method-modal-panel {
  background: rgba(255, 255, 255, 0.97) !important;
  color: #0f172a !important;
}
.pay-method-modal-title { color: #059669 !important; }
.pay-method-modal-lead  { color: #475569 !important; }
.pay-method-option {
  background: rgba(248, 250, 252, 0.98) !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
  color: #0f172a !important;
}
.pay-method-option:hover {
  border-color: rgba(99, 102, 241, 0.25) !important;
}
.pay-method-option-main { color: #059669 !important; }
.pay-method-option-sub  { color: #64748b !important; }
.pay-method-option-ico  {
  background: #fff !important;
  border-color: rgba(15, 23, 42, 0.06) !important;
  color: #0f172a !important;
}
.pay-method-cancel { color: #34d399 !important; }
.pay-method-cancel:hover { color: #059669 !important; }

/* ===== 响应式 ===== */
@media (max-width: 768px) {
  .footer-col { padding: 22px !important; }
  .footer-bottom.site-footer__bottom { flex-direction: column !important; gap: 8px !important; text-align: center !important; }
}
