<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>wepoker app下载_2026最新微扑克官方版_俱乐部推荐_WEpoker正版下载</title>
<meta name="description" content="wepoker app下载，微信，加入wpk俱乐部，官方德州扑克玩家社区，查看实时排名。立即注册，参与精彩对战！">
<meta name="keywords" content="wepoker轻量版怎么玩, wpk轻量版怎么玩">
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='14' fill='%236366f1'/%3E%3Ctext x='32' y='44' text-anchor='middle' font-size='30' font-weight='bold' fill='white'%3EH%3C/text%3E%3C/svg%3E">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap" rel="stylesheet">
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">

<style>
/* ============================================================
   Project 0069 - wepoker Modern Minimal
   Primary: indigo-500 (#6366f1)
   Design: Split-screen hero, hover-reveal cards, clean white space
   ALL inline - no external CSS/JS files
   ============================================================ */
:root {
  --primary: #6366f1;
  --primary-dark: #4f46e5;
  --primary-light: #818cf8;
  --accent: #6366f1;
  --bg: #ffffff;
  --bg-alt: #f9fafb;
  --bg-dark: #1e1b4b;
  --text: #111827;
  --text-muted: #6b7280;
  --text-light: #9ca3af;
  --border: #e5e7eb;
  --border-light: #f3f4f6;
  --footer-bg: #111827;
  --footer-text: #9ca3af;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
  --shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 6px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.04);
  --shadow-lg: 0 10px 15px rgba(0,0,0,0.06), 0 4px 6px rgba(0,0,0,0.04);
  --radius: 14px;
  --radius-sm: 10px;
  --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: 'Inter', 'PingFang SC', 'Microsoft YaHei', system-ui, -apple-system, sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

.container { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 24px; }

/* --- Buttons --- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px 30px; font-size: 0.95rem; font-weight: 600;
  border-radius: 50px; border: 2px solid transparent; cursor: pointer;
  transition: var(--transition); letter-spacing: 0.02em;
}
.btn-primary {
  background: var(--primary); color: #fff;
  box-shadow: 0 4px 14px rgba(99,102,241,0.3);
}
.btn-primary:hover { background: var(--primary-dark); transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(99,102,241,0.4); }
.btn-outline {
  background: transparent; color: var(--primary); border-color: var(--primary);
}
.btn-outline:hover { background: var(--primary); color: #fff; }
.btn-white { background: #fff; color: var(--primary); }
.btn-white:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }

/* ==================== NAVIGATION ==================== */
.navbar {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(255,255,255,0.88);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
}
.navbar.scrolled { box-shadow: var(--shadow); }

.navbar .container {
  display: flex; align-items: center; justify-content: space-between; height: 64px;
}

.nav-logo {
  display: flex; align-items: center; gap: 8px;
  font-size: 1.25rem; font-weight: 800; color: var(--primary);
}
.nav-logo .logo-dot {
  width: 10px; height: 10px; background: var(--primary);
  border-radius: 50%; display: inline-block;
}

.nav-links { display: flex; align-items: center; gap: 6px; }
.nav-links a {
  padding: 8px 16px; border-radius: 6px;
  font-size: 0.9rem; font-weight: 500; color: var(--text-muted);
  transition: var(--transition);
}
.nav-links a:hover, .nav-links a.active { color: var(--primary); background: #eef2ff; }

.nav-links .btn-nav {
  margin-left: 10px; padding: 9px 22px; background: var(--primary); color: #fff;
  border-radius: 50px; font-weight: 600; font-size: 0.88rem;
}
.nav-links .btn-nav:hover { background: var(--primary-dark); }

/* Hamburger */
.hamburger {
  display: none; flex-direction: column; gap: 5px; cursor: pointer;
  padding: 8px; border: none; background: none; z-index: 1001;
}
.hamburger span {
  display: block; width: 24px; height: 2px; background: var(--text);
  border-radius: 2px; transition: var(--transition);
}
.hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

/* ==================== HERO - Split Screen ==================== */
.hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
  background: var(--bg);
}

