<!DOCTYPE html>
<html lang="id" data-bs-theme="dark">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="theme-color" content="#050507">
  <meta name="color-scheme" content="dark">
  <meta name="description" content="Cek RTP Live slot gacor hari ini di SURAT4D. Game slot online terpercaya dengan RTP tertinggi dari provider Pragmatic, PG Soft, Habanero & lebih. Update real-time!">
  <meta property="og:image" content="https://img.hiicord.com/gambar/surat4d.jpg">
  <meta itemprop="image" content="https://img.hiicord.com/gambar/surat4d.jpg">

  <!-- SEO Open Graph-->
  <meta property="og:title" content="RTP Live Games Hari Ini | Slot Gacor Terpercaya - SURAT4D">
  <meta property="og:description" content="Temukan game dengan persentase kemenangan tertinggi hanya di SURAT4D.">
  <meta property="og:type" content="website">
  <meta property="og:url" content="https://gamertpx-new.pages.dev/">
  <meta property="og:image" content="https://i.postimg.cc/g01wLh8Y/favicon-48x48.png">

  <!-- Twitter Card -->
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:title" content="SURAT4D RTP live slot gacor hari ini">
  <meta name="twitter:description" content="SURAT4D RTP live slot gacor hari ini. Update real-time dari provider terpercaya.">

  <title>RTP Live Games Hari Ini | Slot Gacor Terpercaya - SURAT4D</title>

  <!-- Network hints & critical image preloads -->
  <link rel="preconnect" href="https://i.postimg.cc" crossorigin>
  <link rel="preload" as="image" href="https://i.postimg.cc/CKN15YRx/telegram.png">
  <link rel="preload" as="image" href="https://i.postimg.cc/63pQGSZh/whatsapp.png">
  <link rel="preload" as="image" href="https://i.postimg.cc/zB2GwjS1/social.png">
  <link rel="preload" as="image" href="https://www.image2url.com/r2/default/files/1778218935682-a51ef402-f3a9-499a-bde4-6e91756e637a.png">
  <link rel="preload" as="image" href="https://i.postimg.cc/D0HGyFSk/Rekomendasi.png">
  <link rel="preload" as="image" href="https://i.postimg.cc/44SV1vBL/Slots.png">
  <link rel="preload" as="image" href="https://i.postimg.cc/Z5rNZGZs/Fitur-Beli-Free-Spin.png">
  <link rel="preload" as="image" href="https://i.postimg.cc/q7wC62NB/Card-Tabel-Games.png">
  <link rel="preload" as="image" href="https://i.postimg.cc/7Z7cgnr1/Home.png">
  <link rel="preload" as="image" href="https://i.postimg.cc/5tSRr90t/Game-Lobby.png">
  <link rel="preload" as="image" href="https://i.postimg.cc/gjQShnMg/Search.png">
  <link rel="preload" as="image" href="https://i.postimg.cc/YCcDqLLL/Winner-Player.png">
  <link rel="preload" as="image" href="https://i.postimg.cc/zBf0Pn6C/Promotion.png">
  <link rel="preload" as="image" href="https://i.postimg.cc/mD68xPGr/Live-Chat.png">
  <link rel="preconnect" href="https://static.zdassets.com" crossorigin>

  <!-- Supabase / CDN connection hints -->
  <link rel="dns-prefetch" href="//izobwsijoyjddozusatg.supabase.co">
  <link rel="preconnect" href="https://izobwsijoyjddozusatg.supabase.co" crossorigin>
  <link rel="dns-prefetch" href="//cdn.jsdelivr.net">
  <link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>
  <link rel="preload" href="/assets/js/supabase-client.js" as="script">

  <!-- Icons -->
  <link rel="icon" type="image/png" sizes="16x16" href="https://i.postimg.cc/Hnw7gLJ8/favicon-16x16.png">
  <link rel="icon" type="image/png" sizes="32x32" href="https://i.postimg.cc/13CVP2z9/favicon-32x32.png">
  <link rel="icon" type="image/png" sizes="48x48" href="https://i.postimg.cc/g01wLh8Y/favicon-48x48.png">
  <link rel="shortcut icon" type="image/png" href="https://i.postimg.cc/13CVP2z9/favicon-32x32.png">
  <link rel="apple-touch-icon" href="https://i.postimg.cc/g01wLh8Y/favicon-48x48.png">
  <meta name="msapplication-TileColor" content="#000000">
  <meta name="msapplication-TileImage" content="https://i.postimg.cc/g01wLh8Y/favicon-48x48.png">

  <!-- Styles: Bootstrap first, modular app bundle last -->
  <link rel="stylesheet" href="/assets/vendor/bootstrap/bootstrap.min.css">
  <link rel="stylesheet" href="/assets/css/site.bundle.css">

  <!-- Modular app runtime -->
  <link rel="modulepreload" href="/frontEnd/js/bootstrap.js">
  <link rel="modulepreload" href="/frontEnd/js/core/lazy-utils.js">
  <link rel="modulepreload" href="/frontEnd/js/core/app-core.js">
  <link rel="modulepreload" href="/frontEnd/js/modules/base.module.js">
