
/*
 * JLPT180 Thiên Đạo Bảng Mẫu 3B
 * Scope: #tdb-rank-board.tdb-v3b only.
 * Goal: bright floral leaderboard hub that fits inside the existing left-menu shell.
 */

#tdb-rank-board.tdb-v3b,
#tdb-rank-board.tdb-v3b *{
  box-sizing:border-box;
}

#tdb-rank-board.tdb-v3b{
  --tdb3-bg:#f4fbff;
  --tdb3-panel:rgba(255,255,255,.92);
  --tdb3-ink:#12304a;
  --tdb3-muted:#5e7890;
  --tdb3-jade:#18b59b;
  --tdb3-green:#35b86f;
  --tdb3-blue:#2378d8;
  --tdb3-gold:#d99313;
  --tdb3-red:#dc4866;
  width:100%;
  max-width:100%;
  min-width:0;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  padding:14px clamp(8px,1.2vw,18px) 22px;
  color:var(--tdb3-ink);
}

#tdb-rank-board.tdb-v3b::before{
  inset:0!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 0% 18%, rgba(137,218,190,.22), transparent 30%),
    radial-gradient(circle at 100% 8%, rgba(250,200,132,.20), transparent 28%),
    radial-gradient(circle at 100% 90%, rgba(156,218,255,.18), transparent 34%),
    linear-gradient(135deg, rgba(242,255,252,.88), rgba(239,248,255,.82) 52%, rgba(255,251,238,.78))!important;
}

#tdb-rank-board.tdb-v3b::after{
  top:4px!important;
  right:8px!important;
  width:220px!important;
  height:110px!important;
  opacity:.28!important;
  background:
    radial-gradient(circle, rgba(255,174,198,.52) 0 5px, transparent 6px) 12px 14px / 42px 36px,
    radial-gradient(circle, rgba(86,190,151,.34) 0 4px, transparent 5px) 0 0 / 38px 34px!important;
}

/* Header compact enough for browser chrome + existing left menu */
#tdb-rank-board.tdb-v3b .tdb-v3b-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  min-height:76px;
  margin:0 0 12px!important;
  padding:12px 16px!important;
  text-align:left!important;
  border:1px solid rgba(24,181,155,.22);
  border-radius:24px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(237,252,248,.90) 55%, rgba(255,248,228,.86));
  box-shadow:0 14px 30px rgba(33,100,140,.10), inset 0 1px 0 rgba(255,255,255,.95);
}

#tdb-rank-board.tdb-v3b .tdb-v3b-hero::before,
#tdb-rank-board.tdb-v3b .tdb-v3b-hero::after{
  display:none!important;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  color:#087b68;
  background:rgba(24,181,155,.10);
  border:1px solid rgba(24,181,155,.18);
  font-size:12px;
  font-weight:900;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-kicker::before{
  content:"✦";
  color:var(--tdb3-gold);
}

#tdb-rank-board.tdb-v3b .tdb-page-title h1{
  margin:3px 0 0!important;
  color:#16796f!important;
  font-size:clamp(28px,3.4vw,46px)!important;
  line-height:.98!important;
  letter-spacing:.02em;
  text-shadow:0 2px 0 rgba(255,255,255,.88), 0 8px 22px rgba(20,129,109,.12)!important;
}

#tdb-rank-board.tdb-v3b .tdb-page-title p{
  width:auto!important;
  min-width:0!important;
  margin:4px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#517083!important;
  text-align:left!important;
  font-size:13px!important;
  font-weight:850!important;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-season{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:154px;
  min-height:54px;
  padding:8px 14px;
  border-radius:18px;
  border:1px solid rgba(35,120,216,.18);
  background:linear-gradient(180deg,#fff,#eff9ff);
  color:#145e8d;
  box-shadow:inset 0 -3px 0 rgba(35,120,216,.06);
}

#tdb-rank-board.tdb-v3b .tdb-v3b-season span{
  font-weight:950;
  color:#087b68;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-season b{
  font-size:12px;
  color:#6a7f91;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-reward-jump{
  min-height:50px;
  padding:0 18px;
  border-radius:18px;
  border:0;
  background:linear-gradient(180deg,#35dbaf,#0aa987);
  color:#fff;
  font-weight:1000;
  box-shadow:0 10px 18px rgba(10,169,135,.24), inset 0 -4px 0 rgba(0,116,97,.20);
  cursor:pointer;
}

/* Primary future tabs */
#tdb-rank-board.tdb-v3b .tdb-v3b-main-tabs{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin:0 0 10px;
  padding:8px;
  border:1px solid rgba(24,181,155,.16);
  border-radius:20px;
  background:rgba(255,255,255,.74);
  box-shadow:0 8px 22px rgba(33,100,140,.08);
}

#tdb-rank-board.tdb-v3b .tdb-v3b-main-tabs button{
  min-height:42px;
  border:1px solid rgba(24,181,155,.12);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  color:#2b526d;
  font-weight:950;
  cursor:default;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-main-tabs button.is-active{
  color:#fff;
  background:linear-gradient(180deg,#39cfa8,#0a9d80);
  box-shadow:inset 0 -4px 0 rgba(0,116,97,.16);
}

/* Metric tabs */
#tdb-rank-board.tdb-v3b .tdb-v3b-subtabs{
  max-width:none!important;
  margin:0 0 10px!important;
  gap:8px!important;
}

#tdb-rank-board.tdb-v3b .tdb-tab{
  min-height:50px!important;
  padding:8px 10px!important;
  border-radius:16px!important;
  border:1px solid rgba(35,120,216,.22)!important;
  background:linear-gradient(180deg,#fff,#edf8ff)!important;
  box-shadow:0 8px 18px rgba(33,100,140,.08), inset 0 -3px 0 rgba(35,120,216,.06)!important;
  color:#154d78!important;
}

#tdb-rank-board.tdb-v3b .tdb-tab.is-active{
  color:#fff!important;
  border-color:rgba(10,157,128,.54)!important;
  background:linear-gradient(180deg,#29cda8,#087f73)!important;
}

#tdb-rank-board.tdb-v3b .tdb-tab img{
  width:30px!important;
  height:30px!important;
}

/* Overview strip */
#tdb-rank-board.tdb-v3b .tdb-v3b-overview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0 0 10px;
  padding:8px;
  border-radius:18px;
  border:1px solid rgba(24,181,155,.16);
  background:linear-gradient(90deg,rgba(238,252,247,.90),rgba(255,255,255,.86));
}

#tdb-rank-board.tdb-v3b .tdb-v3b-overview div{
  min-height:46px;
  padding:7px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(35,120,216,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-overview span{
  color:#60798b;
  font-size:12px;
  font-weight:850;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-overview b{
  color:#087b68;
  font-size:18px;
  font-weight:1000;
}

/* Realm chips */
#tdb-rank-board.tdb-v3b .tdb-v3b-realm-filter{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  overflow-x:auto;
  margin:0 0 12px;
  padding:8px;
  border-radius:18px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(35,120,216,.10);
  -webkit-overflow-scrolling:touch;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-realm-filter span{
  white-space:nowrap;
  color:#547184;
  font-size:12px;
  font-weight:950;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-realm-filter button{
  white-space:nowrap;
  min-height:36px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(24,181,155,.18);
  background:#fff;
  color:#23516b;
  font-weight:950;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-realm-filter button.is-active{
  color:#fff;
  background:linear-gradient(180deg,#37cfa9,#0b9f83);
}

/* Main grid adapted for existing left menu */
#tdb-rank-board.tdb-v3b .tdb-board-grid{
  grid-template-columns:minmax(0,1fr) minmax(286px,330px)!important;
  gap:14px!important;
  align-items:start!important;
}

#tdb-rank-board.tdb-v3b .tdb-board-main,
#tdb-rank-board.tdb-v3b .tdb-side-card{
  border:1px solid rgba(24,181,155,.20)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,228,178,.26), transparent 26%),
    radial-gradient(circle at 0% 100%, rgba(202,244,229,.42), transparent 34%),
    rgba(255,255,255,.88)!important;
  box-shadow:0 14px 30px rgba(33,100,140,.12), inset 0 1px 0 rgba(255,255,255,.95)!important;
  backdrop-filter:blur(8px);
}

#tdb-rank-board.tdb-v3b .tdb-board-main{
  padding:14px!important;
  overflow:visible!important;
}

#tdb-rank-board.tdb-v3b .tdb-board-main::before,
#tdb-rank-board.tdb-v3b .tdb-board-main::after,
#tdb-rank-board.tdb-v3b .tdb-side-card::before,
#tdb-rank-board.tdb-v3b .tdb-side-card::after{
  display:none!important;
}