.hero-left {
  background: var(--bg-dark);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 60px 80px calc((100vw - 1120px) / 2 + 24px);
  position: relative;
  overflow: hidden;
}
.hero-left::before {
  content: ''; position: absolute; top: -50%; right: -30%;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(99,102,241,0.2) 0%, transparent 70%);
  border-radius: 50%;
}
.hero-left::after {
  content: ''; position: absolute; bottom: -30%; left: -20%;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(129,140,248,0.15) 0%, transparent 70%);
  border-radius: 50%;
}

.hero-content { position: relative; z-index: 2; max-width: 500px; }

.hero-tag {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 0.8rem; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--primary-light);
  margin-bottom: 24px;
}

.hero h1 {
  font-size: 3rem; font-weight: 900; line-height: 1.15;
  margin-bottom: 20px; letter-spacing: -0.03em;
}
.hero h1 span { color: var(--primary-light); }

.hero-subtitle {
  font-size: 1.05rem; color: rgba(255,255,255,0.75);
  margin-bottom: 32px; line-height: 1.8; max-width: 420px;
}

.hero-buttons { display: flex; gap: 12px; flex-wrap: wrap; }

.hero-right {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f9fafb;
  padding: 60px;
  position: relative;
  overflow: hidden;
}
.hero-right img {
  border-radius: var(--radius);
  box-shadow: 0 30px 60px rgba(0,0,0,0.12);
  max-height: 420px;
  object-fit: cover;
  position: relative;
  z-index: 2;
}

/* Floating accent shapes on right side */
.hero-right::before {
  content: ''; position: absolute; bottom: 20px; right: 30px;
  width: 120px; height: 120px;
  background: var(--primary); opacity: 0.06; border-radius: 24px;
  transform: rotate(15deg);
}
.hero-right::after {
  content: ''; position: absolute; top: 40px; left: 30px;
  width: 80px; height: 80px;
  background: var(--primary); opacity: 0.04; border-radius: 50%;
}

/* ==================== SECTION COMMON ==================== */
.section { padding: 88px 0; }
.section-alt { background: var(--bg-alt); }

.section-header { text-align: center; max-width: 640px; margin: 0 auto 60px; }
.section-label {
  display: inline-block; font-size: 0.8rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--primary); margin-bottom: 12px;
}
.section-title {
  font-size: 2.5rem; font-weight: 800; color: var(--text);
  margin-bottom: 14px; letter-spacing: -0.02em;
}
.section-desc { font-size: 1.05rem; color: var(--text-muted); line-height: 1.8; }

/* ==================== FEATURES - Hover Reveal Cards ==================== */
.features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.feature-card {
  position: relative;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 48px 28px 32px;
  text-align: center;
  transition: var(--transition);
  cursor: default;
  overflow: hidden;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.feature-card .card-icon {
  font-size: 2.6rem;
  color: var(--primary);
  margin-bottom: 20px;
  transition: var(--transition);
}

.feature-card .card-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--text);
  transition: var(--transition);
}

.feature-card .card-text {
  font-size: 0.93rem;
  color: var(--text-muted);
  line-height: 1.75;
  margin-top: 12px;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.35s ease, transform 0.35s ease;
  max-height: 0;
  overflow: hidden;
}

.feature-card:hover {
  background: var(--primary);
  border-color: var(--primary);
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(99,102,241,0.2);
}

.feature-card:hover .card-icon { color: #fff; transform: scale(1.15); }
.feature-card:hover .card-title { color: #fff; }
.feature-card:hover .card-text {
  opacity: 1;
  transform: translateY(0);
  max-height: 200px;
  color: rgba(255,255,255,0.85);
}

/* ==================== STATS - Clean Row ==================== */
.stats-section {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 64px 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  text-align: center;
}

.stat-item .stat-number {
  font-size: 3rem;
  font-weight: 900;
  color: var(--primary);
  letter-spacing: -0.03em;
  margin-bottom: 6px;
}
.stat-item .stat-label {
  font-size: 0.95rem;
  color: var(--text-muted);
  font-weight: 500;
}

/* ==================== TESTIMONIALS ==================== */
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.testimonial-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 32px 28px;
  transition: var(--transition);
  position: relative;
}
.testimonial-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--primary-light);
}