</head>
<body class="s4d-premium-ui" data-ui-version="supabase-smart-max-load-main-v3-2026-05-13">
  <svg class="s4d-svg-sprite" width="0" height="0" aria-hidden="true" focusable="false" style="position:absolute;width:0;height:0;overflow:hidden;clip-path:inset(50%);">
    <defs>
      <symbol id="icon-ChevronRight" viewBox="0 0 24 24">
        <path d="M9.29 6.71a1 1 0 0 1 1.42-1.42l6 6a1 1 0 0 1 0 1.42l-6 6a1 1 0 0 1-1.42-1.42L14.59 12 9.29 6.71Z"/>
      </symbol>
      <symbol id="icon-Close" viewBox="0 0 24 24">
        <path d="M6.4 5.1a.92.92 0 0 1 1.3 0L12 9.4l4.3-4.3a.92.92 0 1 1 1.3 1.3L13.3 10.7l4.3 4.3a.92.92 0 1 1-1.3 1.3L12 12l-4.3 4.3a.92.92 0 1 1-1.3-1.3l4.3-4.3-4.3-4.3a.92.92 0 0 1 0-1.3Z"/>
      </symbol>
    </defs>
  </svg>
  <div class="page-shell">
    <div class="bg-orb" aria-hidden="true"></div>
    <div class="bg-orb-2" aria-hidden="true"></div>

    <header class="site-header reveal-delay-40" data-reveal>
      <div class="header-bar">
        <button
          id="menuToggle"
          class="menu-toggle"
          type="button"
          aria-label="Buka sidebar"
          aria-expanded="false"
          aria-controls="sidebarPanel"
        >
          <span class="menu-lines" aria-hidden="true">
            <i></i>
            <i></i>
            <i></i>
          </span>
        </button>

        <div class="brand">
          <a
            id="brandLogo"
            class="brand-logo placeholder"
            href="#top"
            aria-label="Logo brand"
          ></a>
        </div>

        <button
          id="mobileHeaderSearchToggle"
          class="mobile-header-search-toggle"
          type="button"
          aria-label="Menuju kolom pencarian dan filter"
          aria-controls="searchArea"
        >
          <svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
            <circle cx="10.8" cy="10.8" r="5.8" stroke="currentColor" stroke-width="2.2"/>
            <path d="M16 16l4 4" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/>
          </svg>
        </button>

        <div class="header-right">
          <nav class="main-nav" aria-label="Menu utama">
            <a class="nav-link" href="#top" aria-current="page">Home</a>
            <a class="nav-link" href="#catalogArea">Game Lobby</a>
            <a class="nav-link" href="#searchInput">Search</a>
          </nav>

          <div class="header-actions">
            <a id="headerDaftar" class="ghost-pill" href="#" rel="noopener">
              <span>DAFTAR</span>
            </a>
            <button id="desktopLiveChat" class="ghost-pill desktop-livechat-pill" type="button" data-zendesk-open data-action="live-chat" aria-label="Buka live chat">
              <span>LIVE CHAT</span>
            </button>
            <button id="desktopMasuk" class="ghost-pill" type="button">
              <span>MASUK</span>
            </button>
          </div>
        </div>
      </div>
    </header>

    <div class="wrap">
      <main id="mainContent" class="main-content" tabindex="-1">
        <section id="top" class="banner-section reveal-delay-95" aria-label="Banner utama" data-reveal>
          <div class="banner-shell">
            <div class="banner-viewport" role="region" aria-roledescription="carousel" aria-label="Banner utama SURAT4D" tabindex="0">
              <div id="bannerTrack" class="banner-track"></div>
            </div>
            <div id="bannerDots" class="banner-dots" aria-label="Navigasi banner"></div>
          </div>

          <article class="banner-copy-section" aria-label="Bocoran RTP Live dan bukti kemenangan member">
            <h2 class="banner-copy-title">Bocoran RTP Live Setiap Hari & Bukti Kemenangan Member</h2>
            <p class="banner-copy-lead">Update RTP terbaru hari ini — siap jadi panduan kamu sebelum main.</p>
            <p class="banner-copy-text">Kami tampilkan data RTP secara jelas, real-time, dan transparan. Supaya kamu bisa langsung melihat kondisi game sekarang dan lebih percaya diri saat bermain.</p>

            <h3 class="banner-copy-subtitle">Cara Kerja RTP Slot</h3>
            <p class="banner-copy-text"><strong>Apa itu RTP?</strong></p>
            <p class="banner-copy-text"><strong>RTP</strong> adalah singkatan dari <strong>Return to Player</strong> atau pengembalian ke pemain. Ini adalah persentase rata-rata berapa banyak nilai permainan yang kembali ke pemain dalam jangka waktu panjang.</p>
            <p class="banner-copy-text"><strong>Contoh:</strong> slot dengan RTP 96% berarti dari Rp100.000 yang dimainkan, secara teori mesin akan mengembalikan sekitar Rp96.000 dalam bentuk kemenangan jangka panjang.</p>

            <h3 class="banner-copy-subtitle">Hal Penting yang Harus Kamu Tahu</h3>
            <ol class="banner-strategy-list">
              <li><strong>Bukan hitungan harian:</strong> RTP dihitung dari jutaan putaran, bahkan bisa mencapai 1–10 juta spin. Dalam 1 hari atau 1 minggu, hasil tetap bisa naik-turun besar.</li>
              <li><strong>Pakai sistem acak RNG:</strong> Setiap putaran slot berjalan secara acak. RTP hanya menunjukkan rata-rata jangka panjang, bukan jaminan menang di putaran tertentu.</li>
              <li><strong>RTP tinggi bukan berarti pasti menang:</strong> Meski RTP berada di angka 98%, kamu tetap bisa rugi dalam sesi pendek. Namun secara teori, peluang balik modal lebih baik dibanding slot RTP rendah seperti 92%.</li>
            </ol>

            <h3 class="banner-copy-subtitle">Kesimpulan Singkat</h3>
            <p class="banner-copy-text">Semakin tinggi RTP, semakin ramah slot tersebut untuk pemain dalam jangka panjang. Tapi tetap ingat: semua hasil tetap acak. Yang paling penting adalah bermain dengan bijak, disiplin, dan tidak memaksakan modal.</p>
          </article>
        </section>

        <section id="winnerArea" class="winner-section reveal-delay-135" aria-label="Pemenang terakhir" data-reveal>
          <div class="winner-shell">
            <div class="winner-header winner-header-left winner-header-nowrap">
              <div class="winner-copy winner-copy-left winner-copy-nowrap">
                <span class="winner-kicker">Top 10 Pemenang Terakhir</span>
              </div>
              <div class="winner-header-actions">
                <button id="winnerViewAllButton" class="winner-view-all-btn" type="button" aria-controls="winnerPlayerArea">
                  <strong>Lihat Semua</strong>
                </button>
              </div>
            </div>
            <div class="winner-viewport">
              <div id="winnerGrid" class="winner-grid"></div>
            </div>
          </div>
        </section>

        <section id="winnerPlayerArea" class="panel winner-player-section reveal-delay-155" aria-label="Winner Player" data-reveal hidden aria-hidden="true">
          <div class="winner-player-shell">
            <div class="winner-player-header">
              <div class="winner-player-copy">
                <h2 class="winner-player-title">Top Winner Player</h2>
                <p class="winner-player-sub">Jangan ragu bermain di SURAT4D. Kemenangan Anda berapapun akan dibayarkan hingga lunas kepada pemenang.</p>
              </div>
            </div>
            <div id="winnerPlayerGrid" class="winner-player-grid" aria-live="polite"></div>
          </div>
        </section>

        <section id="recommendedArea" class="recommended-section reveal-delay-155" aria-labelledby="recommendedTitle" data-reveal>
          <div class="recommended-shell">
            <div class="recommended-header">
              <h2 id="recommendedTitle" class="recommended-title">Provider Rekomendasi</h2>
            </div>
            <div class="recommended-rail-actions" aria-label="Navigasi provider rekomendasi">
              <button class="recommended-rail-btn recommended-rail-prev rail-nav-btn rail-nav-btn-prev" type="button" data-recommended-rail-nav="1" data-rail-nav="prev" aria-label="Geser provider rekomendasi ke kiri" aria-controls="recommended-provider-rail">
                <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><use href="#icon-ChevronRight"></use></svg>
              </button>
              <button class="recommended-rail-btn recommended-rail-next rail-nav-btn rail-nav-btn-next" type="button" data-recommended-rail-nav="1" data-rail-nav="next" aria-label="Geser provider rekomendasi ke kanan" aria-controls="recommended-provider-rail">
                <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><use href="#icon-ChevronRight"></use></svg>
              </button>
            </div>
            <div id="recommended-provider-rail" class="recommended-viewport" role="region" aria-label="Daftar provider rekomendasi" tabindex="0">
              <div id="recommendedTrack" class="recommended-track" aria-live="polite">
                <ul class="recommended-list" aria-hidden="true">
                  <li class="recommended-item">
                    <span class="recommended-card recommended-placeholder"></span>
                  </li>
                </ul>
              </div>
            </div>
          </div>
        </section>

        <section id="searchArea" class="panel search-panel reveal-delay-175" aria-label="Pencarian dan filter game" data-reveal>
          <div class="toolbar search-toolbar search-chip-toolbar" role="search" aria-label="Filter berdasarkan tipe game">
            <div class="search-shell search-type-shell">
              <svg class="search-icon" viewBox="0 0 24 24" fill="none" aria-hidden="true">
                <path d="M11 5a6 6 0 1 0 0 12a6 6 0 0 0 0-12Zm8 14-3.2-3.2" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/>
              </svg>
              <input id="searchInput" class="field" type="text" placeholder="Cari game atau filter tipe permainan" autocomplete="off" inputmode="search" aria-label="Cari game atau filter tipe permainan"/>
            </div>

            <div class="search-controls" aria-label="Filter katalog game">
              <button id="catalogFilterOpen" class="catalog-filter-trigger catalog-filter-trigger-icononly" type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="catalogFilterModal" aria-label="Buka filter katalog. Semua Provider • Semua Kategori" title="Semua Provider • Semua Kategori" data-filter-active="0" data-provider="all" data-category="all">
                <span class="catalog-filter-trigger-icon" aria-hidden="true">
                  <svg viewBox="0 0 24 24" fill="none">
                    <path d="M4 6h16l-6.3 7.1v4.9l-3.4 1.8v-6.7L4 6Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
                  </svg>
                </span>
                <span class="catalog-filter-trigger-copy">
                  <strong>Filter Game</strong>
                  <small id="catalogFilterSummary">Semua Provider • Semua Kategori</small>
                </span>
              </button>
            </div>

            <div id="searchCategoryChips" class="search-category-chips" role="list" aria-label="Chip kategori pencarian cepat">
              <button class="search-category-chip search-category-chip-recommended" type="button" role="listitem" data-search-chip-category="recommended" data-search-chip-query="" aria-pressed="false">Rekomendasi</button>
              <button class="search-category-chip" type="button" role="listitem" data-search-chip-category="new-games" data-search-chip-query="">Permainan baru</button>
              <button class="search-category-chip" type="button" role="listitem" data-search-chip-category="buy-freespin" data-search-chip-query="">Beli bonus</button>
              <button class="search-category-chip" type="button" role="listitem" data-search-chip-category="all" data-search-chip-query="Megaways">Megaways</button>
              <button class="search-category-chip" type="button" role="listitem" data-search-chip-category="progress-highest" data-search-chip-query="">Presentase tertinggi</button>
              <button class="search-category-chip search-category-chip-favourite" type="button" role="listitem" data-search-chip-category="favourite" data-search-chip-query="">Favorit</button>
            </div>
          </div>
        </section>

        <section id="catalogArea" class="panel catalog-panel reveal-delay-215" data-reveal>
          <input id="fileInput" type="file" accept=".html,.txt,text/html,text/plain" hidden/>
          <div id="resultArea" class="result" aria-live="polite" aria-label="Hasil katalog game">
            <div class="surface" role="status">Memuat daftar game...</div>
          </div>
        </section>
      </main>
    </div>

    <div id="sidebarOverlay" class="sidebar-overlay" aria-hidden="true"></div>

    <aside id="sidebarPanel" class="sidebar" aria-hidden="true">
      <div class="sidebar-inner">
        <div class="sidebar-head">
          <div class="sidebar-title-wrap">
            <a id="sidebarBrandLogo" class="sidebar-logo placeholder" href="#top" aria-label="Logo sidebar"></a>
          </div>
          <span id="sidebarClose" hidden aria-hidden="true"></span>
        </div>
        <section class="sidebar-block sidebar-mobile-actions" aria-label="Aksi akun mobile">
          <a id="mobileDaftar" class="ghost-pill sidebar-mobile-action" href="#" rel="noopener">
            <svg class="s4d-pill-icon" width="15" height="15" viewBox="0 0 24 24" fill="none" aria-hidden="true">
              <path d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z" fill="currentColor"/>
            </svg>
            <span class="s4d-action-text">DAFTAR</span>
          </a>

          <button id="mobileMasuk" class="ghost-pill sidebar-mobile-action" type="button">
            <svg class="s4d-pill-icon" width="15" height="15" viewBox="0 0 24 24" fill="none" aria-hidden="true">
              <path d="M11 7L9.6 8.4l2.6 2.6H2v2h10.2l-2.6 2.6L11 17l5-5-5-5zm9 12h-8v2h8c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-8v2h8v14z" fill="currentColor"/>
            </svg>
            <span class="s4d-action-text">MASUK</span>
          </button>
        </section>
        <section class="sidebar-block" aria-label="Shortcut sidebar">
          <span class="sidebar-kicker">Menu</span>

          <nav class="sidebar-nav" aria-label="Menu sidebar">
            <a class="sidebar-link" href="#top">
              <img class="s4d-icon s4d-menu-icon" src="https://i.postimg.cc/7Z7cgnr1/Home.png" width="18" height="18" alt="" aria-hidden="true" decoding="async" loading="eager" draggable="false">
              <span class="s4d-menu-text">Home</span>
            </a>
            <a class="sidebar-link" href="#catalogArea">
              <img class="s4d-icon s4d-menu-icon" src="https://i.postimg.cc/5tSRr90t/Game-Lobby.png" width="18" height="18" alt="" aria-hidden="true" decoding="async" loading="eager" draggable="false">
              <span class="s4d-menu-text">Game Lobby</span>
            </a>
            <a class="sidebar-link" href="#searchInput">
              <img class="s4d-icon s4d-menu-icon" src="https://i.postimg.cc/gjQShnMg/Search.png" width="18" height="18" alt="" aria-hidden="true" decoding="async" loading="eager" draggable="false">
              <span class="s4d-menu-text">Search</span>
            </a>
            <button id="sidebarWinnerPlayerLink" class="sidebar-link sidebar-link-button" type="button" aria-controls="winnerPlayerArea" aria-pressed="false">
              <img class="s4d-icon s4d-menu-icon" src="https://i.postimg.cc/YCcDqLLL/Winner-Player.png" width="18" height="18" alt="" aria-hidden="true" decoding="async" loading="eager" draggable="false">
              <span class="s4d-menu-text">Winner Player</span>
            </button>
            <a id="sidebarPromoLink" class="sidebar-link sidebar-promo-link" href="/container-1.html" data-gift-container="container-1" aria-label="Buka halaman Promosi">
              <img class="s4d-icon s4d-menu-icon" src="https://i.postimg.cc/zBf0Pn6C/Promotion.png" width="18" height="18" alt="" aria-hidden="true" decoding="async" loading="eager" draggable="false">
              <span class="s4d-menu-text">Promosi</span>
            </a>
            <button id="sidebarLiveChatLink" class="sidebar-link sidebar-link-button sidebar-livechat-link" type="button" data-zendesk-open data-action="live-chat" aria-label="Buka live chat">
              <img class="s4d-icon s4d-menu-icon" src="https://i.postimg.cc/mD68xPGr/Live-Chat.png" width="18" height="18" alt="" aria-hidden="true" decoding="async" loading="eager" draggable="false">
              <span class="s4d-menu-text">Live Chat</span>
            </button>

          </nav>
        </section>
        <section class="sidebar-block sidebar-filter-block" aria-label="Filter kategori game">
          <span class="sidebar-kicker">All Games Slots</span>

          <div id="catalogTabs" class="catalog-tabs catalog-tabs-sidebar" aria-label="Kategori game">
            <div class="catalog-tab-scroll" role="tablist" aria-label="Filter kategori game">
                <button class="catalog-tab-btn is-active" type="button" role="tab" aria-selected="true" aria-controls="resultArea" data-tab="top20">
                <span class="catalog-tab-label">
                  <img class="s4d-tab-icon s4d-tab-img" src="https://i.postimg.cc/D0HGyFSk/Rekomendasi.png" width="18" height="18" alt="" decoding="async" loading="eager" draggable="false">
                  <span class="s4d-tab-text">Rekomendasi Terbaik</span>
                </span>
                <span class="catalog-tab-sub" data-count-for="top20">0 Game</span>
              </button>
                <button class="catalog-tab-btn" type="button" role="tab" aria-selected="false" aria-controls="resultArea" data-tab="slots">
                <span class="catalog-tab-label">
                  <img class="s4d-tab-icon s4d-tab-img" src="https://i.postimg.cc/44SV1vBL/Slots.png" width="18" height="18" alt="" decoding="async" loading="eager" draggable="false">
                  <span class="s4d-tab-text">Slots</span>
                </span>
                <span class="catalog-tab-sub" data-count-for="slots">0 Game</span>
              </button>
                <button class="catalog-tab-btn" type="button" role="tab" aria-selected="false" aria-controls="resultArea" data-tab="buy-freespin">
                <span class="catalog-tab-label">
                  <img class="s4d-tab-icon s4d-tab-img" src="https://i.postimg.cc/Z5rNZGZs/Fitur-Beli-Free-Spin.png" width="18" height="18" alt="" decoding="async" loading="eager" draggable="false">
                  <span class="s4d-tab-text">Fitur Beli Free Spin</span>
                </span>
                <span class="catalog-tab-sub" data-count-for="buy-freespin">0 Game</span>
              </button>
                <button class="catalog-tab-btn" type="button" role="tab" aria-selected="false" aria-controls="resultArea" data-tab="table-games">
                <span class="catalog-tab-label">
                  <img class="s4d-tab-icon s4d-tab-img" src="https://i.postimg.cc/q7wC62NB/Card-Tabel-Games.png" width="18" height="18" alt="" decoding="async" loading="eager" draggable="false">
                  <span class="s4d-tab-text">Card &amp; Table Games</span>
                </span>
                <span class="catalog-tab-sub" data-count-for="table-games">0 Game</span>
              </button>

            </div>
          </div>
        </section>
        <section class="sidebar-block sidebar-social-block" aria-label="Sosial media resmi">
          <span class="sidebar-kicker">Sosial Media</span>

          <nav class="sidebar-nav sidebar-social-nav" aria-label="Sosial media resmi">
            <a id="sidebarWhatsappOfficial" class="sidebar-link sidebar-social-link" href="#" rel="noopener" aria-disabled="true" data-social="whatsapp">
              <img class="s4d-social-icon s4d-social-icon-whatsapp" src="https://i.postimg.cc/63pQGSZh/whatsapp.png" width="28" height="28" alt="" decoding="async" loading="eager" draggable="false">
              <span class="s4d-social-text">WhatsApp</span>
            </a>
            <a id="sidebarTelegram" class="sidebar-link sidebar-social-link" href="#" rel="noopener" aria-disabled="true" data-social="telegram">
              <img class="s4d-social-icon s4d-social-icon-telegram" src="https://i.postimg.cc/CKN15YRx/telegram.png" width="28" height="28" alt="" decoding="async" loading="eager" draggable="false">
              <span class="s4d-social-text">Telegram</span>
            </a>
            <a id="sidebarFacebook" class="sidebar-link sidebar-social-link" href="#" rel="noopener" aria-disabled="true" data-social="facebook">
              <img class="s4d-social-icon s4d-social-icon-facebook" src="https://www.image2url.com/r2/default/files/1778218935682-a51ef402-f3a9-499a-bde4-6e91756e637a.png" width="28" height="28" alt="" decoding="async" loading="eager" draggable="false">
              <span class="s4d-social-text">Facebook</span>
            </a>
            <a id="sidebarInstagram" class="sidebar-link sidebar-social-link" href="#" rel="noopener" aria-disabled="true" data-social="instagram">
              <img class="s4d-social-icon s4d-social-icon-instagram" src="https://i.postimg.cc/zB2GwjS1/social.png" width="28" height="28" alt="" decoding="async" loading="eager" draggable="false">
              <span class="s4d-social-text">Instagram</span>
            </a>
          </nav>
        </section>

      </div>
    </aside>
    <nav id="mobileBottomNav" class="mobile-bottom-nav" aria-label="Navigasi mobile utama">
      <a class="mobile-nav-item is-active" href="#top" data-mobile-nav="home" aria-current="page">
        <img class="mobile-nav-icon mobile-nav-img" src="https://i.postimg.cc/7Z7cgnr1/Home.png" width="24" height="24" alt="" aria-hidden="true" decoding="async" loading="eager" draggable="false">
        <span>Home</span>
      </a>

      <button id="mobileNavWinner" class="mobile-nav-item mobile-nav-button" type="button" data-mobile-nav="winner" aria-controls="winnerPlayerArea" aria-pressed="false">
        <img class="mobile-nav-icon mobile-nav-img" src="https://i.postimg.cc/YCcDqLLL/Winner-Player.png" width="24" height="24" alt="" aria-hidden="true" decoding="async" loading="eager" draggable="false">
        <span>Winner</span>
      </button>

      <a class="mobile-nav-item mobile-nav-game-center" href="#catalogArea" data-mobile-nav="game">
        <img class="mobile-nav-icon mobile-nav-img" src="https://i.postimg.cc/5tSRr90t/Game-Lobby.png" width="24" height="24" alt="" aria-hidden="true" decoding="async" loading="eager" draggable="false">
        <span>Game</span>
      </a>

      <a class="mobile-nav-item" href="/container-1.html" data-mobile-nav="promo" data-gift-container="container-1">
        <img class="mobile-nav-icon mobile-nav-img" src="https://i.postimg.cc/zBf0Pn6C/Promotion.png" width="24" height="24" alt="" aria-hidden="true" decoding="async" loading="eager" draggable="false">
        <span>Promosi</span>
      </a>

      <button id="mobileNavLiveChat" class="mobile-nav-item mobile-nav-button mobile-nav-livechat" type="button" data-mobile-nav="live-chat" aria-label="Buka live chat">
        <img class="mobile-nav-icon mobile-nav-img mobile-nav-livechat-icon" src="https://i.postimg.cc/mD68xPGr/Live-Chat.png" width="24" height="24" alt="" aria-hidden="true" decoding="async" loading="eager" draggable="false">
        <span>Live Chat</span>
      </button>
    </nav>
    <div id="catalogFilterModal" class="catalog-filter-modal" hidden aria-hidden="true">
      <div class="catalog-filter-backdrop" data-filter-close></div>

      <div data-testid="drawer" class="catalog-filter-dialog lK_gJ lK_lR lK_lQ io_gJ io_gK" role="dialog" aria-modal="true" aria-labelledby="catalogFilterTitle" aria-describedby="catalogFilterDesc">
        <div class="catalog-filter-head lK_ma lK_me">
          <div class="catalog-filter-title-wrap">
            <h3 id="catalogFilterTitle" class="catalog-filter-title io_gN">Filter</h3>
            <p id="catalogFilterDesc" class="catalog-filter-desc">Pilih provider dan kategori</p>
          </div>
          <button id="catalogFilterClose" class="catalog-filter-close ir_is ir_iu ir_iw lK_mf" type="button" data-testid="drawer-close-button" aria-label="Tutup filter">
            <span class="ir_it" aria-hidden="true"><span class="ir_iE"><svg data-testid="icon-Close" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="jm_eh"><use href="#icon-Close"></use></svg></span></span>
          </button>
        </div>

        <div class="catalog-filter-body lK_l1 io_fb">
          <div class="catalog-filter-field">
            <span class="catalog-filter-label">Pilih Provider</span>
            <div id="modalProviderDropdown" class="catalog-filter-dropdown" data-filter-dropdown="provider">
              <button id="modalProviderTrigger" class="catalog-filter-picker" type="button" aria-haspopup="listbox" aria-expanded="false" aria-controls="modalProviderMenu">
                <span id="modalProviderName" class="catalog-filter-picker-name">Semua Provider</span>
                <svg class="catalog-filter-picker-arrow" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M7 10l5 5 5-5" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"/></svg>
              </button>
              <div id="modalProviderMenu" class="catalog-filter-picker-menu" role="listbox" aria-label="Pilih provider"></div>
            </div>
          </div>

          <div class="catalog-filter-field">
            <span class="catalog-filter-label">Pilih Kategori</span>
            <div id="modalCategoryDropdown" class="catalog-filter-dropdown" data-filter-dropdown="category">
              <button id="modalCategoryTrigger" class="catalog-filter-picker" type="button" aria-haspopup="listbox" aria-expanded="false" aria-controls="modalCategoryMenu">
                <span id="modalCategoryName" class="catalog-filter-picker-name">Semua Kategori</span>
                <svg class="catalog-filter-picker-arrow" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M7 10l5 5 5-5" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"/></svg>
              </button>
              <div id="modalCategoryMenu" class="catalog-filter-picker-menu" role="listbox" aria-label="Pilih kategori katalog"></div>
            </div>
          </div>
        </div>

        <div class="catalog-filter-foot">
          <button id="catalogFilterApply" class="catalog-filter-action is-solid" type="button">Terapkan Filter</button>
        </div>
      </div>
    </div>

    <div id="polaReadyToast" class="pola-ready-toast" role="status" aria-live="polite" aria-atomic="true"></div>
  </div>

  <!-- Runtime config: Supabase smart boot must load before bootstrap.js -->
  <script>
    (() => {
      'use strict';
      const w = window;

      w.__GAME_CONFIG_ENDPOINT__ = w.__GAME_CONFIG_ENDPOINT__ || '';
      w.__GAME_CONFIG_SOURCE_PRIORITY__ = 'supabase';
      w.__GAME_CONFIG_ENDPOINT_TIMEOUT_MS__ = 900;
      w.__GAME_CONFIG_BOOT_TIMEOUT_MS__ = 950;
      w.__GAME_CONFIG_CACHE_MODE__ = 'default';
      w.__GAME_CONFIG_SYNC_REVISION__ = w.__GAME_CONFIG_SYNC_REVISION__ || 'supabase-smart-boot-v2';

      w.__S4D_SUPABASE_CONFIG_TABLE__ = w.__S4D_SUPABASE_CONFIG_TABLE__ || 'app_config';
      w.__S4D_SUPABASE_CONFIG_ID__ = w.__S4D_SUPABASE_CONFIG_ID__ || 'main';
      w.__S4D_SUPABASE_CACHE_KEY__ = w.__S4D_SUPABASE_CACHE_KEY__ || 's4d:app-config:main:v2';
      w.__S4D_SUPABASE_CACHE_MS__ = Number(w.__S4D_SUPABASE_CACHE_MS__ || 300000);
      w.__S4D_SUPABASE_STALE_MS__ = Number(w.__S4D_SUPABASE_STALE_MS__ || 1800000);
      w.__S4D_SUPABASE_TIMEOUT_MS__ = Number(w.__S4D_SUPABASE_TIMEOUT_MS__ || 5200);
      w.__S4D_DEBUG_SUPABASE__ = false;
    })();
  </script>

  <!-- Supabase data bridge starts first: local REST cache, SDK loads deferred -->
  <script src="/assets/js/supabase-client.js"></script>
  <script defer src="https://cdn.jsdelivr.net/npm/@supabase/supabase-js@2" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

  <!-- Production runtime order -->
  <script defer src="/assets/vendor/bootstrap/bootstrap.bundle.min.js"></script>
  <script defer src="/assets/js/smart-inspect-guard.js"></script>
  <script type="module" src="/frontEnd/js/bootstrap.js"></script>

  <!-- Lightweight mobile-nav fallback kept outside the deleted legacy app.js -->
  <script>
    (() => {
      'use strict';

      window.__GAME_DEBUG__ = Boolean(window.__GAME_DEBUG__);

      const ready = (callback) => {
        if (document.readyState === 'loading') {
          document.addEventListener('DOMContentLoaded', callback, { once: true });
          return;
        }
        callback();
      };

      const safe = (callback) => {
        try {
          return callback();
        } catch (_) {
          return undefined;
        }
      };

      ready(() => {
        const mobileNav = document.getElementById('mobileBottomNav');
        const searchToggle = document.getElementById('mobileHeaderSearchToggle');
        const searchArea = document.getElementById('searchArea');
        const searchInput = document.getElementById('searchInput');
        const winnerButton = document.getElementById('mobileNavWinner');
        const winnerArea = document.getElementById('winnerPlayerArea');
        const sidebarWinner = document.getElementById('sidebarWinnerPlayerLink');
        const winnerViewAll = document.getElementById('winnerViewAllButton');

        const navItems = mobileNav
          ? Array.from(mobileNav.querySelectorAll('[data-mobile-nav]'))
          : [];

        const setActiveNav = (key) => {
          if (!key || !navItems.length) return;
          navItems.forEach((item) => {
            const active = item.getAttribute('data-mobile-nav') === key;
            item.classList.toggle('is-active', active);
            if (active) item.setAttribute('aria-current', 'page');
            else item.removeAttribute('aria-current');
          });
        };

        const scrollToElement = (target, focusTarget) => {
          if (!target) return;
          const reducedMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
          safe(() => target.scrollIntoView({ behavior: reducedMotion ? 'auto' : 'smooth', block: 'start' })) || target.scrollIntoView();
          if (focusTarget) {
            window.setTimeout(() => {
              safe(() => focusTarget.focus({ preventScroll: true })) || focusTarget.focus();
            }, reducedMotion ? 40 : 260);
          }
        };

        if (searchToggle) {
          searchToggle.addEventListener('click', (event) => {
            event.preventDefault();
            setActiveNav('game');
            scrollToElement(searchArea || searchInput, searchInput);
          });
        }

        if (winnerButton) {
          winnerButton.addEventListener('click', (event) => {
            event.preventDefault();
            setActiveNav('winner');

            if (typeof window.openWinnerPlayerView === 'function') {
              window.openWinnerPlayerView({ instant: true, closeSidebar: true });
              return;
            }

            if (sidebarWinner) sidebarWinner.click();
            else if (winnerViewAll) winnerViewAll.click();

            window.requestAnimationFrame(() => {
              if (!winnerArea) return;
              winnerArea.hidden = false;
              winnerArea.setAttribute('aria-hidden', 'false');
              scrollToElement(winnerArea);
            });
          });
        }

        if (mobileNav) {
          mobileNav.addEventListener('click', (event) => {
            const item = event.target.closest('[data-mobile-nav]');
            if (!item) return;
            const key = item.getAttribute('data-mobile-nav');
            setActiveNav(key);
          }, { passive: true });
        }

        const trackedSections = [
          ['home', document.getElementById('top')],
          ['game', document.getElementById('catalogArea')],
          ['winner', winnerArea]
        ].filter((entry) => entry[1]);

        if ('IntersectionObserver' in window && trackedSections.length) {
          const observer = new IntersectionObserver((entries) => {
            const visible = entries
              .filter((entry) => entry.isIntersecting)
              .sort((left, right) => right.intersectionRatio - left.intersectionRatio)[0];

            if (!visible) return;
            const match = trackedSections.find((entry) => entry[1] === visible.target);
            if (match) setActiveNav(match[0]);
          }, {
            root: null,
            threshold: [0.25, 0.45, 0.6],
            rootMargin: '-24% 0px -52% 0px'
          });

          trackedSections.forEach((entry) => observer.observe(entry[1]));
        }
      });
    })();
  </script>

</body>
</html>
