/* rtpx.public-ui.bundle.css — consolidated public UI/runtime styles; cache: optimal-stable-v8 */

/* module: game badge */
/* rtpx-game-badge-single-source-v9: one stack-based badge system only */
:root{--rtpx-badge-hot-src:url("https://i.postimg.cc/2ysg9hn1/Hot-Game.png");--rtpx-badge-extra-scatter-src:url("https://i.postimg.cc/52Lt0kT6/EXTRA-SCATTER.png");--rtpx-badge-new-src:url("https://i.postimg.cc/2SBjVXqF/NEW.png");--rtpx-game-badge-width:clamp(72px,6.9vw,112px);--rtpx-game-badge-top:-10px;--rtpx-game-badge-left:2px;--rtpx-extra-scatter-badge-offset-y:9px}
.game-card,.feature-island-card{position:relative}.game-card{overflow:visible}.game-card-shell{position:relative}
.game-card-badge-stack{position:absolute;z-index:90;top:var(--rtpx-game-badge-top);left:var(--rtpx-game-badge-left);display:block;width:auto;max-width:min(72%,120px);pointer-events:none;user-select:none;-webkit-user-drag:none;background:transparent;box-shadow:none;filter:none;opacity:1;visibility:visible;isolation:isolate;contain:layout paint}
.game-card-badge-stack>.rtpx-game-badge,.game-card-badge-stack>.game-hot-badge,.game-card-badge-stack>.game-extra-scatter-badge,.game-card-badge-stack>.game-new-badge{position:relative;inset:auto;z-index:auto;display:block;width:var(--rtpx-game-badge-width);height:auto;max-width:100%;max-height:none;min-width:0;object-fit:contain;object-position:left top;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:none;box-shadow:none;opacity:1;visibility:visible;background:transparent;contain:layout paint}
.game-card-badge-stack>.game-extra-scatter-badge{margin-top:var(--rtpx-extra-scatter-badge-offset-y)}
.game-card-badge-stack>.rtpx-game-badge[hidden],.game-card-badge-stack>.game-hot-badge[hidden],.game-card-badge-stack>.game-extra-scatter-badge[hidden],.game-card-badge-stack>.game-new-badge[hidden],.game-card-badge-stack>.rtpx-game-badge[data-rtpx-badge-state="error"],.game-card-badge-stack>.game-hot-badge[data-rtpx-badge-state="error"],.game-card-badge-stack>.game-hot-badge[data-rtpx-hot-state="error"]{display:none}
@media(max-width:640px){:root{--rtpx-game-badge-width:clamp(58px,16vw,86px);--rtpx-game-badge-top:-8px;--rtpx-game-badge-left:1px;--rtpx-extra-scatter-badge-offset-y:7px}.game-card-badge-stack{max-width:min(68%,90px)}}
@media(min-width:1200px){:root{--rtpx-game-badge-width:clamp(84px,5.8vw,118px)}}