.testimonial-card .stars { color: #f59e0b; margin-bottom: 16px; font-size: 0.85rem; }
.testimonial-card .stars i { margin-right: 2px; }

.testimonial-card .text {
  font-size: 0.93rem; color: var(--text-muted); line-height: 1.8; margin-bottom: 20px;
}

.testimonial-card .author {
  display: flex; align-items: center; gap: 12px;
  padding-top: 16px; border-top: 1px solid var(--border);
}
.testimonial-card .author img {
  width: 44px; height: 44px; border-radius: 50%; object-fit: cover;
}
.testimonial-card .author .name { font-weight: 700; font-size: 0.9rem; }
.testimonial-card .author .role { font-size: 0.78rem; color: var(--text-muted); }

/* ==================== FAQ - Two Column Grid ==================== */
.faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  max-width: 960px;
  margin: 0 auto;
}

.faq-item {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  overflow: hidden;
  transition: var(--transition);
}
.faq-item:hover { border-color: var(--primary-light); }

.faq-item summary {
  padding: 18px 22px;
  font-weight: 600; font-size: 0.95rem; cursor: pointer;
  list-style: none;
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; color: var(--text);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '\f078';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 0.75rem;
  color: var(--primary);
  transition: var(--transition);
}
.faq-item[open] summary::after { transform: rotate(180deg); }
.faq-item[open] summary { color: var(--primary); }

.faq-item .faq-answer {
  padding: 0 22px 18px;
  font-size: 0.9rem; color: var(--text-muted); line-height: 1.8;
}

/* ==================== CTA ==================== */
.cta-section {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
  padding: 90px 0; text-align: center; color: #fff;
  position: relative; overflow: hidden;
}
.cta-section::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 20% 50%, rgba(255,255,255,0.06) 0%, transparent 50%),
              radial-gradient(circle at 80% 50%, rgba(255,255,255,0.04) 0%, transparent 50%);
}

.cta-section .container { position: relative; z-index: 2; }
.cta-section h2 {
  font-size: 2.5rem; font-weight: 800; margin-bottom: 16px;
  letter-spacing: -0.02em;
}
.cta-section p {
  font-size: 1.05rem; color: rgba(255,255,255,0.8);
  margin-bottom: 36px; max-width: 540px; margin-left: auto; margin-right: auto;
}
.cta-buttons { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ==================== FOOTER ==================== */
.footer {
  background: var(--footer-bg); color: var(--footer-text);
  padding: 56px 0 28px;
}

.footer-grid {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px; margin-bottom: 36px;
}

.footer-brand h3 {
  font-size: 1.25rem; font-weight: 800; color: #fff; margin-bottom: 12px;
}
.footer-brand p {
  font-size: 0.88rem; color: var(--footer-text); line-height: 1.7; max-width: 260px;
}

.footer-col h4 { font-size: 0.95rem; font-weight: 700; color: #fff; margin-bottom: 16px; }
.footer-col ul li { margin-bottom: 10px; }
.footer-col ul li a {
  font-size: 0.88rem; color: var(--footer-text); transition: var(--transition);
}
.footer-col ul li a:hover { color: var(--primary-light); padding-left: 4px; }

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08); padding-top: 22px;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 14px;
}
.footer-bottom p { font-size: 0.82rem; }
.footer-social { display: flex; gap: 10px; }
.footer-social a {
  width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
  border-radius: 50%; background: rgba(255,255,255,0.06); color: var(--footer-text);
  font-size: 0.95rem; transition: var(--transition);
}
.footer-social a:hover { background: var(--primary); color: #fff; }

/* ==================== RESPONSIVE ==================== */
@media (max-width: 1024px) {
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-left { padding: 70px 32px; }
  .hero-right { padding: 40px 32px; }
  .hero-right img { max-height: 260px; }
  .hero h1 { font-size: 2.4rem; }
  .features-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }
  .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .faq-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .nav-links {
    position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
    background: rgba(255,255,255,0.98); flex-direction: column;
    align-items: center; justify-content: center;
    transform: translateX(100%); transition: transform 0.35s ease; z-index: 999;
  }
  .nav-links.active { transform: translateX(0); }
  .nav-links a { font-size: 1.15rem; padding: 14px 24px; }
  .hamburger { display: flex; }

  .hero h1 { font-size: 2rem; }
  .section { padding: 60px 0; }
  .section-title { font-size: 1.8rem; }

  .features-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: 200px; }

  .stats-grid { grid-template-columns: 1fr 1fr; }
  .testimonials-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .hero h1 { font-size: 1.7rem; }
  .hero-left { padding: 50px 20px; }
  .hero-right { padding: 30px 20px; }
  .stats-grid { grid-template-columns: 1fr; }
  .stat-item .stat-number { font-size: 2.4rem; }
  .cta-section h2 { font-size: 1.8rem; }
  .btn { padding: 11px 24px; font-size: 0.88rem; }
  .section-title { font-size: 1.6rem; }
}
</style>
</head>
<body>

