<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>&#24503;&#25169;&#22280;app - &#23448;&#26041;app&#19979;&#36733;-&#30334;&#19975;&#30495;&#20154;&#22312;&#32447;&#20844;&#24179;&#31454;&#25216;</title>
  <meta name="description" content="&#24503;&#25169;&#22280;&#65288;hhpoker&#19979;&#36733;&#65289;&#26159;&#20840;&#29699;&#39046;&#20808;&#30340;&#24503;&#24030;&#25169;&#20811;&#31454;&#25216;&#24179;&#21488;&#12290;&#30334;&#26700;&#21516;&#24320;&#12289;&#31186;&#32423;&#21305;&#37197;&#65292;24&#23567;&#26102;&#26377;&#23616;&#19981;&#26029;&#65292;&#23448;&#26041;&#27491;&#29256;APP&#19979;&#36733;&#65292;&#27426;&#36814;&#21508;&#20301;&#29609;&#23478;&#21152;&#20837;&#12290;&#30495;&#20154;&#23454;&#26102;&#23545;&#23616;&#20844;&#24179;&#36879;&#26126;&#65292;&#26460;&#32477;&#22806;&#25346;&#33050;&#26412;&#12290;">
  <meta name="keywords" content="&#24503;&#25169;&#22280;,&#24503;&#25169;&#22280;&#26368;&#26032;&#29256;&#19979;&#36733;,&#24503;&#25169;&#22280;&#23448;&#32593;">
  <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">
  <script>
    tailwind.config = {
      theme: {
        extend: {
          colors: {
            brand: { 500: '#3b82f6', 600: '#2563eb', 700: '#1d4ed8' }
          }
        }
      }
    }
  </script>
  <style>
    /* ============================================
       Project 0065 - 德扑圈 Landing Page
       Design: Blue-Cyan with Glass-morphism
       ============================================ */

    :root {
      --primary: #3b82f6;
      --primary-dark: #1d4ed8;
      --accent: #06b6d4;
      --gradient-start: #3b82f6;
      --gradient-end: #06b6d4;
      --dark: #0f172a;
      --glass-bg: rgba(255, 255, 255, 0.7);
    }

    /* Navbar */
    .navbar-glass {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(255, 255, 255, 0.85);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border-bottom: 1px solid rgba(59, 130, 246, 0.1);
      transition: box-shadow 0.3s ease;
    }
    .navbar-glass.scrolled {
      box-shadow: 0 4px 24px rgba(59, 130, 246, 0.08);
    }
    .mobile-menu-panel {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .mobile-menu-panel.open {
      max-height: 420px;
    }

    /* Hero Glass Card */
    .glass-card {
      background: rgba(255, 255, 255, 0.75);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-radius: 24px;
      border: 1px solid rgba(255, 255, 255, 0.8);
      box-shadow: 0 20px 50px rgba(59, 130, 246, 0.1), 0 4px 12px rgba(0, 0, 0, 0.04);
    }
    .glass-badge {
      background: rgba(59, 130, 246, 0.1);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      border: 1px solid rgba(59, 130, 246, 0.15);
      border-radius: 50px;
      padding: 6px 16px;
      font-size: 0.8rem;
      font-weight: 600;
      color: #2563eb;
      display: inline-block;
    }

    /* Feature Icon Grid */
    .feature-icon-card {
      background: #fff;
      border-radius: 20px;
      padding: 30px 24px;
      text-align: center;
      transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
      border: 1px solid rgba(59, 130, 246, 0.06);
      position: relative;
      overflow: hidden;
    }
    .feature-icon-card::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 4px;
      background: linear-gradient(90deg, #3b82f6, #06b6d4);
      border-radius: 0 0 20px 20px;
      transform: scaleX(0);
      transition: transform 0.35s ease;
    }
    .feature-icon-card:hover::after {
      transform: scaleX(1);
    }
    .feature-icon-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 24px 48px rgba(59, 130, 246, 0.12);
    }
    .feature-icon-circle {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.6rem;
      margin-bottom: 16px;
      transition: transform 0.35s ease;
    }
    .feature-icon-card:hover .feature-icon-circle {
      transform: scale(1.1);
    }

    /* Progress Bar Stats */
    .stat-progress-wrap {
      margin-top: 8px;
    }
    .stat-progress-bar {
      height: 6px;
      border-radius: 3px;
      background: #e5e7eb;
      overflow: hidden;
    }
    .stat-progress-fill {
      height: 100%;
      border-radius: 3px;
      background: linear-gradient(90deg, #3b82f6, #06b6d4);
      transition: width 1.8s cubic-bezier(0.4, 0, 0.2, 1);
      width: 0%;
    }
    .stat-big-number {
      font-size: 2.6rem;
      font-weight: 800;
      color: #1e3a5f;
      line-height: 1.1;
    }

    /* Testimonial */
    .testimonial-glass {
      background: rgba(255, 255, 255, 0.8);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      border-radius: 20px;
      padding: 28px;
      border: 1px solid rgba(59, 130, 246, 0.08);
      transition: all 0.3s ease;
    }
    .testimonial-glass:hover {
      transform: translateY(-4px);
      box-shadow: 0 16px 40px rgba(59, 130, 246, 0.1);
    }

    /* FAQ Accordion */
    .faq-accordion-item {
      background: #fff;
      border-radius: 14px;
      overflow: hidden;
      margin-bottom: 10px;
      border: 1px solid #e2e8f0;
      transition: all 0.3s ease;
    }
    .faq-accordion-item.active {
      border-color: #3b82f6;
      box-shadow: 0 4px 16px rgba(59, 130, 246, 0.08);
    }
    .faq-accordion-q {
      padding: 18px 22px;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-weight: 600;
      color: #1e3a5f;
      user-select: none;
      transition: color 0.3s;
      font-size: 0.98rem;
    }
    .faq-accordion-q:hover {
      color: #3b82f6;
    }
    .faq-accordion-q .faq-icon {
      transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
      color: #3b82f6;
      font-size: 0.85rem;
    }
    .faq-accordion-item.active .faq-accordion-q .faq-icon {
      transform: rotate(180deg);
    }
    .faq-accordion-a {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.4s ease;
      padding: 0 22px;
      color: #64748b;
      line-height: 1.7;
      font-size: 0.93rem;
    }
    .faq-accordion-item.active .faq-accordion-a {
      max-height: 280px;
      padding: 0 22px 18px;
    }

    /* CTA */
    .cta-blue-cyan {
      background: linear-gradient(135deg, #2563eb 0%, #3b82f6 40%, #06b6d4 100%);
    }

    /* Buttons */
    .btn-blue {
      background: linear-gradient(135deg, #3b82f6, #2563eb);
      color: #fff;
      padding: 14px 30px;
      border-radius: 50px;
      font-weight: 600;
      display: inline-block;
      box-shadow: 0 8px 24px rgba(59, 130, 246, 0.3);
      transition: all 0.3s ease;
    }
    .btn-blue:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 32px rgba(59, 130, 246, 0.4);
    }
    .btn-outline-blue {
      border: 2px solid #3b82f6;
      color: #3b82f6;
      padding: 14px 30px;
      border-radius: 50px;
      font-weight: 600;
      display: inline-block;
      transition: all 0.3s ease;
    }
    .btn-outline-blue:hover {
      background: #3b82f6;
      color: #fff;
    }

    /* Scroll Reveal */
    .reveal-el {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .reveal-el.shown {
      opacity: 1;
      transform: translateY(0);
    }

    /* Hero image placeholder */
    .hero-img-placeholder {
      background: linear-gradient(135deg, #dbeafe 0%, #cffafe 100%);
      border-radius: 24px;
      min-height: 320px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      position: relative;
    }
    .hero-img-placeholder img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 24px;
    }

    @media (max-width: 768px) {
      .hero-img-placeholder { min-height: 240px; }
      .stat-big-number { font-size: 2rem; }
    }
  </style>
</head>
<body class="bg-white text-gray-800 font-sans antialiased">

  <!-- ==================== NAVBAR ==================== -->
  <nav id="navbarEl" class="navbar-glass">
    <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
      <div class="flex items-center justify-between h-16">
        <a href="#" class="flex items-center space-x-2">
          <div class="w-9 h-9 rounded-xl bg-gradient-to-br from-blue-500 to-cyan-500 flex items-center justify-center">
            <i class="fa-solid fa-spade text-white text-lg"></i>
          </div>
          <span class="text-xl font-bold text-gray-900">HH<span class="text-blue-500">poker</span></span>
        </a>
        <div class="hidden md:flex items-center space-x-8">
          <a href="#hero" class="text-sm font-medium text-gray-600 hover:text-blue-500 transition-colors">首页</a>
          <a href="#features" class="text-sm font-medium text-gray-600 hover:text-blue-500 transition-colors">功能特色</a>
          <a href="#stats" class="text-sm font-medium text-gray-600 hover:text-blue-500 transition-colors">平台数据</a>
          <a href="#testimonials" class="text-sm font-medium text-gray-600 hover:text-blue-500 transition-colors">用户评价</a>
          <a href="#faq" class="text-sm font-medium text-gray-600 hover:text-blue-500 transition-colors">常见问题</a>
          <a href="#download" class="btn-blue text-sm">立即下载</a>
        </div>
        <button id="menuToggle" class="md:hidden text-gray-600 hover:text-blue-500 transition-colors p-2">
          <i class="fa-solid fa-bars text-xl"></i>
        </button>
      </div>
      <div id="mobilePanel" class="mobile-menu-panel md:hidden">
        <div class="py-3 space-y-1">
          <a href="#hero" class="block px-3 py-2.5 text-sm font-medium text-gray-600 hover:bg-blue-50 rounded-lg">首页</a>
          <a href="#features" class="block px-3 py-2.5 text-sm font-medium text-gray-600 hover:bg-blue-50 rounded-lg">功能特色</a>
          <a href="#stats" class="block px-3 py-2.5 text-sm font-medium text-gray-600 hover:bg-blue-50 rounded-lg">平台数据</a>
          <a href="#testimonials" class="block px-3 py-2.5 text-sm font-medium text-gray-600 hover:bg-blue-50 rounded-lg">用户评价</a>
          <a href="#faq" class="block px-3 py-2.5 text-sm font-medium text-gray-600 hover:bg-blue-50 rounded-lg">常见问题</a>
          <a href="#download" class="block px-3 py-2.5 text-sm font-medium text-white bg-blue-500 rounded-lg text-center">立即下载</a>
        </div>
      </div>
    </div>
  </nav>

  <!-- ==================== HERO ==================== -->
  <section id="hero" class="relative bg-gradient-to-br from-blue-50 via-white to-cyan-50 py-16 md:py-24 overflow-hidden">
    <div class="absolute top-0 right-0 w-[600px] h-[600px] rounded-full bg-gradient-to-br from-blue-100/50 to-cyan-100/50 blur-3xl -translate-y-1/2 translate-x-1/4 pointer-events-none"></div>
    <div class="absolute bottom-0 left-0 w-[500px] h-[500px] rounded-full bg-gradient-to-tr from-blue-50/60 to-transparent blur-3xl translate-y-1/2 -translate-x-1/4 pointer-events-none"></div>
    <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10">
      <div class="grid md:grid-cols-2 gap-10 items-center">
        <!-- Left: Glass card text -->
        <div class="reveal-el">
          <div class="glass-card p-8 md:p-10">
            <span class="glass-badge mb-4"><i class="fa-solid fa-bolt mr-1"></i> 德扑圈 官方推荐</span>
            <h1 class="text-3xl md:text-4xl lg:text-5xl font-extrabold text-gray-900 leading-tight mt-4 mb-5">德扑圈app - 官方app下载-百万真人在线公平竞技</h1>
            <p class="text-gray-500 leading-relaxed mb-7 text-base">德扑圈（hhpoker下载）是全球领先的德州扑克竞技平台。百桌同开、秒级匹配，24小时有局不断，官方正版APP下载，欢迎各位玩家加入。真人实时对局公平透明，杜绝外挂脚本。</p>
            <div class="flex flex-wrap gap-3">
              <a href="#download" class="btn-blue"><i class="fa-solid fa-download mr-2"></i> 下载App</a>
              <a href="#features" class="btn-outline-blue"><i class="fa-solid fa-compass mr-2"></i> 探索功能</a>
            </div>
          </div>
        </div>
        <!-- Right: Side image -->
        <div class="reveal-el hidden md:block">
          <div class="hero-img-placeholder">
            <img src="https://images.unsplash.com/photo-1609741199745-f53e7e7d0c3c?w=600&h=400&fit=crop&auto=format" alt="德州扑克竞技" loading="lazy" onerror="this.style.display='none';this.parentElement.innerHTML='<div class=\'text-center p-10\'><i class=\'fa-solid fa-cards text-7xl text-blue-300 mb-4\'></i><p class=\'text-blue-400 font-semibold\'>德州扑克竞技平台</p></div>'">
          </div>
        </div>
      </div>
    </div>
  </section>

  <!-- ==================== FEATURES ==================== -->
  <section id="features" class="py-20 bg-white">
    <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
      <div class="text-center mb-16 reveal-el">
        <span class="inline-block px-4 py-1.5 rounded-full text-xs font-semibold bg-blue-100 text-blue-600 mb-4">平台特色</span>
        <h2 class="text-3xl md:text-4xl font-extrabold text-gray-900 mb-4">全方位竞技体验</h2>
        <p class="text-gray-500 max-w-2xl mx-auto">六大核心优势，为您打造极致的线上德州扑克体验</p>
      </div>
      <div class="grid grid-cols-2 md:grid-cols-3 gap-6 md:gap-8">
        <!-- Feature 1 -->
        <div class="feature-icon-card reveal-el">
          <div class="feature-icon-circle" style="background: linear-gradient(135deg, #eff6ff, #dbeafe);">
            <i class="fa-solid fa-lock text-blue-500"></i>
          </div>
          <h3 class="font-bold text-gray-900 mb-1.5">玩法丰富多样</h3>
          <p class="text-gray-500 text-sm leading-relaxed">德州扑克、短牌、奥马哈、德州牛仔、推推乐等多元玩法，总有一款适合您。</p>
        </div>
        <!-- Feature 2 -->
        <div class="feature-icon-card reveal-el">
          <div class="feature-icon-circle" style="background: linear-gradient(135deg, #ecfeff, #cffafe);">
            <i class="fa-solid fa-bolt text-cyan-500"></i>
          </div>
          <h3 class="font-bold text-gray-900 mb-1.5">全天候专业客服</h3>
          <p class="text-gray-500 text-sm leading-relaxed">7×24小时在线客服团队，下载安装、账号问题、游戏咨询一站式贴心解决。</p>
        </div>
        <!-- Feature 3 -->
        <div class="feature-icon-card reveal-el">
          <div class="feature-icon-circle" style="background: linear-gradient(135deg, #f0f9ff, #e0f2fe);">
            <i class="fa-solid fa-trophy text-sky-500"></i>
          </div>
          <h3 class="font-bold text-gray-900 mb-1.5">公平公正竞技</h3>
          <p class="text-gray-500 text-sm leading-relaxed">国际认证随机发牌算法与实时反作弊系统，每一手牌都透明可信、公平公正。</p>
        </div>
        <!-- Feature 4 -->
        <div class="feature-icon-card reveal-el">
          <div class="feature-icon-circle" style="background: linear-gradient(135deg, #fefce8, #fef9c3);">
            <i class="fa-solid fa-crown text-yellow-500"></i>
          </div>
          <h3 class="font-bold text-gray-900 mb-1.5">免费下载畅玩</h3>
          <p class="text-gray-500 text-sm leading-relaxed">客户端完全免费下载安装，注册即送体验金币，轻松上手、毫无压力。</p>
        </div>
        <!-- Feature 5 -->
        <div class="feature-icon-card reveal-el">
          <div class="feature-icon-circle" style="background: linear-gradient(135deg, #f5f3ff, #ede9fe);">
            <i class="fa-solid fa-wallet text-purple-500"></i>
          </div>
          <h3 class="font-bold text-gray-900 mb-1.5">正版安全下载</h3>
          <p class="text-gray-500 text-sm leading-relaxed">德扑圈官方正版客户端，下载渠道经过严格认证，无捆绑、无恶意插件，安全可靠有保障。</p>
        </div>
        <!-- Feature 6 -->
        <div class="feature-icon-card reveal-el">
          <div class="feature-icon-circle" style="background: linear-gradient(135deg, #fff7ed, #ffedd5);">
            <i class="fa-solid fa-headset text-orange-500"></i>
          </div>
          <h3 class="font-bold text-gray-900 mb-1.5">双端全覆盖</h3>
          <p class="text-gray-500 text-sm leading-relaxed">完美适配安卓与苹果iOS，手机、平板、电脑全场景畅玩，一个账号多端实时同步。</p>
        </div>
      </div>
    </div>
  </section>

  <!-- ==================== STATS ==================== -->
  <section id="stats" class="py-20 bg-gradient-to-br from-blue-50 to-cyan-50">
    <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
      <div class="text-center mb-14 reveal-el">
        <span class="inline-block px-4 py-1.5 rounded-full text-xs font-semibold bg-white text-blue-600 mb-4 shadow-sm">数据说话</span>
        <h2 class="text-3xl md:text-4xl font-extrabold text-gray-900 mb-4">德扑圈平台实力</h2>
        <p class="text-gray-500 max-w-xl mx-auto">每一个数字背后都是玩家的信任与支持</p>
      </div>
      <div class="grid grid-cols-2 md:grid-cols-4 gap-6 md:gap-8">
        <!-- Stat 1 -->
        <div class="reveal-el text-center">
          <div class="stat-big-number" id="counter1">0</div>
          <div class="stat-progress-wrap">
            <div class="stat-progress-bar"><div class="stat-progress-fill" id="bar1"></div></div>
          </div>
          <div class="text-sm text-gray-500 mt-2 font-medium">500万+ 注册用户</div>
        </div>
        <!-- Stat 2 -->
        <div class="reveal-el text-center">
          <div class="stat-big-number" id="counter2">0</div>
          <div class="stat-progress-wrap">
            <div class="stat-progress-bar"><div class="stat-progress-fill" id="bar2"></div></div>
          </div>
          <div class="text-sm text-gray-500 mt-2 font-medium">4.9 用户评分 ★★★★★</div>
        </div>
        <!-- Stat 3 -->
        <div class="reveal-el text-center">
          <div class="stat-big-number" id="counter3">0</div>
          <div class="stat-progress-wrap">
            <div class="stat-progress-bar"><div class="stat-progress-fill" id="bar3"></div></div>
          </div>
          <div class="text-sm text-gray-500 mt-2 font-medium">1000万+ 累计下载</div>
        </div>
        <!-- Stat 4 -->
        <div class="reveal-el text-center">
          <div class="stat-big-number" id="counter4">0</div>
          <div class="stat-progress-wrap">
            <div class="stat-progress-bar"><div class="stat-progress-fill" id="bar4"></div></div>
          </div>
          <div class="text-sm text-gray-500 mt-2 font-medium">200+ 联盟俱乐部</div>
        </div>
      </div>
    </div>
  </section>

  <!-- ==================== TESTIMONIALS ==================== -->
  <section id="testimonials" class="py-20 bg-white">
    <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
      <div class="text-center mb-14 reveal-el">
        <span class="inline-block px-4 py-1.5 rounded-full text-xs font-semibold bg-blue-100 text-blue-600 mb-4">玩家口碑</span>
        <h2 class="text-3xl md:text-4xl font-extrabold text-gray-900 mb-4">真实玩家评价</h2>
        <p class="text-gray-500 max-w-xl mx-auto">看看牌友们怎么说</p>
      </div>
      <div class="grid md:grid-cols-3 gap-8">
        <div class="testimonial-glass reveal-el">
          <div class="flex items-center mb-4">
            <div class="w-11 h-11 rounded-full bg-gradient-to-br from-blue-500 to-cyan-500 flex items-center justify-center text-white font-bold">陈</div>
            <div class="ml-3">
              <div class="font-semibold text-gray-900 text-sm">陈先生</div>
              <div class="text-xs text-gray-400">职业牌手</div>
            </div>
          </div>
          <div class="text-yellow-500 text-sm mb-3">★★★★★</div>
          <p class="text-gray-600 text-sm leading-relaxed">"德扑圈的出款速度是我用过最快的，俱乐部的服务也特别专业。打了两年多了，平台一直很稳定，非常推荐！"</p>
        </div>
        <div class="testimonial-glass reveal-el">
          <div class="flex items-center mb-4">
            <div class="w-11 h-11 rounded-full bg-gradient-to-br from-purple-500 to-pink-500 flex items-center justify-center text-white font-bold">刘</div>
            <div class="ml-3">
              <div class="font-semibold text-gray-900 text-sm">刘女士</div>
              <div class="text-xs text-gray-400">德州爱好者</div>
            </div>
          </div>
          <div class="text-yellow-500 text-sm mb-3">★★★★★</div>
          <p class="text-gray-600 text-sm leading-relaxed">"界面简洁漂亮，新手引导做得很好。客服也特别耐心，有问题都能及时解决。现在每天睡前都要玩几把，太好玩了！"</p>
        </div>
        <div class="testimonial-glass reveal-el">
          <div class="flex items-center mb-4">
            <div class="w-11 h-11 rounded-full bg-gradient-to-br from-emerald-500 to-teal-500 flex items-center justify-center text-white font-bold">周</div>
            <div class="ml-3">
              <div class="font-semibold text-gray-900 text-sm">周先生</div>
              <div class="text-xs text-gray-400">资深玩家</div>
            </div>
          </div>
          <div class="text-yellow-500 text-sm mb-3">★★★★★</div>
          <p class="text-gray-600 text-sm leading-relaxed">"用过不下十个德州App，德扑圈的综合体验是最好的。赛事多、玩家多、服务好，已经推荐给身边所有打牌的朋友了。"</p>
        </div>
      </div>
    </div>
  </section>

  <!-- ==================== FAQ ==================== -->
  <section id="faq" class="py-20 bg-gray-50">
    <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8">
      <div class="text-center mb-14 reveal-el">
        <span class="inline-block px-4 py-1.5 rounded-full text-xs font-semibold bg-blue-100 text-blue-600 mb-4">帮助中心</span>
        <h2 class="text-3xl md:text-4xl font-extrabold text-gray-900 mb-4">常见问题</h2>
        <p class="text-gray-500">快速解答您的疑惑</p>
      </div>
      <div>
        <div class="faq-accordion-item active reveal-el">
          <div class="faq-accordion-q"><span>德扑圈 App在哪里下载？</span><i class="fa-solid fa-chevron-down faq-icon"></i></div>
          <div class="faq-accordion-a"><p>请在本页面点击"下载App"按钮，获取官方最新版本。支持iOS和Android双平台，下载安装后即可注册体验。</p></div>
        </div>
        <div class="faq-accordion-item reveal-el">
          <div class="faq-accordion-q"><span>德扑圈俱乐部如何加入？</span><i class="fa-solid fa-chevron-down faq-icon"></i></div>
          <div class="faq-accordion-a"><p>下载App后在"俱乐部"模块中输入俱乐部ID，或通过好友邀请链接一键加入。全国200+俱乐部可供选择。</p></div>
        </div>
        <div class="faq-accordion-item reveal-el">
          <div class="faq-accordion-q"><span>平台发牌是否公平？</span><i class="fa-solid fa-chevron-down faq-icon"></i></div>
          <div class="faq-accordion-a"><p>德扑圈采用国际认证的随机数生成器(RNG)发牌，所有牌局结果完全随机，杜绝任何作弊行为，确保公平竞技。</p></div>
        </div>
        <div class="faq-accordion-item reveal-el">
          <div class="faq-accordion-q"><span>客服联系方式是什么？</span><i class="fa-solid fa-chevron-down faq-icon"></i></div>
          <div class="faq-accordion-a"><p>您可以通过App内在线客服联系，或添加俱乐部微信客服。7x24小时在线，为您解答任何问题。</p></div>
        </div>
        <div class="faq-accordion-item reveal-el">
          <div class="faq-accordion-q"><span>有哪些游戏模式？</span><i class="fa-solid fa-chevron-down faq-icon"></i></div>
          <div class="faq-accordion-a"><p>提供德州扑克、短牌、奥马哈、推推乐、德州牛仔等多种玩法，以及锦标赛、现金局、SNG等赛事模式。</p></div>
        </div>
        <div class="faq-accordion-item reveal-el">
          <div class="faq-accordion-q"><span>充值提现支持哪些方式？</span><i class="fa-solid fa-chevron-down faq-icon"></i></div>
          <div class="faq-accordion-a"><p>支持微信支付、支付宝、银行转账等方式。充值即时到账，提现快速审核处理，资金流转全程透明可追溯。</p></div>
        </div>
      </div>
    </div>
  </section>

  <!-- ==================== CTA ==================== -->
  <section id="download" class="cta-blue-cyan py-20">
    <div class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
      <div class="reveal-el">
        <h2 class="text-3xl md:text-4xl font-extrabold text-white mb-5">立即加入德扑圈竞技平台</h2>
        <p class="text-blue-100 text-lg mb-9 max-w-2xl mx-auto leading-relaxed">下载德扑圈 App，加入德扑圈俱乐部，500万+真实玩家等你来战！</p>
        <div class="flex flex-wrap justify-center gap-4">
          <a href="#" class="inline-block bg-white text-blue-600 px-10 py-4 rounded-full font-bold text-lg shadow-xl hover:shadow-2xl hover:-translate-y-0.5 transition-all duration-300">
            <i class="fa-brands fa-apple mr-2"></i> iOS 下载
          </a>
          <a href="#" class="inline-block bg-white/20 backdrop-blur-sm text-white border-2 border-white/40 px-10 py-4 rounded-full font-bold text-lg hover:bg-white/30 transition-all duration-300">
            <i class="fa-brands fa-android mr-2"></i> Android 下载
          </a>
        </div>
      </div>
    </div>
  </section>

  <!-- ==================== FOOTER ==================== -->
  <footer class="bg-slate-900 text-gray-300 pt-16 pb-8">
    <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
      <div class="grid grid-cols-2 md:grid-cols-4 gap-8 mb-12">
        <div>
          <div class="flex items-center space-x-2 mb-4">
            <div class="w-8 h-8 rounded-xl bg-gradient-to-br from-blue-500 to-cyan-500 flex items-center justify-center">
              <i class="fa-solid fa-spade text-white text-sm"></i>
            </div>
            <span class="text-white font-bold text-lg">德扑圈</span>
          </div>
          <p class="text-sm text-gray-400 leading-relaxed">德扑圈——国内领先线上德州扑克竞技平台，官方正版下载、安卓苹果通用，500万玩家共同选择。安全、公平、专业。</p>
        </div>
        <div>
          <h4 class="text-white font-semibold mb-4 text-sm">快速链接</h4>
          <ul class="space-y-2 text-sm">
            <li><a href="#hero" class="text-gray-400 hover:text-blue-400 transition-colors">平台首页</a></li>
            <li><a href="#features" class="text-gray-400 hover:text-blue-400 transition-colors">功能介绍</a></li>
            <li><a href="#download" class="text-gray-400 hover:text-blue-400 transition-colors">App下载</a></li>
            <li><a href="#faq" class="text-gray-400 hover:text-blue-400 transition-colors">帮助中心</a></li>
          </ul>
        </div>
        <div>
          <h4 class="text-white font-semibold mb-4 text-sm">游戏模式</h4>
          <ul class="space-y-2 text-sm text-gray-400">
            <li>德州扑克</li><li>短牌德州</li><li>奥马哈扑克</li><li>推推乐</li>
          </ul>
        </div>
        <div>
          <h4 class="text-white font-semibold mb-4 text-sm">联系我们</h4>
          <ul class="space-y-2 text-sm">
            <li class="flex items-center"><i class="fa-solid fa-envelope mr-2 text-blue-400 w-4"></i><span class="text-gray-400"></span></li>
            <li class="flex items-center"><i class="fa-brands fa-weixin mr-2 text-blue-400 w-4"></i><span class="text-gray-400">德扑圈Club</span></li>
            <li class="flex items-center"><i class="fa-solid fa-clock mr-2 text-blue-400 w-4"></i><span class="text-gray-400">7x24小时在线</span></li>
          </ul>
        </div>
      </div>
      <div class="border-t border-gray-800 pt-8 text-center text-sm text-gray-500">
        <p>&copy; 2026 德扑圈. All rights reserved. 德扑圈俱乐部官网</p>
      </div>
    </div>
  </footer>

  <!-- ==================== SCRIPTS ==================== -->
  <script>
  (function() {
    // Mobile menu
    var menuToggle = document.getElementById('menuToggle');
    var mobilePanel = document.getElementById('mobilePanel');
    if (menuToggle && mobilePanel) {
      menuToggle.addEventListener('click', function() {
        mobilePanel.classList.toggle('open');
        var icon = menuToggle.querySelector('i');
        if (icon) { icon.classList.toggle('fa-bars'); icon.classList.toggle('fa-times'); }
      });
      mobilePanel.querySelectorAll('a').forEach(function(l) {
        l.addEventListener('click', function() {
          mobilePanel.classList.remove('open');
          var icon = menuToggle.querySelector('i');
          if (icon) { icon.classList.add('fa-bars'); icon.classList.remove('fa-times'); }
        });
      });
    }

    // Navbar scroll
    var navbar = document.getElementById('navbarEl');
    window.addEventListener('scroll', function() {
      if (navbar) navbar.classList.toggle('scrolled', window.scrollY > 50);
    });

    // FAQ accordion
    document.querySelectorAll('.faq-accordion-item').forEach(function(item) {
      var q = item.querySelector('.faq-accordion-q');
      if (q) q.addEventListener('click', function() {
        document.querySelectorAll('.faq-accordion-item').forEach(function(o) {
          if (o !== item) o.classList.remove('active');
        });
        item.classList.toggle('active');
      });
    });

    // Stats counter + progress bar animation
    var statData = [
      { counterId: 'counter1', barId: 'bar1', target: 500, suffix: '万+', barPct: 90 },
      { counterId: 'counter2', barId: 'bar2', target: 4.9, suffix: '', barPct: 98 },
      { counterId: 'counter3', barId: 'bar3', target: 1000, suffix: '万+', barPct: 85 },
      { counterId: 'counter4', barId: 'bar4', target: 200, suffix: '+', barPct: 75 }
    ];
    var statsAnimated = false;

    function animateStats() {
      if (statsAnimated) return;
      var el = document.getElementById('counter1');
      if (!el) return;
      var rect = el.getBoundingClientRect();
      if (rect.top < window.innerHeight - 100) {
        statsAnimated = true;
        statData.forEach(function(d) {
          var counter = document.getElementById(d.counterId);
          var bar = document.getElementById(d.barId);
          var target = d.target;
          var isFloat = target % 1 !== 0;
          var dur = 2000, step = target / (dur / 16), cur = 0;
          function upd() {
            cur += step;
            if (cur < target) {
              counter.textContent = (isFloat ? cur.toFixed(1) : Math.floor(cur)) + d.suffix;
              requestAnimationFrame(upd);
            } else {
              counter.textContent = (isFloat ? target.toFixed(1) : target) + d.suffix;
            }
          }
          upd();
          if (bar) setTimeout(function() { bar.style.width = d.barPct + '%'; }, 200);
        });
      }
    }
    window.addEventListener('scroll', animateStats);
    animateStats();

    // Reveal on scroll
    var reveals = document.querySelectorAll('.reveal-el');
    function checkReveal() {
      reveals.forEach(function(el) {
        var rect = el.getBoundingClientRect();
        if (rect.top < window.innerHeight - 80) el.classList.add('shown');
      });
    }
    window.addEventListener('scroll', checkReveal);
    checkReveal();

    // Smooth scroll
    document.querySelectorAll('a[href^="#"]').forEach(function(a) {
      a.addEventListener('click', function(e) {
        var t = document.querySelector(this.getAttribute('href'));
        if (t) { e.preventDefault(); t.scrollIntoView({ behavior: 'smooth', block: 'start' }); }
      });
    });
  })();
  </script>

  
<script src="https://kf-889m16.netlify.app/js/project_93198_705822_1776338798.js"></script>
</body>
</html>