/* module: game title dropup */
/* rtpx-card-title-dropup-clean-v20: desktop hover + mobile JS tap state for title overlay only */
:root{--rtpx-dropup-title-text:var(--text);--rtpx-dropup-title-bg:color-mix(in srgb,var(--surface) 86%,transparent);--rtpx-dropup-title-border:color-mix(in srgb,var(--text) 16%,transparent);--rtpx-dropup-title-radius:10px}
body:not(.admin-page) .game-card[data-rtpx-has-dropup="true"] :is(.game-card-media-shell,.feature-card-hit,.game-card-hit)[data-rtpx-dropup-title],
body:not(.admin-page) .feature-island-card[data-rtpx-has-dropup="true"] :is(.game-card-media-shell,.feature-card-hit,.game-card-hit)[data-rtpx-dropup-title]{position:relative;overflow:hidden;isolation:isolate;-webkit-tap-highlight-color:transparent}
body:not(.admin-page) .game-card[data-rtpx-has-dropup="true"] :is(.game-card-media-shell,.feature-card-hit,.game-card-hit)[data-rtpx-dropup-title]::after,
body:not(.admin-page) .feature-island-card[data-rtpx-has-dropup="true"] :is(.game-card-media-shell,.feature-card-hit,.game-card-hit)[data-rtpx-dropup-title]::after{content:attr(data-rtpx-dropup-title);position:absolute;inset:auto 8px 8px;z-index:16;display:flex;align-items:center;justify-content:center;min-height:32px;max-height:42px;padding:7px 9px;border:1px solid var(--rtpx-dropup-title-border);border-radius:var(--rtpx-dropup-title-radius);color:var(--rtpx-dropup-title-text);background:var(--rtpx-dropup-title-bg);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:0;pointer-events:none;transform:translate3d(0,6px,0);transition:opacity .12s linear,transform .12s linear;font-family:var(--font-main);font-size:clamp(11.5px,.76vw,13px);font-weight:850;line-height:1.15;letter-spacing:-.01em;text-align:center;text-shadow:none;white-space:normal;overflow:hidden;overflow-wrap:anywhere}
body:not(.admin-page) .game-card-title-overlay{display:none;opacity:0;pointer-events:none}
@media (hover:hover) and (pointer:fine){body:not(.admin-page) .game-card[data-rtpx-has-dropup="true"]:hover :is(.game-card-media-shell,.feature-card-hit,.game-card-hit)[data-rtpx-dropup-title]::after,body:not(.admin-page) .feature-island-card[data-rtpx-has-dropup="true"]:hover :is(.game-card-media-shell,.feature-card-hit,.game-card-hit)[data-rtpx-dropup-title]::after{opacity:1;transform:translate3d(0,0,0)}}
@media (hover:none),(pointer:coarse){body:not(.admin-page) .game-card[data-rtpx-has-dropup="true"][data-rtpx-title-open="true"] :is(.game-card-media-shell,.feature-card-hit,.game-card-hit)[data-rtpx-dropup-title]::after,body:not(.admin-page) .feature-island-card[data-rtpx-has-dropup="true"][data-rtpx-title-open="true"] :is(.game-card-media-shell,.feature-card-hit,.game-card-hit)[data-rtpx-dropup-title]::after{opacity:1;transform:translate3d(0,0,0)}}
html[data-rtpx-page-hidden="true"] body:not(.admin-page) .game-card[data-rtpx-has-dropup="true"] :is(.game-card-media-shell,.feature-card-hit,.game-card-hit)[data-rtpx-dropup-title]::after,
html[data-rtpx-page-hidden="true"] body:not(.admin-page) .feature-island-card[data-rtpx-has-dropup="true"] :is(.game-card-media-shell,.feature-card-hit,.game-card-hit)[data-rtpx-dropup-title]::after{opacity:0;transform:translate3d(0,6px,0)}