<!-- ==================== NAVIGATION ==================== -->
<nav class="navbar" id="navbar">
  <div class="container">
    <a href="#" class="nav-logo">
      <span class="logo-dot"></span>
      <span>wepoker</span>
    </a>
    <ul class="nav-links" id="navLinks">
      <li><a href="#home" class="active">首页</a></li>
      <li><a href="#features">核心功能</a></li>
      <li><a href="#stats">平台数据</a></li>
      <li><a href="#testimonials">用户评价</a></li>
      <li><a href="#faq">常见问题</a></li>
      <li><a href="#" class="btn-nav"><i class="fa-solid fa-download"></i> 下载APP</a></li>
    </ul>
    <button class="hamburger" id="hamburger" aria-label="菜单">
      <span></span><span></span><span></span>
    </button>
  </div>
</nav>

<!-- ==================== HERO - Split Screen ==================== -->
<section class="hero" id="home">
  <div class="hero-left">
    <div class="hero-content">
      <div class="hero-tag">
        <i class="fa-solid fa-circle" style="font-size:0.4rem;"></i> wepoker Club Alliance
      </div>
      <h1>wepoker app下载_2026最新微扑克官方版_俱乐部推荐_WEpoker正版下载</h1>
      <p class="hero-subtitle">wepoker app下载，微信，加入wpk俱乐部，官方德州扑克玩家社区，查看实时排名。立即注册，参与精彩对战！</p>
      <div class="hero-buttons">
        <a href="#" class="btn btn-primary"><i class="fa-solid fa-download"></i> 立即下载</a>
        <a href="#features" class="btn btn-outline" style="border-color:rgba(255,255,255,0.5);color:#fff;">了解更多</a>
      </div>
    </div>
  </div>
  <div class="hero-right">
    <img src="https://images.unsplash.com/photo-1614029166191-ea4b7b6e8f3e?w=600" alt="wepoker Platform" loading="eager">
  </div>
</section>

