*{margin:0;padding:0;box-sizing:border-box;font-family:'Rubik',sans-serif}

body{
    background:#080d1e;
    color:#fff;
    min-height:100vh
}

.container{max-width:1140px;margin:0 auto;padding:0 10px}

/* ── Header ── */
.site-header{text-align:center;padding:20px 0 10px}
.site-header .logo img{height:60px}
.site-header h1{color:#F5C542;font-size:1.3rem;margin:10px 0 5px}
.date-text{color:#7a8ab5;font-size:.85rem}

/* ── Announcement bar ── */
.announcement{display:flex;align-items:center;padding:8px 10px;color:#a0aec0;font-size:.85rem}
.live-dot{
    display:inline-block;width:8px;height:8px;
    background:#06B6D4;
    border-radius:50%;margin-right:6px;
    animation:pulse 1s ease-in-out infinite
}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}

/* ── Banner ── */
.banner img{width:100%;border-radius:8px;margin:8px 0}

/* ── CTA Buttons ── */
.btn-row{display:flex;gap:0;margin-bottom:12px}
.btn-row a{
    flex:1;text-align:center;padding:13px;
    text-decoration:none;font-weight:700;
    font-size:.9rem;text-transform:uppercase;
    border-radius:0;
    transition:all .25s ease
}

/* ── DAFTAR — dark navy, border ungu tipis ── */
.btn-daftar{
    background:#0d1130;
    color:#a78bfa;
    border:1.5px solid #4C1D95;
}
.btn-daftar:hover{
    background:#130e2a;
    box-shadow:0 0 14px rgba(124,58,237,.55), inset 0 0 8px rgba(124,58,237,.15);
    color:#c4b5fd
}
.btn-daftar:active{
    box-shadow:0 0 22px rgba(124,58,237,.9), inset 0 0 14px rgba(124,58,237,.3);
}

/* ── LOGIN — solid violet, glow terang ── */
.btn-login{
    background:#7C3AED;
    color:#fff;
    border:1.5px solid #7C3AED;
}
.btn-login:hover{
    background:#6D28D9;
    box-shadow:0 0 18px rgba(124,58,237,.7), inset 0 0 10px rgba(167,139,250,.2);
    color:#fff
}
.btn-login:active{
    box-shadow:0 0 28px rgba(124,58,237,1), inset 0 0 16px rgba(167,139,250,.35);
}

/* Layout utama */
.layout{
  display:flex;
  min-height:100vh;
}

/* Sidebar kiri */
.sidebar{
  width:230px;
  background:#020617;
  border-right:1px solid #1e293b;
  padding:20px 10px;
}


/* List provider */
.provider-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* Item provider */
.provider-tab{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px;
  border-radius:10px;
  cursor:pointer;
  transition:0.2s;
  background:#0f172a;
}

.provider-tab:hover{
  background:#1e293b;
}

.provider-tab.active{
  background:#288ec9;
  color:#000;
  font-weight:bold;
}

/* Logo provider */
.provider-tab img{
  width:28px;
  height:28px;
  border-radius:6px;
}

/* Area konten kanan */
.content{
  flex:1;
  padding:25px;
  text-align:center;
  color:#F5C542;
  font-size:1.1rem;margin:10px 0 15px;font-weight:700
}

/* ── Search Game ── */
.search-box{
    width:100%;
    max-width:520px;
    margin:0 auto 16px;
    position:relative;
}

.search-box input{
    width:100%;
    height:46px;
    border:none;
    outline:none;
    border-radius:12px;
    padding:0 46px 0 16px;
    background:#0f1535;
    color:#fff;
    font-size:.9rem;
    font-weight:600;
    border:1px solid #1e2d5a;
    box-shadow:0 0 0 rgba(124,58,237,0);
    transition:.25s ease;
}

.search-box input::placeholder{
    color:#64748b;
    font-weight:500;
}

.search-box input:focus{
    border-color:#7C3AED;
    box-shadow:0 0 18px rgba(124,58,237,.28);
}

.search-box button{
    position:absolute;
    top:50%;
    right:9px;
    transform:translateY(-50%);
    width:30px;
    height:30px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    background:#1e2d5a;
    color:#fff;
    font-size:1.2rem;
    line-height:1;
    display:none;
}

.search-box button.show{
    display:flex;
    align-items:center;
    justify-content:center;
}

.search-box button:hover{
    background:#7C3AED;
}

/* Pesan kosong */
.empty-result{
    grid-column:1 / -1;
    background:#0f1535;
    border:1px solid #1e2d5a;
    border-radius:12px;
    padding:24px 16px;
    color:#94a3b8;
    font-size:.9rem;
    line-height:1.6;
}

.empty-result b{
    color:#F5C542;
}

/* Nama provider di hasil search */
.search-provider-label{
    padding:5px 8px;
    font-size:.62rem;
    font-weight:800;
    color:#38bdf8;
    background:#020617;
    border-top:1px solid #1e2d5a;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* Responsive search */
@media(max-width:768px){
    .search-box{
        max-width:100%;
        margin:0 auto 12px;
        padding:0 2px;
    }

    .search-box input{
        height:43px;
        font-size:.82rem;
        border-radius:10px;
    }
}

/* ── HP: Sidebar jadi Bottom Menu ── */
@media(max-width:768px){
  body{
    padding-bottom:86px;
  }

  .container{
    padding:0 8px;
  }

  .layout{
    display:block;
    min-height:auto;
  }

  .sidebar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    top:auto;
    z-index:999;
    width:100%;
    height:auto;
    max-height:86px;
    padding:7px 8px 9px;
    background:rgba(2,6,23,.96);
    border-right:none;
    border-top:1px solid #1e293b;
    overflow:hidden;
    box-shadow:0 -8px 25px rgba(0,0,0,.45);
    backdrop-filter:blur(10px);
  }

  .sidebar-title{
    display: none;
  }

  .provider-list{
    flex-direction:row;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:3px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }

  .provider-list::-webkit-scrollbar{
    height:4px;
  }

  .provider-list::-webkit-scrollbar-track{
    background:#020617;
  }

  .provider-list::-webkit-scrollbar-thumb{
    background:#38bdf8;
    border-radius:999px;
  }

  .provider-tab{
    flex:0 0 auto;
    min-width:78px;
    max-width:90px;
    height:66px;
    padding:7px 6px;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    border-radius:12px;
    scroll-snap-align:start;
  }

  .provider-tab img{
    width:24px;
    height:24px;
  }

  .provider-tab span{
    width:100%;
    font-size:.62rem;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    text-align:center;
  }

  .content{
    padding:12px 0 20px;
    margin:0;
  }

  .content h2{
    font-size:1rem;
    margin:12px 0;
  }

  .games-grid{
    gap:8px;
  }

  .game-card{
    border-radius:10px;
  }

  .game-card .game-name{
    font-size:.62rem;
    padding:6px 5px;
  }

  .rtp-bar-wrap{
    height:24px;
  }

  .rtp-bar-text{
    font-size:.68rem;
  }
}

/* ── HP kecil ── */
@media(max-width:480px){
  body{
    padding-bottom:82px;
  }

  .site-header{
    padding:14px 0 8px;
  }

  .site-header .logo img{
    height:50px;
  }

  .site-header h1{
    font-size:1rem;
  }

  .announcement{
    font-size:.72rem;
    padding:7px 4px;
  }

  .banner img{
    border-radius:7px;
  }

  .btn-row a{
    padding:11px 8px;
    font-size:.8rem;
  }

  .sidebar{
    max-height:82px;
    padding:6px 7px 8px;
  }

  .provider-tab{
    min-width:72px;
    max-width:82px;
    height:62px;
  }

  .provider-tab img{
    width:22px;
    height:22px;
  }

  .provider-tab span{
    font-size:.58rem;
  }
}


/* ── Game Grid ── */
.games-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}


.game-card{
    background:#0f1535;
    border-radius:12px;overflow:hidden;
    position:relative;cursor:pointer;
    transition:transform .3s,box-shadow .3s;
    border:1px solid #1e2d5a
}
.game-card:hover{
    transform:translateY(-4px);
    box-shadow:0 8px 25px rgba(124,58,237,.25)
}
.game-card .game-img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.game-card .game-name{
    padding:6px 8px;font-size:.68rem;font-weight:600;
    text-align:center;white-space:nowrap;overflow:hidden;
    text-overflow:ellipsis;color:#c4cfee;
    background:#09102a
}

/* ── RTP Bar ── */
.rtp-bar-wrap{height:26px;background:#131d3f;position:relative;overflow:hidden}
.rtp-bar-fill{
    height:100%;transition:width .8s ease;
    background-size:1rem 1rem;
    background-image:linear-gradient(
        45deg,
        rgba(255,255,255,.15) 25%,transparent 25%,
        transparent 50%,rgba(255,255,255,.15) 50%,
        rgba(255,255,255,.15) 75%,transparent 75%,transparent
    );
    animation:pstripe 1s linear infinite
}
@keyframes pstripe{0%{background-position-x:1rem}}
.rtp-bar-text{
    position:absolute;top:0;left:0;right:0;bottom:0;
    display:flex;align-items:center;justify-content:center;
    font-size:.73rem;font-weight:700;color:#fff;z-index:2
}
.rtp-green{background-color:#28a745}
.rtp-yellow{background-color:#DBB63B}
.rtp-red{background-color:#dc3545}

/* ── Game Overlay Buttons ── */
.game-overlay{
    position:absolute;
    inset:0;
    background:rgba(8,13,30,.82);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    pointer-events:none;
    transition:opacity .25s ease;
    z-index:3;
}

.game-card:hover .game-overlay,
.game-card:focus-within .game-overlay{
    opacity:1;
    pointer-events:auto;

}

/* Responsive grid game */
@media(max-width:768px){
  .games-grid{
    grid-template-columns:repeat(3,1fr);
    gap:8px;
  }

  .mobile-actions{
    padding:6px;
    gap:4px;
  }

  .mobile-actions .overlay-btn{
    min-width:0;
    padding:7px 4px;
    font-size:.56rem;
    border-radius:7px;
  }
}

@media(max-width:430px){
  .games-grid{
    grid-template-columns:repeat(3,1fr);
    gap:9px;
  }

  .mobile-actions .overlay-btn{
    font-size:.6rem;
    padding:8px 5px;
  }
}

/* ── Area gambar game ── */
.game-media{
    position:relative;
}

/* ── Overlay desktop ── */
.game-overlay{
    position:absolute;
    inset:0;
    background:rgba(8,13,30,.82);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    pointer-events:none;
    transition:opacity .25s ease;
    z-index:3;
}

.game-card:hover .game-overlay,
.game-card:focus-within .game-overlay{
    opacity:1;
    pointer-events:auto;
}

.overlay-actions{
    display:flex;
    gap:7px;
    align-items:center;
    justify-content:center;
    padding:8px;
}

.overlay-btn{
    border:none;
    outline:none;
    cursor:pointer;
    padding:8px 10px;
    border-radius:8px;
    font-size:.68rem;
    font-weight:900;
    text-transform:uppercase;
    text-decoration:none;
    line-height:1;
    transition:.2s ease;
    white-space:nowrap;
}

.overlay-btn.pola{
    background:linear-gradient(135deg,#F5C542,#E8A020);
    color:#000;
    box-shadow:0 0 14px rgba(245,197,66,.35);
}

.overlay-btn.main{
    background:linear-gradient(135deg,#7C3AED,#5B21B6);
    color:#fff;
    box-shadow:0 0 14px rgba(124,58,237,.35);
}

.overlay-btn:hover{
    transform:translateY(-2px);
    filter:brightness(1.08);
}

/* ── Tombol khusus mobile: tampil di bawah RTP ── */
.mobile-actions{
    display:none;
    gap:6px;
    padding:8px;
    background:#09102a;
    border-top:1px solid #1e2d5a;
}

.mobile-actions .overlay-btn{
    flex:1;
    padding:8px 6px;
    font-size:.62rem;
    border-radius:7px;
    text-align:center;
}

/* ── Mode HP ── */
@media(max-width:768px){
    .game-overlay{
        display:none;
    }

    .mobile-actions{
        display:flex;
    }
}

/* mode HP kecil */
@media(max-width:480px){
        .game-overlay{
        display:none;
    }

    .mobile-actions{
        display:flex;
    }
}

/* ── Popup Overlay ── */
.popup-overlay{
    display:none;position:fixed;
    top:0;left:0;right:0;bottom:0;
    background:rgba(8,13,30,.88);
    z-index:1000;align-items:center;
    justify-content:center;overflow-y:auto;padding:20px 0
}
.popup-overlay.show{display:flex}
.popup-box{
    background:#0f1535;
    border-radius:12px;max-width:380px;width:90%;
    overflow:hidden;
    border:1px solid #1e2d5a;
    animation:popIn .3s ease;margin:auto
}
@keyframes popIn{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}

.popup-head{
    background:linear-gradient(135deg,#7C3AED,#06B6D4);
    padding:12px 16px;color:#fff;font-weight:700;
    display:flex;justify-content:space-between;
    align-items:center;font-size:.9rem
}
.popup-close{
    cursor:pointer;font-size:1.2rem;
    background:#080d1e;color:#fff;
    width:28px;height:28px;border-radius:50%;
    display:flex;align-items:center;justify-content:center
}
.popup-body-content{padding:14px}
.popup-row{
    display:flex;justify-content:space-between;
    padding:7px 0;border-bottom:1px solid #1e2d5a;
    font-size:.82rem;color:#7a8ab5
}
.popup-row b{color:#c4cfee;max-width:55%;text-align:right}
.popup-label{
    background:#131d3f;padding:10px;
    text-align:center;font-size:.8rem;
    font-weight:700;color:#F5C542
}
.popup-step{
    padding:10px 16px;font-size:.78rem;
    color:#7a8ab5;border-bottom:1px solid #1a2550
}
.popup-step b{color:#c4cfee;display:block;margin-bottom:3px}
.popup-step.red b{color:#7C3AED}
.popup-warn{
    background:linear-gradient(135deg,#F5C542,#E8A020);
    color:#000;padding:10px;text-align:center;
    font-size:.72rem;font-weight:600
}
.popup-actions{display:flex}
.popup-actions a{
    flex:1;text-align:center;padding:12px;
    color:#fff;text-decoration:none;
    font-weight:700;font-size:.85rem
}
.popup-actions a:first-child{background:#1e2d5a}
.popup-actions a:last-child{
    background:linear-gradient(135deg,#7C3AED,#5B21B6)
}

#popupWin{
  --pop-a:#7C3AED;
  --pop-b:#06B6D4;
  --pop-warn-a:#F5C542;
  --pop-warn-b:#E8A020;
}

#popupWin .popup-head{
  background:linear-gradient(135deg,var(--pop-a),var(--pop-b));
}

#popupWin .popup-label{
  color:var(--pop-warn-a);
}

#popupWin .popup-step.red b{
  color:var(--pop-a);
}

#popupWin .popup-warn{
  background:linear-gradient(135deg,var(--pop-warn-a),var(--pop-warn-b));
}

#popupWin .popup-actions a:last-child,
#popupWin .popup-actions a{
  background:linear-gradient(135deg,var(--pop-a),var(--pop-b));
}

.popup-bad-content{text-align:center;padding:30px 20px}
.popup-bad-content p{color:#7a8ab5;font-size:.85rem;margin-top:10px}
.popup-bad-content .red-text{color:#7C3AED;font-weight:700;font-size:1rem}

.footer-space{height:30px}