/* ============================================
   WPK赛事 0025 —— 竞技巅峰 · 金紫主题样式
   ============================================ */

:root {
  --indigo: #4f46e5;
  --indigo-deep: #4338ca;
  --amber: #f59e0b;
  --amber-deep: #d97706;
  --ink: #0f172a;
  --muted: #64748b;
  --line: #e2e8f0;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: 'PingFang SC', 'Microsoft YaHei', -apple-system, 'Segoe UI', 'Helvetica Neue', sans-serif;
  color: var(--ink);
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }

/* ---------- 渐变文字 ---------- */
.gradient-text {
  background: linear-gradient(120deg, var(--indigo) 0%, var(--amber) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* ---------- 网格背景 ---------- */
.bg-grid {
  background-image:
    linear-gradient(rgba(79, 70, 229, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(79, 70, 229, 0.055) 1px, transparent 1px);
  background-size: 44px 44px;
}

/* ---------- Navbar 毛玻璃 ---------- */
.nav-blur {
  background: rgba(255, 255, 255, 0.84) !important;
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  box-shadow: 0 8px 30px -12px rgba(15, 23, 42, 0.16);
}

/* ---------- 卡片 hover ---------- */
.card-hover {
  transition: transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s ease, border-color .35s ease;
}
.card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 48px -20px rgba(79, 70, 229, 0.38);
}

/* ---------- 按钮发光 ---------- */
.btn-glow {
  box-shadow: 0 12px 32px -10px rgba(245, 158, 11, 0.6);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.btn-glow:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px -10px rgba(245, 158, 11, 0.78);
  filter: brightness(1.04);
}

/* ---------- 淡入动画 ---------- */
.fade-in {
  opacity: 0;
  transform: translateY(26px);
  animation: fadeInUp .8s cubic-bezier(.2,.7,.3,1) forwards;
}
@keyframes fadeInUp {
  to { opacity: 1; transform: translateY(0); }
}
.delay-1 { animation-delay: .12s; }
.delay-2 { animation-delay: .24s; }
.delay-3 { animation-delay: .36s; }

/* ---------- FAQ 手风琴 ---------- */
.faq-item {
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.faq-item.active {
  border-color: var(--amber);
  box-shadow: 0 12px 30px -18px rgba(245, 158, 11, 0.55);
}
.faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 19px 22px;
  cursor: pointer;
  background: transparent;
  border: none;
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
  text-align: left;
  font-family: inherit;
}
.faq-icon {
  flex-shrink: 0;
  color: var(--amber);
  transition: transform .3s ease;
}
.faq-item.active .faq-icon { transform: rotate(180deg); }
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .42s ease, padding .42s ease;
  padding: 0 22px;
  color: var(--muted);
  line-height: 1.85;
  font-size: 14.5px;
}
.faq-item.active .faq-answer {
  max-height: 420px;
  padding-bottom: 20px;
}

/* ---------- 通用组件 ---------- */
.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 30px;
  border-radius: 999px;
  background: linear-gradient(120deg, var(--indigo) 0%, var(--amber-deep) 100%);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  box-shadow: 0 12px 32px -10px rgba(245, 158, 11, 0.6);
  transition: transform .25s ease, box-shadow .25s ease;
}
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px -10px rgba(245, 158, 11, 0.78);
}
.btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 30px;
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font-weight: 600;
  font-size: 15px;
  border: 1.5px solid var(--line);
  transition: all .25s ease;
}
.btn-secondary:hover {
  border-color: var(--indigo);
  color: var(--indigo);
}

.section-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  border-radius: 999px;
  background: rgba(79, 70, 229, 0.08);
  color: var(--indigo);
  font-size: 13px;
  font-weight: 600;
}
.section-title {
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.5px;
}
.section-subtitle {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
}

.trophy-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--indigo) 0%, var(--amber) 100%);
  color: #fff;
  font-size: 22px;
  box-shadow: 0 10px 24px -10px rgba(79, 70, 229, 0.5);
}

.rank-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}
.rank-1 { background: #fff7e0; color: #b45309; }
.rank-2 { background: #eef2ff; color: #4338ca; }
.rank-3 { background: #fff1f2; color: #be123c; }