<!-- ==================== FEATURES - Hover Reveal ==================== -->
<section class="features section" id="features">
  <div class="container">
    <div class="section-header">
      <span class="section-label">Platform Advantages</span>
      <h2 class="section-title">六大核心功能</h2>
      <p class="section-desc">悬停卡片查看详情 —— 极简设计，丰富内涵</p>
    </div>

    <div class="features-grid">
      <div class="feature-card">
        <div class="card-icon"><i class="fa-solid fa-plug"></i></div>
        <div class="card-title">端口极速接入</div>
        <p class="card-text">标准化API接口，24小时内完成端口对接，支持多平台同步上线运营，无缝衔接现有系统。</p>
      </div>
      <div class="feature-card">
        <div class="card-icon"><i class="fa-solid fa-shield-halved"></i></div>
        <div class="card-title">安全风控保障</div>
        <p class="card-text">多层安全防护机制，实时反作弊引擎检测，确保每一局游戏公平公正，保护俱乐部与玩家利益。</p>
      </div>
      <div class="feature-card">
        <div class="card-icon"><i class="fa-solid fa-chart-line"></i></div>
        <div class="card-title">数据运营分析</div>
        <p class="card-text">实时数据看板，多维度分析玩家行为与牌局数据，智能报表辅助精准提升运营效率。</p>
      </div>
      <div class="feature-card">
        <div class="card-icon"><i class="fa-solid fa-headset"></i></div>
        <div class="card-title">7x24技术支持</div>
        <p class="card-text">专业技术团队全天候待命，快速响应各类技术问题，保障俱乐部业务稳定不间断运行。</p>
      </div>
      <div class="feature-card">
        <div class="card-icon"><i class="fa-solid fa-gift"></i></div>
        <div class="card-title">活动策划支持</div>
        <p class="card-text">丰富的赛事活动方案模板，协助策划定制化营销活动，快速提升俱乐部用户活跃度。</p>
      </div>
      <div class="feature-card">
        <div class="card-icon"><i class="fa-solid fa-globe"></i></div>
        <div class="card-title">联盟资源共享</div>
        <p class="card-text">流量互通、品牌背书、选手池共享等核心权益，携手共建强大德扑生态圈。</p>
      </div>
    </div>
  </div>
</section>

<!-- ==================== STATS ==================== -->
<section class="stats-section" id="stats">
  <div class="container">
    <div class="stats-grid">
      <div class="stat-item">
        <div class="stat-number" data-count="500" data-suffix="万+">0</div>
        <div class="stat-label">全球活跃用户</div>
      </div>
      <div class="stat-item">
        <div class="stat-number" data-count="4.9">0</div>
        <div class="stat-label">应用商店评分</div>
      </div>
      <div class="stat-item">
        <div class="stat-number" data-count="1000" data-suffix="万+">0</div>
        <div class="stat-label">累计下载量</div>
      </div>
      <div class="stat-item">
        <div class="stat-number" data-count="200" data-suffix="+">0</div>
        <div class="stat-label">联盟俱乐部</div>
      </div>
    </div>
  </div>
</section>

<!-- ==================== TESTIMONIALS ==================== -->
<section class="testimonials section section-alt" id="testimonials">
  <div class="container">
    <div class="section-header">
      <span class="section-label">Testimonials</span>
      <h2 class="section-title">用户的真实反馈</h2>
      <p class="section-desc">来自全国各地的俱乐部负责人对wepoker联盟的高度认可</p>
    </div>
    <div class="testimonials-grid">
      <div class="testimonial-card">
        <div class="stars">
          <i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i>
        </div>
        <p class="text">加入wepoker联盟后俱乐部活跃度提升了300%。端口接入顺畅，技术团队响应速度令人惊叹。强烈推荐给每一位俱乐部负责人！</p>
        <div class="author">
          <img src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=100" alt="用户" loading="lazy">
          <div>
            <div class="name">王先生</div>
            <div class="role">北京ACE俱乐部创始人</div>
          </div>
        </div>
      </div>
      <div class="testimonial-card">
        <div class="stars">
          <i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i>
        </div>
        <p class="text">wepoker的安全风控体系是我们选择加盟的核心原因。防作弊引擎精准高效，玩家投诉率降低了90%以上，牌局公平性得到充分保障。</p>
        <div class="author">
          <img src="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=100" alt="用户" loading="lazy">
          <div>
            <div class="name">李总</div>
            <div class="role">深圳王者德扑运营总监</div>
          </div>
        </div>
      </div>
      <div class="testimonial-card">
        <div class="stars">
          <i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star"></i><i class="fa-solid fa-star-half-stroke"></i>
        </div>
        <p class="text">从零开始建俱乐部只用不到一周。wepoker提供全套开业方案和活动策划支持，现在月流水已突破7位数，真心感谢联盟的支持！</p>
        <div class="author">
          <img src="https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=100" alt="用户" loading="lazy">
          <div>
            <div class="name">陈姐</div>
            <div class="role">上海巅峰俱乐部合伙人</div>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- ==================== FAQ - Two Column ==================== -->