/* Podium compact */
#tdb-rank-board.tdb-v3b .tdb-podium{
  min-height:0!important;
  margin:0 0 14px!important;
  padding:4px 0 0!important;
  gap:12px!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-card{
  min-height:210px!important;
  padding:18px 12px 14px!important;
  border-width:2px!important;
  border-radius:22px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(238,251,247,.84))!important;
  box-shadow:0 12px 24px rgba(33,100,140,.13), inset 0 1px 0 rgba(255,255,255,.96)!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1{
  min-height:235px!important;
  border-color:rgba(217,147,19,.58)!important;
  background:linear-gradient(180deg,#fff8dc,#fffdf8 48%,#eefcf7)!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2{
  min-height:205px!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3{
  min-height:198px!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-card::before{
  inset:8px!important;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.76)!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-card::after{
  font-size:13px!important;
  top:10px!important;
  right:12px!important;
  opacity:.55;
}

#tdb-rank-board.tdb-v3b .tdb-medal{
  width:42px!important;
  height:42px!important;
  font-size:22px!important;
  margin:-24px auto 8px!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-avatar{
  width:92px!important;
  height:92px!important;
  margin:0 auto 8px!important;
}

#tdb-rank-board.tdb-v3b .rank-1 .tdb-podium-avatar{
  width:112px!important;
  height:112px!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-name{
  font-size:clamp(16px,1.65vw,23px)!important;
  line-height:1.05!important;
  min-height:0!important;
  margin-top:4px!important;
  word-break:break-word;
}

#tdb-rank-board.tdb-v3b .tdb-score{
  margin-top:6px!important;
}

/* List visible sooner */
#tdb-rank-board.tdb-v3b .tdb-list-title{
  margin-top:6px!important;
  font-size:23px!important;
  color:#176c6b!important;
}

#tdb-rank-board.tdb-v3b .tdb-rank-list{
  gap:7px!important;
}

#tdb-rank-board.tdb-v3b .tdb-row{
  min-height:58px!important;
  padding:7px 10px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(35,120,216,.10)!important;
  box-shadow:none!important;
}

#tdb-rank-board.tdb-v3b .tdb-row-avatar{
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
}

#tdb-rank-board.tdb-v3b .tdb-row-name{
  font-size:14px!important;
  line-height:1.15!important;
}

/* Side panel */
#tdb-rank-board.tdb-v3b .tdb-side{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}

#tdb-rank-board.tdb-v3b .tdb-side-card{
  padding:16px!important;
  overflow:hidden!important;
}

#tdb-rank-board.tdb-v3b .tdb-side-title{
  margin:0 0 12px!important;
  color:#16796f!important;
  font-size:20px!important;
  letter-spacing:.01em!important;
}

#tdb-rank-board.tdb-v3b .tdb-side-title::before,
#tdb-rank-board.tdb-v3b .tdb-side-title::after{
  display:none!important;
}

#tdb-rank-board.tdb-v3b .tdb-me-panel{
  padding:0!important;
  min-height:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

#tdb-rank-board.tdb-v3b .tdb-me-top{
  padding:8px!important;
  border-radius:18px;
  background:linear-gradient(135deg,#fff,#eefcf7);
  border:1px solid rgba(24,181,155,.16);
}

#tdb-rank-board.tdb-v3b .tdb-me-avatar{
  width:76px!important;
  height:76px!important;
}

#tdb-rank-board.tdb-v3b .tdb-me-rank{
  font-size:34px!important;
  color:var(--tdb3-gold)!important;
}

#tdb-rank-board.tdb-v3b .tdb-me-stats{
  margin-top:10px!important;
  gap:8px!important;
}

#tdb-rank-board.tdb-v3b .tdb-me-stat{
  min-height:70px!important;
  padding:8px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid rgba(24,181,155,.14)!important;
}

#tdb-rank-board.tdb-v3b .tdb-me-stat img{
  width:26px!important;
  height:26px!important;
}