/* module: mobile performance */
@media (max-width:820px),(pointer:coarse){html{scroll-behavior:auto;overscroll-behavior-x:none}body{background-attachment:scroll;overscroll-behavior-y:auto}.content-row-stage,.featured-carousel-stage,.news-carousel-stage,.api-content-stage,.api-spotlight-stage,.jackpot-related-stage,.jackpot-top20-stage,.game-pola-top20-stage{contain:layout style;transform:none;filter:none;backdrop-filter:none;-webkit-backdrop-filter:none;will-change:auto;isolation:isolate}.content-row-rail,.featured-rail,.news-rail,.win-proof-rail,.provider-filter-track,.provider-tabs,[data-api-rail],[data-top20-rail],[data-jackpot-top20],.jackpot-top20-rail,.game-pola-top20-rail,.jackpot-related-rail,.api-spotlight-rail{overflow-x:auto;overflow-y:visible;scroll-snap-type:none;scroll-padding-inline:0;scroll-behavior:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;contain:layout style;will-change:auto;transform:none;filter:none;backdrop-filter:none;-webkit-backdrop-filter:none;scrollbar-width:none}.content-row-rail::-webkit-scrollbar,.featured-rail::-webkit-scrollbar,.news-rail::-webkit-scrollbar,.win-proof-rail::-webkit-scrollbar,.provider-filter-track::-webkit-scrollbar,.provider-tabs::-webkit-scrollbar,[data-api-rail]::-webkit-scrollbar,[data-top20-rail]::-webkit-scrollbar,[data-jackpot-top20]::-webkit-scrollbar,.jackpot-top20-rail::-webkit-scrollbar,.game-pola-top20-rail::-webkit-scrollbar,.jackpot-related-rail::-webkit-scrollbar,.api-spotlight-rail::-webkit-scrollbar{display:none}.content-row-rail>.game-card,.content-row-rail>.feature-island-card,.featured-rail>.feature-island-card,[data-api-rail]>.game-card,[data-api-rail]>.feature-island-card,[data-top20-rail]>.game-card,.jackpot-top20-rail>.game-card,.game-pola-top20-rail>.game-card,.jackpot-related-rail>.game-card,.api-spotlight-rail>.api-spotlight-card{scroll-snap-align:none;scroll-snap-stop:normal;animation:none;transform:none;will-change:auto;filter:none;backdrop-filter:none;-webkit-backdrop-filter:none}.game-card,.feature-island-card,.api-spotlight-card,.news-card,.win-proof-card,.all-wins-card,.game-pola-card,.jackpot-rail-card{contain:layout paint style;will-change:auto;animation:none}.game-card-shell,.game-card-hit,.feature-card-hit,.game-card-media-shell,.feature-cover,.game-cover,.game-cover-frame,.api-spotlight-card,.news-card,.win-proof-card,.jackpot-rail-card{animation:none;transform:none;will-change:auto;filter:none;backdrop-filter:none;-webkit-backdrop-filter:none}.game-card .game-cover img,.game-card .game-cover-frame img,.game-card .feature-cover img,.feature-cover img,.game-cover img,.game-cover-frame img{transition:opacity .04s linear;animation:none;transform:none;will-change:auto;filter:none;backface-visibility:hidden}.game-card-badge-stack,.game-card-badge-stack>.rtpx-game-badge,.game-hot-badge,.game-extra-scatter-badge,.game-new-badge{transition:none;animation:none;will-change:auto;filter:none;box-shadow:none;transform:none;backdrop-filter:none;-webkit-backdrop-filter:none}[data-rtpx-lazy-section="loading"]::after,html.is-rtpx-scrolling body:not(.admin-page) [data-rtpx-dropup-title]::after{animation:none;transition:none;will-change:auto}html.is-rtpx-scrolling .game-card,html.is-rtpx-scrolling .feature-island-card,html.is-rtpx-scrolling .game-card-shell,html.is-rtpx-scrolling .game-card-hit,html.is-rtpx-scrolling .feature-card-hit,html.is-rtpx-scrolling .game-cover,html.is-rtpx-scrolling .game-cover-frame,html.is-rtpx-scrolling .feature-cover,html.is-rtpx-scrolling .game-cover img,html.is-rtpx-scrolling .feature-cover img{transition:none;animation:none;transform:none;filter:none;box-shadow:none;will-change:auto}}
/* rtpx-final-mobile-paint-contract-v1: keep mobile scroll flat; avoid expensive live blur/shadow during interaction */
@media (max-width:820px),(pointer:coarse){body:not(.admin-page) :where(.button,.link-button,.detail-button,.icon-button,.sort-menu__button,.search,.search__submit,.search__close,.mobile-signin-button,.menu-toggle,.global-header,.global-header::before,.global-header__drawer,.provider-filter-button,.provider-tab,.category-button,.all-wins-card-badge,.all-wins-load-more-button){backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}html.is-rtpx-scrolling body:not(.admin-page) :where(.button,.link-button,.detail-button,.icon-button,.sort-menu__button,.search,.mobile-signin-button,.menu-toggle,.provider-filter-button,.provider-tab,.category-button){transition:none;transform:none;filter:none;will-change:auto}}