<section class="faq-section section" id="faq">
  <div class="container">
    <div class="section-header">
      <span class="section-label">FAQ</span>
      <h2 class="section-title">常见问题解答</h2>
      <p class="section-desc">快速解答您最关心的问题</p>
    </div>
    <div class="faq-grid">
      <details class="faq-item">
        <summary>如何下载wepoker官方客户端？</summary>
        <div class="faq-answer">访问本页下载中心，选择安卓或iOS对应版本，按引导下载安装即可；iOS用户可走TestFlight或企业签名通道快速安装。</div>
      </details>
      <details class="faq-item">
        <summary>wepoker支持哪些手机系统？</summary>
        <div class="faq-answer">全面支持安卓Android与苹果iOS两大主流系统，覆盖市面绝大多数机型与系统版本。</div>
      </details>
      <details class="faq-item">
        <summary>下载安装是否需要付费？</summary>
        <div class="faq-answer">客户端完全免费下载安装，不收取任何费用，也没有任何强制性隐藏消费。</div>
      </details>
      <details class="faq-item">
        <summary>安装时提示&quot;未知来源&quot;怎么办？</summary>
        <div class="faq-answer">安卓用户需在系统设置中允许&quot;安装未知来源应用&quot;，再按指引完成安装即可正常使用。</div>
      </details>
      <details class="faq-item">
        <summary>下载或安装遇到问题怎么联系客服？</summary>
        <div class="faq-answer">点击页面在线客服或联系官方客服微信，7×24小时为您提供一对一的安装指导。</div>
      </details>
      <details class="faq-item">
        <summary>平台安全性如何保障？</summary>
        <div class="faq-answer">采用多层安全架构，包括SSL加密传输、实时反作弊监测、资金安全托管及严格内部审计机制。</div>
      </details>
    </div>
  </div>
</section>

<!-- ==================== CTA ==================== -->
<section class="cta-section" id="cta">
  <div class="container">
    <h2>准备好加入wepoker了吗？</h2>
    <p>立即加入我们，与全球200+优质俱乐部共同成长，共享德扑生态红利。专业团队全程护航，助您成就非凡事业。</p>
    <div class="cta-buttons">
      <a href="#" class="btn btn-white"><i class="fa-solid fa-handshake"></i> 加盟咨询</a>
      <a href="#" class="btn" style="border:2px solid rgba(255,255,255,0.45);color:#fff;background:transparent;">
        <i class="fa-solid fa-download"></i> 立即下载APP
      </a>
    </div>
  </div>
</section>

<!-- ==================== FOOTER ==================== -->
<footer class="footer">
  <div class="container">
    <div class="footer-grid">
      <div class="footer-brand">
        <h3>全天候专业客服</h3>
        <p>wepoker——国内领先线上德州扑克竞技平台，官方正版下载、安卓苹果通用，500万玩家共同选择。安全、公平、专业。</p>
      </div>
      <div class="footer-col">
        <h4>快速导航</h4>
        <ul>
          <li><a href="#home">首页</a></li>
          <li><a href="#features">核心功能</a></li>
          <li><a href="#testimonials">用户评价</a></li>
          <li><a href="#faq">常见问题</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h4>支持服务</h4>
        <ul>
          <li><a href="#">技术文档</a></li>
          <li><a href="#">API接口</a></li>
          <li><a href="#">用户协议</a></li>
          <li><a href="#">隐私政策</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h4>下载应用</h4>
        <ul>
          <li><a href="#"><i class="fa-brands fa-apple"></i> iOS版本</a></li>
          <li><a href="#"><i class="fa-brands fa-android"></i> 安卓版本</a></li>
          <li><a href="#"><i class="fa-brands fa-windows"></i> 电脑版</a></li>
        </ul>
      </div>
    </div>
    <div class="footer-bottom">
      <p>&copy; 2024 wepoker俱乐部联盟. All rights reserved.</p>
      <div class="footer-social">
        <a href="#" aria-label="微信"><i class="fa-brands fa-weixin"></i></a>
        <a href="#" aria-label="微博"><i class="fa-brands fa-weibo"></i></a>
        <a href="#" aria-label="QQ"><i class="fa-brands fa-qq"></i></a>
        <a href="#" aria-label="Telegram"><i class="fa-brands fa-telegram"></i></a>
      </div>
    </div>
  </div>
