/* =========================
   TOP 10 V2
========================= */

.top10-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(5px);
}

.top10-overlay.show{
  display:flex;
}

.top10-modal{
  width:min(100%,520px);
  max-height:82dvh;
  overflow:hidden;
  border:1px solid rgba(255,190,0,.35);
  border-radius:22px;
  background:#101015;
  box-shadow:0 18px 60px rgba(0,0,0,.65);
}

.top10-header{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  border-bottom:1px solid rgba(255,190,0,.18);
}

.top10-header h2{
  margin:0;
  color:#fff;
  font-size:18px;
  font-weight:800;
}

#top10Close{
  width:38px;
  height:38px;
  flex:0 0 38px;
  padding:0;
  border:0;
  border-radius:50%;
  color:#fff;
  background:#27272f;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}

.top10-body{
  max-height:calc(82dvh - 64px);
  padding:16px;
  overflow-y:auto;
}

.top10-loading,
.top10-empty{
  padding:40px 15px;
  color:#aaa;
  text-align:center;
  font-size:13px;
}

/* =========================
   ITEM RANKING TOP 10
========================= */

.top10-v2-item{
  display:grid;
  grid-template-columns:34px 58px minmax(0,1fr);
  align-items:center;
  gap:11px;

  min-height:76px;
  margin-bottom:10px;
  padding:9px 11px;

  border:1px solid rgba(255,190,0,.18);
  border-radius:16px;

  background:linear-gradient(
    135deg,
    rgba(255,190,0,.07),
    rgba(255,255,255,.025)
  );

  overflow:hidden;
}

.top10-v2-item:last-child{
  margin-bottom:0;
}

.top10-v2-rank{
  display:flex;
  align-items:center;
  justify-content:center;

  width:34px;
  height:34px;

  border-radius:50%;

  color:#ffc400;
  background:rgba(255,190,0,.10);

  font-size:16px;
  font-weight:900;
}

.top10-v2-icon{
  display:block;

  width:58px !important;
  height:58px !important;
  min-width:58px;
  max-width:58px;

  object-fit:cover;

  border-radius:14px;
  border:1px solid rgba(255,190,0,.28);
}

.top10-v2-info{
  min-width:0;

  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
}

.top10-v2-info strong{
  display:block;

  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;

  color:#fff;

  font-size:14px;
  font-weight:800;
}

.top10-v2-info span{
  color:#aaa;

  font-size:11px;
  font-weight:600;
}

/* JUARA 1 */
.top10-v2-item:first-child{
  border-color:rgba(255,196,0,.55);

  background:linear-gradient(
    135deg,
    rgba(255,196,0,.16),
    rgba(255,255,255,.035)
  );
}

.top10-v2-item:first-child .top10-v2-rank{
  color:#111;
  background:#ffc400;
}

/* MOBILE */
@media(max-width:600px){
  .top10-body{
    padding:12px;
  }

  .top10-v2-item{
    grid-template-columns:30px 54px minmax(0,1fr);
    min-height:70px;
    gap:9px;
    padding:8px 9px;
  }

  .top10-v2-rank{
    width:30px;
    height:30px;
    font-size:14px;
  }

  .top10-v2-icon{
    width:54px !important;
    height:54px !important;
    min-width:54px;
    max-width:54px;
    border-radius:13px;
  }

  .top10-v2-info strong{
    font-size:13px;
  }

  .top10-v2-info span{
    font-size:10px;
  }
}

/* TOP 10 V2 — SCROLL LIST */
#top10DynamicBody {
  max-height: 65vh;
  overflow-y: auto !important;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
  padding-bottom: 18px;
}

/* TOP 10 — FIX SCROLL MOBILE */
.top10-modal {
  display: flex;
  flex-direction: column;
  height: 82dvh;
  max-height: 82dvh;
}

.top10-header {
  flex: 0 0 auto;
}

.top10-body {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto !important;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}
