/* ==========================================================================
   GEO智见Insight — Themes v1.0
   .theme-dark-v2  dark fixed version (contrast repaired)
   .theme-gradient full-color blue/violet/pink gradient (glass)
   .theme-blue     tech-blue solid (glass)
   Themes can be applied to <body> or to any section.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. DARK v2 — 对比度修复版
   修复项：正文灰字由 #9f9187 提亮至 #E9DCD0；标题/正文均加暗色投影；
   光晕透明度减半并退到内容后方。
   -------------------------------------------------------------------------- */
.theme-dark-v2 {
  --bg: var(--ink);
  --bg-2: var(--ink-2);
  --fg: var(--tx-dark);
  --fg-dim: var(--tx-dark-dim);
  --fg-mute: var(--tx-dark-mute);
  --accent: var(--rose);
  --line: var(--line-dark);
  --line-strong: var(--line-dark-strong);
  --glow-opacity: 0.28;
  --card-bg: rgba(255, 248, 240, 0.055);
  --card-border: rgba(255, 248, 240, 0.14);
  color: var(--fg);
  background-color: var(--bg);
}

.theme-dark-v2 h1,
.theme-dark-v2 h2,
.theme-dark-v2 h3,
.theme-dark-v2 h4,
.theme-dark-v2 .display {
  color: var(--fg);
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.42), 0 10px 26px rgba(0, 0, 0, 0.34);
}

.theme-dark-v2 p,
.theme-dark-v2 li,
.theme-dark-v2 .body-text {
  color: var(--fg-dim);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.55);
}

.theme-dark-v2 .mute,
.theme-dark-v2 .eyebrow,
.theme-dark-v2 .stat__label {
  color: var(--fg-mute);
}

/* Light halos sit behind content and are deliberately weak */
.theme-dark-v2 .halo {
  opacity: var(--glow-opacity);
  filter: blur(70px);
}

/* --------------------------------------------------------------------------
   2. GRADIENT — 全彩渐变版：外放、明亮、适合社交传播
   蓝紫粉渐变背景 + 白色玻璃卡片 + 深色文字
   -------------------------------------------------------------------------- */
.theme-gradient {
  --bg: #4b32ff;
  --bg-2: #b13cff;
  --fg: #ffffff;
  --fg-dim: #ffffff;
  --fg-mute: rgba(255, 255, 255, 0.92);
  --accent: #ffd6e4;
  --line: rgba(255, 255, 255, 0.28);
  --line-strong: rgba(255, 255, 255, 0.48);
  --glow-opacity: 0.35;
  --card-bg: rgba(255, 255, 255, 0.84);
  --card-border: rgba(255, 255, 255, 0.72);
  color: var(--fg);
  background-color: var(--bg);
  /* Endpoints stay >= 4.5:1 against white headline text:
     #4b32ff / #7a2be0 / #c42a8b / #c22a6e */
  background-image:
    radial-gradient(105% 85% at 8% 0%, rgba(75, 50, 255, 0.92) 0%, rgba(75, 50, 255, 0) 58%),
    radial-gradient(95% 80% at 92% 12%, rgba(196, 42, 139, 0.82) 0%, rgba(196, 42, 139, 0) 64%),
    radial-gradient(120% 110% at 60% 108%, rgba(214, 76, 56, 0.4) 0%, rgba(214, 76, 56, 0) 58%),
    linear-gradient(135deg, #4b32ff 0%, #7a2be0 38%, #c42a8b 68%, #c22a6e 100%);
}

.theme-gradient h1,
.theme-gradient h2,
.theme-gradient h3 {
  color: #ffffff;
  text-shadow: 0 2px 0 rgba(58, 22, 130, 0.28), 0 14px 40px rgba(58, 22, 130, 0.28);
}

.theme-gradient p,
.theme-gradient li {
  color: #ffffff;
}

/* The gradient theme's card: 半透明、柔和阴影、细描边、深色文字 */
.glass-card {
  color: var(--tx-light);
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: var(--r-lg);
  box-shadow: 0 24px 60px -26px rgba(43, 16, 102, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(18px) saturate(1.25);
  backdrop-filter: blur(18px) saturate(1.25);
}

.glass-card h3,
.glass-card h4,
.glass-card .display {
  color: var(--tx-light);
  text-shadow: none;
}

.glass-card p,
.glass-card li {
  color: var(--tx-light-dim);
}

.theme-gradient .tag,
.theme-gradient .badge {
  border-color: rgba(255, 255, 255, 0.5);
}

/* --------------------------------------------------------------------------
   3. TECH BLUE — 科技蓝纯色版：专业、可信、B2B
   纯蓝底 + 白字 + 白玻璃卡；关键数字/按钮用亮蓝白对比强化
   -------------------------------------------------------------------------- */
.theme-blue {
  --bg: #1736e8;
  --bg-2: #1026b8;
  --fg: #ffffff;
  --fg-dim: rgba(255, 255, 255, 0.96);
  --fg-mute: rgba(255, 255, 255, 0.82);
  --accent: #9db8ff;
  --line: rgba(255, 255, 255, 0.22);
  --line-strong: rgba(255, 255, 255, 0.42);
  --glow-opacity: 0.24;
  --card-bg: rgba(255, 255, 255, 0.94);
  --card-border: rgba(255, 255, 255, 0.8);
  --blue-key: #1736e8;
  --blue-bright: #2f5cff;
  color: var(--fg);
  background-color: var(--bg);
  background-image:
    linear-gradient(160deg, rgba(37, 70, 226, 0.9) 0%, rgba(23, 54, 232, 0) 52%),
    linear-gradient(180deg, #1736e8 0%, #1026b8 100%);
}

.theme-blue h1,
.theme-blue h2,
.theme-blue h3 {
  color: #ffffff;
  text-shadow: 0 2px 0 rgba(5, 14, 64, 0.42), 0 10px 28px rgba(5, 14, 64, 0.35);
}

.theme-blue p,
.theme-blue li {
  color: rgba(255, 255, 255, 0.92);
}

.theme-blue .glass-card {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 24px 60px -30px rgba(4, 12, 60, 0.75),
    inset 0 1px 0 rgba(255, 255, 255, 1);
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
  backdrop-filter: blur(14px) saturate(1.1);
}

.theme-blue .glass-card h3 {
  color: #0c1c7a;
}

.theme-blue .glass-card p,
.theme-blue .glass-card li {
  color: #3b4a86;
}

.theme-blue .btn--primary {
  background: #ffffff;
  color: var(--blue);
  box-shadow: 0 14px 34px -14px rgba(0, 0, 0, 0.4);
}

.theme-blue .btn--primary:hover {
  background: #eaf0ff;
  box-shadow: 0 18px 42px -14px rgba(157, 184, 255, 0.75);
}

.theme-blue .key-number,
.theme-gradient .key-number {
  color: #ffffff;
  text-shadow: 0 2px 0 rgba(5, 14, 64, 0.35), 0 12px 30px rgba(5, 14, 64, 0.3);
}

/* Grid/scan decorations used by dark, gradient and blue heroes */
.theme-dark-v2 .deco-grid,
.theme-gradient .deco-grid,
.theme-blue .deco-grid {
  opacity: 0.16;
}