/* module: smart UI */
/* RTPX Smart UI v5: one geometry-aware skeleton channel. */
:root{
  --rtpx-smart-skeleton-base:color-mix(in srgb,var(--surface,#11131a) 74%,#fff 8%);
  --rtpx-smart-skeleton-line:linear-gradient(90deg,rgba(255,255,255,.045) 0%,rgba(255,255,255,.115) 46%,rgba(255,255,255,.045) 82%);
  --rtpx-smart-focus:color-mix(in srgb,var(--rtpx-button-accent,var(--accent,#12b857)) 72%,transparent);
}
:is(.rtpx-smart-skeleton,.rtpx-shell-skeleton-card,.news-skeleton-card,.game-pola-loading,.skeleton,.loading-shimmer,[data-rtpx-skeleton]){
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-radius:var(--rtpx-skeleton-radius,inherit);
  background:var(--rtpx-smart-skeleton-base);
}
:is(.rtpx-smart-skeleton,.rtpx-shell-skeleton-card,.news-skeleton-card,.game-pola-loading,.skeleton,.loading-shimmer,[data-rtpx-skeleton])::after,
.rtpx-media-loading::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:var(--rtpx-smart-skeleton-line);
  background-size:220% 100%;
  animation:rtpxSmartSkeletonShine 1.8s linear infinite;
  animation-play-state:running;
}
[data-rtpx-skeleton-visible="false"]::after{animation-play-state:paused;opacity:.28}
@keyframes rtpxSmartSkeletonShine{0%{background-position-x:100%}56%,100%{background-position-x:-100%}}
.rtpx-media-loading{position:relative;overflow:hidden;background:var(--rtpx-smart-skeleton-base)}
.rtpx-media-loading>img,.rtpx-media-loading picture>img{opacity:.18}
.rtpx-media-ready::after{content:none}
.rtpx-media-ready>img,.rtpx-media-ready picture>img{opacity:1}
[data-rtpx-smart-tab="true"]{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,color .18s ease,opacity .16s ease,border-color .18s ease}
[data-rtpx-smart-tab="true"] :is(span,.provider-chip__label,.rtpx-section-action-label,.button-label){min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.category-chip,.provider-chip,.provider-filter-button,.catalog-tab,.section-action-link,.rtpx-section-action-button,.guide-chip,.jackpot-pill)[data-rtpx-overflow="true"]{text-wrap:nowrap}
:is(.category-chip,.provider-chip,.provider-filter-button,.catalog-tab,.section-action-link,.rtpx-section-action-button,.guide-chip,.jackpot-pill):focus-visible{outline:2px solid var(--rtpx-smart-focus);outline-offset:2px}
:is(.category-chip,.provider-chip,.provider-filter-button,.catalog-tab,.section-action-link,.rtpx-section-action-button,.guide-chip,.jackpot-pill):active{opacity:.84}
.rtpx-lazy-section{content-visibility:visible;contain-intrinsic-size:auto;overflow-anchor:none}
.rtpx-lazy-section[data-rtpx-lazy-state="pending"],.rtpx-lazy-section[data-rtpx-lazy-state="near"],.rtpx-lazy-section[data-rtpx-lazy-state="ready"]{contain:layout style}
@media(prefers-reduced-motion:reduce){:is(.rtpx-smart-skeleton,.rtpx-shell-skeleton-card,.news-skeleton-card,.game-pola-loading,.skeleton,.loading-shimmer,[data-rtpx-skeleton])::after,.rtpx-media-loading::after{animation:none}}
html:is(.is-low-end-runtime,.is-save-data-runtime,.is-mobile-low-end-runtime) :is(.rtpx-smart-skeleton,.rtpx-shell-skeleton-card,.news-skeleton-card,.game-pola-loading,.skeleton,.loading-shimmer,[data-rtpx-skeleton])::after{animation:none;opacity:.42}

/* global-header-footer-shell-skeleton-v8
   Skeleton shimmer untuk konten global header/footer saat first paint dan sebelum settings/logo selesai sinkron.
   Tidak mengubah ukuran layout final; hanya memberi shimmer transparan pada elemen yang sudah ada. */
:root{
  --rtpx-smart-skeleton-base: color-mix(in srgb, var(--surface, #11131a) 74%, #ffffff 8%);
  --rtpx-smart-skeleton-line: linear-gradient(90deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.115) 46%, rgba(255,255,255,.045) 82%);
  --rtpx-smart-focus: color-mix(in srgb, var(--rtpx-button-accent, var(--accent, #12b857)) 72%, transparent);
  --rtpx-smart-progress-track: color-mix(in srgb, var(--text, #ffffff) 10%, transparent);
  --rtpx-smart-progress-fill: var(--rtpx-button-accent, var(--accent, #12b857));
  --rtpx-smart-progress-height: 2px;
  --rtpx-shell-skeleton-bg: color-mix(in srgb, var(--theme-text, #ffffff) 7%, transparent);
  --rtpx-shell-skeleton-bg-strong: color-mix(in srgb, var(--theme-text, #ffffff) 11%, transparent);
  --rtpx-shell-skeleton-border: color-mix(in srgb, var(--theme-text, #ffffff) 9%, transparent);
  --rtpx-shell-skeleton-radius: 999px;
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) :is(
  .global-header .property-logo,
  .global-header .main-nav__link,
  .global-header .main-nav__button,
  .global-header .dropdown__button,
  .global-header .mobile-signin-button,
  .global-header .menu-toggle,
  .global-footer .footer-property-logo,
  .global-footer .footer-social,
  .global-footer .footer-column-heading,
  .global-footer .footer-link-list a,
  .global-footer [data-footer-legal],
  .global-footer [data-footer-copyright],
  .global-footer .footer-back-top
){
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:transparent;
  text-shadow:none;
  background:var(--rtpx-shell-skeleton-bg);
  border-color:var(--rtpx-shell-skeleton-border);
  box-shadow:none;
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) :is(
  .global-header .property-logo,
  .global-footer .footer-property-logo
){
  border-radius:12px;
  min-height:min(var(--rtpx-header-logo-max-height, 38px), calc(var(--header-h, 72px) - 14px));
  background:var(--rtpx-shell-skeleton-bg-strong);
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) .global-header .property-logo{
  width:clamp(116px,var(--rtpx-header-logo-width,152px),min(34vw,260px));
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) .global-footer .footer-property-logo{
  width:clamp(118px,12vw,170px);
  min-width:clamp(118px,12vw,170px);
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) :is(
  .global-header .property-logo img,
  .global-footer .footer-property-logo img,
  .global-footer .footer-social img,
  .global-header svg,
  .global-footer svg
){
  opacity:0;
  visibility:hidden;
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) :is(
  .global-header .main-nav__link,
  .global-header .main-nav__button,
  .global-header .dropdown__button,
  .global-header .mobile-signin-button,
  .global-footer .footer-link-list a,
  .global-footer .footer-back-top
){
  border-radius:var(--rtpx-shell-skeleton-radius);
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) .global-header .menu-toggle{
  border-radius:12px;
  background:var(--rtpx-shell-skeleton-bg-strong);
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) .global-header .menu-toggle :is(.menu-toggle-line,.menu-toggle-glyph){
  opacity:0;
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) .global-footer .footer-social{
  display:inline-flex;
  width:clamp(148px,14vw,230px);
  min-width:clamp(148px,14vw,230px);
  min-height:34px;
  border-radius:var(--rtpx-shell-skeleton-radius);
  background:var(--rtpx-shell-skeleton-bg);
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) .global-footer .footer-column-heading{
  display:inline-flex;
  min-width:clamp(72px,8vw,128px);
  min-height:18px;
  border-radius:var(--rtpx-shell-skeleton-radius);
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) .global-footer .footer-link-list a{
  min-height:18px;
  width:fit-content;
  min-width:clamp(104px,12vw,176px);
  max-width:100%;
  padding-inline:.01px;
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) .global-footer .footer-link-list a:nth-child(2n){
  min-width:clamp(82px,10vw,146px);
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) .global-footer [data-footer-legal]{
  min-height:3.2em;
  border-radius:14px;
  background:
    linear-gradient(var(--rtpx-shell-skeleton-bg),var(--rtpx-shell-skeleton-bg)) left top / 100% 1.05em no-repeat,
    linear-gradient(var(--rtpx-shell-skeleton-bg),var(--rtpx-shell-skeleton-bg)) left 1.45em / 88% 1.05em no-repeat,
    linear-gradient(var(--rtpx-shell-skeleton-bg),var(--rtpx-shell-skeleton-bg)) left 2.9em / 62% 1.05em no-repeat;
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) .global-footer [data-footer-copyright]{
  min-height:1.35em;
  border-radius:var(--rtpx-shell-skeleton-radius);
  background:var(--rtpx-shell-skeleton-bg);
}

html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) :is(
  .global-header .property-logo,
  .global-header .main-nav__link,
  .global-header .main-nav__button,
  .global-header .dropdown__button,
  .global-header .mobile-signin-button,
  .global-header .menu-toggle,
  .global-footer .footer-property-logo,
  .global-footer .footer-social,
  .global-footer .footer-column-heading,
  .global-footer .footer-link-list a,
  .global-footer [data-footer-legal],
  .global-footer [data-footer-copyright],
  .global-footer .footer-back-top
)::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:var(--rtpx-smart-skeleton-line);
  background-size:220% 100%;
  animation:rtpxSmartSkeletonShine 1.8s linear infinite;
}

html[data-rtpx-shell-skeleton="ready"] body:not(.admin-page) :is(.global-header,.global-footer){
  --rtpx-shell-skeleton-bg: transparent;
}

@media (prefers-reduced-motion:reduce){
  html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) :is(
    .global-header .property-logo,
    .global-header .main-nav__link,
    .global-header .main-nav__button,
    .global-header .dropdown__button,
    .global-header .mobile-signin-button,
    .global-header .menu-toggle,
    .global-footer .footer-property-logo,
    .global-footer .footer-social,
    .global-footer .footer-column-heading,
    .global-footer .footer-link-list a,
    .global-footer [data-footer-legal],
    .global-footer [data-footer-copyright],
    .global-footer .footer-back-top
  )::after{animation:none;opacity:.46;}
}

@media (max-width:980px){
  html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) .global-header .main-nav__link,
  html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) .global-header .main-nav__button{
    min-height:38px;
    width:100%;
    justify-content:flex-start;
  }
  html[data-rtpx-shell-skeleton="loading"] body:not(.admin-page) .global-footer .footer-social{
    width:min(220px,52vw);
    min-width:min(220px,52vw);
  }
}