/* Reward panel */
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-reward-item{
  min-height:98px;
  padding:9px 7px;
  border-radius:15px;
  border:1px solid rgba(217,147,19,.20);
  background:linear-gradient(180deg,#fffaf0,#fff);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  text-align:center;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-reward-item img{
  width:34px;
  height:34px;
  object-fit:contain;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-reward-item b{
  color:#9a5c00;
  font-size:14px;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-reward-item span{
  color:#087b68;
  font-size:12px;
  font-weight:950;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-reward-item small{
  color:#60798b;
  font-size:10px;
  line-height:1.15;
  font-weight:800;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-reward-note{
  margin-top:8px;
  color:#688296;
  font-size:11px;
  line-height:1.35;
  font-weight:800;
}

/* Faction */
#tdb-rank-board.tdb-v3b .tdb-v3b-faction-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#087b68;
  font-weight:950;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-faction-row.is-ma{
  color:#bd2d4d;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-faction-bar{
  height:16px;
  border-radius:999px;
  margin:8px 0;
  background:linear-gradient(90deg,#21c79c 0 62%,#f05a76 62% 100%);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.10);
}

#tdb-rank-board.tdb-v3b .tdb-v3b-side-btn{
  width:100%;
  min-height:38px;
  margin-top:10px;
  border:0;
  border-radius:999px;
  background:linear-gradient(180deg,#fff,#edf8ff);
  color:#136072;
  font-weight:950;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-mini-links{
  display:grid;
  gap:7px;
}

#tdb-rank-board.tdb-v3b .tdb-v3b-mini-links span{
  min-height:36px;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(35,120,216,.10);
  color:#23516b;
  font-weight:900;
}

/* Narrow desktop with left menu */
@media (max-width: 1280px){
  #tdb-rank-board.tdb-v3b .tdb-board-grid{
    grid-template-columns:minmax(0,1fr) minmax(260px,300px)!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium{
    gap:9px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-card{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-avatar{
    width:82px!important;
    height:82px!important;
  }

  #tdb-rank-board.tdb-v3b .rank-1 .tdb-podium-avatar{
    width:100px!important;
    height:100px!important;
  }
}

/* Tablet/mobile: app list */
@media (max-width: 1100px){
  #tdb-rank-board.tdb-v3b{
    padding:10px 8px 92px;
  }

  #tdb-rank-board.tdb-v3b .tdb-board-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-side{
    order:-1;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-mini-card{
    display:none!important;
  }
}

@media (max-width: 760px){
  #tdb-rank-board.tdb-v3b{
    padding:8px 6px 96px;
  }

  #tdb-rank-board.tdb-v3b::before{
    border-radius:20px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-hero{
    grid-template-columns:1fr;
    gap:8px;
    min-height:0;
    padding:12px!important;
    border-radius:20px;
  }

  #tdb-rank-board.tdb-v3b .tdb-page-title h1{
    font-size:clamp(30px,10vw,40px)!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-season{
    align-items:flex-start;
    width:100%;
    min-width:0;
    min-height:44px;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-jump{
    width:100%;
    min-height:46px;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-main-tabs{
    display:flex;
    overflow-x:auto;
    gap:7px;
    padding:7px;
    border-radius:18px;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-main-tabs button{
    min-width:104px;
    min-height:44px;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-subtabs{
    display:flex!important;
    overflow-x:auto;
    gap:7px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-tab{
    min-width:142px!important;
    min-height:46px!important;
    flex-direction:row!important;
    font-size:13px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-tab img{
    width:25px!important;
    height:25px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-overview{
    grid-template-columns:1fr;
    gap:7px;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-overview div{
    min-height:42px;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-realm-filter{
    margin-bottom:10px;
  }

  #tdb-rank-board.tdb-v3b .tdb-board-main,
  #tdb-rank-board.tdb-v3b .tdb-side-card{
    border-radius:20px!important;
    padding:12px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-side{
    gap:10px!important;
  }

  /* Top 3 compact mobile: #1 horizontal, #2/#3 two columns if possible */
  #tdb-rank-board.tdb-v3b .tdb-podium{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    align-items:stretch!important;
    gap:9px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1{
    grid-column:1 / -1!important;
    min-height:150px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center!important;
    text-align:left!important;
    gap:10px!important;
    padding:14px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3{
    min-height:154px!important;
    padding:12px 8px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-medal{
    position:absolute!important;
    top:10px!important;
    left:10px!important;
    width:34px!important;
    height:34px!important;
    margin:0!important;
    font-size:18px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1 .tdb-medal{
    left:auto!important;
    right:12px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-avatar,
  #tdb-rank-board.tdb-v3b .rank-1 .tdb-podium-avatar{
    width:74px!important;
    height:74px!important;
    margin:0 auto 6px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1 .tdb-podium-avatar{
    width:92px!important;
    height:92px!important;
    margin:0!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-name{
    font-size:17px!important;
    text-align:inherit!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2 .tdb-podium-name,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3 .tdb-podium-name{
    font-size:14px!important;
    min-height:34px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-realm-pill{
    font-size:10px!important;
    max-width:100%;
  }

  #tdb-rank-board.tdb-v3b .tdb-score{
    transform:scale(.92);
    transform-origin:center;
  }

  #tdb-rank-board.tdb-v3b .tdb-list-head{
    display:none!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-list-title{
    font-size:20px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-row{
    grid-template-columns:34px 40px minmax(0,1fr) auto!important;
    gap:8px!important;
    min-height:56px!important;
    padding:8px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-row-avatar{
    width:38px!important;
    height:38px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-row .tdb-score{
    min-width:72px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-grid{
    grid-template-columns:repeat(4,minmax(82px,1fr));
    overflow-x:auto;
    padding-bottom:2px;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-item{
    min-width:82px;
    min-height:88px;
  }
}

@media (max-width: 430px){
  #tdb-rank-board.tdb-v3b{
    padding-left:4px;
    padding-right:4px;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-hero,
  #tdb-rank-board.tdb-v3b .tdb-board-main,
  #tdb-rank-board.tdb-v3b .tdb-side-card{
    border-radius:18px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-page-title h1{
    font-size:34px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-page-title p{
    font-size:12px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-v3b-overview b{
    font-size:16px;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1{
    grid-template-columns:84px minmax(0,1fr)!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1 .tdb-podium-avatar{
    width:82px!important;
    height:82px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-name{
    font-size:16px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-row-name{
    font-size:13px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-row .tdb-score img{
    width:19px!important;
    height:19px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-row .tdb-score b{
    font-size:13px!important;
  }
}

/* V3C: real-data honesty + softer floral character frames.
   Keep only live boards active; future modules look like locked previews, not dead buttons. */
#tdb-rank-board.tdb-v3b .tdb-v3b-main-tabs button{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-main-tabs button small{
  font-size:10px;
  line-height:1;
  font-weight:950;
  color:#7a8fa0;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-main-tabs button.is-soon{
  opacity:.78;
  cursor:not-allowed;
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(239,248,255,.68));
  border-style:dashed;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-main-tabs button.is-soon::after,
#tdb-rank-board.tdb-v3b .tdb-v3b-realm-filter.is-preview em,
#tdb-rank-board.tdb-v3b .tdb-v3b-soon-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  padding:4px 9px;
  border-radius:999px;
  background:#fff7ed;
  border:1px solid rgba(217,147,19,.22);
  color:#a16207;
  font-size:10px;
  line-height:1;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-realm-filter.is-preview em{
  flex:0 0 auto;
  font-style:normal;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-realm-filter.is-preview button:not(.is-active){
  opacity:.72;
  cursor:not-allowed;
  border-style:dashed;
  background:rgba(255,255,255,.62);
}

/* Replace old podium frames with soft jade/floral cards. */
#tdb-rank-board.tdb-v3b .tdb-podium-card{
  border-width:1px!important;
  border-style:solid!important;
  border-color:rgba(24,181,155,.26)!important;
  border-bottom-width:5px!important;
  border-bottom-color:rgba(24,181,155,.22)!important;
  outline:1px solid rgba(255,255,255,.88);
  background:
    radial-gradient(circle at 14% 10%, rgba(255,255,255,.98), transparent 30%),
    radial-gradient(circle at 84% 85%, rgba(209,250,229,.56), transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(239,253,248,.90))!important;
  box-shadow:
    0 16px 30px rgba(17,93,120,.13),
    0 0 0 1px rgba(255,255,255,.92) inset,
    inset 0 -8px 18px rgba(24,181,155,.045)!important;
}
#tdb-rank-board.tdb-v3b .tdb-podium-card::before{
  display:block!important;
  content:""!important;
  inset:auto 12px 10px 12px!important;
  height:34px!important;
  border:0!important;
  border-radius:0!important;
  background:
    radial-gradient(circle at 20px 16px, rgba(91,205,157,.28) 0 4px, transparent 5px),
    radial-gradient(circle at 44px 22px, rgba(255,184,214,.23) 0 5px, transparent 6px),
    linear-gradient(90deg,transparent,rgba(24,181,155,.16),transparent)!important;
  opacity:.75;
  pointer-events:none;
}
#tdb-rank-board.tdb-v3b .tdb-podium-card::after{
  content:""!important;
  top:10px!important;
  right:12px!important;
  width:54px!important;
  height:54px!important;
  background:
    radial-gradient(circle at 72% 28%, rgba(255,196,222,.54) 0 5px, transparent 6px),
    radial-gradient(circle at 48% 48%, rgba(255,255,255,.88) 0 4px, transparent 5px),
    radial-gradient(circle at 30% 70%, rgba(70,196,152,.28) 0 5px, transparent 6px)!important;
  opacity:.72!important;
  filter:none!important;
  text-shadow:none!important;
}
#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1{
  border-color:rgba(217,147,19,.35)!important;
  border-bottom-color:rgba(217,147,19,.36)!important;
  background:
    radial-gradient(circle at 50% 4%, rgba(255,247,204,.96), transparent 35%),
    radial-gradient(circle at 90% 82%, rgba(209,250,229,.58), transparent 35%),
    linear-gradient(180deg,#fffdf2,#fff 48%,#effcf7)!important;
  box-shadow:
    0 18px 34px rgba(169,102,0,.15),
    0 0 0 1px rgba(255,255,255,.92) inset,
    inset 0 -8px 20px rgba(217,147,19,.06)!important;
}
#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2{
  border-color:rgba(87,153,214,.30)!important;
  border-bottom-color:rgba(87,153,214,.28)!important;
  background:
    radial-gradient(circle at 20% 8%, rgba(235,247,255,.98), transparent 35%),
    radial-gradient(circle at 90% 82%, rgba(219,234,254,.55), transparent 35%),
    linear-gradient(180deg,#f8fcff,#fff 48%,#eef8ff)!important;
}
#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3{
  border-color:rgba(225,130,76,.28)!important;
  border-bottom-color:rgba(225,130,76,.26)!important;
  background:
    radial-gradient(circle at 22% 8%, rgba(255,240,230,.98), transparent 35%),
    radial-gradient(circle at 88% 82%, rgba(255,228,214,.48), transparent 35%),
    linear-gradient(180deg,#fff9f5,#fff 48%,#fff5ef)!important;
}
#tdb-rank-board.tdb-v3b .tdb-medal{
  border:2px solid rgba(255,255,255,.92)!important;
  box-shadow:0 8px 16px rgba(100,70,20,.14), inset 0 -4px 0 rgba(0,0,0,.08)!important;
}
#tdb-rank-board.tdb-v3b .tdb-podium-avatar{
  border:3px solid rgba(255,255,255,.96)!important;
  background:linear-gradient(180deg,#fff,rgba(235,251,246,.92))!important;
  box-shadow:
    0 10px 22px rgba(29,106,140,.16),
    0 0 0 2px rgba(24,181,155,.24),
    0 0 26px rgba(24,181,155,.16)!important;
}
#tdb-rank-board.tdb-v3b .rank-1 .tdb-podium-avatar{
  box-shadow:
    0 12px 26px rgba(169,102,0,.18),
    0 0 0 2px rgba(217,147,19,.30),
    0 0 30px rgba(217,147,19,.18)!important;
}
#tdb-rank-board.tdb-v3b .tdb-podium-name{
  color:#145145!important;
  text-shadow:0 2px 0 rgba(255,255,255,.88)!important;
}
#tdb-rank-board.tdb-v3b .rank-1 .tdb-podium-name{ color:#9a5c00!important; }
#tdb-rank-board.tdb-v3b .rank-2 .tdb-podium-name{ color:#235b89!important; }
#tdb-rank-board.tdb-v3b .rank-3 .tdb-podium-name{ color:#9c4f22!important; }

/* Future panels: honest locked previews, no fake numbers. */
#tdb-rank-board.tdb-v3b .is-soon-panel{
  background:
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(246,250,255,.82))!important;
  border-style:dashed!important;
  border-color:rgba(126,151,168,.28)!important;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-soon-text{
  margin:8px 0 10px;
  color:#60798b;
  font-size:12px;
  line-height:1.45;
  font-weight:820;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-faction-bar.is-empty{
  background:linear-gradient(90deg,rgba(33,199,156,.22) 0 50%,rgba(240,90,118,.22) 50% 100%);
  border:1px dashed rgba(126,151,168,.28);
}
#tdb-rank-board.tdb-v3b .tdb-v3b-faction-bar.is-empty i{
  display:none!important;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-item{
  border-style:dashed;
  background:linear-gradient(180deg,#fff,#f8fbff);
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-item b{
  color:#a16207;
  font-size:12px;
  background:#fff7ed;
  border:1px solid rgba(217,147,19,.18);
  border-radius:999px;
  padding:3px 8px;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-mini-links span{
  display:flex;
  justify-content:space-between;
  gap:8px;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-mini-links small{
  color:#a16207;
  background:#fff7ed;
  border:1px solid rgba(217,147,19,.18);
  border-radius:999px;
  padding:2px 7px;
  font-size:10px;
  font-weight:1000;
}

@media(max-width:760px){
  #tdb-rank-board.tdb-v3b .tdb-v3b-main-tabs button small{font-size:9px;}
  #tdb-rank-board.tdb-v3b .tdb-podium-card::after{width:38px!important;height:38px!important;}
  #tdb-rank-board.tdb-v3b .tdb-podium-card::before{display:none!important;}
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1::after{right:46px!important;}
}

/* V3D: weekly reward preview for live boards only: Cao Thủ, Đại Gia, Chăm Chỉ. */
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-panel{
  display:none;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-panel.is-active{
  display:block;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 10px;
  padding:9px 10px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(236,253,245,.95),rgba(255,251,235,.88));
  border:1px solid rgba(24,181,155,.18);
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-head span{
  color:#087b68;
  font-size:14px;
  line-height:1.2;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-head small{
  flex:0 0 auto;
  padding:4px 8px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(217,147,19,.18);
  color:#a16207;
  font-size:11px;
  font-weight:950;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-my-reward{
  margin:0 0 10px;
  padding:10px 12px;
  border-radius:17px;
  background:linear-gradient(135deg,#fff7ed,#fff 56%,#ecfdf5);
  border:1px solid rgba(217,147,19,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94);
}
#tdb-rank-board.tdb-v3b .tdb-v3b-my-reward span{
  display:block;
  color:#60798b;
  font-size:12px;
  line-height:1.25;
  font-weight:900;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-my-reward b{
  display:block;
  margin-top:4px;
  color:#8a5200;
  font-size:13px;
  line-height:1.35;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-card .tdb-v3b-reward-item{
  border-style:solid;
  border-color:rgba(24,181,155,.16);
  background:linear-gradient(180deg,#fff,#f4fffb);
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-card .tdb-v3b-reward-item:nth-child(1){
  border-color:rgba(217,147,19,.28);
  background:linear-gradient(180deg,#fff8dc,#fffdf6);
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-card .tdb-v3b-reward-item b{
  color:#075985;
  font-size:11px;
  line-height:1.2;
  background:#eff6ff;
  border:1px solid rgba(37,99,235,.12);
  border-radius:12px;
  padding:4px 6px;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-card .tdb-v3b-reward-item span{
  color:#087b68;
  font-size:12px;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-card .tdb-v3b-reward-note{
  margin-top:9px;
  padding:8px 10px;
  border-radius:14px;
  background:rgba(239,246,255,.72);
  border:1px solid rgba(35,120,216,.10);
  color:#58758a;
  font-size:11px;
  line-height:1.35;
  font-weight:820;
}
@media(max-width:760px){
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-card .tdb-v3b-reward-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-head{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-card .tdb-v3b-reward-item{
    min-width:0;
    min-height:104px;
  }
}

/* V3E: weekly reward real claim controls for current top boards. */
#tdb-rank-board.tdb-v3b .tdb-v3b-claim-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  margin-top:9px;
  padding:0 14px;
  border:0;
  border-radius:999px;
  background:linear-gradient(180deg,#34d399,#059669);
  color:#fff;
  font-size:13px;
  line-height:1;
  font-weight:1000;
  box-shadow:0 8px 16px rgba(5,150,105,.22), inset 0 -3px 0 rgba(4,120,87,.22);
  cursor:pointer;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-claim-btn:disabled{
  cursor:not-allowed;
  opacity:.78;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-claim-btn.is-claimed{
  background:linear-gradient(180deg,#fbbf24,#d97706);
  box-shadow:0 8px 16px rgba(217,119,6,.18), inset 0 -3px 0 rgba(146,64,14,.18);
}
#tdb-rank-board.tdb-v3b .tdb-v3b-claim-status{
  display:block;
  margin-top:7px;
  color:#64748b;
  font-size:11px;
  line-height:1.35;
  font-style:normal;
  font-weight:850;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-claim-status.is-claimed{
  color:#a16207;
}
@media(max-width:760px){
  #tdb-rank-board.tdb-v3b .tdb-v3b-claim-btn{
    width:100%;
    min-height:42px;
  }
}


/* V3E: weekly reward claim history */
#tdb-rank-board.tdb-v3b .tdb-v3b-claim-fresh{
  display:none;
  margin:10px 0 0;
  padding:9px 10px;
  border-radius:14px;
  border:1px solid rgba(20,184,166,.24);
  background:linear-gradient(135deg,#ecfdf5,#eff6ff);
  color:#087b68;
  font-size:12px;
  line-height:1.35;
  font-weight:900;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-claim-fresh.is-visible{
  display:block;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-history{
  margin-top:12px;
  padding-top:12px;
  border-top:1px dashed rgba(24,181,155,.26);
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-history-title{
  margin:0 0 8px;
  color:#16796f;
  font-size:13px;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-history p{
  margin:0;
  padding:9px 10px;
  border-radius:13px;
  background:rgba(255,255,255,.72);
  color:#60798b;
  font-size:12px;
  line-height:1.35;
  font-weight:850;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-history-list{
  display:grid;
  gap:7px;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-history-item{
  display:grid;
  gap:2px;
  padding:8px 10px;
  border-radius:13px;
  border:1px solid rgba(217,147,19,.16);
  background:linear-gradient(135deg,rgba(255,250,240,.94),rgba(255,255,255,.92));
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-history-item span{
  color:#087b68;
  font-size:11px;
  line-height:1.2;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-history-item b{
  color:#9a5c00;
  font-size:12px;
  line-height:1.25;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-history-item small{
  color:#6b7f91;
  font-size:10px;
  line-height:1.2;
  font-weight:850;
}

@media (max-width: 760px){
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-history{
    margin-top:10px;
    padding-top:10px;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-history-list{
    grid-template-columns:minmax(0,1fr);
  }
}


/* V3F: finish current Thiên Đạo Bảng only; remove dead future-tab feeling. */
#tdb-rank-board.tdb-v3b .tdb-v3b-live-strip{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 12px;
  padding:9px 12px;
  border-radius:18px;
  border:1px solid rgba(20,184,166,.20);
  background:linear-gradient(135deg,rgba(236,253,245,.92),rgba(255,255,255,.92));
  box-shadow:0 10px 22px rgba(4,44,66,.08), inset 0 1px 0 rgba(255,255,255,.88);
  color:#0f766e;
  font-weight:950;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-live-strip span,
#tdb-rank-board.tdb-v3b .tdb-v3b-live-strip b,
#tdb-rank-board.tdb-v3b .tdb-v3b-live-strip em{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(20,184,166,.14);
  font-size:12px;
  line-height:1;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-live-strip b{
  color:#0b4f77;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-live-strip em{
  color:#9a5c00;
  font-style:normal;
  background:linear-gradient(135deg,#fff7ed,#ffffff);
  border-color:rgba(217,119,6,.16);
}
#tdb-rank-board.tdb-v3b .tdb-v3b-subtabs{
  margin-top:0;
}
#tdb-rank-board.tdb-v3b .tdb-side{
  align-content:start;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-card{
  margin-bottom:0;
}
@media(max-width:760px){
  #tdb-rank-board.tdb-v3b .tdb-v3b-live-strip{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-live-strip span,
  #tdb-rank-board.tdb-v3b .tdb-v3b-live-strip b,
  #tdb-rank-board.tdb-v3b .tdb-v3b-live-strip em{
    flex:0 0 auto;
    white-space:nowrap;
  }
}

/* V3G: two-week season reward gate */
#tdb-rank-board.tdb-v3b .tdb-v3b-claim-btn.is-locked{
  background:linear-gradient(180deg,#cbd5e1,#94a3b8);
  color:#f8fafc;
  box-shadow:0 8px 16px rgba(100,116,139,.14), inset 0 -3px 0 rgba(71,85,105,.18);
}
#tdb-rank-board.tdb-v3b .tdb-v3b-season b{
  color:#0f766e;
}


/* V3G: weekly season engine, countdown and score guide */
#tdb-rank-board.tdb-v3b .tdb-v3b-countdown{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:18px;
  border:1px solid rgba(56,189,248,.22);
  background:linear-gradient(135deg,rgba(240,249,255,.94),rgba(236,253,245,.92));
  box-shadow:0 10px 22px rgba(4,44,66,.08), inset 0 1px 0 rgba(255,255,255,.88);
}
#tdb-rank-board.tdb-v3b .tdb-v3b-countdown span{
  color:#0f766e;
  font-size:12px;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-countdown b{
  min-width:160px;
  padding:7px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(20,184,166,.18);
  color:#0b4f77;
  font-size:17px;
  line-height:1;
  font-weight:1000;
  text-align:center;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-countdown small{
  color:#6b7f91;
  font-size:11px;
  font-weight:850;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-empty-season{
  margin:0 0 12px;
  padding:14px;
  border-radius:18px;
  border:1px dashed rgba(20,184,166,.28);
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(236,253,245,.82));
  color:#426177;
  font-weight:900;
  line-height:1.45;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-score-guide{
  margin-top:12px;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-score-guide-list{
  display:grid;
  gap:8px;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-score-guide-list div{
  display:grid;
  gap:3px;
  padding:9px 10px;
  border-radius:14px;
  border:1px solid rgba(20,184,166,.14);
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(240,253,250,.82));
}
#tdb-rank-board.tdb-v3b .tdb-v3b-score-guide-list b{
  color:#0f766e;
  font-size:12px;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-score-guide-list span{
  color:#0b4f77;
  font-size:12px;
  font-weight:900;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-score-guide p{
  margin:10px 0 0;
  color:#60798b;
  font-size:11px;
  line-height:1.45;
  font-weight:850;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-score-guide code{
  padding:1px 5px;
  border-radius:7px;
  background:rgba(15,118,110,.08);
  color:#0f766e;
  font-size:10px;
  white-space:normal;
}

@media(max-width:760px){
  #tdb-rank-board.tdb-v3b .tdb-v3b-countdown{
    justify-content:flex-start;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-countdown b{
    width:100%;
    min-width:0;
  }
}

/* v1.2.49: mobile cleanup for Thiên Đạo Bảng weekly race */
@media (max-width: 760px){
  #tdb-rank-board.tdb-v3b{
    padding:6px 4px 112px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-hero{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    padding:10px 12px!important;
    margin-bottom:8px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-kicker,
  #tdb-rank-board.tdb-v3b .tdb-v3b-season,
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-jump,
  #tdb-rank-board.tdb-v3b .tdb-v3b-live-strip,
  #tdb-rank-board.tdb-v3b .tdb-v3b-overview,
  #tdb-rank-board.tdb-v3b .tdb-v3b-score-guide,
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-history,
  #tdb-rank-board.tdb-v3b .tdb-side > .tdb-side-card:first-child{
    display:none!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-title-main{
    min-width:0!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-page-title h1{
    margin:0!important;
    font-size:24px!important;
    line-height:1.05!important;
    letter-spacing:.02em!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-page-title p{
    margin:3px 0 0!important;
    font-size:11px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-countdown{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:6px!important;
    align-items:center!important;
    margin:0 0 8px!important;
    padding:8px 10px!important;
    border-radius:16px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-countdown span{
    font-size:11px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-countdown b{
    width:auto!important;
    min-width:0!important;
    padding:6px 9px!important;
    font-size:13px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-countdown small{
    display:none!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-subtabs{
    position:sticky!important;
    top:0!important;
    z-index:6!important;
    margin:0 0 8px!important;
    padding:6px!important;
    border-radius:16px!important;
    background:rgba(240,253,250,.96)!important;
    box-shadow:0 8px 18px rgba(6,60,85,.10)!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-tab{
    min-width:124px!important;
    min-height:44px!important;
    padding:7px 9px!important;
    font-size:12px!important;
    border-radius:13px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-tab img{
    width:21px!important;
    height:21px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-board-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-board-main{
    order:1!important;
    padding:10px!important;
    border-radius:18px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-side{
    order:2!important;
    gap:8px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-podium{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-podium-card,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3{
    grid-column:auto!important;
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr) auto!important;
    min-height:74px!important;
    align-items:center!important;
    gap:8px!important;
    padding:10px!important;
    text-align:left!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-podium-avatar,
  #tdb-rank-board.tdb-v3b .rank-1 .tdb-podium-avatar,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1 .tdb-podium-avatar{
    width:54px!important;
    height:54px!important;
    margin:0!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-medal,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1 .tdb-medal{
    position:absolute!important;
    top:7px!important;
    left:7px!important;
    right:auto!important;
    width:25px!important;
    height:25px!important;
    font-size:13px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-podium-name{
    font-size:14px!important;
    min-height:0!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-score,
  #tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-score{
    transform:none!important;
    min-width:78px!important;
    justify-self:end!important;
    align-items:flex-end!important;
    text-align:right!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-score b{
    font-size:15px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-score small,
  #tdb-rank-board.tdb-v3b .tdb-score em{
    max-width:120px!important;
    font-size:10px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-list-title{
    margin:10px 0 8px!important;
    font-size:16px!important;
    letter-spacing:.08em!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-row{
    grid-template-columns:30px 36px minmax(0,1fr) minmax(88px,auto)!important;
    gap:7px!important;
    min-height:58px!important;
    padding:8px!important;
    border-radius:15px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-row-avatar{
    width:34px!important;
    height:34px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-row-rank{
    font-size:18px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-row-name{
    font-size:12px!important;
    line-height:1.15!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-row .tdb-realm-pill{
    margin-top:2px!important;
    padding:3px 7px!important;
    font-size:9px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-card{
    padding:10px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-grid,
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-note{
    display:none!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-my-reward{
    padding:10px!important;
    border-radius:14px!important;
  }
}

/* v1.2.50: Thiên Đạo Bảng V20 cleanup - weekly vs total separation */
#tdb-rank-board.tdb-v3b .tdb-v3b-hero{
  margin-bottom:10px!important;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-title-main p{
  max-width:max-content;
  padding:5px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.74);
  color:#426177!important;
  font-size:12px!important;
  font-weight:900!important;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-live-strip{
  margin:8px 0 8px!important;
  padding:7px 10px!important;
  gap:6px!important;
  box-shadow:none!important;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-countdown{
  justify-content:flex-start!important;
  margin:0 0 10px!important;
  padding:8px 12px!important;
  box-shadow:none!important;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-countdown small{
  flex:1 1 260px;
  font-size:10px!important;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-overview{
  display:none!important;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-empty-season{
  display:grid;
  gap:6px;
  margin:0!important;
  min-height:128px;
  place-content:center;
  text-align:center;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-empty-season b{
  color:#0f766e;
  font-size:18px;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-empty-season span{
  color:#5d7385;
  font-size:13px;
  font-weight:850;
}
#tdb-rank-board.tdb-v3b .tdb-me-stats-v20{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#tdb-rank-board.tdb-v3b .tdb-me-stat.is-week{
  grid-column:1/-1;
  min-height:66px!important;
  background:linear-gradient(135deg,#ecfeff,#fff7ed)!important;
  border-color:rgba(20,184,166,.26)!important;
}
#tdb-rank-board.tdb-v3b .tdb-me-stat.is-week b{
  color:#0f766e!important;
  font-size:20px!important;
}
#tdb-rank-board.tdb-v3b details.tdb-v3b-score-guide summary{
  cursor:pointer;
  list-style:none;
}
#tdb-rank-board.tdb-v3b details.tdb-v3b-score-guide summary::-webkit-details-marker{
  display:none;
}
#tdb-rank-board.tdb-v3b details.tdb-v3b-score-guide summary::after{
  content:'Mở';
  float:right;
  padding:3px 9px;
  border-radius:999px;
  background:#e0f2fe;
  color:#0b4f77;
  font-size:11px;
  font-weight:900;
}
#tdb-rank-board.tdb-v3b details.tdb-v3b-score-guide[open] summary::after{
  content:'Thu';
}
#tdb-rank-board.tdb-v3b details.tdb-v3b-score-guide:not([open]){
  padding-bottom:12px!important;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-history,
#tdb-rank-board.tdb-v3b .tdb-v3b-reward-note{
  display:none!important;
}
@media (max-width:760px){
  #tdb-rank-board.tdb-v3b .tdb-v3b-title-main p{
    font-size:10px!important;
    padding:4px 8px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-live-strip,
  #tdb-rank-board.tdb-v3b .tdb-v3b-season,
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-jump,
  #tdb-rank-board.tdb-v3b .tdb-v3b-score-guide,
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-grid{
    display:none!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-countdown{
    display:grid!important;
    grid-template-columns:1fr;
    gap:6px!important;
    margin:6px 0 8px!important;
    padding:8px 10px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-countdown span{
    font-size:11px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-countdown b{
    width:100%!important;
    min-width:0!important;
    font-size:15px!important;
    padding:7px 10px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-countdown small{
    display:none!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-empty-season{
    min-height:118px!important;
    padding:16px 12px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-empty-season b{
    font-size:17px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-empty-season span{
    font-size:12px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-card{
    margin-top:10px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-my-reward{
    padding:10px!important;
    gap:6px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-my-reward b{
    font-size:13px!important;
  }
}

/* v1.2.52: V22 weekly race + total leaderboard split */
#tdb-rank-board.tdb-v3b .tdb-v22-mode-tabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:10px 0 12px;
  padding:6px;
  border:1px solid rgba(20,184,166,.22);
  border-radius:22px;
  background:rgba(255,255,255,.66);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
#tdb-rank-board.tdb-v3b .tdb-v22-mode-tabs button{
  min-height:44px;
  border:1px solid rgba(14,116,144,.18);
  border-radius:17px;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(236,253,245,.82));
  color:#0b4f77;
  font-weight:1000;
  cursor:pointer;
}
#tdb-rank-board.tdb-v3b .tdb-v22-mode-tabs button.is-active{
  border-color:rgba(20,184,166,.42);
  background:linear-gradient(135deg,#2dd4bf,#0f9f8f);
  color:#fff;
  box-shadow:0 10px 22px rgba(20,184,166,.22);
}
#tdb-rank-board.tdb-v3b .tdb-v22-mode-panel{
  display:none;
}
#tdb-rank-board.tdb-v3b .tdb-v22-mode-panel.is-active{
  display:block;
}
#tdb-rank-board.tdb-v3b .tdb-v22-week-card{
  display:grid;
  grid-template-columns:minmax(170px,.58fr) 1fr;
  gap:12px;
  align-items:center;
  margin:0 0 12px;
  padding:14px;
  border:1px solid rgba(20,184,166,.22);
  border-radius:22px;
  background:
    radial-gradient(circle at 5% 10%,rgba(255,255,255,.9),transparent 34%),
    linear-gradient(135deg,rgba(236,253,245,.86),rgba(240,249,255,.82));
  box-shadow:0 12px 28px rgba(7,87,126,.08), inset 0 1px 0 rgba(255,255,255,.82);
}
#tdb-rank-board.tdb-v3b .tdb-v22-week-card>div{
  display:grid;
  gap:4px;
}
#tdb-rank-board.tdb-v3b .tdb-v22-week-card span{
  color:#0f766e;
  font-size:12px;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v22-week-card strong{
  color:#073451;
  font-size:18px;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v22-week-card ul{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
#tdb-rank-board.tdb-v3b .tdb-v22-week-card li{
  display:grid;
  place-items:center;
  gap:3px;
  min-height:66px;
  padding:8px 6px;
  border:1px solid rgba(14,116,144,.14);
  border-radius:16px;
  background:rgba(255,255,255,.78);
  text-align:center;
}
#tdb-rank-board.tdb-v3b .tdb-v22-week-card li img{
  width:22px;
  height:22px;
  object-fit:contain;
}
#tdb-rank-board.tdb-v3b .tdb-v22-week-card li b{
  color:#075985;
  font-size:17px;
  line-height:1;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v22-week-card li em{
  color:#526b7d;
  font-size:10px;
  line-height:1.15;
  font-style:normal;
  font-weight:900;
}
#tdb-rank-board.tdb-v3b .tdb-v22-total-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 12px;
  padding:16px 18px;
  border:1px solid rgba(20,184,166,.22);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(236,253,245,.82));
}
#tdb-rank-board.tdb-v3b .tdb-v22-total-head div{
  display:grid;
  gap:2px;
}
#tdb-rank-board.tdb-v3b .tdb-v22-total-head span{
  color:#0f766e;
  font-size:12px;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v22-total-head strong{
  color:#0f4c5c;
  font-size:26px;
  font-family:Georgia,serif;
  line-height:1;
}
#tdb-rank-board.tdb-v3b .tdb-v22-total-head p{
  max-width:520px;
  margin:0;
  color:#526b7d;
  font-size:12px;
  line-height:1.35;
  font-weight:850;
}
#tdb-rank-board.tdb-v3b .tdb-score-total small{
  color:#0f766e;
}
#tdb-rank-board.tdb-v3b .tdb-v22-total-grid .tdb-me-stat.is-week{
  background:linear-gradient(135deg,#fff7ed,#ecfeff)!important;
}
@media (max-width:760px){
  #tdb-rank-board.tdb-v3b .tdb-v22-mode-tabs{
    position:sticky;
    top:0;
    z-index:4;
    gap:7px;
    margin:8px 0 10px;
    padding:5px;
    border-radius:18px;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-mode-tabs button{
    min-height:44px;
    border-radius:14px;
    font-size:13px;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-week-card{
    grid-template-columns:1fr;
    gap:9px;
    padding:10px;
    border-radius:18px;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-week-card strong{
    font-size:15px;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-week-card ul{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-week-card li{
    min-height:58px;
    padding:7px 5px;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-week-card li:last-child{
    grid-column:1/-1;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-total-head{
    display:grid;
    gap:7px;
    padding:12px;
    border-radius:18px;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-total-head strong{
    font-size:22px;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-total-head p{
    font-size:11px;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-total-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* v1.2.53: V23 Thiên Đạo Bảng layout-only cleanup */
#tdb-rank-board.tdb-v3b{
  --tdb-card-gap:14px;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-hero{
  min-height:unset!important;
  padding:22px 26px!important;
  margin-bottom:12px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  gap:14px!important;
  align-items:center!important;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-title-main h1{
  font-size:clamp(34px,4vw,58px)!important;
  line-height:.95!important;
  margin:6px 0 8px!important;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-title-main p{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.72)!important;
  font-size:13px!important;
}
#tdb-rank-board.tdb-v3b .tdb-v22-mode-tabs{
  max-width:520px;
  margin:0 auto 12px!important;
}
#tdb-rank-board.tdb-v3b .tdb-v23-status{
  display:grid;
  grid-template-columns:auto minmax(160px,1fr) auto;
  gap:8px;
  align-items:center;
  margin:0 0 12px;
  padding:9px 12px;
  border:1px solid rgba(20,184,166,.20);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(236,253,245,.92),rgba(255,255,255,.92));
  box-shadow:0 10px 22px rgba(4,44,66,.06), inset 0 1px 0 rgba(255,255,255,.88);
}
#tdb-rank-board.tdb-v3b .tdb-v23-status span,
#tdb-rank-board.tdb-v3b .tdb-v23-status em{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(20,184,166,.14);
  color:#0f766e;
  font-size:12px;
  line-height:1;
  font-style:normal;
  font-weight:950;
}
#tdb-rank-board.tdb-v3b .tdb-v23-status b{
  justify-self:center;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:34px;
  padding:6px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(56,189,248,.22);
  color:#075985;
  font-size:15px;
  font-weight:1000;
}
#tdb-rank-board.tdb-v3b .tdb-v23-status i{
  font-style:normal;
}
#tdb-rank-board.tdb-v3b .tdb-v23-summary-card{
  margin-bottom:12px!important;
}
#tdb-rank-board.tdb-v3b .tdb-v3b-overview{
  display:none!important;
}
#tdb-rank-board.tdb-v3b .tdb-board-grid{
  gap:14px!important;
}
#tdb-rank-board.tdb-v3b .tdb-v23-week-side-stats{
  grid-template-columns:1fr!important;
}
#tdb-rank-board.tdb-v3b .tdb-v23-reward-tiers{
  margin-top:10px;
  border:1px solid rgba(20,184,166,.18);
  border-radius:16px;
  background:rgba(255,255,255,.64);
  overflow:hidden;
}
#tdb-rank-board.tdb-v3b .tdb-v23-reward-tiers summary{
  cursor:pointer;
  min-height:38px;
  padding:10px 12px;
  color:#0f766e;
  font-size:12px;
  font-weight:1000;
  list-style:none;
}
#tdb-rank-board.tdb-v3b .tdb-v23-reward-tiers summary::-webkit-details-marker{
  display:none;
}
#tdb-rank-board.tdb-v3b .tdb-v23-total-head{
  padding:12px 16px!important;
  border-radius:20px!important;
}
#tdb-rank-board.tdb-v3b .tdb-v23-total-head strong{
  font-size:22px!important;
}
#tdb-rank-board.tdb-v3b .tdb-v23-total-summary{
  background:linear-gradient(135deg,rgba(255,251,235,.90),rgba(236,253,245,.84))!important;
}
#tdb-rank-board.tdb-v3b .tdb-v22-total-tabs{
  margin-top:0!important;
}
@media (max-width:1100px){
  #tdb-rank-board.tdb-v3b .tdb-v3b-hero{
    grid-template-columns:minmax(0,1fr)!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-season,
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-jump{
    width:100%!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v23-status{
    grid-template-columns:1fr;
  }
  #tdb-rank-board.tdb-v3b .tdb-v23-status span,
  #tdb-rank-board.tdb-v3b .tdb-v23-status em,
  #tdb-rank-board.tdb-v3b .tdb-v23-status b{
    justify-content:center;
    justify-self:stretch;
  }
}
@media (max-width:760px){
  #tdb-rank-board.tdb-v3b{
    padding:8px 7px 92px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-hero{
    padding:14px!important;
    border-radius:22px!important;
    gap:10px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-title-main h1{
    font-size:36px!important;
    letter-spacing:-.04em!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-title-main p{
    font-size:11px!important;
    padding:6px 9px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-kicker{
    font-size:11px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-mode-tabs{
    position:sticky;
    top:0;
    z-index:7;
  }
  #tdb-rank-board.tdb-v3b .tdb-v23-status{
    padding:8px!important;
    gap:6px!important;
    border-radius:16px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v23-status em{
    display:none!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-week-card ul{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-week-card li{
    min-height:58px!important;
    padding:8px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-week-card li:nth-child(5){
    grid-column:1 / -1;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-total-head{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:6px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v22-total-head p{
    font-size:11px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v3b-score-guide,
  #tdb-rank-board.tdb-v3b .tdb-v3b-reward-history{
    display:none!important;
  }
}

/* v30.34 - Thiên Đạo Bảng scoring guide + mobile visible rules */
#tdb-rank-board.tdb-v3b .tdb-v34-score-guide{
  margin:14px 0 16px!important;
  padding:14px!important;
  border:1px solid rgba(20,83,45,.14)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(236,253,245,.88))!important;
  box-shadow:0 12px 30px rgba(15,23,42,.07)!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-guide-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:12px!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-guide-head span{
  display:inline-flex!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  background:rgba(34,197,94,.12)!important;
  color:#15803d!important;
  font-size:11px!important;
  font-weight:800!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-guide-head strong{
  display:block!important;
  margin-top:5px!important;
  color:#14532d!important;
  font-size:18px!important;
  line-height:1.15!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-guide-head p{
  max-width:520px!important;
  margin:0!important;
  color:#475569!important;
  font-size:12px!important;
  line-height:1.55!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-guide-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-guide-item{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  padding:11px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(148,163,184,.20)!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-guide-item b{
  color:#0f172a!important;
  font-size:13px!important;
  line-height:1.25!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-guide-item span{
  color:#166534!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-guide-item em{
  color:#475569!important;
  font-size:11px!important;
  font-style:normal!important;
  line-height:1.35!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-guide-item small{
  display:block!important;
  align-self:flex-start!important;
  max-width:100%!important;
  margin-top:auto!important;
  padding:3px 7px!important;
  border-radius:10px!important;
  background:rgba(251,191,36,.16)!important;
  color:#92400e!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-guide-note{
  margin-top:11px!important;
  padding:10px 12px!important;
  border-radius:15px!important;
  background:rgba(240,253,244,.85)!important;
  color:#334155!important;
  font-size:12px!important;
  line-height:1.55!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-guide-note b{color:#14532d!important;}
#tdb-rank-board.tdb-v3b .tdb-v34-side-guide .tdb-v34-score-guide{
  margin:8px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-side-guide .tdb-v34-guide-head{
  display:none!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-side-guide .tdb-v34-guide-grid{
  grid-template-columns:1fr!important;
  gap:8px!important;
}
#tdb-rank-board.tdb-v3b .tdb-v34-side-guide .tdb-v34-guide-note{
  font-size:11px!important;
}
@media (max-width:1100px){
  #tdb-rank-board.tdb-v3b .tdb-v34-guide-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:760px){
  #tdb-rank-board.tdb-v3b .tdb-v3b-score-guide,
  #tdb-rank-board.tdb-v3b .tdb-v34-side-guide,
  #tdb-rank-board.tdb-v3b .tdb-v34-score-guide{
    display:block!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v34-score-guide{
    margin:10px 0 12px!important;
    padding:11px!important;
    border-radius:18px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v34-guide-head{
    display:block!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v34-guide-head strong{
    font-size:16px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v34-guide-head p{
    margin-top:7px!important;
    font-size:11px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v34-guide-grid{
    grid-template-columns:1fr!important;
    max-height:360px!important;
    overflow:auto!important;
    padding-right:2px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v34-guide-item{
    padding:10px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v34-guide-note{
    font-size:11px!important;
  }
}


/* v30.36 - move Thiên Đạo Bảng rules to bottom, collapsed by default */
#tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle{
  display:block!important;
  margin:18px 0 0!important;
  padding:0!important;
  border:1px solid rgba(20,83,45,.14)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(236,253,245,.86))!important;
  box-shadow:0 12px 30px rgba(15,23,42,.06)!important;
  overflow:hidden!important;
}
#tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle > summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:54px!important;
  padding:13px 16px!important;
  cursor:pointer!important;
  list-style:none!important;
  color:#14532d!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
#tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle > summary::-webkit-details-marker{display:none!important;}
#tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle > summary span{
  font-size:15px!important;
  line-height:1.2!important;
}
#tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle > summary small{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:800!important;
  text-align:right!important;
  line-height:1.25!important;
}
#tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle > summary::after{
  content:'＋'!important;
  flex:0 0 auto!important;
  width:28px!important;
  height:28px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#10b981!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(16,185,129,.22)!important;
}
#tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle[open] > summary::after{content:'−'!important;}
#tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle .tdb-v34-score-guide{
  margin:0!important;
  padding:0 14px 14px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle .tdb-v34-guide-head{
  display:none!important;
}
@media (max-width:760px){
  #tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle{
    margin:12px 0 70px!important;
    border-radius:18px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle > summary{
    min-height:48px!important;
    padding:11px 12px!important;
    align-items:flex-start!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle > summary span{
    font-size:13px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle > summary small{
    display:none!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle .tdb-v34-score-guide{
    padding:0 10px 10px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v36-score-guide-toggle .tdb-v34-guide-grid{
    max-height:320px!important;
  }
}


/* v30.37 - Thiên Đạo Bảng rank card layout fix for PC + mobile.
   Fixes avatar/name/sect/realm/score overlap by assigning stable grid areas. */
#tdb-rank-board.tdb-v3b .tdb-board-main,
#tdb-rank-board.tdb-v3b .tdb-board-panel,
#tdb-rank-board.tdb-v3b .tdb-podium,
#tdb-rank-board.tdb-v3b .tdb-rank-list{
  min-width:0!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:12px!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-card,
#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1,
#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2,
#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:
    "medal"
    "avatar"
    "name"
    "sect"
    "realm"
    "score"!important;
  justify-items:center!important;
  align-content:start!important;
  gap:7px!important;
  min-width:0!important;
  min-height:220px!important;
  padding:16px 12px 14px!important;
  text-align:center!important;
  overflow:hidden!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1{min-height:232px!important;}
#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2,
#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3{min-height:212px!important;}

#tdb-rank-board.tdb-v3b .tdb-medal{
  grid-area:medal!important;
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  z-index:3!important;
  margin:0!important;
  transform:none!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-avatar,
#tdb-rank-board.tdb-v3b .rank-1 .tdb-podium-avatar,
#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1 .tdb-podium-avatar{
  grid-area:avatar!important;
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  object-fit:cover!important;
  flex:0 0 auto!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-name{
  grid-area:name!important;
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0 4px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1.18!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-card .jlpt180-sect-tdb-badge{
  grid-area:sect!important;
  position:relative!important;
  z-index:2!important;
  max-width:100%!important;
  margin:0!important;
  min-width:0!important;
}

#tdb-rank-board.tdb-v3b .tdb-realm-pill{
  position:relative!important;
  z-index:2!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-realm-pill{
  grid-area:realm!important;
  margin:0!important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-score{
  grid-area:score!important;
  align-self:end!important;
  justify-self:center!important;
  max-width:100%!important;
  min-width:0!important;
}

#tdb-rank-board.tdb-v3b .tdb-score{
  display:inline-grid!important;
  grid-template-columns:auto auto!important;
  grid-template-areas:"icon value" "label label"!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px 5px!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:nowrap!important;
  line-height:1.05!important;
}
#tdb-rank-board.tdb-v3b .tdb-score img{
  grid-area:icon!important;
  flex:0 0 auto!important;
  object-fit:contain!important;
}
#tdb-rank-board.tdb-v3b .tdb-score b{
  grid-area:value!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#tdb-rank-board.tdb-v3b .tdb-score small,
#tdb-rank-board.tdb-v3b .tdb-score em{
  grid-area:label!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

#tdb-rank-board.tdb-v3b .tdb-row{
  display:grid!important;
  grid-template-columns:44px 46px minmax(0,1fr) minmax(104px,auto)!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  overflow:hidden!important;
}
#tdb-rank-board.tdb-v3b .tdb-row-main{
  min-width:0!important;
  overflow:hidden!important;
}
#tdb-rank-board.tdb-v3b .tdb-row-name{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#tdb-rank-board.tdb-v3b .tdb-row .jlpt180-sect-tdb-badge,
#tdb-rank-board.tdb-v3b .tdb-row .tdb-realm-pill{
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#tdb-rank-board.tdb-v3b .tdb-row .tdb-score{
  justify-self:end!important;
  min-width:96px!important;
  max-width:112px!important;
}

@media (max-width:1280px){
  #tdb-rank-board.tdb-v3b .tdb-podium{gap:9px!important;}
  #tdb-rank-board.tdb-v3b .tdb-podium-card,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3{
    min-height:205px!important;
    padding:14px 9px 12px!important;
  }
  #tdb-rank-board.tdb-v3b .rank-1 .tdb-podium-avatar,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1 .tdb-podium-avatar{
    width:88px!important;
    height:88px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-podium-avatar{
    width:76px!important;
    height:76px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-podium-name{font-size:15px!important;}
}

@media (max-width:760px){
  #tdb-rank-board.tdb-v3b .tdb-podium{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-card,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3{
    display:grid!important;
    grid-template-columns:34px 54px minmax(0,1fr) minmax(78px,auto)!important;
    grid-template-areas:
      "medal avatar name score"
      "medal avatar sect score"
      "medal avatar realm score"!important;
    align-items:center!important;
    justify-items:stretch!important;
    gap:3px 8px!important;
    min-height:82px!important;
    padding:9px 10px!important;
    text-align:left!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-card::before,
  #tdb-rank-board.tdb-v3b .tdb-podium-card::after{
    display:none!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-medal,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1 .tdb-medal{
    width:30px!important;
    height:30px!important;
    font-size:15px!important;
    justify-self:center!important;
    align-self:center!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-avatar,
  #tdb-rank-board.tdb-v3b .rank-1 .tdb-podium-avatar,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1 .tdb-podium-avatar{
    width:52px!important;
    height:52px!important;
    justify-self:center!important;
    align-self:center!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-name,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2 .tdb-podium-name,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3 .tdb-podium-name{
    font-size:14px!important;
    line-height:1.15!important;
    text-align:left!important;
    padding:0!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-card .jlpt180-sect-tdb-badge,
  #tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-realm-pill{
    justify-self:start!important;
    max-width:100%!important;
    font-size:9px!important;
    min-height:18px!important;
    padding:2px 6px!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-score{
    justify-self:end!important;
    align-self:center!important;
    min-width:72px!important;
    max-width:80px!important;
    transform:none!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-score img{
    width:18px!important;
    height:18px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-score b{
    font-size:14px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-score small,
  #tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-score em{
    display:none!important;
  }

  #tdb-rank-board.tdb-v3b .tdb-row{
    grid-template-columns:30px 38px minmax(0,1fr) minmax(68px,auto)!important;
    gap:7px!important;
    min-height:54px!important;
    padding:7px 8px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-row-avatar{
    width:36px!important;
    height:36px!important;
    border-radius:12px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-row-name{
    font-size:13px!important;
    line-height:1.1!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-row .tdb-score{
    min-width:66px!important;
    max-width:72px!important;
    transform:none!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-row .tdb-score img{
    width:16px!important;
    height:16px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-row .tdb-score b{
    font-size:12px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-row .tdb-score small,
  #tdb-rank-board.tdb-v3b .tdb-row .tdb-score em{
    display:none!important;
  }
}

@media (max-width:390px){
  #tdb-rank-board.tdb-v3b .tdb-podium-card,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3{
    grid-template-columns:28px 48px minmax(0,1fr) minmax(62px,auto)!important;
    gap:3px 6px!important;
    padding:8px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-podium-avatar,
  #tdb-rank-board.tdb-v3b .rank-1 .tdb-podium-avatar,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1 .tdb-podium-avatar{
    width:46px!important;
    height:46px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-podium-name{font-size:13px!important;}
  #tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-score{min-width:60px!important;max-width:66px!important;}
  #tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-score b{font-size:12px!important;}
}

/* v30.92: Full Thiên Đạo Bảng room/page scroll fix. */
html:has(#tdb-rank-board),
body:has(#tdb-rank-board){
  height:auto !important;
  min-height:100dvh !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  touch-action:auto !important;
  overscroll-behavior:auto !important;
}

#tdb-rank-board.tdb-v3b,
#tdb-rank-board{
  height:auto !important;
  min-height:100dvh !important;
  max-height:none !important;
  overflow:visible !important;
  touch-action:pan-y !important;
}

#tdb-rank-board.tdb-v3b .tdb-board-main,
#tdb-rank-board.tdb-v3b .tdb-board-grid,
#tdb-rank-board.tdb-v3b .tdb-side,
#tdb-rank-board.tdb-v3b .tdb-rank-list,
#tdb-rank-board.tdb-v3b .tdb-rank-table,
#tdb-rank-board.tdb-v3b .tdb-v3b-panel,
#tdb-rank-board.tdb-v3b .tdb-tab-panel,
#tdb-rank-board.tdb-v3b .tdb-v3b-content{
  max-height:none !important;
  overflow:visible !important;
  touch-action:pan-y !important;
}

@media (max-width:899px){
  body:has(#tdb-rank-board){
    padding-bottom:calc(110px + env(safe-area-inset-bottom,0px)) !important;
  }
  #tdb-rank-board.tdb-v3b,
  #tdb-rank-board{
    min-height:100dvh !important;
    padding-bottom:calc(116px + env(safe-area-inset-bottom,0px)) !important;
  }
}


/* v30.94: clean score text in Thiên Đạo Bảng expanded list/podium */
#tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-score small,
#tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-score em,
#tdb-rank-board.tdb-v3b .tdb-row .tdb-score small,
#tdb-rank-board.tdb-v3b .tdb-row .tdb-score em,
body.jlpt180-clean-lobby .tdb-board-panel .tdb-podium-card .tdb-score small,
body.jlpt180-clean-lobby .tdb-board-panel .tdb-podium-card .tdb-score em,
body.jlpt180-clean-lobby .tdb-board-panel .tdb-row .tdb-score small,
body.jlpt180-clean-lobby .tdb-board-panel .tdb-row .tdb-score em{
  display:none !important;
}

#tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-score,
body.jlpt180-clean-lobby .tdb-board-panel .tdb-podium-card .tdb-score{
  grid-template-columns:auto auto !important;
  grid-template-areas:"icon value" !important;
  gap:2px 6px !important;
  min-width:78px !important;
  max-width:88px !important;
}

#tdb-rank-board.tdb-v3b .tdb-row .tdb-score,
body.jlpt180-clean-lobby .tdb-board-panel .tdb-row .tdb-score{
  grid-template-columns:auto auto !important;
  grid-template-areas:"icon value" !important;
  gap:2px 5px !important;
  min-width:72px !important;
  max-width:84px !important;
  justify-self:end !important;
}

#tdb-rank-board.tdb-v3b .tdb-row,
body.jlpt180-clean-lobby .tdb-board-panel .tdb-row{
  grid-template-columns:44px 46px minmax(0,1fr) minmax(76px,84px) !important;
}

#tdb-rank-board.tdb-v3b .tdb-score b,
body.jlpt180-clean-lobby .tdb-board-panel .tdb-score b{
  overflow:visible !important;
  text-overflow:clip !important;
}

@media (max-width:760px){
  body.jlpt180-clean-lobby .tdb-board-panel .tdb-podium-card .tdb-score,
  #tdb-rank-board.tdb-v3b .tdb-podium-card .tdb-score{ min-width:64px !important; max-width:72px !important; }
  body.jlpt180-clean-lobby .tdb-board-panel .tdb-row .tdb-score,
  #tdb-rank-board.tdb-v3b .tdb-row .tdb-score{ min-width:60px !important; max-width:68px !important; }
}


/* v31.89.05: score rules stay visible near the weekly tabs; avatar layers use one stable order. */
#tdb-rank-board.tdb-v3b .tdb-v37-score-guide-primary{
  margin:10px 0 14px!important;
  border:1px solid rgba(109,80,238,.34)!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(255,211,104,.28),transparent 34%),
    radial-gradient(circle at 96% 100%,rgba(78,206,255,.24),transparent 38%),
    linear-gradient(135deg,rgba(255,252,239,.98),rgba(246,244,255,.98) 52%,rgba(236,250,255,.98))!important;
  box-shadow:0 10px 24px rgba(89,72,165,.12)!important;
}

#tdb-rank-board.tdb-v3b .tdb-v37-score-guide-primary > summary{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px 14px!important;
  min-height:66px!important;
  padding:11px 14px!important;
}

#tdb-rank-board.tdb-v3b .tdb-v37-score-guide-primary > summary .tdb-v37-score-title{
  color:#5030a7!important;
  font-size:15px!important;
  font-weight:1000!important;
  white-space:nowrap!important;
}

#tdb-rank-board.tdb-v3b .tdb-v37-score-quick{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  min-width:0!important;
}

#tdb-rank-board.tdb-v3b .tdb-v37-score-quick b{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:34px!important;
  padding:6px 8px!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  font-size:10.5px!important;
  font-weight:950!important;
  line-height:1.2!important;
  text-align:center!important;
}

#tdb-rank-board.tdb-v3b .tdb-v37-score-quick .is-power{
  border-color:rgba(139,92,246,.24)!important;
  background:rgba(243,232,255,.88)!important;
  color:#6d28d9!important;
}

#tdb-rank-board.tdb-v3b .tdb-v37-score-quick .is-wealth{
  border-color:rgba(14,165,233,.24)!important;
  background:rgba(224,242,254,.90)!important;
  color:#0369a1!important;
}

#tdb-rank-board.tdb-v3b .tdb-v37-score-quick .is-streak{
  border-color:rgba(245,158,11,.26)!important;
  background:rgba(254,243,199,.90)!important;
  color:#a34b08!important;
}

#tdb-rank-board.tdb-v3b .tdb-v37-score-guide-primary > summary::after{
  background:linear-gradient(135deg,#7657ef,#15b8d5)!important;
  box-shadow:0 7px 18px rgba(109,80,238,.24)!important;
}

/* The equipped Khung Pháp Tướng is a pedestal/stage, never a foreground overlay. */
#tdb-rank-board.tdb-v3b .tdb-podium-avatar,
#tdb-rank-board.tdb-v3b .tdb-row-avatar,
#tdb-rank-board.tdb-v3b .tdb-me-avatar,
#tdb-rank-board.tdb-v3b .tdb-rank-avatar{
  isolation:isolate!important;
}
#tdb-rank-board.tdb-v3b .tdb-avatar-layer.l-frame{z-index:0!important;}
#tdb-rank-board.tdb-v3b .tdb-avatar-layer.l-w{z-index:1!important;}
#tdb-rank-board.tdb-v3b .tdb-avatar-layer.l-avt{z-index:2!important;}
#tdb-rank-board.tdb-v3b .tdb-avatar-layer.l-o{z-index:3!important;}
#tdb-rank-board.tdb-v3b .tdb-avatar-layer.l-m{z-index:4!important;}
#tdb-rank-board.tdb-v3b .tdb-avatar-layer.l-h{z-index:5!important;}
#tdb-rank-board.tdb-v3b .tdb-avatar-layer.l-wp{z-index:6!important;}

@media (max-width:760px){
  #tdb-rank-board.tdb-v3b .tdb-v37-score-guide-primary{
    margin:8px 0 10px!important;
    border-radius:16px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v37-score-guide-primary > summary{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:7px!important;
    min-height:0!important;
    padding:9px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v37-score-guide-primary > summary .tdb-v37-score-title{
    font-size:13px!important;
    white-space:normal!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v37-score-quick{
    grid-column:1 / -1!important;
    grid-row:2!important;
    gap:5px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v37-score-quick b{
    min-height:31px!important;
    padding:5px 4px!important;
    font-size:9px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-v37-score-guide-primary > summary::after{
    grid-column:2!important;
    grid-row:1!important;
  }
}

/* v31.89.07: show complete public character names instead of clipping them. */
#tdb-rank-board.tdb-v3b .tdb-podium-name,
#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1 .tdb-podium-name,
#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2 .tdb-podium-name,
#tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3 .tdb-podium-name{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:2.35em!important;
  height:auto!important;
  padding:0 3px!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  font-size:clamp(13px,1.22vw,18px)!important;
  line-height:1.16!important;
  text-align:center!important;
}

#tdb-rank-board.tdb-v3b .tdb-row,
#tdb-rank-board.tdb-v3b .tdb-row-main{
  height:auto!important;
  overflow:visible!important;
}

#tdb-rank-board.tdb-v3b .tdb-row-name,
#tdb-rank-board.tdb-v3b .tdb-me-name{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  line-height:1.18!important;
}

@media (max-width:760px){
  #tdb-rank-board.tdb-v3b .tdb-podium-card{
    height:auto!important;
    min-height:92px!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-podium-name,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1 .tdb-podium-name,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2 .tdb-podium-name,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3 .tdb-podium-name{
    min-height:0!important;
    padding:0!important;
    font-size:13px!important;
    line-height:1.14!important;
    text-align:left!important;
  }
  #tdb-rank-board.tdb-v3b .tdb-row{
    min-height:56px!important;
  }
}

@media (max-width:390px){
  #tdb-rank-board.tdb-v3b .tdb-podium-name,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-1 .tdb-podium-name,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-2 .tdb-podium-name,
  #tdb-rank-board.tdb-v3b .tdb-podium-card.rank-3 .tdb-podium-name,
  #tdb-rank-board.tdb-v3b .tdb-row-name{
    font-size:12px!important;
  }
}

/* v31.89.08: every avatar/name opens the public profile modal, with a real link fallback. */
#tdb-rank-board.tdb-v3b .tdb-profile-link,
#tdb-rank-board.tdb-v3b .tdb-profile-name{
  color:inherit!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
#tdb-rank-board.tdb-v3b .tdb-profile-link:focus-visible,
#tdb-rank-board.tdb-v3b .tdb-profile-name:focus-visible{
  outline:3px solid rgba(14,165,233,.48)!important;
  outline-offset:3px!important;
}