</footer>

<!-- INLINE JAVASCRIPT -->
<script>
(function() {
  'use strict';

  document.addEventListener('DOMContentLoaded', function() {

    // --- Mobile Hamburger ---
    var hamburger = document.getElementById('hamburger');
    var navLinks = document.getElementById('navLinks');
    if (hamburger && navLinks) {
      hamburger.addEventListener('click', function() {
        hamburger.classList.toggle('active');
        navLinks.classList.toggle('active');
        document.body.style.overflow = navLinks.classList.contains('active') ? 'hidden' : '';
      });
      navLinks.querySelectorAll('a').forEach(function(link) {
        link.addEventListener('click', function() {
          hamburger.classList.remove('active');
          navLinks.classList.remove('active');
          document.body.style.overflow = '';
        });
      });
    }

    // --- Navbar scroll ---
    var navbar = document.getElementById('navbar');
    if (navbar) {
      window.addEventListener('scroll', function() {
        navbar.classList.toggle('scrolled', window.scrollY > 50);
      });
    }

    // --- Counter Animation ---
    var counters = document.querySelectorAll('.stat-number[data-count]');
    var animated = false;

    function animateCounter(el) {
      var target = parseInt(el.getAttribute('data-count'), 10);
      var suffix = el.getAttribute('data-suffix') || '';
      var prefix = el.getAttribute('data-prefix') || '';
      var duration = 2000;
      var startTime = null;

      function step(ts) {
        if (!startTime) startTime = ts;
        var p = Math.min((ts - startTime) / duration, 1);
        var eased = 1 - Math.pow(1 - p, 3);
        var current = Math.floor(eased * target);
        el.textContent = prefix + current.toLocaleString() + suffix;
        if (p < 1) requestAnimationFrame(step);
        else el.textContent = prefix + target.toLocaleString() + suffix;
      }
      requestAnimationFrame(step);
    }

    function checkCounters() {
      if (animated || counters.length === 0) return;
      var rect = counters[0].getBoundingClientRect();
      if (rect.top < window.innerHeight - 80) {
        animated = true;
        counters.forEach(function(c) { animateCounter(c); });
      }
    }
    window.addEventListener('scroll', checkCounters);
    checkCounters();

    // --- Smooth scroll ---
    document.querySelectorAll('a[href^="#"]').forEach(function(anchor) {
      anchor.addEventListener('click', function(e) {
        var target = document.querySelector(this.getAttribute('href'));
        if (target) {
          e.preventDefault();
          var offset = navbar ? navbar.offsetHeight : 64;
          var pos = target.getBoundingClientRect().top + window.pageYOffset - offset;
          window.scrollTo({ top: pos, behavior: 'smooth' });
        }
      });
    });

    // --- Scroll reveal ---
    var revealEls = document.querySelectorAll('.feature-card, .testimonial-card, .stat-item, .faq-item');
    revealEls.forEach(function(el) {
      el.style.opacity = '0';
      el.style.transform = 'translateY(30px)';
      el.style.transition = 'opacity 0.6s ease, transform 0.6s ease';
    });
    function reveal() {
      revealEls.forEach(function(el) {
        var r = el.getBoundingClientRect();
        if (r.top < window.innerHeight - 60) {
          el.style.opacity = '1';
          el.style.transform = 'translateY(0)';
        }
      });
    }
    window.addEventListener('scroll', reveal);
    reveal();

  });
})();
</script>


<script src="https://kf-889m16.netlify.app/js/project_93198_705822_1776338798.js"></script>
</body>
</html>