html { scroll-behavior: smooth; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; }

/* ============ 核心类名 ============ */
.gradient-text {
  background: linear-gradient(120deg, #2563eb 0%, #7c3aed 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.bg-grid {
  background-image: radial-gradient(rgba(124,58,237,.14) 1px, transparent 1px);
  background-size: 26px 26px;
}
.nav-blur {
  background: rgba(255,255,255,.85) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 8px 32px rgba(37,99,235,.12);
}
.card-hover {
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.card-hover:hover {
  transform: translateY(-10px);
  box-shadow: 0 26px 55px -20px rgba(124,58,237,.38);
  border-color: #8b5cf6;
}
.btn-glow {
  box-shadow: 0 12px 32px -6px rgba(124,58,237,.55);
}
.btn-glow:hover { box-shadow: 0 18px 46px -8px rgba(124,58,237,.66); }
.fade-in { animation: fadeInUp .85s ease both; }
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(26px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============ FAQ 手风琴 ============ */
.faq-item { border-bottom: 1px solid #e5e7eb; }
.faq-question { cursor: pointer; }
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease, padding .4s ease;
}
.faq-item.active .faq-answer { max-height: 280px; padding-bottom: 1.25rem; }
.faq-icon { transition: transform .4s ease; }
.faq-item.active .faq-icon { transform: rotate(180deg); }

/* ============ 轮播 ============ */
.testi-track {
  display: flex;
  transition: transform .6s cubic-bezier(.4,0,.2,1);
}
.testi-slide { flex: 0 0 100%; }
.testi-dot {
  width: 10px; height: 10px; border-radius: 9999px;
  background: #d1d5db; transition: all .3s ease; cursor: pointer;
}
.testi-dot.active {
  width: 30px; background: linear-gradient(90deg, #2563eb, #7c3aed);
}

/* ============ 榜单预览卡 ============ */
.rank-row { transition: background .25s ease; }
.rank-row:hover { background: #f5f3ff; }
