/* Combined Colosseum stylesheet for guide + rankings */

body.guide-page *,
body.guide-page *::before,
body.guide-page *::after{
  box-sizing: border-box;
}html.guide-page{
  --bg: #160d1c;
  --bg-deep: #0c080e;
  --panel: rgba(32, 12, 36, 0.44);
  --panel-strong: rgba(26, 10, 34, 0.64);
  --panel-soft: rgba(38, 14, 42, 0.3);
  --line: rgba(165, 105, 125, 0.28);
  --line-strong: rgba(195, 145, 165, 0.45);
  --gold: rgba(255, 255, 255, 0.92);
  --gold-bright: #ffffff;
  --gold-deep: rgba(255, 255, 255, 0.62);
  --gold-muted: rgba(255, 255, 255, 0.72);
  --ember: #4db8ff;
  --ember-soft: rgba(165, 58, 92, 0.2);
  --violet: #a85a72;
  --violet-bright: #c870a0;
  --rose: #5eb8ff;
  --sky: #47c5ff;
  --lime: #5ee0c0;
  --text: #e8f2fc;
  --text-strong: #f5f9ff;
  --text-muted: #b8d8f0;
  --text-soft: rgba(200, 224, 248, 0.88);
  --shadow-xl: 0 18px 48px rgba(4, 12, 28, 0.45);
  --shadow-lg: 0 12px 30px rgba(4, 10, 24, 0.35);
  --shadow-md: 0 8px 18px rgba(4, 10, 24, 0.28);
  --radius-xl: 10px;
  --radius-lg: 8px;
  --radius-md: 6px;
  --radius-pill: 7px;
  --font-title: "Cinzel", Georgia, serif;
  --font-body: "Barlow", Arial, sans-serif;
}html.guide-page,
body.guide-page{
  margin: 0;
  padding: 0;
  max-width: 100%;
  overflow-x: hidden;
}html.guide-page{
  background: var(--bg-deep);
  scroll-padding-top: 7rem;
  scroll-behavior: smooth;
}body.guide-page{
  min-height: 100vh;
  position: relative;
  color: var(--text);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.6;
  background: transparent;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}body.guide-page::before,
body.guide-page::after,
body.guide-page main::before{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}body.guide-page::before{
  background:
    radial-gradient(ellipse 44% 58% at 50% 0%, rgba(120, 30, 80, 0.32), transparent 72%),
    radial-gradient(ellipse 40% 52% at 50% 100%, rgba(165, 55, 85, 0.36), transparent 70%),
    radial-gradient(ellipse 36% 48% at 0% 50%, rgba(90, 28, 130, 0.28), transparent 74%),
    radial-gradient(ellipse 36% 48% at 100% 50%, rgba(77, 184, 255, 0.22), transparent 74%),
    linear-gradient(135deg, rgba(100, 28, 130, 0.24) 0%, transparent 36%, transparent 64%, rgba(165, 55, 85, 0.28) 100%),
    linear-gradient(45deg, rgba(80, 22, 100, 0.2) 0%, transparent 40%, transparent 60%, rgba(77, 184, 255, 0.18) 100%),
    linear-gradient(
      180deg,
      rgba(22, 10, 38, 0.52) 0%,
      rgba(32, 14, 52, 0.42) 46%,
      rgba(4, 4, 10, 0.94) 100%
    ),
    url("assets/bg.png") center top / cover no-repeat;
  background-blend-mode: screen, screen, screen, screen, screen, screen, normal, soft-light;
  filter: saturate(0.95) contrast(1.06) brightness(0.7);
  z-index: -3;
}body.guide-page::after{
  background:
    radial-gradient(circle at 50% 50%, rgba(100, 180, 255, 0.12), transparent 38%),
    linear-gradient(90deg, transparent 38%, rgba(77, 184, 255, 0.1) 50%, transparent 62%),
    linear-gradient(180deg, transparent 38%, rgba(165, 55, 85, 0.12) 50%, transparent 62%),
    linear-gradient(180deg, rgba(6, 4, 10, 0.1), rgba(4, 4, 10, 0.55));
  z-index: -2;
}body.guide-page main{
  position: relative;
  z-index: 1;
  padding: 6.75rem 0 1.7rem;
}body.guide-page main::before{
  background:
    radial-gradient(circle at 15% 18%, rgba(120, 200, 255, 0.12) 0 0.2rem, transparent 0.24rem),
    radial-gradient(circle at 78% 24%, rgba(77, 184, 255, 0.16) 0 0.18rem, transparent 0.23rem),
    radial-gradient(circle at 24% 72%, rgba(165, 55, 85, 0.12) 0 0.18rem, transparent 0.23rem),
    radial-gradient(circle at 88% 64%, rgba(100, 180, 255, 0.16) 0 0.2rem, transparent 0.26rem);
  mix-blend-mode: screen;
  opacity: 0.58;
  z-index: -1;
  animation: emberDrift 18s ease-in-out infinite alternate;
}@media (max-width: 768px) {
  body.guide-page::before,
  body.guide-page::after,
  body.guide-page main::before{
    inset: unset;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    height: 100svh;
    min-height: 100svh;
  }
  body.guide-page main::before{
    animation: emberDriftTouch 18s ease-in-out infinite alternate;
  }
}

body.ranking-page .score-table th[data-sort="total"],
body.ranking-page .score-table td.cell-total{
  text-align: center !important;
}
body.ranking-page .score-table.players .mobile-total-stack,
body.ranking-page .score-table:not(.players) .mobile-total-stack{
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  padding-right: 0 !important;
}
body.ranking-page .score-table.players .mobile-total-value,
body.ranking-page .score-table:not(.players) .mobile-total-value{
  text-align: center !important;
}
body.ranking-page .events-placement-table th:last-child,
body.ranking-page .events-placement-table td.cell-total{
  text-align: center !important;
  white-space: nowrap !important;
}
body.ranking-page .events-placement-table tbody tr,
body.ranking-page .events-placement-table tbody tr:nth-child(even),
body.ranking-page .events-placement-table tbody tr:hover{
  background: transparent !important;
}
body.ranking-page .events-placement-table th.events-points-head,
body.ranking-page .events-placement-table td.cell-event-points{
  text-align: center !important;
  white-space: nowrap !important;
}
body.ranking-page .events-placement-table th:last-child,
body.ranking-page .events-placement-table td.cell-total{
  text-align: center !important;
  white-space: nowrap !important;
}
body.ranking-page .events-placement-table tbody tr,
body.ranking-page .events-placement-table tbody tr:nth-child(even),
body.ranking-page .events-placement-table tbody tr:hover{
  background:
    linear-gradient(90deg, var(--team-accent-soft, rgba(201, 168, 68, 0.3)) 0%, rgba(17, 13, 11, 0.48) 66%, rgba(9, 8, 8, 0.34) 100%) !important;
}
body.ranking-page .events-placement-table th:last-child,
body.ranking-page .events-placement-table td.cell-total{
  text-align: center !important;
  white-space: nowrap !important;
}
body.ranking-page .events-placement-table tbody tr,
body.ranking-page .events-placement-table tbody tr:nth-child(even),
body.ranking-page .events-placement-table tbody tr:hover{
  background:
    linear-gradient(90deg, var(--team-accent-soft, rgba(201, 168, 68, 0.3)) 0%, rgba(17, 13, 11, 0.48) 66%, rgba(9, 8, 8, 0.34) 100%) !important;
}
body.ranking-page .events-placement-table th:last-child,
body.ranking-page .events-placement-table td.cell-total{
  text-align: center !important;
  white-space: nowrap !important;
}
body.ranking-page .events-placement-table tbody tr,
body.ranking-page .events-placement-table tbody tr:nth-child(even),
body.ranking-page .events-placement-table tbody tr:hover{
  background:
    linear-gradient(90deg, var(--team-accent-soft, rgba(201, 168, 68, 0.3)) 0%, rgba(17, 13, 11, 0.48) 66%, rgba(9, 8, 8, 0.34) 100%) !important;
}

body.ranking-page .events-placement-table th:last-child,
body.ranking-page .events-placement-table td.cell-total{
  text-align: center !important;
  white-space: nowrap !important;
}
body.ranking-page .events-placement-table tbody tr,
body.ranking-page .events-placement-table tbody tr:nth-child(even),
body.ranking-page .events-placement-table tbody tr:hover{
  background:
    linear-gradient(90deg, var(--team-accent-soft, rgba(201, 168, 68, 0.3)) 0%, rgba(17, 13, 11, 0.48) 66%, rgba(9, 8, 8, 0.34) 100%) !important;
}

body.ranking-page .events-placement-table th:last-child,
body.ranking-page .events-placement-table td.cell-total{
  text-align: center !important;
  white-space: nowrap;
}
body.ranking-page .events-placement-table tbody tr,
body.ranking-page .events-placement-table tbody tr:nth-child(even),
body.ranking-page .events-placement-table tbody tr:hover{
  background:
    linear-gradient(90deg, var(--team-accent-soft, rgba(201, 168, 68, 0.3)) 0%, rgba(17, 13, 11, 0.48) 66%, rgba(9, 8, 8, 0.34) 100%) !important;
}
@keyframes emberDriftTouch{
  from{
    transform: translate3d(0, 0, 0);
  }
  to{
    transform: translate3d(0, 10px, 0);
  }
}body.guide-page img{
  display: block;
  max-width: 100%;
}body.guide-page a{
  color: inherit;
  text-decoration: none;
}body.guide-page button,
body.guide-page input,
body.guide-page select,
body.guide-page textarea{
  font: inherit;
}body.guide-page .sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}body.guide-page .container{
  width: min(1240px, calc(100vw - 2rem));
  margin: 0 auto;
}body.guide-page #navbar{
  position: fixed;
  inset: 0 0 auto;
  z-index: 200;
  padding: 0.9rem 0;
  background: rgba(7, 10, 16, 0.46);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease, padding 0.2s ease;
}body.guide-page #navbar.scrolled{
  padding: 0.7rem 0;
  background: rgba(7, 10, 16, 0.82);
  border-color: rgba(255, 255, 255, 0.16);
}body.guide-page .nav-container{
  width: min(1240px, calc(100vw - 2rem));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}body.guide-page .nav-logo{
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  min-width: 0;
}body.guide-page .nav-brand-mark{
  width: 48px;
  height: 48px;
  object-fit: contain;
  filter: drop-shadow(0 8px 16px rgba(5, 3, 9, 0.4));
}body.guide-page .nav-brand-text{
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}body.guide-page .nav-logo-top,
body.guide-page .nav-logo-bottom{
  line-height: 1;
}body.guide-page .nav-logo-top{
  font-family: var(--font-title);
  font-size: 0.96rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: var(--text-strong);
  text-transform: uppercase;
}body.guide-page .nav-logo-bottom{
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--text-muted);
  text-transform: uppercase;
}body.guide-page .nav-actions{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}body.guide-page .nav-links{
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  margin-left: auto;
  padding: 0.35rem;
  border-radius: 999px;
  border: 1px solid rgba(140, 210, 255, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.018) 24%, rgba(35, 16, 6, 0.92) 100%);
  box-shadow: var(--shadow-md);
}body.guide-page .nav-links a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.8rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  color: var(--text-muted);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid transparent;
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}body.guide-page .nav-links a:hover,
body.guide-page .nav-links a.active{
  color: var(--text-strong);
  border-color: rgba(210, 148, 48, 0.24);
  background: rgba(255, 255, 255, 0.07);
}body.guide-page .nav-cta{
  color: #331703 !important;
  border-color: rgba(230, 175, 80, 0.82) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f5eedc 52%, #e0cca0 100%) !important;
  box-shadow:
    0 10px 18px rgba(92, 45, 7, 0.2),
    inset 0 1px 0 rgba(220, 240, 255, 0.68);
}body.guide-page .lang-switch{
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  padding: 0.22rem;
  border: 1px solid rgba(140, 210, 255, 0.22);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.018) 24%, rgba(35, 16, 6, 0.92) 100%);
  box-shadow: var(--shadow-md);
}body.guide-page .lang-btn{
  min-width: 2.9rem;
  min-height: 2.2rem;
  padding: 0.48rem 0.78rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: var(--text-muted);
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}body.guide-page .lang-btn:hover,
body.guide-page .lang-btn:focus-visible{
  color: var(--text-strong);
  outline: none;
}body.guide-page .lang-btn.active{
  color: #341904;
  border-color: rgba(230, 175, 80, 0.82);
  background: linear-gradient(180deg, #ffffff 0%, #f5eedc 52%, #e0cca0 100%);
  box-shadow:
    0 10px 18px rgba(92, 45, 7, 0.2),
    inset 0 1px 0 rgba(255, 235, 180, 0.68);
}body.guide-page .nav-toggle{
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 0.28rem;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid rgba(140, 210, 255, 0.22);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.018) 24%, rgba(35, 16, 6, 0.92) 100%);
  color: var(--text);
  box-shadow: var(--shadow-md);
  cursor: pointer;
}body.guide-page .nav-toggle span{
  display: block;
  width: 22px;
  height: 2px;
  margin: 0 auto;
  background: currentColor;
  transition: transform 0.2s ease, opacity 0.2s ease;
}body.guide-page .nav-toggle.open span:nth-child(1){
  transform: translateY(6px) rotate(45deg);
}body.guide-page .nav-toggle.open span:nth-child(2){
  opacity: 0;
}body.guide-page .nav-toggle.open span:nth-child(3){
  transform: translateY(-6px) rotate(-45deg);
}body.guide-page #hero{
  padding: 0 1rem 1rem;
}body.guide-page .hero-inner,
body.guide-page .section > .container{
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-xl);
  border: 1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 12%),
    radial-gradient(circle at 50% 0, rgba(230, 160, 55, 0.09), transparent 24%),
    linear-gradient(180deg, rgba(80, 30, 10, 0.92) 0%, rgba(48, 16, 6, 0.95) 46%, rgba(28, 8, 3, 0.98) 100%);
  box-shadow: var(--shadow-xl);
  isolation: isolate;
}body.guide-page .hero-inner::before,
body.guide-page .section > .container::before{
  content: "";
  position: absolute;
  inset: -140% -40%;
  background: linear-gradient(
    105deg,
    transparent 42%,
    rgba(255, 255, 255, 0.015) 46%,
    rgba(230, 165, 48, 0.20) 50%,
    rgba(255, 255, 255, 0.015) 54%,
    transparent 58%
  );
  transform: translateX(-52%);
  mix-blend-mode: screen;
  opacity: 0.7;
  animation: containerSheen 8.8s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
  pointer-events: none;
}body.guide-page .hero-inner::after{
  content: "";
  position: absolute;
  inset: auto 8% 18% 8%;
  height: 180px;
  background:
    radial-gradient(circle at 10% 50%, rgba(220, 110, 28, 0.35), transparent 22%),
    radial-gradient(circle at 28% 48%, rgba(200, 88, 25, 0.28), transparent 18%),
    radial-gradient(circle at 48% 40%, rgba(230, 155, 38, 0.24), transparent 20%),
    radial-gradient(circle at 70% 48%, rgba(210, 98, 28, 0.28), transparent 18%),
    radial-gradient(circle at 90% 50%, rgba(185, 140, 28, 0.22), transparent 20%);
  opacity: 0.78;
  filter: blur(22px);
  z-index: 0;
  pointer-events: none;
}body.guide-page .hero-inner{
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(1.2rem, 3vw, 2rem);
  text-align: center;
}body.guide-page .hero-inner > *{
  position: relative;
  z-index: 1;
}body.guide-page .hero-brand-mark{
  width: clamp(88px, 11vw, 140px);
  margin: 0 auto 0.9rem;
  filter: drop-shadow(0 10px 20px rgba(5, 3, 9, 0.35));
}body.guide-page .hero-eyebrow,
body.guide-page .eyebrow{
  margin: 0 0 0.55rem;
  color: var(--gold);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}body.guide-page .hero-title{
  margin: 0;
  font-family: var(--font-title);
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  line-height: 0.95;
}body.guide-page .hero-title-top,
body.guide-page .hero-title-main{
  display: block;
}body.guide-page .hero-title-top{
  color: var(--text-strong);
  font-size: clamp(2.4rem, 6vw, 4.9rem);
}body.guide-page .hero-title-main{
  font-size: clamp(3.2rem, 8vw, 6.2rem);
  background: linear-gradient(180deg, #ffffff 0%, #e4ecf4 52%, #b8c8d8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}body.guide-page .hero-tagline{
  max-width: 860px;
  margin: 1rem auto 0;
  color: var(--text-soft);
  font-size: clamp(1rem, 1vw + 0.95rem, 1.22rem);
  line-height: 1.6;
}body.guide-page .hero-stats{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
  margin: 1.35rem 0 1rem;
}body.guide-page .hero-stat{
  padding: 1rem 0.85rem 0.95rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(140, 210, 255, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.012) 20%, rgba(30, 13, 5, 0.97) 100%);
  box-shadow: var(--shadow-md);
}body.guide-page .stat-num{
  display: block;
  color: var(--gold-bright);
  font-family: var(--font-title);
  font-size: clamp(1.45rem, 2vw, 2.2rem);
  font-weight: 800;
  line-height: 1;
}body.guide-page .stat-lbl{
  display: block;
  margin-top: 0.35rem;
  color: var(--text-muted);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}body.guide-page .stat-sep{
  display: none;
}body.guide-page .hero-actions{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}body.guide-page .btn-primary,
body.guide-page .btn-ghost,
body.guide-page .footer-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0.8rem 1.25rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease;
}body.guide-page .btn-primary{
  color: #331703;
  border: 1px solid rgba(230, 175, 80, 0.82);
  background: linear-gradient(180deg, #ffffff 0%, #f5eedc 52%, #e0cca0 100%);
  box-shadow:
    0 10px 18px rgba(92, 45, 7, 0.2),
    inset 0 1px 0 rgba(255, 235, 180, 0.68);
}body.guide-page .btn-ghost,
body.guide-page .footer-btn{
  color: var(--text-strong);
  border: 1px solid rgba(140, 210, 255, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.012) 16%, rgba(30, 13, 5, 0.97) 100%);
  box-shadow: var(--shadow-md);
}body.guide-page .btn-primary:hover,
body.guide-page .btn-ghost:hover,
body.guide-page .footer-btn:hover{
  transform: translateY(-1px);
}body.guide-page .hero-note{
  margin: 1rem auto 0;
  max-width: 820px;
  padding: 0.8rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(46, 20, 6, 0.62);
  color: var(--text-muted);
  font-size: 0.9rem;
}body.guide-page .hero-note a,
body.guide-page .faq-a a,
body.guide-page .footer-nav a:hover{
  color: var(--gold-bright);
}body.guide-page .scroll-cta{
  display: flex;
  width: fit-content;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  margin: 1rem auto 0;
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}body.guide-page .scroll-cta svg{
  animation: arrowBob 2.2s ease-in-out infinite;
}body.guide-page .section{
  padding: 0 1rem 1rem;
}body.guide-page .section > .container{
  padding: clamp(1rem, 2.4vw, 1.6rem);
}body.guide-page .section-alt > .container{
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.012) 10%),
    radial-gradient(circle at 50% 0, rgba(195, 108, 35, 0.12), transparent 24%),
    linear-gradient(135deg, rgba(55, 22, 8, 0.96) 0%, rgba(38, 18, 5, 0.94) 52%, rgba(16, 6, 2, 0.99) 100%);
}body.guide-page .section-header{
  position: relative;
  z-index: 1;
  margin-bottom: 1.15rem;
  text-align: left;
}body.guide-page .section-title,
body.guide-page .board-title,
body.guide-page .score-table-title,
body.guide-page .team-name,
body.guide-page .point-title,
body.guide-page .tl-title,
body.guide-page .window-title,
body.guide-page .footer-logo,
body.guide-page .prize-place{
  font-family: var(--font-title);
}body.guide-page .section-title{
  margin: 0;
  color: var(--text-strong);
  font-size: clamp(1.45rem, 3vw, 2.35rem);
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.08;
}body.guide-page .divider{
  width: 74px;
  height: 3px;
  margin: 0.75rem 0 0.9rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(190, 70, 28, 0.65), rgba(230, 158, 38, 0.94), rgba(200, 118, 28, 0));
}body.guide-page .divider-left{
  margin-left: 0;
}body.guide-page .section-sub,
body.guide-page .subcopy,
body.guide-page .board-copy,
body.guide-page .score-table-note,
body.guide-page .score-disclaimer,
body.guide-page .prizes-disclaimer,
body.guide-page .footer-legal,
body.guide-page .footer-copy,
body.guide-page .footer-slogan,
body.guide-page .highlight-desc,
body.guide-page .point-desc,
body.guide-page .window-copy,
body.guide-page .window-time,
body.guide-page .tl-desc,
body.guide-page .faq-a p,
body.guide-page .fans-body,
body.guide-page .fans-perks li,
body.guide-page .prize-note{
  color: var(--text-muted);
}body.guide-page .hero-edition{
  margin: 0 0 0.4rem;
  color: var(--gold);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}body.guide-page p,
body.ranking-page p{
  font-size: 1.1rem;
  line-height: 1.65;
}body.ranking-page p{
  font-size: 1.25rem;
  line-height: 1.6;
}body.guide-page p:not(.hero-eyebrow):not(.eyebrow):not(.hero-edition):not(.countdown-label),
body.ranking-page p:not(.edition-banner-title):not(.edition-banner-dates):not(.countdown-label){
  color: var(--text-muted);
}body.ranking-page .edition-banner{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  margin-bottom: 0.85rem;
  padding: 0.9rem 1.15rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(28, 12, 32, 0.55);
  text-align: center;
}body.ranking-page .edition-banner-title{
  margin: 0;
  font-family: var(--font-title);
  font-size: clamp(1.08rem, 2.4vw, 1.38rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-strong);
  line-height: 1.2;
}body.ranking-page .edition-banner-dates{
  margin: 0.15rem 0 0;
  font-size: clamp(1rem, 1.8vw, 1.12rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--text-muted);
  line-height: 1.35;
}body.guide-page .section-sub{
  max-width: none;
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.7;
}body.guide-page .about-grid,
body.guide-page .flow-grid,
body.guide-page .fans-grid,
body.guide-page .footer-top{
  position: relative;
  z-index: 1;
}body.guide-page .format-grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
}body.guide-page .format-card,
body.guide-page .format-summary{
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(140, 210, 255, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012) 20%, rgba(24, 11, 4, 0.97) 100%),
    linear-gradient(135deg, rgba(195, 108, 35, 0.16), rgba(175, 82, 22, 0.08) 44%, rgba(215, 138, 42, 0.06) 100%);
  box-shadow: 0 14px 24px rgba(7, 3, 2, 0.22);
}body.guide-page .format-card::before,
body.guide-page .format-summary::before{
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--sky), var(--gold), var(--violet), transparent 76%);
}body.guide-page .format-card{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.9rem;
  padding: 1rem;
}body.guide-page .format-step{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 999px;
  color: #331703;
  font-size: 0.82rem;
  font-weight: 800;
  background: linear-gradient(180deg, #ffffff 0%, #e8eef4 48%, #c0d0e0 100%);
}body.guide-page .format-body{
  min-width: 0;
}body.guide-page .format-kicker{
  margin: 0 0 0.25rem;
  color: var(--gold);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}body.guide-page .format-title{
  margin: 0 0 0.35rem;
  color: var(--text-strong);
  font-family: var(--font-title);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.2;
}body.guide-page .format-copy,
body.guide-page .format-summary-lead{
  margin: 0;
  color: var(--text-soft);
  font-size: 0.94rem;
  line-height: 1.7;
}body.guide-page .format-summary{
  margin-top: 0.9rem;
  padding: 1rem;
}body.guide-page .format-summary-lead{
  margin-bottom: 0.8rem;
}body.guide-page .format-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}body.guide-page .format-pills li{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.4rem 0.72rem;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(140, 210, 255, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.014) 24%, rgba(12, 28, 52, 0.5) 100%);
  color: var(--text-strong);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
}body.guide-page .about-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 1rem;
}body.guide-page .about-text .lead{
  margin: 0 0 1rem;
  color: var(--text-strong);
  font-size: 1.08rem;
  line-height: 1.75;
}body.guide-page .about-text p{
  margin: 0 0 0.85rem;
  color: var(--text-soft);
}body.guide-page .about-text p:last-child{
  margin-bottom: 0;
}body.guide-page .about-text strong,
body.guide-page .faq-a strong,
body.guide-page .window-phase,
body.guide-page .bonus-tag,
body.guide-page .prize-label{
  color: var(--gold-bright);
}body.guide-page .highlight-list{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}body.guide-page .highlight-card,
body.guide-page .team-card,
body.guide-page .window-card,
body.guide-page .point-card,
body.guide-page .score-table-card,
body.guide-page .callout-box,
body.guide-page .faq-item,
body.guide-page .prize-card{
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(140, 210, 255, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012) 20%, rgba(24, 11, 4, 0.97) 100%),
    linear-gradient(135deg, rgba(195, 108, 35, 0.16), rgba(175, 82, 22, 0.08) 44%, rgba(215, 138, 42, 0.06) 100%);
  box-shadow: 0 14px 24px rgba(7, 3, 2, 0.22);
}body.guide-page .highlight-card{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.9rem;
  padding: 1rem;
}body.guide-page .highlight-card::before,
body.guide-page .team-card::before,
body.guide-page .window-card::before,
body.guide-page .point-card::before,
body.guide-page .score-table-card::before,
body.guide-page .callout-box::before,
body.guide-page .prize-card::before{
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--sky), var(--gold), var(--violet), transparent 76%);
}body.guide-page .highlight-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 999px;
  color: #331703;
  font-size: 0.8rem;
  font-weight: 800;
  background: linear-gradient(180deg, #ffffff 0%, #e8eef4 48%, #c0d0e0 100%);
}body.guide-page .highlight-title{
  margin: 0 0 0.25rem;
  color: var(--text-strong);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}body.guide-page .highlight-desc{
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.65;
}body.guide-page .teams-grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
}body.guide-page .roster-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}body.guide-page .team-card::before{
  background: linear-gradient(90deg, var(--team-accent, rgba(140, 210, 255, 0.86)), transparent 72%);
}body.guide-page .team-card-body{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.9rem;
  padding: 1.2rem 1rem 1rem;
  text-align: center;
}body.guide-page .teams-showcase{
  gap: 1rem;
}body.guide-page .team-showcase-card .team-card-body{
  align-items: stretch;
  gap: 1rem;
  padding: 1.1rem;
  text-align: left;
}body.guide-page .team-showcase-top{
  display: grid;
  grid-template-columns: 152px minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  width: 100%;
}body.guide-page .team-showcase-copy{
  display: grid;
  justify-items: start;
  gap: 0.45rem;
  min-width: 0;
}body.guide-page .team-logo-ring{
  width: 120px;
  height: 120px;
  border-radius: 28px;
  border: 1px solid rgba(140, 210, 255, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(12, 28, 52, 0.9));
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem;
}body.guide-page .team-logo-ring-lg{
  width: 152px;
  height: 152px;
  padding: 0.95rem;
}body.guide-page .team-logo{
  width: 100%;
  height: 100%;
  object-fit: contain;
}body.guide-page .team-name{
  margin: 0;
  color: var(--text-strong);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.3;
}body.guide-page .roster-card .team-card-body{
  gap: 0.85rem;
}body.guide-page .team-showcase-card .team-name{
  font-size: 1.18rem;
}body.guide-page .roster-list{
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}body.guide-page .roster-list-columns{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}body.guide-page .roster-chip{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  border: 1px solid rgba(140, 210, 255, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.015) 24%, rgba(12, 28, 52, 0.9) 100%);
  color: var(--text-strong);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
}body.guide-page .roster-list-columns .roster-chip{
  width: 100%;
  min-height: 2.1rem;
  justify-content: flex-start;
  padding: 0.45rem 0.75rem;
}body.guide-page .captain-chip{
  color: #2f1304;
  border-color: rgba(168, 220, 255, 0.82);
  background: linear-gradient(180deg, #ffffff 0%, #e4ecf4 52%, #b8c8d8 100%);
  box-shadow: 0 10px 18px rgba(92, 45, 7, 0.2);
}body.guide-page .roster-list-columns .captain-chip{
  grid-column: 1 / -1;
  justify-content: center;
}body.guide-page .team-captain-line{
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}body.guide-page .team-showcase-card .team-captain-line,
body.guide-page .team-showcase-card .team-meta{
  justify-content: flex-start;
}body.guide-page .team-showcase-card .cap-label,
body.guide-page .team-showcase-card .cap-name{
  color: var(--gold-bright);
}body.guide-page .cap-label,
body.guide-page .team-meta-pill,
body.guide-page .window-phase,
body.guide-page .window-time,
body.guide-page .callout-label,
body.guide-page .prize-label,
body.guide-page .footer-nav a,
body.guide-page .scroll-cta,
body.guide-page .score-table th{
  letter-spacing: 0.12em;
  text-transform: uppercase;
}body.guide-page .cap-label{
  color: rgba(168, 220, 255, 0.76);
  font-size: 0.66rem;
  font-weight: 800;
}body.guide-page .cap-name{
  color: var(--text-muted);
  font-size: 0.92rem;
  font-weight: 700;
}body.guide-page .team-meta{
  display: flex;
  justify-content: center;
}body.guide-page .team-meta-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(8, 15, 26, 0.55);
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 800;
}body.guide-page .timeline{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}body.guide-page .tl-item{
  position: relative;
  padding: 1rem 1rem 1rem 3.2rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(140, 210, 255, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012) 20%, rgba(20, 9, 3, 0.97) 100%);
}body.guide-page .timeline-guide .tl-item{
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem 1rem 1rem 1.1rem;
}body.guide-page .tl-meta{
  display: grid;
  align-content: start;
  gap: 0.35rem;
}body.guide-page .tl-label{
  margin: 0;
  color: rgba(168, 220, 255, 0.76);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}body.guide-page .tl-main{
  min-width: 0;
}body.guide-page .tl-dot{
  position: absolute;
  left: 1rem;
  top: 1.1rem;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 999px;
  border: 2px solid rgba(210, 148, 55, 0.6);
  background: rgba(16, 8, 3, 0.82);
  box-shadow: 0 0 0 5px rgba(200, 130, 38, 0.08);
}body.guide-page .tl-dates{
  margin: 0 0 0.35rem;
  color: var(--gold);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}body.guide-page .tl-title{
  margin: 0 0 0.4rem;
  color: var(--text-strong);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}body.guide-page .tl-desc{
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.7;
}body.guide-page .window-phase{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.85rem;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(8, 15, 26, 0.55);
  font-size: 0.66rem;
  font-weight: 800;
}body.guide-page .window-title{
  margin: 0.75rem 0 0.35rem;
  color: var(--text-strong);
  font-size: 0.96rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}body.guide-page .window-time{
  margin: 0 0 0.35rem;
  color: var(--gold);
  font-size: 0.68rem;
  font-weight: 800;
}body.guide-page .window-copy{
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.65;
}body.guide-page .tl-note{
  margin: 0.65rem 0 0;
  color: var(--text-muted);
  font-size: 0.84rem;
  line-height: 1.6;
}body.guide-page .points-grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}body.guide-page .prize-ribbon-grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  margin-bottom: 0.9rem;
}body.guide-page .prize-ribbon{
  padding: 0.95rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(140, 210, 255, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.012) 22%, rgba(26, 11, 4, 0.92) 100%);
  box-shadow: var(--shadow-md);
  text-align: center;
}body.guide-page .prize-ribbon-gold{
  background:
    linear-gradient(180deg, rgba(240, 185, 60, 0.20), rgba(255, 255, 255, 0.018) 22%, rgba(26, 11, 4, 0.9) 100%);
}body.guide-page .prize-ribbon-label{
  display: block;
  color: var(--gold-bright);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}body.guide-page .prize-ribbon-value{
  display: block;
  margin-top: 0.25rem;
  color: var(--text-strong);
  font-family: var(--font-title);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  font-weight: 800;
  line-height: 1;
}body.guide-page .prize-ribbon-value .bonus-tag{
  display: inline-block;
  margin-left: 0.35rem;
  color: var(--gold-bright);
  font-family: var(--font-body);
  font-size: 0.34em;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  vertical-align: middle;
}body.guide-page .point-card{
  padding: 1.1rem 1rem;
}body.guide-page .point-num{
  display: block;
  margin-bottom: 0.6rem;
  color: var(--gold);
  font-family: var(--font-title);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}body.guide-page .point-title{
  margin: 0 0 0.45rem;
  color: var(--text-strong);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}body.guide-page .point-desc{
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.7;
}body.guide-page .point-featured{
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: start;
}body.guide-page .point-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.65rem;
  margin-bottom: 0.6rem;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  color: #331703;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: linear-gradient(180deg, #ffffff 0%, #e4ecf4 52%, #b8c8d8 100%);
}body.guide-page .score-table-grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 0.95rem;
}body.guide-page .score-table-card{
  padding: 1rem;
}body.guide-page .score-table-head{
  margin-bottom: 0.75rem;
}body.guide-page .score-table-title{
  margin: 0;
  color: var(--text-strong);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}body.guide-page .score-table-note{
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
}body.guide-page .table-scroll{
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: 20px;
  border: 1px solid rgba(210, 148, 48, 0.12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01) 20%, rgba(24, 11, 4, 0.92) 100%);
  -webkit-overflow-scrolling: touch;
}body.guide-page .score-table{
  width: 100%;
  min-width: 240px;
  border-collapse: separate;
  border-spacing: 0;
}body.guide-page .score-table th,
body.guide-page .score-table td{
  padding: 0.9rem 0.85rem;
  border-bottom: 1px solid rgba(140, 210, 255, 0.1);
  text-align: left;
  vertical-align: middle;
}body.guide-page .score-table th{
  position: sticky;
  top: 0;
  z-index: 2;
  background: linear-gradient(180deg, rgba(115, 48, 18, 0.96), rgba(55, 18, 5, 0.98));
  color: var(--gold-bright);
  font-size: 0.7rem;
  font-weight: 800;
  white-space: nowrap;
}body.guide-page .score-table td{
  color: var(--text-muted);
  font-size: 0.9rem;
}body.guide-page .score-table td:last-child{
  color: var(--text-strong);
  font-weight: 700;
}body.guide-page .score-table tbody tr:last-child td{
  border-bottom: 0;
}body.guide-page .score-table tbody tr:nth-child(even){
  background: rgba(255, 255, 255, 0.03);
}body.guide-page .score-table tbody tr:hover{
  background: rgba(77, 184, 255, 0.12);
}body.guide-page .score-disclaimer,
body.guide-page .prizes-disclaimer{
  position: relative;
  z-index: 1;
  margin: 0.95rem 0 0;
  padding: 0.85rem 1rem;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(46, 20, 6, 0.58);
  font-size: 0.86rem;
  line-height: 1.7;
}body.guide-page .fans-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.88fr);
  gap: 1rem;
  align-items: start;
}body.guide-page .fans-text .section-title{
  max-width: 18ch;
}body.guide-page .fans-body{
  margin: 0 0 0.9rem;
  font-size: 0.96rem;
  line-height: 1.75;
}body.guide-page .fans-perks{
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}body.guide-page .fans-perks li{
  position: relative;
  padding-left: 1.15rem;
  font-size: 0.92rem;
  line-height: 1.65;
}body.guide-page .fans-perks li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 999px;
  background: var(--gold);
  box-shadow: 0 0 0 4px rgba(200, 130, 38, 0.12);
}body.guide-page .fans-callouts{
  display: grid;
  gap: 0.8rem;
}body.guide-page .callout-box{
  padding: 1rem;
}body.guide-page .callout-label{
  display: block;
  color: var(--gold);
  font-size: 0.68rem;
  font-weight: 800;
}body.guide-page .callout-value{
  display: block;
  margin: 0.45rem 0 0.25rem;
  color: var(--text-strong);
  font-family: var(--font-title);
  font-size: clamp(1.7rem, 2.4vw, 2.4rem);
  font-weight: 800;
  line-height: 1;
}body.guide-page .callout-secondary .callout-value,
body.guide-page .callout-secondary-val{
  color: var(--gold-bright);
  font-size: clamp(1.35rem, 2vw, 1.9rem);
}body.guide-page .callout-caption{
  color: var(--text-muted);
  font-size: 0.84rem;
  line-height: 1.55;
}body.guide-page .prizes-grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}body.guide-page .prize-card{
  padding: 1.35rem 1.2rem 1.2rem;
  text-align: center;
}body.guide-page .prize-gold{
  background:
    linear-gradient(180deg, rgba(230, 165, 48, 0.10), rgba(255, 255, 255, 0.02) 20%, rgba(20, 9, 3, 0.97) 100%);
}body.guide-page .prize-place{
  margin: 0;
  color: var(--gold);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}body.guide-page .prize-crown{
  margin: 0.5rem 0 0.6rem;
  color: var(--gold-bright);
  font-family: var(--font-title);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}body.guide-page .prize-label{
  display: block;
  font-size: 0.68rem;
  font-weight: 800;
}body.guide-page .prize-amount{
  display: block;
  margin: 0.6rem 0 0.55rem;
  color: var(--text-strong);
  font-family: var(--font-title);
  font-size: clamp(2rem, 4vw, 3.3rem);
  font-weight: 800;
  line-height: 1;
}body.guide-page .prize-silver-amt{
  color: var(--gold-bright);
}body.guide-page .prize-note{
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.65;
}body.guide-page .faq-list{
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.75rem;
  overflow-anchor: none;
}body.guide-page .faq-item{
  transition: border-color 0.2s ease, background-color 0.2s ease;
}body.guide-page .faq-item.open{
  border-color: rgba(210, 148, 48, 0.28);
}body.guide-page .faq-q{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 1rem 1.05rem;
  border: 0;
  background: transparent;
  color: var(--text-strong);
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.45;
  text-align: left;
  cursor: pointer;
}body.guide-page .faq-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(8, 15, 26, 0.55);
  color: var(--gold-bright);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
  transition: color 0.2s ease, background-color 0.2s ease;
}body.guide-page .faq-a{
  height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-4px) scaleY(0.96);
  transform-origin: top center;
  padding: 0 1.05rem;
  transition:
    height 0.34s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 0.24s ease,
    transform 0.34s cubic-bezier(0.22, 0.61, 0.36, 1),
    padding 0.34s cubic-bezier(0.22, 0.61, 0.36, 1);
}body.guide-page .faq-item.open .faq-a{
  opacity: 1;
  transform: translateY(0) scaleY(1);
  padding-bottom: 1rem;
}body.guide-page .faq-a p{
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.75;
}body.guide-page .footer{
  margin-top: 1.2rem;
  padding: 0 1rem 1rem;
  border-top: 0;
  background: none;
}body.guide-page .footer-inner{
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  padding: 0.95rem;
  border: 1px solid rgba(140, 210, 255, 0.18);
  border-radius: var(--radius-xl);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.018) 12%),
    linear-gradient(135deg, rgba(198, 108, 34, 0.12), rgba(30, 14, 5, 0.14) 44%, rgba(18, 8, 3, 0.3) 100%);
  backdrop-filter: blur(10px) saturate(125%);
  -webkit-backdrop-filter: blur(10px) saturate(125%);
  box-shadow: var(--shadow-lg);
}body.guide-page .footer-col{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}body.guide-page .footer-inner p{
  margin: 0;
}body.guide-page .footer-title{
  color: var(--gold-bright);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}body.guide-page .footer-text{
  color: var(--text-muted);
  line-height: 1.5;
}body.guide-page .footer-col a{
  text-decoration: none;
  color: var(--text);
  opacity: 0.9;
  transition:
    color 0.18s ease,
    transform 0.18s ease,
    opacity 0.18s ease;
}body.guide-page .footer-col a:hover{
  color: var(--gold-bright);
  opacity: 1;
  transform: translateX(2px);
}body.guide-page .footer-legal-copy{
  max-width: 46ch;
  font-size: 0.76rem;
}body.guide-page .hidden{
  display: none !important;
}body.guide-page .reveal{
  opacity: 1;
  transform: none;
}

@keyframes arrowBob {0%,
  100%{
    transform: translateY(0);
  }50%{
    transform: translateY(6px);
  }
}

@keyframes emberDrift {from{
    transform: translate3d(0, 0, 0);
  }to{
    transform: translate3d(0, 14px, 0);
  }
}

@keyframes containerSheen {0%{
    transform: translateX(-52%);
  }52%,
  100%{
    transform: translateX(52%);
  }
}

@keyframes mobileSectionSheen {0%{
    transform: translateX(-118%);
  }55%,
  100%{
    transform: translateX(118%);
  }
}

@media (max-width: 1160px) {body.guide-page .format-grid,
body.guide-page .about-grid,
body.guide-page .flow-grid,
body.guide-page .fans-grid{
    grid-template-columns: 1fr;
  }body.guide-page .teams-grid,
body.guide-page .score-table-grid,
body.guide-page .prizes-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }body.guide-page .highlight-list{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }body.guide-page .footer-inner{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {body.guide-page .hero-stats,
body.guide-page .teams-grid,
body.guide-page .schedule-grid,
body.guide-page .prize-ribbon-grid,
body.guide-page .prizes-grid,
body.guide-page .score-table-grid,
body.guide-page .points-grid,
body.guide-page .highlight-list{
    grid-template-columns: 1fr 1fr;
  }body.guide-page .point-featured{
    grid-column: 1 / -1;
  }body.guide-page .team-showcase-top{
    grid-template-columns: 136px minmax(0, 1fr);
  }body.guide-page .team-logo-ring-lg{
    width: 136px;
    height: 136px;
  }body.guide-page .timeline-guide .tl-item{
    grid-template-columns: 1fr;
    gap: 0.7rem;
  }
}

@media (max-width: 760px) {html.guide-page{
    scroll-padding-top: 5.5rem;
  }body.guide-page main{
    padding-top: 5.7rem;
  }body.guide-page .nav-toggle{
    display: flex;
  }body.guide-page .nav-actions{
    margin-left: auto;
    gap: 0.4rem;
  }body.guide-page .nav-links{
    position: fixed;
    top: 5.1rem;
    right: 1rem;
    width: min(320px, calc(100vw - 2rem));
    padding: 0.65rem;
    border-radius: 24px;
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-12px);
    transition: opacity 0.2s ease, transform 0.2s ease;
  }body.guide-page .nav-links.open{
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }body.guide-page .nav-links li,
body.guide-page .nav-links a{
    width: 100%;
  }body.guide-page .nav-links a{
    justify-content: center;
  }body.guide-page .nav-logo-bottom{
    display: none;
  }body.guide-page .hero-inner,
body.guide-page .section > .container,
body.guide-page .footer-inner{
    border-radius: 24px;
  }body.guide-page .format-grid,
body.guide-page .hero-stats,
body.guide-page .teams-grid,
body.guide-page .schedule-grid,
body.guide-page .prize-ribbon-grid,
body.guide-page .prizes-grid,
body.guide-page .score-table-grid,
body.guide-page .points-grid,
body.guide-page .highlight-list{
    grid-template-columns: 1fr;
  }body.guide-page .hero-actions{
    flex-direction: column;
  }body.guide-page .btn-primary,
body.guide-page .btn-ghost,
body.guide-page .footer-btn{
    width: 100%;
  }body.guide-page .hero-note{
    border-radius: 22px;
  }body.guide-page .team-showcase-top{
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }body.guide-page .team-showcase-card .team-card-body,
body.guide-page .team-showcase-copy{
    text-align: center;
    justify-items: center;
  }body.guide-page .team-showcase-card .team-captain-line,
body.guide-page .team-showcase-card .team-meta{
    align-items: center;
    justify-content: center;
  }body.guide-page .roster-list-columns .roster-chip{
    justify-content: center;
  }body.guide-page .footer-inner{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 540px) {body.guide-page{
    font-size: 16px;
  }body.guide-page .container,
body.guide-page .nav-container{
    width: min(1240px, calc(100vw - 1rem));
  }body.guide-page #hero,
body.guide-page .section,
body.guide-page .footer{
    padding-inline: 0.5rem;
  }body.guide-page .hero-inner,
body.guide-page .section > .container,
body.guide-page .footer-inner{
    padding: 0.95rem;
  }body.guide-page .hero-title-top{
    font-size: clamp(2rem, 8vw, 2.8rem);
  }body.guide-page .hero-title-main{
    font-size: clamp(2.7rem, 12vw, 4rem);
  }body.guide-page .section-title{
    font-size: clamp(1.3rem, 6.6vw, 1.9rem);
  }body.guide-page .team-logo-ring{
    width: 104px;
    height: 104px;
  }body.guide-page .highlight-card,
body.guide-page .point-card,
body.guide-page .score-table-card,
body.guide-page .window-card,
body.guide-page .callout-box,
body.guide-page .faq-q,
body.guide-page .faq-a,
body.guide-page .prize-card,
body.guide-page .prize-ribbon{
    font-size: 0.95rem;
  }body.guide-page .point-featured{
    grid-template-columns: 1fr;
  }
}body.guide-page .nav-brand-text{
  display: none;
}body.guide-page #navbar{
  padding: 0.28rem 0;
  background: rgba(10, 9, 8, 0.36);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}body.guide-page #navbar.scrolled{
  padding: 0.22rem 0;
  background: rgba(10, 9, 8, 0.68);
  border-color: rgba(255, 255, 255, 0.14);
}body.guide-page .nav-container{
  gap: 0.75rem;
}body.guide-page .nav-logo{
  gap: 0.5rem;
}body.guide-page .nav-brand-mark{
  width: clamp(74px, 8vw, 104px);
  height: auto;
  filter: drop-shadow(0 8px 16px rgba(5, 3, 9, 0.32));
}body.guide-page .nav-links{
  padding: 0.24rem;
  border-radius: var(--radius-pill);
  border-color: rgba(140, 210, 255, 0.16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.014) 24%, rgba(28, 12, 5, 0.42) 100%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}body.guide-page .nav-links a,
body.guide-page .lang-switch,
body.guide-page .lang-btn,
body.guide-page .nav-toggle,
body.guide-page .btn-primary,
body.guide-page .btn-ghost,
body.guide-page .footer-btn,
body.guide-page .hero-note,
body.guide-page .roster-chip,
body.guide-page .team-meta-pill,
body.guide-page .window-phase,
body.guide-page .prize-ribbon,
body.guide-page .point-badge,
body.guide-page .faq-icon{
  border-radius: var(--radius-pill);
}body.guide-page .nav-links a{
  min-height: 2.2rem;
  padding: 0.48rem 0.82rem;
  font-size: 0.74rem;
}body.guide-page .nav-links a.active{
  color: #341904;
  border-color: rgba(230, 175, 80, 0.82);
  background: linear-gradient(180deg, #ffffff 0%, #f5eedc 52%, #e0cca0 100%);
  box-shadow:
    0 10px 18px rgba(92, 45, 7, 0.2),
    inset 0 1px 0 rgba(255, 235, 180, 0.68);
}body.guide-page .nav-toggle{
  border-color: rgba(168, 220, 255, 0.36);
  background: linear-gradient(180deg, rgba(55, 22, 8, 0.96), rgba(30, 12, 4, 0.96));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 10px 20px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(210, 148, 48, 0.22);
}body.guide-page .nav-toggle.open{
  background: linear-gradient(180deg, rgba(75, 30, 10, 0.98), rgba(38, 15, 5, 0.98));
}body.guide-page .lang-switch{
  padding: 0.2rem;
  border-color: rgba(140, 210, 255, 0.16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.014) 24%, rgba(28, 12, 5, 0.42) 100%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}body.guide-page .lang-btn{
  min-width: 2.7rem;
  min-height: 2.05rem;
  padding: 0.42rem 0.66rem;
  font-size: 0.7rem;
}body.guide-page #hero,
body.guide-page .section,
body.guide-page .footer{
  padding-bottom: 0.7rem;
}body.guide-page .hero-inner,
body.guide-page .section > .container,
body.guide-page .footer-inner{
  border-radius: var(--radius-xl);
  border-color: rgba(140, 210, 255, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.018) 12%),
    linear-gradient(135deg, rgba(200, 118, 38, 0.12), rgba(38, 18, 6, 0.14) 44%, rgba(24, 11, 4, 0.3) 100%);
  backdrop-filter: blur(10px) saturate(125%);
  -webkit-backdrop-filter: blur(10px) saturate(125%);
}body.guide-page .section-alt > .container{
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.012) 10%),
    linear-gradient(135deg, rgba(188, 98, 30, 0.16), rgba(30, 14, 5, 0.14) 54%, rgba(210, 138, 38, 0.05) 100%);
}body.guide-page .hero-inner::before,
body.guide-page .section > .container::before{
  opacity: 0.45;
}body.guide-page .hero-inner::after{
  inset: auto 6% 10% 6%;
  height: 120px;
  background:
    radial-gradient(circle at 12% 50%, rgba(210, 108, 28, 0.18), transparent 18%),
    radial-gradient(circle at 34% 48%, rgba(230, 155, 38, 0.22), transparent 18%),
    radial-gradient(circle at 56% 42%, rgba(200, 98, 25, 0.20), transparent 18%),
    radial-gradient(circle at 84% 50%, rgba(185, 138, 28, 0.16), transparent 18%);
  opacity: 0.56;
  filter: blur(24px);
}body.guide-page .hero-inner{
  padding: clamp(0.88rem, 1.8vw, 1.2rem);
  text-align: left;
}body.guide-page .hero-head{
  display: grid;
  grid-template-columns: minmax(260px, 420px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1rem, 2vw, 1.5rem);
  margin-bottom: 0.85rem;
}body.guide-page .hero-copy{
  min-width: 0;
}body.guide-page .hero-brand-mark{
  width: min(100%, 420px);
  margin: 0;
  justify-self: center;
  filter: drop-shadow(0 10px 20px rgba(5, 3, 9, 0.28));
}body.guide-page .hero-eyebrow,
body.guide-page .eyebrow{
  margin-bottom: 0.38rem;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}body.guide-page .hero-title{
  letter-spacing: 0.04em;
  line-height: 1;
}body.guide-page .hero-title-guide{
  color: var(--text-strong);
  font-size: clamp(1.4rem, 2.4vw, 2.2rem);
}body.guide-page .hero-tagline{
  max-width: none;
  margin: 0.55rem 0 0;
  font-size: clamp(0.98rem, 0.6vw + 0.92rem, 1.04rem);
  line-height: 1.5;
}body.guide-page .hero-stats{
  gap: 0.65rem;
  margin: 0 0 0.7rem;
}body.guide-page .hero-stat{
  padding: 0.75rem 0.7rem 0.68rem;
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.014) 20%, rgba(28, 13, 5, 0.34) 100%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}body.guide-page .stat-num{
  font-size: clamp(1.25rem, 1.8vw, 1.8rem);
}body.guide-page .stat-lbl{
  margin-top: 0.28rem;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
}body.guide-page .hero-actions{
  justify-content: flex-start;
  gap: 0.65rem;
  margin-top: 0.35rem;
}body.guide-page .btn-primary,
body.guide-page .btn-ghost,
body.guide-page .footer-btn{
  min-height: 44px;
  padding: 0.7rem 1rem;
  font-size: 0.74rem;
  letter-spacing: 0.08em;
}body.guide-page .btn-ghost,
body.guide-page .footer-btn{
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.012) 16%, rgba(28, 13, 5, 0.38) 100%);
}body.guide-page .hero-note{
  margin: 0.55rem 0 0;
  max-width: none;
  padding: 0;
  border: 0;
  background: none;
  font-size: 0.86rem;
}body.guide-page .scroll-cta{
  margin: 0.7rem auto 0;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
}body.guide-page .section > .container{
  padding: clamp(0.9rem, 1.8vw, 1.2rem);
}body.guide-page .section-header{
  margin-bottom: 0.85rem;
}body.guide-page .section-title{
  font-size: clamp(1.16rem, 2.1vw, 1.72rem);
  letter-spacing: 0.04em;
  line-height: 1.02;
}body.guide-page .divider{
  width: 62px;
  height: 2px;
  margin: 0.45rem 0 0.7rem;
  border-radius: 2px;
  background: linear-gradient(90deg, rgba(190, 70, 28, 0.52), rgba(230, 158, 38, 0.94), rgba(200, 118, 28, 0));
}body.guide-page .section-sub{
  font-size: 0.94rem;
  line-height: 1.55;
}body.guide-page .about-grid,
body.guide-page .flow-grid,
body.guide-page .fans-grid,
body.guide-page .highlight-list,
body.guide-page .points-grid,
body.guide-page .score-table-grid,
body.guide-page .teams-grid,
body.guide-page .schedule-grid,
body.guide-page .prize-ribbon-grid,
body.guide-page .prizes-grid,
body.guide-page .faq-list,
body.guide-page .fans-callouts{
  gap: 0.75rem;
}body.guide-page .about-grid{
  gap: 0.8rem;
}body.guide-page .about-text .lead{
  margin-bottom: 0.75rem;
  font-size: 1rem;
  line-height: 1.6;
}body.guide-page .about-text p{
  margin-bottom: 0.7rem;
}body.guide-page .highlight-card,
body.guide-page .team-card,
body.guide-page .window-card,
body.guide-page .point-card,
body.guide-page .score-table-card,
body.guide-page .callout-box,
body.guide-page .faq-item,
body.guide-page .prize-card,
body.guide-page .schedule-board,
body.guide-page .tl-item,
body.guide-page .table-scroll,
body.guide-page .score-disclaimer,
body.guide-page .prizes-disclaimer{
  border-radius: var(--radius-lg);
}body.guide-page .highlight-card,
body.guide-page .team-card,
body.guide-page .window-card,
body.guide-page .point-card,
body.guide-page .score-table-card,
body.guide-page .callout-box,
body.guide-page .faq-item,
body.guide-page .prize-card,
body.guide-page .schedule-board,
body.guide-page .tl-item,
body.guide-page .table-scroll,
body.guide-page .score-disclaimer,
body.guide-page .prizes-disclaimer{
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012) 20%, rgba(24, 11, 5, 0.34) 100%),
    linear-gradient(135deg, rgba(198, 108, 34, 0.12), rgba(28, 13, 5, 0.08) 56%, rgba(210, 138, 42, 0.05) 100%);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(8px) saturate(118%);
  -webkit-backdrop-filter: blur(8px) saturate(118%);
}body.guide-page .highlight-card::before,
body.guide-page .team-card::before,
body.guide-page .window-card::before,
body.guide-page .point-card::before,
body.guide-page .score-table-card::before,
body.guide-page .callout-box::before,
body.guide-page .prize-card::before{
  height: 2px;
}body.guide-page .highlight-card{
  gap: 0.75rem;
  padding: 0.85rem;
}body.guide-page .highlight-icon{
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius-pill);
  font-size: 0.74rem;
}body.guide-page .highlight-title,
body.guide-page .team-name,
body.guide-page .point-title,
body.guide-page .window-title,
body.guide-page .tl-title,
body.guide-page .score-table-title{
  font-size: 1rem;
}body.guide-page .highlight-desc,
body.guide-page .point-desc,
body.guide-page .window-copy,
body.guide-page .board-copy,
body.guide-page .tl-desc,
body.guide-page .score-table-note,
body.guide-page .faq-a p{
  font-size: 1.05rem;
  line-height: 1.6;
}body.guide-page .team-card-body{
  gap: 0.75rem;
  padding: 0.95rem 0.85rem 0.85rem;
}body.guide-page .team-logo-ring{
  width: 106px;
  height: 106px;
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(10, 22, 40, 0.34));
}body.guide-page .team-logo-ring.team-logo-ring-lg{
  width: 146px;
  height: 146px;
}body.guide-page .roster-list{
  gap: 0.38rem;
}body.guide-page .roster-chip{
  min-height: 1.8rem;
  padding: 0.32rem 0.62rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.015) 24%, rgba(10, 22, 40, 0.3) 100%);
  font-size: 0.78rem;
}body.guide-page .captain-chip{
  color: #2f1304;
  border-color: rgba(168, 220, 255, 0.82);
  background: linear-gradient(180deg, #ffffff 0%, #e4ecf4 52%, #b8c8d8 100%);
  box-shadow: 0 10px 18px rgba(92, 45, 7, 0.2);
}body.guide-page .team-meta-pill,
body.guide-page .window-phase{
  min-height: 1.7rem;
  padding-inline: 0.7rem;
  background: rgba(10, 9, 8, 0.34);
}body.guide-page .cap-label{
  color: var(--gold-bright);
  font-size: 0.7rem;
}body.guide-page .cap-name{
  color: var(--gold-bright);
  font-size: 0.96rem;
}body.guide-page .flow-grid{
  gap: 0.8rem;
}body.guide-page .timeline{
  gap: 0.65rem;
}body.guide-page .tl-item{
  padding: 0.85rem;
}body.guide-page .timeline-guide .tl-item{
  padding: 0.85rem;
}body.guide-page .tl-dot{
  display: none;
}body.guide-page .tl-dates,
body.guide-page .window-time{
  font-size: 0.64rem;
}body.guide-page .schedule-board,
body.guide-page .window-card,
body.guide-page .point-card,
body.guide-page .score-table-card,
body.guide-page .callout-box,
body.guide-page .prize-card,
body.guide-page .prize-ribbon{
  padding: 0.85rem;
}body.guide-page .board-title{
  font-size: 1.06rem;
}body.guide-page .window-title{
  margin: 0.6rem 0 0.25rem;
}body.guide-page .prize-ribbon{
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.012) 22%, rgba(26, 12, 5, 0.34) 100%);
}body.guide-page .point-num{
  margin-bottom: 0.45rem;
  font-size: 1.7rem;
}body.guide-page .point-featured{
  gap: 0.8rem;
}body.guide-page .point-badge{
  min-height: 1.45rem;
  margin-bottom: 0.45rem;
}body.guide-page .table-scroll{
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01) 20%, rgba(24, 11, 4, 0.32) 100%);
}body.guide-page .score-table th{
  background: linear-gradient(180deg, rgba(104, 62, 17, 0.94), rgba(39, 18, 7, 0.95));
}body.guide-page .score-table th,
body.guide-page .score-table td{
  padding: 0.75rem 0.72rem;
}body.guide-page .score-disclaimer,
body.guide-page .prizes-disclaimer{
  margin-top: 0.8rem;
  padding: 0.75rem 0.85rem;
  background: rgba(10, 9, 8, 0.26);
}body.guide-page .faq-q{
  padding: 0.85rem 0.9rem;
}body.guide-page .faq-icon{
  width: 1.75rem;
  height: 1.75rem;
  background: rgba(10, 9, 8, 0.34);
}body.guide-page .faq-a{
  padding-inline: 0.9rem;
}body.guide-page .faq-item.open .faq-a{
  padding-bottom: 0.85rem;
}body.guide-page .footer-inner{
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.012) 16%, rgba(24, 11, 4, 0.36) 100%),
    linear-gradient(135deg, rgba(198, 108, 34, 0.12), rgba(28, 13, 5, 0.08) 56%, rgba(210, 138, 42, 0.04) 100%);
}body.guide-page .footer-title{
  font-size: 0.7rem;
}body.guide-page .footer-text,
body.guide-page .footer-legal-copy{
  font-size: 0.84rem;
}

@media (max-width: 900px) {body.guide-page .hero-head{
    grid-template-columns: 1fr;
    gap: 0.85rem;
    text-align: center;
  }body.guide-page .hero-inner{
    text-align: center;
  }body.guide-page .hero-actions{
    justify-content: center;
  }body.guide-page .hero-note{
    text-align: center;
  }
}

@media (max-width: 760px) {body.guide-page main{
    padding-top: 6rem;
  }body.guide-page .nav-links{
    top: 4.35rem;
    left: 0.5rem;
    right: 0.5rem;
    width: auto;
    max-height: calc(100vh - 5rem);
    overflow-y: auto;
    border-radius: var(--radius-lg);
    border-color: rgba(140, 210, 255, 0.22);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.02) 12%, rgba(22, 10, 4, 0.96) 100%);
    backdrop-filter: blur(18px) saturate(130%);
    -webkit-backdrop-filter: blur(18px) saturate(130%);
    box-shadow:
      0 20px 40px rgba(0, 0, 0, 0.34),
      inset 0 1px 0 rgba(184, 228, 255, 0.08);
    z-index: 260;
  }body.guide-page .lang-btn{
    min-width: 2.45rem;
    min-height: 2rem;
    padding-inline: 0.55rem;
  }body.guide-page .hero-inner,
body.guide-page .section > .container,
body.guide-page .footer-inner{
    border-radius: var(--radius-xl);
  }body.guide-page .hero-actions{
    flex-direction: column;
  }body.guide-page .btn-primary,
body.guide-page .btn-ghost,
body.guide-page .footer-btn{
    width: 100%;
  }body.guide-page .section > .container,
body.guide-page .footer-inner{
    isolation: isolate;
  }body.guide-page .section > .container::before,
body.guide-page .footer-inner::before{
    content: "";
    position: absolute;
    left: 0.85rem;
    right: 0.85rem;
    top: 0.72rem;
    height: 3px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      rgba(210, 138, 42, 0.18) 12%,
      rgba(230, 165, 45, 0.95) 48%,
      rgba(195, 110, 30, 0.48) 62%,
      transparent 100%
    );
    opacity: 0.92;
    mix-blend-mode: screen;
    transform: translateX(-118%);
    animation: mobileSectionSheen 6.2s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
    pointer-events: none;
  }
}

@media (max-width: 540px) {body.guide-page .nav-brand-mark{
    width: 68px;
  }body.guide-page #hero,
body.guide-page .section,
body.guide-page .footer{
    padding-inline: 0.5rem;
  }body.guide-page .hero-inner,
body.guide-page .section > .container,
body.guide-page .footer-inner{
    padding: 0.85rem;
  }body.guide-page .nav-links{
    top: 4.1rem;
    left: 0.35rem;
    right: 0.35rem;
    max-height: calc(100vh - 4.7rem);
    padding: 0.7rem;
  }body.guide-page .section > .container::before,
body.guide-page .footer-inner::before{
    left: 0.72rem;
    right: 0.72rem;
    top: 0.62rem;
  }body.guide-page .hero-title-guide{
    font-size: clamp(1.35rem, 7vw, 2rem);
  }body.guide-page .hero-tagline{
    font-size: 0.9rem;
  }body.guide-page .team-logo-ring-lg{
    width: 122px;
    height: 122px;
  }body.guide-page .hero-stat{
    padding: 0.7rem 0.6rem;
  }body.guide-page .team-logo-ring{
    width: 94px;
    height: 94px;
  }body.guide-page .team-logo-ring.team-logo-ring-lg{
    width: 122px;
    height: 122px;
  }
}

@media (prefers-reduced-motion: reduce) {body.guide-page *,
body.guide-page *::before,
body.guide-page *::after{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }body.guide-page .reveal,
body.guide-page .reveal.should-animate{
    opacity: 1 !important;
    transform: none !important;
  }
}body.guide-page :focus-visible{
  outline: 2px solid var(--gold-bright);
  outline-offset: 3px;
}

/* ── Scroll reveal ──────────────────────────────────────────────── */
body.guide-page .reveal.should-animate{
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.68s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 0.68s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body.guide-page .reveal.should-animate.is-visible{
  opacity: 1;
  transform: none;
}
body.guide-page .reveal.should-animate.reveal-d1.is-visible{ transition-delay: 0.12s; }
body.guide-page .reveal.should-animate.reveal-d2.is-visible{ transition-delay: 0.24s; }
body.guide-page .reveal.should-animate.reveal-d3.is-visible{ transition-delay: 0.36s; }

/* ── Card hover lifts ───────────────────────────────────────────── */
body.guide-page .format-card,
body.guide-page .highlight-card,
body.guide-page .point-card,
body.guide-page .score-table-card,
body.guide-page .tl-item,
body.guide-page .hoc-card{
  transition:
    transform 0.28s cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}
body.guide-page .format-card:hover,
body.guide-page .highlight-card:hover,
body.guide-page .point-card:hover,
body.guide-page .score-table-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 22px 44px rgba(8, 4, 2, 0.44), 0 0 0 1px rgba(220, 148, 45, 0.18);
  border-color: rgba(210, 140, 45, 0.30);
}
body.guide-page .hoc-card:hover{
  transform: translateY(-2px);
  border-color: rgba(210, 138, 42, 0.38);
  box-shadow: 0 18px 36px rgba(8, 4, 2, 0.38);
}

/* ── Hero brand mark float ──────────────────────────────────────── */
@keyframes heroLogoFloat{
  0%, 100%{ transform: translateY(0); }
  50%{ transform: translateY(-8px); }
}
body.guide-page .hero-brand-mark{
  animation: heroLogoFloat 7s ease-in-out infinite;
}

/* ── FAQ icon rotation ──────────────────────────────────────────── */
body.guide-page .faq-icon{
  transition:
    transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1),
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease;
}
body.guide-page .faq-item.open .faq-icon{
  transform: rotate(180deg);
}

/* ── Nav link hover nudge ───────────────────────────────────────── */
body.guide-page .nav-links a{
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}
body.guide-page .nav-links a:hover{
  transform: translateY(-1px);
}

/* ── Scroll cta bounce (enhanced) ──────────────────────────────── */
@keyframes arrowBobWarm {
  0%, 100%{ transform: translateY(0); opacity: 0.7; }
  50%{ transform: translateY(7px); opacity: 1; }
}
body.guide-page .scroll-cta svg{
  animation: arrowBobWarm 2.4s ease-in-out infinite;
}

/* ── Font size tweaks ───────────────────────────────────────────── */
body.guide-page .faq-q{
  font-size: 0.96rem;
}
body.guide-page .tl-desc,
body.guide-page .format-copy{
  font-size: 0.97rem;
}
body.guide-page .cap-label,
body.guide-page .tl-label{
  font-size: 0.72rem;
}
body.guide-page .section-sub{
  font-size: 1.02rem;
}


body.ranking-page *{
  box-sizing: border-box;
}html.ranking-page{
  --bg: #160d1c;
  --bg-deep: #0c080e;
  --panel: rgba(32, 12, 36, 0.84);
  --panel-strong: rgba(26, 10, 34, 0.94);
  --panel-soft: rgba(38, 14, 42, 0.72);
  --panel-glow: rgba(170, 55, 85, 0.18);
  --line: rgba(165, 105, 125, 0.3);
  --line-strong: rgba(195, 165, 175, 0.48);
  --gold: rgba(255, 255, 255, 0.92);
  --gold-bright: #ffffff;
  --gold-deep: rgba(255, 255, 255, 0.62);
  --gold-muted: rgba(255, 255, 255, 0.72);
  --ember: #4db8ff;
  --ember-soft: rgba(165, 58, 92, 0.2);
  --navy: #1a1038;
  --navy-soft: rgba(28, 14, 52, 0.72);
  --text: #e8f2fc;
  --text-strong: #f5f9ff;
  --text-muted: #b8d8f0;
  --surface: rgba(10, 18, 30, 0.62);
  --surface-2: rgba(13, 25, 42, 0.8);
  --radius-xl: 30px;
  --radius-lg: 22px;
  --radius-md: 18px;
  --shadow-xl: 0 28px 80px rgba(4, 10, 24, 0.6);
  --shadow-lg: 0 18px 50px rgba(4, 10, 24, 0.46);
  --shadow-md: 0 12px 30px rgba(4, 10, 24, 0.34);
  --font-title: "Cinzel", Georgia, serif;
  --font-body: "Barlow", Arial, sans-serif;
}html.ranking-page,
body.ranking-page{
  margin: 0;
  padding: 0;
  max-width: 100%;
  overflow-x: hidden;
}html.ranking-page{
  background: var(--bg-deep);
  scroll-padding-top: 7rem;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}body.ranking-page{
  min-height: 100vh;
  position: relative;
  color: var(--text);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.55;
  background: transparent;
}body.ranking-page::before,
body.ranking-page::after,
body.ranking-page main::before{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}body.ranking-page::before{
  background:
    radial-gradient(ellipse 44% 58% at 50% 0%, rgba(175, 55, 90, 0.32), transparent 72%),
    radial-gradient(ellipse 40% 52% at 50% 100%, rgba(35, 115, 255, 0.48), transparent 70%),
    radial-gradient(ellipse 36% 48% at 0% 50%, rgba(160, 50, 82, 0.28), transparent 74%),
    radial-gradient(ellipse 36% 48% at 100% 50%, rgba(45, 145, 255, 0.4), transparent 74%),
    linear-gradient(135deg, rgba(165, 48, 85, 0.24) 0%, transparent 36%, transparent 64%, rgba(40, 120, 255, 0.34) 100%),
    linear-gradient(45deg, rgba(155, 52, 88, 0.2) 0%, transparent 40%, transparent 60%, rgba(55, 160, 255, 0.28) 100%),
    linear-gradient(
      180deg,
      rgba(52, 14, 42, 0.52) 0%,
      rgba(22, 42, 98, 0.42) 46%,
      rgba(10, 6, 22, 0.94) 100%
    ),
    url("assets/bg.jpeg") center top / cover no-repeat;
  background-blend-mode: screen, screen, screen, screen, screen, screen, normal, soft-light;
  filter: saturate(1.02) contrast(1.06) brightness(0.7);
  z-index: -3;
}body.ranking-page::after{
  background:
    radial-gradient(circle at 50% 50%, rgba(150, 58, 95, 0.16), transparent 38%),
    linear-gradient(90deg, transparent 38%, rgba(160, 55, 90, 0.12) 50%, transparent 62%),
    linear-gradient(180deg, transparent 38%, rgba(50, 150, 255, 0.16) 50%, transparent 62%),
    linear-gradient(180deg, rgba(12, 4, 24, 0.1), rgba(6, 4, 14, 0.48));
  z-index: -2;
}body.ranking-page main{
  position: relative;
  z-index: 1;
  padding-bottom: 2rem;
}body.ranking-page main::before{
  background:
    radial-gradient(circle at 15% 18%, rgba(170, 62, 95, 0.09) 0 0.2rem, transparent 0.24rem),
    radial-gradient(circle at 78% 24%, rgba(70, 160, 255, 0.14) 0 0.18rem, transparent 0.23rem),
    radial-gradient(circle at 24% 72%, rgba(155, 52, 88, 0.09) 0 0.18rem, transparent 0.23rem),
    radial-gradient(circle at 88% 64%, rgba(50, 140, 255, 0.14) 0 0.2rem, transparent 0.26rem);
  mix-blend-mode: screen;
  opacity: 0.6;
  z-index: -1;
  animation: emberDrift 18s ease-in-out infinite alternate;
}@media (max-width: 768px) {
  body.ranking-page::before,
  body.ranking-page::after,
  body.ranking-page main::before{
    inset: unset;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    height: 100svh;
    min-height: 100svh;
  }
  body.ranking-page main::before{
    animation: emberDriftTouch 18s ease-in-out infinite alternate;
  }
}body.ranking-page button,
body.ranking-page input,
body.ranking-page select,
body.ranking-page option,
body.ranking-page textarea{
  font-family: inherit;
}body.ranking-page img{
  max-width: 100%;
}body.ranking-page a{
  color: inherit;
}body.ranking-page .container{
  width: min(1280px, calc(100% - 2rem));
  margin: 0 auto;
}body.ranking-page .topbar{
  position: relative;
  padding: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0) 18%),
    linear-gradient(180deg, rgba(10, 19, 34, 0.9), rgba(6, 12, 22, 0.96));
  box-shadow: 0 14px 30px rgba(4, 10, 24, 0.22);
}body.ranking-page .topbar-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 0;
}body.ranking-page .brand{
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  min-width: 0;
  text-decoration: none;
}body.ranking-page .brand-logo{
  display: block;
  width: auto;
  height: 42px;
  object-fit: contain;
  filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.35));
}body.ranking-page .brand-lockup{
  display: flex;
  flex-direction: column;
  gap: 0.06rem;
  min-width: 0;
}body.ranking-page .brand-kicker{
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-muted);
}body.ranking-page .brand-title{
  font-family: var(--font-title);
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-strong);
}body.ranking-page .topbar-nav{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.65rem;
}body.ranking-page .back-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.6rem 0.95rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(10, 18, 30, 0.64);
  color: var(--text-muted);
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}body.ranking-page .back-link:hover{
  color: var(--text-strong);
  border-color: rgba(246, 212, 139, 0.68);
  background: rgba(13, 25, 42, 0.84);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(7, 3, 16, 0.36);
}body.ranking-page .rules-nav-link{
  background:
    linear-gradient(180deg, rgba(184, 220, 255, 0.22), rgba(160, 210, 255, 0.06) 46%, rgba(100, 180, 255, 0.14) 100%),
    rgba(12, 40, 72, 0.82) !important;
  border-color: rgba(246, 212, 139, 0.52) !important;
  color: var(--gold-bright) !important;
}body.ranking-page .rules-nav-link:hover{
  background:
    linear-gradient(180deg, rgba(184, 228, 255, 0.3), rgba(140, 210, 255, 0.1) 46%, rgba(77, 184, 255, 0.2) 100%),
    rgba(82, 42, 11, 0.9) !important;
}body.ranking-page .section{
  padding: 1rem 0 0;
}body.ranking-page .section-top{
  padding-top: 1.25rem;
}body.ranking-page .section + .section{
  margin-top: 0.2rem;
}body.ranking-page .hero-stage,
body.ranking-page .leaderboard-section > .container,
body.ranking-page .battles-wrap{
  position: relative;
  overflow: hidden;
  padding: clamp(0.9rem, 1.55vw, 1.25rem);
  border-radius: var(--radius-xl);
  border: 1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0) 12%),
    radial-gradient(circle at 50% 0, rgba(248, 224, 162, 0.08), transparent 24%),
    linear-gradient(180deg, rgba(16, 38, 64, 0.92) 0%, rgba(11, 22, 38, 0.96) 44%, rgba(7, 13, 23, 0.98) 100%);
  box-shadow: var(--shadow-xl);
  isolation: isolate;
}body.ranking-page .hero-stage::before,
body.ranking-page .leaderboard-section > .container::before,
body.ranking-page .battles-wrap::before{
  content: "";
  position: absolute;
  inset: -55% -18%;
  background: linear-gradient(
    102deg,
    transparent 0%,
    rgba(255, 255, 255, 0.015) 38%,
    rgba(248, 224, 162, 0.085) 50%,
    rgba(255, 255, 255, 0.015) 62%,
    transparent 100%
  );
  transform: translate3d(-28%, 0, 0);
  mix-blend-mode: soft-light;
  opacity: 0.85;
  animation: rankingSheenSweep 16s cubic-bezier(0.42, 0, 0.58, 1) infinite;
  pointer-events: none;
}body.ranking-page .hero-stage::after,
body.ranking-page .leaderboard-section > .container::after,
body.ranking-page .battles-wrap::after{
  display: none;
}body.ranking-page .hero-head,
body.ranking-page .section-head,
body.ranking-page .battles-section-head{
  position: relative;
  z-index: 1;
}body.ranking-page .hero-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(1rem, 2vw, 1.8rem);
  margin-bottom: 1rem;
}body.ranking-page .hero-copy{
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
}body.ranking-page .hero-actions{
  display: flex;
  justify-content: flex-end;
  align-self: flex-start;
  flex-shrink: 0;
}body.ranking-page .lang-switch{
  display: inline-flex;
  gap: 0.28rem;
  padding: 0.28rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  background: rgba(9, 17, 28, 0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  cursor: pointer;
  user-select: none;
}body.ranking-page .lang-btn{
  pointer-events: none;
  min-width: 3.1rem;
  min-height: 2.4rem;
  padding: 0.45rem 0.8rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: var(--text-muted);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease;
}body.ranking-page .lang-btn.active{
  color: #341904;
  background: linear-gradient(180deg, #ffffff 0%, #e4ecf4 52%, #b8c8d8 100%);
  border-color: rgba(140, 210, 255, 0.88);
  box-shadow: 0 10px 22px rgba(88, 43, 6, 0.28);
}body.ranking-page .hero-meta-grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.95rem;
  margin-bottom: 0.95rem;
}body.ranking-page .hero-countdown-wrap{
  width: 100%;
  max-width: none;
}body.ranking-page .quick-grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.95rem;
  align-items: stretch;
}body.ranking-page .panel{
  position: relative;
  padding: 1.15rem 1rem 1rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(140, 210, 255, 0.24);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.012) 16%, rgba(8, 17, 29, 0.97) 100%),
    linear-gradient(135deg, rgba(100, 180, 255, 0.05), rgba(255, 255, 255, 0) 24%, rgba(14, 35, 58, 0.05) 100%);
  box-shadow:
    inset 0 1px 0 rgba(184, 228, 255, 0.04),
    0 18px 28px rgba(7, 3, 16, 0.32);
  overflow: hidden;
}body.ranking-page .panel::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 0, rgba(168, 220, 255, 0.1), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.05), transparent 28%);
  pointer-events: none;
}body.ranking-page .panel::after{
  content: "";
  position: absolute;
  left: 1rem;
  right: 1rem;
  top: 0.75rem;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(140, 210, 255, 0.78), transparent);
}body.ranking-page .panel-rules{
  padding-block: 0.85rem;
}body.ranking-page .panel-rules::after{
  display: none;
}body.ranking-page .panel-rules-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.6rem;
  align-items: start;
}body.ranking-page .panel-rules .rules-block{
  min-width: 0;
  margin: 0;
  border: 1px solid rgba(140, 210, 255, 0.14);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01) 24%, rgba(6, 13, 23, 0.82) 100%);
  box-shadow: none;
  overflow: hidden;
}body.ranking-page .panel h2,
body.ranking-page .battles-section-title,
body.ranking-page .battle-panel-title,
body.ranking-page .section-head h2,
body.ranking-page .footer-title{
  font-family: var(--font-title);
}body.ranking-page .panel h2{
  margin: 0 0 1rem;
  padding-bottom: 0.8rem;
  font-size: clamp(1.1rem, 2vw, 1.55rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  color: var(--gold-bright);
  position: relative;
}body.ranking-page .panel h2::after{
  content: "";
  position: absolute;
  left: 16%;
  right: 16%;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(100, 180, 255, 0.76), transparent);
}body.ranking-page .plain-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}body.ranking-page .plain-list li{
  position: relative;
  margin: 0;
  padding: 0.8rem 0.9rem;
  border-radius: 16px;
  border: 1px solid rgba(100, 180, 255, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015) 18%, rgba(8, 15, 26, 0.7) 100%);
  font-size: 1.15rem;
  line-height: 1.55;
  color: var(--text-muted);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}body.ranking-page .plain-list li strong{
  color: var(--gold-bright);
  font-weight: 700;
}body.ranking-page h1,
body.ranking-page h2,
body.ranking-page h3,
body.ranking-page h4{
  margin: 0;
}body.ranking-page #hero-title{
  max-width: none;
  font-family: var(--font-title);
  font-size: clamp(1.35rem, 3vw, 2.15rem);
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-strong);
}body.ranking-page .hero-subcopy{
  margin: 0.9rem 0 0;
  max-width: none;
  font-size: clamp(1.15rem, 1.25vw + 0.88rem, 1.4rem);
  color: var(--text-muted);
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.24);
}body.ranking-page .subcopy,
body.ranking-page .battle-page-note,
body.ranking-page .battle-panel-lede{
  font-size: clamp(1.1rem, 1.1vw + 0.85rem, 1.3rem);
  line-height: 1.55;
}body.ranking-page .competition-countdown{
  position: relative;
  width: 100%;
  padding: 0.85rem 1rem 0.95rem;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.01) 22%, rgba(8, 17, 29, 0.97) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 28px rgba(7, 3, 16, 0.32);
  text-align: center;
}body.ranking-page .competition-countdown::before{
  display: none;
}body.ranking-page .countdown-label{
  display: block;
  margin: 0 0 0.4rem;
  font-size: clamp(1.1rem, 1.35vw + 0.78rem, 1.5rem);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold-bright);
  text-align: center;
}body.ranking-page .countdown-label::after{
  display: none;
}body.ranking-page .countdown-digits{
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0.36rem;
  flex-wrap: nowrap;
}body.ranking-page .cd-chunk{
  position: relative;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.42rem;
  min-width: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}body.ranking-page .cd-value{
  position: relative;
  z-index: 1;
  font-family: var(--font-title);
  font-size: clamp(1.95rem, 4vw, 2.95rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--text-strong);
  font-variant-numeric: tabular-nums;
}body.ranking-page .cd-unit{
  position: relative;
  z-index: 1;
  font-size: clamp(0.96rem, 0.95vw + 0.62rem, 1.2rem);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gold-bright);
}body.ranking-page .cd-colon{
  display: inline-block;
  align-self: center;
  margin: 0 0.16rem;
  color: rgba(140, 210, 255, 0.82);
  font-family: var(--font-title);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 900;
  line-height: 1;
}body.ranking-page .rules-toggle-summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.8rem 1rem;
  list-style: none;
  cursor: pointer;
  user-select: none;
  color: var(--gold-bright);
  font-family: var(--font-title);
  font-size: clamp(0.96rem, 1.25vw, 1.22rem);
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}body.ranking-page .rules-toggle-summary::-webkit-details-marker{
  display: none;
}body.ranking-page .rules-toggle-summary::marker{
  content: "";
}body.ranking-page .rules-toggle-summary::after{
  content: "";
  width: 0.64rem;
  height: 0.64rem;
  flex-shrink: 0;
  border-right: 2px solid rgba(140, 210, 255, 0.92);
  border-bottom: 2px solid rgba(140, 210, 255, 0.92);
  transform: rotate(45deg);
  transform-origin: 60% 60%;
  transition: transform 0.22s ease;
}body.ranking-page .rules-toggle-summary:hover{
  background: rgba(255, 255, 255, 0.03);
}body.ranking-page .panel-rules .rules-block[open]{
  border-color: rgba(140, 210, 255, 0.24);
  box-shadow: 0 12px 20px rgba(7, 3, 16, 0.16);
}body.ranking-page .panel-rules .rules-block[open] .rules-toggle-summary::after{
  transform: rotate(225deg);
}body.ranking-page .rules-content{
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-5px) scaleY(0.992);
  transform-origin: top;
  transition:
    max-height 0.15s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.1s ease,
    transform 0.15s cubic-bezier(0.22, 1, 0.36, 1);
}body.ranking-page .panel-rules .rules-block.is-open .rules-content{
  opacity: 1;
  transform: translateY(0) scaleY(1);
}
body.ranking-page .scoring-groups{
  padding: 0 1rem 0.8rem;
}
body.ranking-page .scoring-group{
  margin: 0;
  padding: 0.65rem 0;
}
body.ranking-page .scoring-group + .scoring-group{
  border-top: 1px solid rgba(100, 180, 255, 0.12);
}
body.ranking-page .scoring-group-title{
  margin: 0 0 0.24rem;
  color: var(--gold-bright);
  font-size: 0.98rem;
  line-height: 1.2;
}
body.ranking-page .scoring-group-copy{
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.55;
  color: var(--text-muted);
}
body.ranking-page .scoring-sublist{
  margin: 0.45rem 0 0;
  padding: 0 0 0 1.15rem;
  display: grid;
  gap: 0.42rem;
}
body.ranking-page .scoring-sublist li{
  margin: 0;
  padding: 0;
  font-size: 1.15rem;
  line-height: 1.5;
  color: var(--text-muted);
}
body.ranking-page .scoring-sublist li strong{
  color: var(--gold-bright);
}

@keyframes rulesReveal {from{
    opacity: 0;
    transform: translateY(-10px) scaleY(0.96);
  }to{
    opacity: 1;
    transform: translateY(0) scaleY(1);
  }
}body.ranking-page .panel-rules .plain-list{
  gap: 0;
  padding: 0 1rem 0.8rem;
}body.ranking-page .panel-rules .plain-list li{
  margin: 0;
  padding: 0.52rem 0 0.52rem 1.05rem;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  font-size: 0.94rem;
  line-height: 1.38;
}body.ranking-page .panel-rules .plain-list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 1rem;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: radial-gradient(circle at 32% 32%, #ffffff 0 30%, #e4ecf4 46%, #b0c0d0 100%);
  box-shadow: 0 0 14px rgba(244, 196, 95, 0.28);
  transform: translateY(-50%);
}body.ranking-page .panel-rules .plain-list li + li{
  border-top: 1px solid rgba(100, 180, 255, 0.12);
}body.ranking-page .panel-rules .plain-list li strong{
  color: var(--gold-bright);
}body.ranking-page .tab-bar-outer{
  position: sticky;
  top: 0.75rem;
  z-index: 40;
  padding-top: 1rem;
  animation: glowPulse 4.8s ease-in-out infinite;
}body.ranking-page .tab-bar-outer .container{
  position: relative;
  overflow: hidden;
  padding: 0.4rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.015) 24%, rgba(8, 15, 26, 0.92) 100%);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: var(--shadow-lg);
}body.ranking-page .tab-bar-outer .container::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.05), transparent 26%),
    radial-gradient(circle at 50% 0, rgba(168, 220, 255, 0.12), transparent 28%);
  pointer-events: none;
}body.ranking-page .page-view-tabs{
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}body.ranking-page .page-view-tab{
  flex: 1 1 180px;
  min-height: 56px;
  padding: 0.7rem 0.95rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: var(--text-muted);
  font-size: clamp(0.74rem, 0.68vw + 0.6rem, 0.86rem);
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-wrap: anywhere;
  white-space: normal;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease,
    color 0.2s ease;
}body.ranking-page .page-view-tab:hover{
  color: var(--text-strong);
  border-color: rgba(140, 210, 255, 0.16);
  background: rgba(255, 255, 255, 0.04);
}body.ranking-page .page-view-tab.active{
  color: #331703;
  border-color: rgba(168, 220, 255, 0.82);
  background: linear-gradient(180deg, #ffffff 0%, #e4ecf4 52%, #b8c8d8 100%);
  box-shadow:
    0 10px 18px rgba(92, 45, 7, 0.2),
    inset 0 1px 0 rgba(220, 240, 255, 0.68);
}body.ranking-page .leaderboard-section > .container,
body.ranking-page .battles-wrap{
  padding: clamp(0.9rem, 1.55vw, 1.2rem);
}body.ranking-page .section-head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.8rem;
}body.ranking-page .section-head > div{
  flex: 1 1 auto;
  min-width: 0;
}body.ranking-page .section-head h2,
body.ranking-page .battles-section-title{
  font-size: clamp(1.35rem, 3vw, 2.15rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-strong);
}body.ranking-page .subcopy,
body.ranking-page .status-inline,
body.ranking-page .battle-page-note,
body.ranking-page .battle-panel-lede,
body.ranking-page .battle-status-line,
body.ranking-page .arena-week-sub,
body.ranking-page .match-card-label,
body.ranking-page .battle-tab-unlock,
body.ranking-page .match-meta,
body.ranking-page .clash-player-name,
body.ranking-page .player-match-date,
body.ranking-page .footer-text{
  color: var(--text-muted);
}body.ranking-page .subcopy{
  margin: 0.55rem 0 0;
  max-width: none;
}body.ranking-page #playerBoardHint:not(:empty){
  margin-bottom: 0.85rem;
}body.ranking-page .status-inline{
  width: fit-content;
  max-width: 100%;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 1rem;
  padding: 0.65rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(8, 15, 26, 0.55);
  font-size: 0.88rem;
}body.ranking-page .status-pair{
  display: inline-flex;
  align-items: center;
  gap: 0.18rem;
}body.ranking-page .status-separator{
  color: rgba(207, 188, 148, 0.55);
}body.ranking-page .status-inline strong{
  color: var(--text-strong);
}body.ranking-page .team-label{
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(10, 19, 34, 0.76);
  color: var(--gold-bright);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}body.ranking-page .control-bar{
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(220px, 0.9fr) minmax(190px, 0.8fr) minmax(220px, 0.9fr);
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 0.9rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}body.ranking-page .segmented{
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}body.ranking-page .team-tab{
  min-height: 40px;
  padding: 0.55rem 0.78rem;
  border: 1px solid rgba(100, 180, 255, 0.14);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015) 24%, rgba(10, 19, 34, 0.88) 100%);
  color: var(--text-muted);
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease;
}body.ranking-page .team-tab:hover,
body.ranking-page .team-tab.active{
  color: var(--text-strong);
  border-color: var(--team-accent, var(--gold));
  background:
    linear-gradient(180deg, var(--team-accent-soft, rgba(245, 196, 93, 0.22)), rgba(10, 19, 34, 0.9) 88%);
  box-shadow: 0 12px 22px rgba(7, 3, 16, 0.2);
  transform: translateY(-1px);
}body.ranking-page .search-wrap input,
body.ranking-page .select-wrap select{
  width: 100%;
  min-height: 48px;
  border-radius: 16px;
  border: 1px solid rgba(100, 180, 255, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.008) 26%, rgba(8, 17, 29, 0.96) 100%);
  color: var(--text);
  /* ≥16px required so iOS Safari does not focus-zoom (stuck zoom after Done) */
  font-size: 17px;
  padding: 0 0.95rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}body.ranking-page .search-wrap input::placeholder{
  color: rgba(220, 207, 170, 0.72);
}body.ranking-page .search-wrap input:focus,
body.ranking-page .select-wrap select:focus{
  outline: none;
  border-color: rgba(140, 210, 255, 0.5);
  box-shadow:
    0 0 0 4px rgba(77, 184, 255, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}body.ranking-page .table-shell{
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid rgba(140, 210, 255, 0.14);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.01) 20%, rgba(8, 17, 29, 0.97) 100%);
  box-shadow:
    0 14px 24px rgba(7, 3, 16, 0.22);
  -webkit-overflow-scrolling: touch;
}body.ranking-page .table-shell::before{
  display: none;
}body.ranking-page .score-table{
  width: 100%;
  max-width: 100%;
  min-width: min(100%, 940px);
  box-sizing: border-box;
  border-collapse: separate;
  border-spacing: 0;
}body.ranking-page .score-table:not(.players){
  min-width: min(100%, 1080px);
}body.ranking-page .score-table.players{
  min-width: min(100%, 1180px);
}body.ranking-page .score-table th,
body.ranking-page .score-table td{
  padding: 0.68rem 0.55rem;
  border-bottom: 1px solid rgba(140, 210, 255, 0.12);
  vertical-align: middle;
}body.ranking-page .score-table th{
  position: sticky;
  top: 0;
  z-index: 2;
  background:
    linear-gradient(180deg, rgba(18, 41, 69, 0.97), rgba(10, 19, 34, 0.98));
  color: var(--gold-bright);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}body.ranking-page .score-table thead th{
  padding: 0.75rem 0.85rem;
}body.ranking-page .score-table td{
  font-size: 0.92rem;
}body.ranking-page .score-table tbody tr{
  border-radius: 0;
  background: rgba(255, 255, 255, 0.02);
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease;
}body.ranking-page .score-table tbody tr:nth-child(even){
  background: rgba(255, 255, 255, 0.035);
}body.ranking-page .score-table tbody tr:hover{
  background: rgba(77, 184, 255, 0.08);
}body.ranking-page .players tbody tr{
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--team-accent, #f5c45d) 46%, rgba(0, 0, 0, 0.78)) 0%, color-mix(in srgb, var(--team-accent, #f5c45d) 40%, rgba(0, 0, 0, 0.8)) 42%, color-mix(in srgb, var(--team-accent, #f5c45d) 28%, rgba(0, 0, 0, 0.82)) 72%, rgba(8, 7, 7, 0.84) 100%);
}body.ranking-page .players tbody tr:nth-child(even){
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--team-accent, #f5c45d) 46%, rgba(0, 0, 0, 0.78)) 0%, color-mix(in srgb, var(--team-accent, #f5c45d) 40%, rgba(0, 0, 0, 0.8)) 42%, color-mix(in srgb, var(--team-accent, #f5c45d) 28%, rgba(0, 0, 0, 0.82)) 72%, rgba(8, 7, 7, 0.84) 100%);
}body.ranking-page .players tbody tr:hover{
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--team-accent, #f5c45d) 58%, rgba(0, 0, 0, 0.74)) 0%, color-mix(in srgb, var(--team-accent, #f5c45d) 46%, rgba(0, 0, 0, 0.78)) 42%, color-mix(in srgb, var(--team-accent, #f5c45d) 34%, rgba(0, 0, 0, 0.8)) 72%, rgba(12, 9, 8, 0.86) 100%);
}body.ranking-page .score-table tbody tr:last-child td{
  border-bottom: 0;
}body.ranking-page .score-table td strong{
  color: var(--text-strong);
}body.ranking-page .col-rank,
body.ranking-page .cell-rank{
  width: 5.1rem;
  min-width: 5.1rem;
  max-width: 5.1rem;
  text-align: center;
}
body.ranking-page .score-table thead th.col-rank{
  padding: 0.75rem 1.05rem 0.75rem 0.55rem;
  vertical-align: middle;
}
body.ranking-page .cell-rank{
  padding-left: 0.35rem;
  padding-right: 0.25rem;
}
body.ranking-page .score-table td.cell-total{
  text-align: right;
  white-space: nowrap;
}
body.ranking-page .score-table th[data-sort="week1"],
body.ranking-page .score-table th[data-sort="week2"],
body.ranking-page .score-table th[data-sort="week1Sum"],
body.ranking-page .score-table th[data-sort="week2Sum"],
body.ranking-page .score-table td.cell-week-1,
body.ranking-page .score-table td.cell-week-2{
  min-width: 6.5rem;
  text-align: right;
  white-space: nowrap;
}
body.ranking-page .score-table th[data-sort="total"]{
  white-space: nowrap;
}
body.ranking-page .score-table:not(.players) th[data-sort="total"]{
  text-align: left;
  overflow: visible;
}
body.ranking-page .score-table:not(.players) th[data-sort="total"],
body.ranking-page .score-table:not(.players) td.cell-total{
  width: 8rem;
  min-width: 8rem;
  max-width: 11rem;
}
body.ranking-page .score-table.players th[data-sort="total"],
body.ranking-page .score-table.players td.cell-total{
  width: 5.25rem;
  min-width: 5rem;
  max-width: 7rem;
}
body.ranking-page .score-table.players th[data-sort="total"]{
  text-align: center;
  padding-left: 0.48rem;
  padding-right: 0.32rem;
}
body.ranking-page .score-table.players td.cell-total{
  padding-left: 0.5rem;
  padding-right: 0.48rem;
}
body.ranking-page .score-table.players .mobile-total-stack{
  justify-content: flex-end;
  align-items: center;
  gap: 0.28rem;
  width: 100%;
  padding-right: 0.12rem;
  box-sizing: border-box;
}
body.ranking-page .score-table.players .mobile-total-value{
  text-align: right;
}
body.ranking-page .score-table:not(.players) td.cell-total .mobile-total-stack{
  justify-content: flex-end;
}body.ranking-page .sort-head{
  cursor: pointer;
  user-select: none;
  transition: color 0.2s ease;
}body.ranking-page .sort-head:hover{
  color: #fff4bc;
}body.ranking-page .sort-head.active::after{
  content: "▲";
  margin-left: 0.22rem;
  font-size: 0.52rem;
  line-height: 1;
  vertical-align: 0.08em;
}body.ranking-page .sort-head.active.desc::after{
  content: "▼";
}body.ranking-page .score-table thead th.sort-head{
  overflow: visible;
}body.ranking-page .score-table thead th.col-rank.sort-head{
  padding-left: 0.52rem;
  padding-right: 1.15rem;
}body.ranking-page .score-table:not(.players) thead th.sort-head[data-sort="total"]{
  padding-left: 0;
  padding-right: 0.95rem;
}body.ranking-page .score-table.players thead th.sort-head[data-sort="total"]{
  text-align: center;
  padding-left: 0.5rem;
  padding-right: 0.28rem;
}body.ranking-page .team-row{
  cursor: pointer;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--team-accent, #f5c45d) 22%, rgba(0, 0, 0, 0.78)) 0%, rgba(18, 14, 12, 0.72) 38%, rgba(8, 7, 7, 0.82) 100%);
}body.ranking-page .team-row td:first-child{
  box-shadow: inset 4px 0 0 var(--team-accent, var(--gold));
}body.ranking-page .team-row.active{
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--team-accent, #f5c45d) 30%, rgba(0, 0, 0, 0.8)) 0%, rgba(24, 18, 14, 0.76) 38%, rgba(10, 8, 8, 0.86) 100%);
}body.ranking-page .podium-1{
  background:
    linear-gradient(90deg, rgba(154, 109, 17, 0.84) 0%, rgba(38, 24, 11, 0.78) 40%, rgba(10, 8, 8, 0.86) 100%);
}body.ranking-page .podium-2{
  background:
    linear-gradient(90deg, rgba(70, 87, 112, 0.82) 0%, rgba(24, 28, 35, 0.76) 40%, rgba(9, 8, 10, 0.86) 100%);
}body.ranking-page .podium-3{
  background:
    linear-gradient(90deg, rgba(112, 66, 36, 0.84) 0%, rgba(35, 21, 14, 0.76) 40%, rgba(10, 8, 8, 0.86) 100%);
}body.ranking-page .rank-badge{
  display: inline-grid;
  place-items: center;
  width: 2.7rem;
  height: 2.7rem;
  margin: 0 auto;
  border-radius: 999px;
  border: 1px solid rgba(140, 210, 255, 0.24);
  background:
    radial-gradient(circle at 30% 22%, rgba(255, 255, 255, 0.32), rgba(30, 80, 140, 0.36) 34%, rgba(8, 18, 32, 0.94) 100%);
  color: var(--text-strong);
  font-family: var(--font-title);
  font-size: 1rem;
  font-weight: 800;
  box-shadow:
    0 12px 18px rgba(7, 3, 16, 0.26),
    inset 0 1px 0 rgba(184, 228, 255, 0.14);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}body.ranking-page .team-row:hover .rank-badge,
body.ranking-page .players tbody tr:hover .rank-badge{
  transform: scale(1.05);
  box-shadow:
    0 14px 20px rgba(7, 3, 16, 0.3),
    0 0 0 4px rgba(77, 184, 255, 0.1),
    inset 0 1px 0 rgba(184, 228, 255, 0.14);
}body.ranking-page .rank-1{
  border-color: rgba(140, 210, 255, 0.68);
  color: #fff4bc;
}body.ranking-page .rank-2{
  border-color: rgba(191, 208, 232, 0.56);
  color: #d8e5f8;
}body.ranking-page .rank-3{
  border-color: rgba(220, 161, 122, 0.56);
  color: #f2c19a;
}body.ranking-page .team-chip,
body.ranking-page .team-inline{
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  flex-wrap: nowrap;
}body.ranking-page .team-name{
  color: var(--text-strong);
  font-weight: 800;
  font-size: 1rem;
  white-space: nowrap;
}body.ranking-page .team-dot,
body.ranking-page .team-swatch{
  width: 0.62rem;
  height: 0.62rem;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--team-accent, var(--gold));
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06);
}body.ranking-page .team-logo,
body.ranking-page .avatar{
  display: inline-block;
  background: transparent;
}body.ranking-page .team-logo{
  width: 92px;
  height: 68px;
  flex-shrink: 0;
  object-fit: contain;
  filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.22));
}body.ranking-page .avatar{
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 2px solid rgba(100, 180, 255, 0.18);
  object-fit: cover;
  box-shadow: 0 12px 22px rgba(7, 3, 16, 0.22);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease;
}body.ranking-page .players tbody tr:hover .avatar{
  transform: translateY(-1px) scale(1.03);
  border-color: rgba(140, 210, 255, 0.4);
}body.ranking-page .team-inline{
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--team-accent, var(--line));
  background:
    linear-gradient(180deg, var(--team-accent-soft, rgba(245, 196, 93, 0.18)), rgba(8, 15, 26, 0.72) 100%);
  white-space: nowrap;
}body.ranking-page .country{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  line-height: 0;
}body.ranking-page .country-flag{
  display: block;
  width: 84px;
  height: 52px;
  border: 1px solid rgba(140, 210, 255, 0.18);
  border-radius: 0;
  clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%);
  object-fit: cover;
  background: #13253c;
  box-shadow: 0 12px 18px rgba(7, 3, 16, 0.18);
}body.ranking-page .players td.country-cell{
  width: 120px;
  min-width: 120px;
}body.ranking-page .score-table:not(.players) td.cell-team{
  width: auto;
  min-width: 10rem;
}body.ranking-page .cell-player{
  min-width: 200px;
}body.ranking-page .player-stack{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.42rem;
  min-width: 0;
}body.ranking-page .player-primary{
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
}body.ranking-page .player-team-dot{
  width: 0.52rem;
  height: 0.52rem;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--team-accent, var(--gold));
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.08);
}body.ranking-page .player-team-inline{
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}body.ranking-page .player-name{
  display: inline-block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 800;
  color: var(--text-strong);
}body.ranking-page .captain-badge{
  display: inline-flex;
  align-items: center;
  margin-left: 0.45rem;
  padding: 0.2rem 0.52rem;
  border-radius: 999px;
  border: 1px solid var(--team-accent, rgba(140, 210, 255, 0.46));
  background: rgba(10, 19, 34, 0.64);
  color: var(--team-accent, var(--gold-bright));
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}body.ranking-page .empty-state{
  padding: 1.5rem;
  text-align: center;
  color: var(--text-muted);
}body.ranking-page .section-battles{
  padding-top: 1.15rem;
}body.ranking-page .battles-section-head{
  margin-bottom: 1rem;
}body.ranking-page .battle-page-note{
  margin: 0.6rem 0 0;
  max-width: none;
}body.ranking-page .battles-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}body.ranking-page .battle-panel{
  position: relative;
  overflow: hidden;
  padding: 1.2rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(140, 210, 255, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.01) 22%, rgba(8, 17, 29, 0.97) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 30px rgba(7, 3, 16, 0.3);
}body.ranking-page .battle-panel::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 0, rgba(168, 220, 255, 0.1), transparent 22%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.05), transparent 22%);
  pointer-events: none;
}body.ranking-page .battle-panel-title{
  font-size: clamp(1.3rem, 2.6vw, 1.8rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gold-bright);
}body.ranking-page .battle-panel-lede{
  margin: 0.5rem 0 0.9rem;
  max-width: none;
  line-height: 1.6;
}body.ranking-page .battle-status-line,
body.ranking-page .events-pts-teaser{
  max-width: none;
}body.ranking-page .battle-mount{
  display: flex;
  flex-direction: column;
  gap: 1rem;
}body.ranking-page .battle-phase,
body.ranking-page .battle-subhead{
  margin: 0;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-bright);
}body.ranking-page .battle-subhead{
  margin-bottom: 0.65rem;
}body.ranking-page .battle-tabs{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0.75rem;
  margin: 0 0 1rem;
}body.ranking-page .battle-tab-btn{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  width: 100%;
  min-height: 84px;
  padding: 0.75rem;
  border: 1px solid rgba(140, 210, 255, 0.16);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.01) 24%, rgba(8, 17, 29, 0.95) 100%);
  color: var(--text-muted);
  text-align: center;
  cursor: pointer;
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    color 0.18s ease;
}body.ranking-page .battle-tab-btn:not(.locked):hover{
  transform: translateY(-1px);
  border-color: rgba(140, 210, 255, 0.38);
  color: var(--text-strong);
  box-shadow: 0 14px 22px rgba(7, 3, 16, 0.2);
}body.ranking-page .battle-tab-btn.active{
  color: #341904;
  border-color: rgba(168, 220, 255, 0.88);
  background: linear-gradient(180deg, #ffffff 0%, #e4ecf4 52%, #b8c8d8 100%);
  box-shadow:
    0 18px 26px rgba(92, 45, 7, 0.28),
    inset 0 1px 0 rgba(220, 240, 255, 0.68);
}body.ranking-page .battle-tab-btn.active .battle-tab-label,
body.ranking-page .battle-tab-btn.active .battle-tab-pill,
body.ranking-page .battle-tab-btn.active .battle-tab-unlock,
body.ranking-page .battle-tab-btn.active .battle-tab-pill-live,
body.ranking-page .battle-tab-btn.active .battle-tab-pill-active,
body.ranking-page .battle-tab-btn.active .battle-tab-pill-done{
  color: #341904;
}body.ranking-page .battle-tab-btn.locked{
  opacity: 0.64;
  cursor: not-allowed;
}body.ranking-page .battle-tab-label{
  display: block;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: inherit;
}body.ranking-page .battle-tab-pill,
body.ranking-page .battle-tab-unlock{
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
}body.ranking-page .battle-tab-pill-live,
body.ranking-page .battle-tab-pill-active{
  color: var(--text-strong);
}body.ranking-page .battle-tab-pill-done{
  color: var(--text-muted);
}body.ranking-page .battle-timer{
  margin: 0.35rem 0 0.8rem;
  padding: 0.7rem 0.85rem;
  border-radius: 16px;
  border: 1px solid rgba(140, 210, 255, 0.16);
  background: rgba(6, 13, 23, 0.72);
  font-size: 0.95rem;
}body.ranking-page .battle-timer strong{
  color: var(--text-strong);
}body.ranking-page .pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.28rem 0.56rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}body.ranking-page .pill-live,
body.ranking-page .pill-active{
  color: #341904;
  background: linear-gradient(180deg, #ffffff 0%, #e4ecf4 52%, #b8c8d8 100%);
  border-color: rgba(168, 220, 255, 0.88);
}body.ranking-page .pill-soon{
  color: #d7ebff;
  background: rgba(76, 150, 219, 0.22);
  border-color: rgba(76, 150, 219, 0.4);
}body.ranking-page .pill-complete{
  color: var(--gold-bright);
  background: rgba(140, 210, 255, 0.12);
  border-color: rgba(140, 210, 255, 0.28);
}body.ranking-page .pill-locked{
  color: var(--text-muted);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
}body.ranking-page .arena-locked{
  opacity: 0.76;
}body.ranking-page .locked-overlay{
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border-radius: inherit;
  background: rgba(7, 4, 14, 0.74);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}body.ranking-page .locked-overlay-icon{
  font-size: 1.4rem;
  line-height: 1;
}body.ranking-page .locked-overlay-label{
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
}body.ranking-page .locked-overlay-timer{
  font-size: 1rem;
  font-weight: 900;
  color: var(--gold-bright);
  font-variant-numeric: tabular-nums;
}body.ranking-page .arena-week-block{
  padding: 1rem;
  border: 1px solid rgba(140, 210, 255, 0.16);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.015) 22%, rgba(8, 15, 26, 0.72) 100%);
}body.ranking-page .arena-week-live{
  border-color: rgba(140, 210, 255, 0.3);
  box-shadow: inset 0 0 0 1px rgba(100, 180, 255, 0.08);
}body.ranking-page .arena-week-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}body.ranking-page .arena-week-title{
  font-size: 1.1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gold-bright);
}body.ranking-page .arena-week-table{
  width: 100%;
  border-collapse: collapse;
}body.ranking-page .arena-week-table th,
body.ranking-page .arena-week-table td{
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(140, 210, 255, 0.1);
  vertical-align: middle;
}body.ranking-page .arena-week-table tr:last-child td{
  border-bottom: 0;
}body.ranking-page .arena-week-table th{
  text-align: left;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
}body.ranking-page .arena-week-table th.arena-pts-head{
  text-align: right;
}body.ranking-page .arena-pts{
  text-align: right;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  color: var(--gold-bright);
}body.ranking-page .arena-battle-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 1rem;
  margin-top: 0.2rem;
}body.ranking-page .arena-battle-card,
body.ranking-page .match-card{
  position: relative;
  overflow: hidden;
  min-height: 180px;
  padding: 1rem 1.05rem 1.1rem;
  border-radius: 22px;
  border: 1px solid rgba(140, 210, 255, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.015) 22%, rgba(10, 19, 34, 0.94) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 18px 32px rgba(7, 3, 16, 0.24);
}body.ranking-page .arena-battle-card::before,
body.ranking-page .match-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 0, rgba(168, 220, 255, 0.08), transparent 24%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.05), transparent 22%);
  pointer-events: none;
}body.ranking-page .arena-battle-card:hover,
body.ranking-page .matchup-card:hover{
  transform: translateY(-2px);
}body.ranking-page .match-card-live,
body.ranking-page .arena-battle-card.arena-live,
body.ranking-page .arena-battle-card.arena-active{
  border-color: rgba(140, 210, 255, 0.34);
  box-shadow:
    inset 0 0 0 1px rgba(140, 210, 255, 0.08),
    0 22px 34px rgba(7, 3, 16, 0.3);
}body.ranking-page .arena-battle-card-head,
body.ranking-page .match-card-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}body.ranking-page .arena-battle-card-title{
  font-size: 1.1rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--text-strong);
}body.ranking-page .arena-team-row{
  display: grid;
  grid-template-columns: 2rem 56px minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.7rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid rgba(140, 210, 255, 0.09);
}body.ranking-page .arena-team-row:last-child{
  border-bottom: 0;
}body.ranking-page .arena-team-rank{
  font-family: var(--font-title);
  font-size: 1.15rem;
  font-weight: 800;
  text-align: center;
  color: var(--text-strong);
}body.ranking-page .arena-team-logo{
  width: 56px;
  height: 40px;
  object-fit: contain;
}body.ranking-page .arena-team-info{
  min-width: 0;
}body.ranking-page .arena-team-name-text{
  display: block;
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--text-strong);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}body.ranking-page .arena-team-pts{
  font-size: 1.15rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  color: var(--gold-bright);
  white-space: nowrap;
}body.ranking-page .arena-bracket-board{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.9rem;
  margin-top: 0.2rem;
}body.ranking-page .arena-bracket-stage{
  display: grid;
  gap: 0.85rem;
}body.ranking-page .arena-bracket-stage-divider{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  margin: 0.1rem 0 0.15rem;
}body.ranking-page .arena-bracket-stage-line{
  flex: 1 1 auto;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(100, 180, 255, 0.52), transparent);
}body.ranking-page .arena-bracket-stage-arrow{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border: 1px solid rgba(140, 210, 255, 0.32);
  background: linear-gradient(180deg, rgba(140, 210, 255, 0.18), rgba(77, 184, 255, 0.08));
  color: var(--gold-bright);
  font-size: 1.1rem;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(184, 228, 255, 0.14);
}body.ranking-page .arena-bracket-match{
  border-radius: 12px;
  border: 1px solid rgba(140, 210, 255, 0.16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(10, 19, 34, 0.82));
  padding: 0.95rem 1rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}body.ranking-page .arena-bracket-match-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.7rem;
  margin-bottom: 0.7rem;
}body.ranking-page .arena-bracket-team-stack{
  min-width: 0;
}body.ranking-page .arena-bracket-team-pair{
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  font-size: 1rem;
  line-height: 1.3;
}body.ranking-page .arena-bracket-team-name{
  color: var(--text-soft);
  font-weight: 800;
}body.ranking-page .arena-bracket-team-name.is-winner{
  color: var(--gold-bright);
}body.ranking-page .arena-bracket-vs{
  color: var(--text-muted);
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  align-self: center;
}body.ranking-page .arena-bracket-winner-line{
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.3rem;
  color: var(--text-strong);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}body.ranking-page .arena-bracket-win-arrow{
  color: var(--gold-bright);
  font-size: 0.92rem;
  line-height: 1;
}body.ranking-page .arena-bracket-final-banner{
  flex: 0 0 auto;
  display: grid;
  justify-items: end;
  gap: 0.18rem;
  min-width: 94px;
  padding: 0.46rem 0.72rem 0.5rem;
  border-radius: 16px;
  border: 1px solid rgba(140, 210, 255, 0.26);
  background:
    linear-gradient(180deg, rgba(140, 210, 255, 0.18), rgba(77, 184, 255, 0.08)),
    linear-gradient(180deg, rgba(18, 15, 14, 0.72), rgba(18, 15, 14, 0.9));
  box-shadow:
    inset 0 1px 0 rgba(184, 228, 255, 0.14),
    0 10px 20px rgba(0, 0, 0, 0.16);
}body.ranking-page .arena-bracket-final-label{
  color: var(--gold-muted);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}body.ranking-page .arena-bracket-final-score{
  color: var(--gold-bright);
  font-size: 1.7rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.02em;
}body.ranking-page .arena-bracket-results{
  display: grid;
  gap: 0.46rem;
  margin: 0;
  padding: 0;
  list-style: none;
}body.ranking-page .arena-bracket-result-item{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  min-height: 44px;
  padding: 0.5rem 0.72rem;
  border-radius: 11px;
  border: 1px solid rgba(140, 210, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.82rem;
  line-height: 1.35;
  overflow: hidden;
  position: relative;
}body.ranking-page .arena-bracket-result-item.winner-side-a{
  background:
    linear-gradient(90deg, var(--arena-winner-color-strong), var(--arena-winner-color) 36%, rgba(255, 255, 255, 0.03) 72%);
}body.ranking-page .arena-bracket-result-item.winner-side-b{
  background:
    linear-gradient(270deg, var(--arena-winner-color-strong), var(--arena-winner-color) 36%, rgba(255, 255, 255, 0.03) 72%);
}body.ranking-page .arena-bracket-player{
  min-width: 0;
  color: var(--text-soft);
  font-size: 0.86rem;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}body.ranking-page .arena-bracket-player-a{
  text-align: left;
}body.ranking-page .arena-bracket-player-b{
  text-align: right;
}body.ranking-page .arena-bracket-player.is-winner{
  color: var(--text-strong);
  font-weight: 900;
}body.ranking-page .arena-bracket-result-center{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  text-align: center;
}body.ranking-page .arena-bracket-result-label{
  color: var(--gold-bright);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}body.ranking-page .arena-bracket-stage-title{
  display: block;
  margin-bottom: 0.6rem;
  color: var(--gold-bright);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}body.ranking-page .arena-bracket-next-team{
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--text-strong);
  font-size: 0.9rem;
  font-weight: 800;
}body.ranking-page .arena-bracket-next-team + .arena-bracket-next-team{
  margin-top: 0.45rem;
}body.ranking-page .arena-bracket-pending-pill{
  display: inline-flex;
  margin-top: 0.65rem;
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}body.ranking-page .battle-team{
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  border: 1px solid var(--team-accent, var(--line));
  background:
    linear-gradient(180deg, var(--team-accent-soft, rgba(255, 255, 255, 0.08)), rgba(8, 15, 26, 0.76) 100%);
  color: var(--text);
}body.ranking-page .battle-team-logo{
  width: 48px;
  height: 34px;
  object-fit: contain;
  flex-shrink: 0;
}body.ranking-page .battle-team-name{
  min-width: 0;
  font-size: 0.85rem;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}body.ranking-page .clash-members-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}body.ranking-page .clash-member-card{
  padding: 1rem;
  border-radius: 20px;
  border: 1px solid rgba(140, 210, 255, 0.16);
  background:
    linear-gradient(180deg, var(--team-accent-soft, rgba(245, 196, 93, 0.14)), rgba(10, 19, 34, 0.94) 48%, rgba(8, 15, 26, 0.98) 100%);
}body.ranking-page .clash-member-header{
  display: flex;
  align-items: flex-end;
  gap: 0.55rem;
}body.ranking-page .clash-member-count{
  font-size: 2rem;
  line-height: 1;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  color: var(--text-strong);
}body.ranking-page .clash-member-sublabel{
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
}body.ranking-page .clash-member-team{
  display: block;
  margin-top: 0.45rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold-bright);
}body.ranking-page .clash-player-list{
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
}body.ranking-page .clash-player-list li{
  padding: 0.35rem 0.72rem;
  border-radius: 999px;
  border: 1px solid rgba(140, 210, 255, 0.16);
  background: rgba(255, 255, 255, 0.06);
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 700;
}body.ranking-page .clash-bracket{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  overflow-x: auto;
  padding-bottom: 0.35rem;
}body.ranking-page .bracket-node{
  min-width: 200px;
  padding: 0.85rem 1rem;
  border-radius: 20px;
  border: 1px solid rgba(140, 210, 255, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.015) 22%, rgba(10, 19, 34, 0.92) 100%);
}body.ranking-page .bracket-node.active{
  border-color: rgba(140, 210, 255, 0.46);
  box-shadow: 0 18px 28px rgba(7, 3, 16, 0.24);
}body.ranking-page .bracket-node.locked{
  opacity: 0.6;
}body.ranking-page .bracket-round-label{
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
}body.ranking-page .bracket-round-title{
  display: block;
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--text-strong);
}body.ranking-page .bracket-round-status{
  display: block;
  margin-top: 0.2rem;
  font-size: 0.84rem;
  color: var(--gold-bright);
}body.ranking-page .bracket-link{
  width: 48px;
  height: 2px;
  flex-shrink: 0;
  background: linear-gradient(90deg, rgba(140, 210, 255, 0.16), rgba(140, 210, 255, 0.52), rgba(140, 210, 255, 0.16));
}body.ranking-page .matchup-card{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  border-radius: 26px;
  overflow: hidden;
  border: 1px solid rgba(140, 210, 255, 0.18);
  background: rgba(11, 8, 23, 0.74);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 22px 34px rgba(7, 3, 16, 0.24);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}body.ranking-page .matchup-card:hover{
  border-color: rgba(140, 210, 255, 0.34);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 24px 36px rgba(7, 3, 16, 0.28);
}body.ranking-page .mc-side{
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.38rem;
  min-width: 0;
  padding: 1.35rem 1.5rem;
}body.ranking-page .mc-side::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 26%);
  pointer-events: none;
}body.ranking-page .mc-side-left{
  background: linear-gradient(115deg, var(--mc-color, rgba(16, 38, 64, 0.44)) 0%, rgba(9, 17, 28, 0.98) 70%);
}body.ranking-page .mc-side-right{
  align-items: flex-end;
  text-align: right;
  background: linear-gradient(245deg, var(--mc-color, rgba(16, 38, 64, 0.44)) 0%, rgba(9, 17, 28, 0.98) 70%);
}body.ranking-page .mc-side-dimmed{
  opacity: 0.65;
}body.ranking-page .mc-bg-logo{
  position: absolute;
  top: 50%;
  width: 160px;
  height: 120px;
  object-fit: contain;
  opacity: 0.14;
  transform: translateY(-50%);
  filter: blur(0.6px);
  pointer-events: none;
}body.ranking-page .mc-side-left .mc-bg-logo{
  right: -38px;
}body.ranking-page .mc-side-right .mc-bg-logo{
  left: -38px;
}body.ranking-page .mc-team-name{
  position: relative;
  z-index: 1;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}body.ranking-page .mc-player-name{
  position: relative;
  z-index: 1;
  font-size: clamp(1.15rem, 2.3vw, 1.5rem);
  font-weight: 800;
  line-height: 1.1;
  color: var(--text-strong);
}body.ranking-page .mc-win-badge,
body.ranking-page .mc-elim-badge{
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 0.4rem;
  padding: 0.26rem 0.65rem;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}body.ranking-page .mc-win-badge{
  color: #341904;
  background: linear-gradient(180deg, #ffffff 0%, #e4ecf4 52%, #b8c8d8 100%);
  box-shadow: 0 12px 22px rgba(92, 45, 7, 0.18);
}body.ranking-page .mc-elim-badge{
  color: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(219, 76, 76, 0.42);
  background: rgba(138, 33, 33, 0.42);
}body.ranking-page .mc-side-right .mc-win-badge,
body.ranking-page .mc-side-right .mc-elim-badge{
  align-self: flex-end;
}body.ranking-page .mc-center{
  min-width: 220px;
  padding: 1rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(180deg, rgba(10, 8, 21, 0.96), rgba(28, 14, 47, 0.92));
  border-inline: 1px solid rgba(140, 210, 255, 0.12);
}body.ranking-page .mc-game-row,
body.ranking-page .player-match-game{
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.45rem;
}body.ranking-page .mc-game-logo,
body.ranking-page .battle-game-logo{
  width: 40px;
  height: 40px;
  padding: 4px;
  border-radius: 10px;
  border: 1px solid rgba(140, 210, 255, 0.18);
  background: rgba(255, 255, 255, 0.05);
  object-fit: contain;
}body.ranking-page .mc-game-name{
  font-size: 0.96rem;
  font-weight: 700;
  color: var(--gold-bright);
  text-align: center;
}body.ranking-page .mc-scores{
  display: flex;
  align-items: center;
  gap: 0.7rem;
  font-size: 1.85rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  color: var(--text-strong);
}body.ranking-page .mc-score-win{
  color: var(--gold-bright);
  text-shadow: 0 0 16px rgba(244, 196, 95, 0.32);
}body.ranking-page .mc-score-loss{
  color: rgba(255, 255, 255, 0.45);
}body.ranking-page .mc-vs{
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.42);
}body.ranking-page .mc-date{
  margin-top: 0.45rem;
  font-size: 0.76rem;
  color: var(--text-muted);
}body.ranking-page .events-group{
  display: grid;
  gap: 0.8rem;
}body.ranking-page .events-group + .events-group{
  margin-top: 1rem;
}body.ranking-page .events-results-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 1rem;
}body.ranking-page .events-results-grid-single{
  grid-template-columns: minmax(0, 1fr);
}body.ranking-page .events-results-grid .arena-battle-card{
  min-height: 0;
}body.ranking-page .events-pts-teaser{
  margin: 0;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(140, 210, 255, 0.12);
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--text-muted);
}body.ranking-page .events-placement-table{
  min-width: 100%;
}body.ranking-page .events-placement-table th,
body.ranking-page .events-placement-table td{
  padding: 0.8rem 0.75rem;
}body.ranking-page .events-placement-table tbody tr{
  background:
    linear-gradient(90deg, var(--team-accent-soft, rgba(201, 168, 68, 0.22)) 0%, rgba(8, 18, 32, 0.18) 72%, rgba(8, 18, 32, 0.08) 100%);
}body.ranking-page .event-player-inline{
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  min-width: 0;
}body.ranking-page .event-player-name{
  min-width: 0;
  font-weight: 700;
}body.ranking-page .team-dot-inline{
  display: inline-block;
  width: 0.58rem;
  height: 0.58rem;
  border-radius: 50%;
  vertical-align: middle;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06);
}body.ranking-page .battle-list{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}body.ranking-page .battle-list li{
  padding: 0.65rem 0.75rem;
  border-radius: 16px;
  border: 1px solid rgba(140, 210, 255, 0.12);
  background: rgba(10, 19, 34, 0.62);
}body.ranking-page .battle-result-teams{
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.35rem;
}body.ranking-page .battle-result-score{
  font-weight: 900;
  color: var(--gold-bright);
  font-variant-numeric: tabular-nums;
}body.ranking-page .battle-winner-dot{
  display: inline-block;
  width: 0.45rem;
  height: 0.45rem;
  margin-right: 0.25rem;
  border-radius: 50%;
}body.ranking-page .clash-h2h-grid,
body.ranking-page .match-row,
body.ranking-page .player-match-grid{
  display: grid;
  gap: 0.75rem;
}body.ranking-page .clash-h2h-grid,
body.ranking-page .match-row,
body.ranking-page .player-match-grid{
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
}body.ranking-page .clash-h2h-side,
body.ranking-page .player-match-side{
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}body.ranking-page .clash-h2h-side-end,
body.ranking-page .player-match-side-end{
  align-items: flex-end;
  text-align: right;
}body.ranking-page .clash-h2h-mid{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}body.ranking-page .clash-h2h-scores,
body.ranking-page .match-row-scores,
body.ranking-page .player-match-score{
  font-size: 1.15rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  color: var(--text-strong);
}body.ranking-page .player-match-score{
  color: var(--gold-bright);
}body.ranking-page .clash-h2h-dash,
body.ranking-page .match-vs{
  color: var(--text-muted);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}body.ranking-page .player-match-name{
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-strong);
}body.ranking-page .player-match-date span{
  color: var(--text-strong);
}body.ranking-page .sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}body.ranking-page .footer{
  margin-top: 1.2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 16%),
    linear-gradient(180deg, rgba(10, 19, 34, 0.94), rgba(6, 12, 22, 0.98));
}body.ranking-page .footer-inner{
  display: grid;
  grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr));
  gap: 1rem;
  padding: 1.35rem 0;
}body.ranking-page .footer-col{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}body.ranking-page .footer-inner p{
  margin: 0;
}body.ranking-page .footer-title{
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-bright);
}body.ranking-page .footer-col a{
  text-decoration: none;
  color: var(--text);
  opacity: 0.9;
  transition:
    color 0.18s ease,
    transform 0.18s ease,
    opacity 0.18s ease;
}body.ranking-page .footer-col a:hover{
  color: var(--gold-bright);
  opacity: 1;
  transform: translateX(2px);
}body.ranking-page .footer-legal-copy{
  max-width: 46ch;
  font-size: 0.78rem;
}body.ranking-page:not(.ready) .topbar,
body.ranking-page:not(.ready) .section,
body.ranking-page:not(.ready) .tab-bar-outer{
  opacity: 0;
  transform: translateY(10px);
}body.ranking-page.ready .topbar,
body.ranking-page.ready .section,
body.ranking-page.ready .tab-bar-outer{
  animation: fadeUp 0.62s ease-out both;
}body.ranking-page .view-enter{
  animation: fadeUp 0.3s ease both;
}body.ranking-page.ready .tab-bar-outer{
  animation-delay: 0.05s;
}body.ranking-page.ready .section:nth-of-type(2){
  animation-delay: 0.1s;
}body.ranking-page.ready .section:nth-of-type(3){
  animation-delay: 0.16s;
}

@keyframes fadeUp {from{
    opacity: 0;
    transform: translateY(12px);
  }to{
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes rankingSheenSweep {0%{
    transform: translate3d(-32%, 0, 0);
    opacity: 0;
  }14%{
    opacity: 0.42;
  }50%{
    opacity: 0.55;
  }86%{
    opacity: 0.32;
  }100%{
    transform: translate3d(32%, 0, 0);
    opacity: 0;
  }
}

@keyframes emberDrift {0%{
    transform: translate3d(0, 0, 0) scale(1);
  }100%{
    transform: translate3d(0.8%, -1.2%, 0) scale(1.02);
  }
}

@keyframes glowPulse {0%,
  100%{
    filter: drop-shadow(0 0 0 rgba(100, 180, 255, 0));
  }50%{
    filter: drop-shadow(0 0 10px rgba(100, 180, 255, 0.14));
  }
}

@media (max-width: 980px) {body.ranking-page .page-view-tab{
    min-height: 54px;
    white-space: normal;
  }body.ranking-page .control-bar{
    grid-template-columns: 1fr;
  }body.ranking-page .panel-rules-grid{
    grid-template-columns: 1fr;
    gap: 0.95rem;
  }body.ranking-page .panel-rules .plain-list{
    padding-bottom: 0.75rem;
  }body.ranking-page .section-head,
body.ranking-page .arena-week-head{
    align-items: flex-start;
    flex-direction: column;
  }body.ranking-page .country-flag{
    width: 78px;
    height: 48px;
  }body.ranking-page .team-chip{
    gap: 0.6rem;
  }body.ranking-page .team-logo{
    width: 76px;
    height: 56px;
  }body.ranking-page .avatar{
    width: 54px;
    height: 54px;
  }body.ranking-page #playerSection > .container{
    padding-top: 1rem;
  }body.ranking-page #playerSection .section-head{
    margin-top: 0.14rem;
    margin-bottom: 0.82rem;
    gap: 0.45rem;
  }body.ranking-page #playerSection .section-head h2{
    line-height: 1.12;
    padding-top: 0.08rem;
  }body.ranking-page .arena-bracket-board{
    grid-template-columns: 1fr;
    gap: 0.9rem;
  }body.ranking-page .arena-bracket-stage-divider{
    gap: 0.55rem;
  }body.ranking-page .arena-bracket-match{
    padding: 0.75rem 0.8rem;
  }body.ranking-page .arena-bracket-match-head{
    align-items: stretch;
    flex-direction: column;
  }body.ranking-page .arena-bracket-final-banner{
    justify-items: start;
    width: fit-content;
  }body.ranking-page .arena-bracket-result-item{
    grid-template-columns: minmax(0, 1fr);
    gap: 0.28rem;
    justify-items: start;
    font-size: 0.79rem;
  }body.ranking-page .arena-bracket-result-center{
    min-width: 0;
    justify-content: flex-start;
  }body.ranking-page .arena-bracket-result-label{
    letter-spacing: 0.08em;
  }body.ranking-page .arena-bracket-player-b{
    text-align: left;
  }body.ranking-page .clash-members-grid,
body.ranking-page .footer-inner{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }body.ranking-page .matchup-card,
body.ranking-page .clash-h2h-grid,
body.ranking-page .player-match-grid,
body.ranking-page .match-row{
    grid-template-columns: 1fr;
  }body.ranking-page .mc-side-right,
body.ranking-page .clash-h2h-side-end,
body.ranking-page .player-match-side-end{
    align-items: flex-start;
    text-align: left;
  }body.ranking-page .mc-side-right{
    order: 3;
    background: linear-gradient(115deg, var(--mc-color, rgba(16, 38, 64, 0.44)) 0%, rgba(9, 17, 28, 0.98) 70%);
  }body.ranking-page .mc-side-right .mc-bg-logo{
    right: -38px;
    left: auto;
  }body.ranking-page .mc-center{
    min-width: 0;
    width: 100%;
    order: 2;
    border-inline: 0;
    border-top: 1px solid rgba(140, 210, 255, 0.12);
    border-bottom: 1px solid rgba(140, 210, 255, 0.12);
  }
}

@media (max-width: 920px) {
  body.ranking-page .page-view-tabs{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.ranking-page .page-view-tab{
    flex: none;
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 760px) {body.ranking-page .container{
    width: min(1280px, calc(100% - 1rem));
  }body.ranking-page main{
    padding-top: 0.45rem;
  }body.ranking-page .topbar-inner{
    flex-direction: column;
    align-items: stretch;
  }body.ranking-page .brand{
    justify-content: center;
  }body.ranking-page .brand-lockup{
    align-items: center;
    text-align: center;
  }body.ranking-page .topbar-nav{
    width: 100%;
    justify-content: center;
  }body.ranking-page .back-link{
    flex: 1 1 220px;
  }body.ranking-page .hero-head{
    flex-direction: column;
    align-items: stretch;
  }body.ranking-page .lang-switch{
    align-self: flex-start;
  }body.ranking-page #hero-title{
    font-size: clamp(1.35rem, 5.6vw, 1.95rem);
  }body.ranking-page .hero-subcopy{
    max-width: none;
  }body.ranking-page .countdown-label{
    font-size: 1.15rem;
  }body.ranking-page .countdown-digits{
    gap: 0.28rem;
  }body.ranking-page .cd-chunk{
    gap: 0.34rem;
  }body.ranking-page .battle-tabs,
body.ranking-page .arena-battle-grid{
    grid-template-columns: 1fr;
  }body.ranking-page .events-results-grid{
    grid-template-columns: 1fr;
  }body.ranking-page .clash-members-grid{
    grid-template-columns: 1fr;
  }body.ranking-page .footer-inner{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {html.ranking-page{
    scroll-padding-top: 1rem;
  }body.ranking-page main{
    padding-top: 0.55rem;
  }body.ranking-page .tab-bar-outer{
    top: 0.35rem;
  }body.ranking-page .tab-bar-outer .container{
    border-radius: 28px;
  }body.ranking-page .page-view-tab{
    flex-basis: calc(50% - 0.2rem);
    min-height: 52px;
    font-size: 0.76rem;
  }body.ranking-page .status-inline{
    width: 100%;
  }body.ranking-page .team-label{
    width: auto;
    max-width: 100%;
    align-self: flex-start;
  }body.ranking-page .arena-team-row{
    grid-template-columns: 1.8rem 48px minmax(0, 1fr) auto;
  }body.ranking-page .table-shell{
    margin-inline: -0.12rem;
  }body.ranking-page #playerBoardHint:not(:empty){
    margin-bottom: 0.95rem;
  }body.ranking-page .score-table{
    min-width: min(100%, 740px);
    max-width: 100%;
  }body.ranking-page .score-table th{
    font-size: 0.64rem;
    letter-spacing: 0.11em;
  }body.ranking-page .score-table th,
body.ranking-page .score-table td{
    padding: 0.62rem 0.48rem;
  }body.ranking-page .score-table td{
    font-size: 0.78rem;
  }body.ranking-page .col-rank{
    width: 72px;
  }body.ranking-page .rank-badge{
    width: 2rem;
    height: 2rem;
    font-size: 0.82rem;
  }body.ranking-page .team-inline{
    gap: 0.42rem;
    padding: 0.24rem 0.42rem;
    font-size: 0.7rem;
  }body.ranking-page .cell-player{
    min-width: 164px;
  }body.ranking-page .score-table:not(.players) td.cell-team{
    width: 260px;
    min-width: 260px;
  }body.ranking-page .events-placement-table td.cell-player{
    min-width: 0;
  }body.ranking-page .events-placement-table td.cell-total,
  body.ranking-page .events-placement-table th:last-child{
    width: 5.6rem;
    min-width: 5.6rem;
    max-width: 5.6rem;
    text-align: center;
  }body.ranking-page .team-name{
    font-size: 0.82rem;
    font-weight: 700;
  }body.ranking-page .team-chip{
    gap: 0.45rem;
  }body.ranking-page .team-logo{
    width: 58px;
    height: 42px;
  }body.ranking-page .country{
    min-height: 56px;
  }body.ranking-page .country-flag{
    width: 58px;
    height: 36px;
  }body.ranking-page .players td.country-cell{
    width: 74px;
    min-width: 74px;
  }body.ranking-page .avatar{
    width: 40px;
    height: 40px;
  }body.ranking-page .captain-badge{
    margin-left: 0.32rem;
    padding: 0.14rem 0.34rem;
    font-size: 0.55rem;
  }
}

@media (max-width: 520px) {body.ranking-page .brand-title{
    font-size: 0.92rem;
  }body.ranking-page .brand-kicker{
    font-size: 0.62rem;
  }body.ranking-page .hero-stage,
body.ranking-page .leaderboard-section > .container,
body.ranking-page .battles-wrap,
body.ranking-page .footer-inner{
    border-radius: 24px;
  }body.ranking-page .panel,
body.ranking-page .battle-panel,
body.ranking-page .arena-battle-card,
body.ranking-page .arena-week-block,
body.ranking-page .score-table tbody tr{
    border-radius: 18px;
  }body.ranking-page .team-logo{
    width: 68px;
    height: 50px;
  }body.ranking-page .avatar{
    width: 46px;
    height: 46px;
  }body.ranking-page .table-shell{
    margin-inline: -0.2rem;
  }body.ranking-page .score-table{
    min-width: min(100%, 660px);
    max-width: 100%;
  }body.ranking-page .score-table th{
    font-size: 0.58rem;
    letter-spacing: 0.09em;
  }body.ranking-page .score-table th,
body.ranking-page .score-table td{
    padding: 0.54rem 0.4rem;
  }body.ranking-page .score-table td{
    font-size: 0.74rem;
  }body.ranking-page .col-rank{
    width: 60px;
  }body.ranking-page .rank-badge{
    width: 1.8rem;
    height: 1.8rem;
    font-size: 0.74rem;
  }body.ranking-page .team-inline{
    gap: 0.34rem;
    padding: 0.18rem 0.34rem;
    font-size: 0.64rem;
  }body.ranking-page .cell-player{
    min-width: 148px;
  }body.ranking-page .score-table:not(.players) td.cell-team{
    width: 236px;
    min-width: 236px;
  }body.ranking-page .team-chip{
    gap: 0.38rem;
  }body.ranking-page .team-name{
    font-size: 0.76rem;
    font-weight: 700;
  }body.ranking-page .team-swatch{
    width: 0.48rem;
    height: 0.48rem;
  }body.ranking-page .country{
    min-height: 50px;
  }body.ranking-page .country-flag{
    width: 50px;
    height: 30px;
  }body.ranking-page .players td.country-cell{
    width: 64px;
    min-width: 64px;
  }body.ranking-page .avatar{
    width: 36px;
    height: 36px;
  }body.ranking-page .player-name{
    font-size: 0.82rem;
  }body.ranking-page .countdown-label{
    font-size: 0.9rem;
    letter-spacing: 0.08em;
  }body.ranking-page .cd-value{
    font-size: 1.55rem;
  }body.ranking-page .cd-unit{
    font-size: 0.82rem;
  }body.ranking-page .cd-colon{
    font-size: 1.4rem;
    margin: 0 0.12rem;
  }body.ranking-page .panel-rules .plain-list li{
    font-size: 0.91rem;
  }
}

@media (max-width: 420px) {body.ranking-page .page-view-tab{
    flex-basis: 100%;
  }body.ranking-page .score-table{
    min-width: min(100%, 610px);
    max-width: 100%;
  }body.ranking-page .score-table th{
    font-size: 0.55rem;
    letter-spacing: 0.07em;
  }body.ranking-page .score-table th,
body.ranking-page .score-table td{
    padding: 0.56rem 0.4rem;
  }body.ranking-page .score-table td{
    font-size: 0.74rem;
  }body.ranking-page .col-rank{
    width: 54px;
  }body.ranking-page .rank-badge{
    width: 1.62rem;
    height: 1.62rem;
    font-size: 0.68rem;
  }body.ranking-page .team-inline{
    font-size: 0.6rem;
  }body.ranking-page .cell-player{
    min-width: 136px;
  }body.ranking-page .score-table:not(.players) td.cell-team{
    width: 238px;
    min-width: 238px;
  }body.ranking-page .country-flag{
    width: 44px;
    height: 28px;
  }body.ranking-page .players td.country-cell{
    width: 56px;
    min-width: 56px;
  }body.ranking-page .avatar{
    width: 32px;
    height: 32px;
  }
}

@media (prefers-reduced-motion: reduce) {body.ranking-page *,
body.ranking-page *::before,
body.ranking-page *::after{
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }body.ranking-page:not(.ready) .topbar,
body.ranking-page:not(.ready) .section,
body.ranking-page:not(.ready) .tab-bar-outer,
body.ranking-page.ready .topbar,
body.ranking-page.ready .section,
body.ranking-page.ready .tab-bar-outer{
    opacity: 1;
    transform: none;
  }
}html.ranking-page{
  --bg: #160d1c;
  --bg-deep: #0c080e;
  --panel: rgba(32, 12, 36, 0.42);
  --panel-strong: rgba(26, 10, 34, 0.62);
  --panel-soft: rgba(38, 14, 42, 0.28);
  --panel-glow: rgba(170, 55, 85, 0.15);
  --line: rgba(165, 105, 125, 0.28);
  --line-strong: rgba(195, 165, 175, 0.44);
  --ember-soft: rgba(165, 58, 92, 0.18);
  --navy: #1a1038;
  --navy-soft: rgba(28, 14, 52, 0.42);
  --surface: rgba(8, 18, 32, 0.32);
  --surface-2: rgba(10, 22, 40, 0.42);
  --radius-xl: 10px;
  --radius-lg: 8px;
  --radius-md: 6px;
  --radius-pill: 7px;
  --shadow-xl: 0 18px 48px rgba(4, 10, 24, 0.36);
  --shadow-lg: 0 12px 30px rgba(4, 10, 24, 0.28);
  --shadow-md: 0 8px 18px rgba(4, 10, 24, 0.22);
}body.ranking-page::before{
  background:
    radial-gradient(ellipse 44% 58% at 50% 0%, rgba(175, 55, 90, 0.32), transparent 72%),
    radial-gradient(ellipse 40% 52% at 50% 100%, rgba(35, 115, 255, 0.48), transparent 70%),
    radial-gradient(ellipse 36% 48% at 0% 50%, rgba(160, 50, 82, 0.28), transparent 74%),
    radial-gradient(ellipse 36% 48% at 100% 50%, rgba(45, 145, 255, 0.4), transparent 74%),
    linear-gradient(135deg, rgba(165, 48, 85, 0.24) 0%, transparent 36%, transparent 64%, rgba(40, 120, 255, 0.34) 100%),
    linear-gradient(45deg, rgba(155, 52, 88, 0.2) 0%, transparent 40%, transparent 60%, rgba(55, 160, 255, 0.28) 100%),
    linear-gradient(
      180deg,
      rgba(52, 14, 42, 0.52) 0%,
      rgba(22, 42, 98, 0.42) 46%,
      rgba(10, 6, 22, 0.94) 100%
    ),
    url("assets/bg.jpeg") center top / cover no-repeat;
  background-blend-mode: screen, screen, screen, screen, screen, screen, normal, soft-light;
  filter: saturate(1.02) contrast(1.06) brightness(0.7);
}body.ranking-page::after{
  background:
    radial-gradient(circle at 50% 50%, rgba(150, 58, 95, 0.16), transparent 38%),
    linear-gradient(90deg, transparent 38%, rgba(160, 55, 90, 0.12) 50%, transparent 62%),
    linear-gradient(180deg, transparent 38%, rgba(50, 150, 255, 0.16) 50%, transparent 62%),
    linear-gradient(180deg, rgba(12, 4, 24, 0.1), rgba(6, 4, 14, 0.52));
}body.ranking-page main{
  padding-bottom: 1.5rem;
}body.ranking-page .container{
  width: min(1280px, calc(100% - 1.25rem));
}body.ranking-page .topbar{
  border-bottom: 1px solid rgba(100, 180, 255, 0.14);
  background: rgba(8, 16, 32, 0.36);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 12px 24px rgba(4, 10, 24, 0.14);
}body.ranking-page .topbar-inner{
  gap: 0.5rem;
  padding: 0.26rem 0;
  flex-wrap: nowrap;
}body.ranking-page .brand{
  gap: 0.5rem;
}body.ranking-page .brand-logo{
  width: clamp(80px, 9vw, 110px);
  height: auto;
  filter: drop-shadow(0 8px 16px rgba(5, 3, 9, 0.28));
}body.ranking-page .brand-lockup{
  display: none;
}body.ranking-page .topbar-nav{
  gap: 0.5rem;
  margin-left: auto;
  align-items: center;
  flex-wrap: nowrap;
}body.ranking-page .back-link,
body.ranking-page .rules-nav-link,
body.ranking-page .lang-switch,
body.ranking-page .lang-btn,
body.ranking-page .competition-countdown,
body.ranking-page .panel-rules .rules-block,
body.ranking-page .page-view-tab,
body.ranking-page .status-inline,
body.ranking-page .team-label,
body.ranking-page .team-tab,
body.ranking-page .search-wrap input,
body.ranking-page .select-wrap select,
body.ranking-page .table-shell,
body.ranking-page .battle-panel,
body.ranking-page .battle-tab-btn,
body.ranking-page .battle-timer,
body.ranking-page .pill,
body.ranking-page .arena-week-block,
body.ranking-page .arena-battle-card,
body.ranking-page .match-card,
body.ranking-page .battle-team,
body.ranking-page .clash-member-card,
body.ranking-page .clash-player-list li,
body.ranking-page .bracket-node,
body.ranking-page .battle-list li,
body.ranking-page .captain-badge,
body.ranking-page .team-inline{
  border-radius: var(--radius-pill);
}body.ranking-page .back-link{
  min-height: 32px;
  padding: 0.45rem 0.75rem;
  border-color: rgba(100, 180, 255, 0.16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.014) 24%, rgba(10, 22, 40, 0.42) 100%);
  font-size: 0.71rem;
  letter-spacing: 0.08em;
}body.ranking-page .rules-nav-link{
  background:
    linear-gradient(180deg, rgba(184, 220, 255, 0.22), rgba(160, 210, 255, 0.06) 46%, rgba(100, 180, 255, 0.14) 100%),
    rgba(12, 40, 72, 0.72) !important;
}body.ranking-page .section{
  padding-top: 0.75rem;
}body.ranking-page .section-top{
  padding-top: 0.85rem;
}body.ranking-page .hero-stage,
body.ranking-page .leaderboard-section > .container,
body.ranking-page .battles-wrap,
body.ranking-page .tab-bar-outer .container,
body.ranking-page .footer-inner{
  border-radius: var(--radius-xl);
  border-color: rgba(100, 180, 255, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.018) 12%),
    linear-gradient(135deg, rgba(100, 180, 255, 0.12), rgba(12, 32, 58, 0.14) 44%, rgba(8, 18, 32, 0.3) 100%);
  backdrop-filter: blur(10px) saturate(125%);
  -webkit-backdrop-filter: blur(10px) saturate(125%);
  box-shadow: var(--shadow-lg);
}body.ranking-page .hero-stage::before,
body.ranking-page .leaderboard-section > .container::before,
body.ranking-page .battles-wrap::before{
  opacity: 0.45;
}body.ranking-page .hero-stage,
body.ranking-page .leaderboard-section > .container,
body.ranking-page .battles-wrap{
  padding: clamp(0.85rem, 1.4vw, 1.1rem);
}body.ranking-page .hero-head{
  gap: 0.95rem;
  margin-bottom: 0.8rem;
}body.ranking-page #hero-title,
body.ranking-page .section-head h2,
body.ranking-page .battles-section-title{
  letter-spacing: 0.04em;
  line-height: 1.02;
}body.ranking-page #hero-title{
  font-size: clamp(1.1rem, 2vw, 1.65rem);
}body.ranking-page .hero-subcopy,
body.ranking-page .subcopy,
body.ranking-page .battle-page-note,
body.ranking-page .battle-panel-lede,
body.ranking-page .battle-status-line,
body.ranking-page .events-pts-teaser,
body.ranking-page .match-meta,
body.ranking-page .player-match-date,
body.ranking-page .footer-text{
  line-height: 1.5;
}body.ranking-page .hero-subcopy{
  margin-top: 0.55rem;
  font-size: clamp(1.12rem, 0.65vw + 0.95rem, 1.32rem);
}body.ranking-page .edition-banner-title{
  font-size: clamp(1rem, 4.2vw, 1.22rem);
}body.ranking-page .edition-banner-dates{
  font-size: clamp(0.98rem, 3.6vw, 1.08rem);
}body.ranking-page .lang-switch,
body.ranking-page .page-view-tab,
body.ranking-page .team-tab,
body.ranking-page .battle-tab-btn,
body.ranking-page .pill,
body.ranking-page .team-inline,
body.ranking-page .captain-badge,
body.ranking-page .status-inline,
body.ranking-page .team-label{
  border-radius: var(--radius-pill);
}body.ranking-page .lang-switch{
  padding: 0.22rem;
  border-color: rgba(100, 180, 255, 0.16);
  background: rgba(10, 9, 8, 0.34);
}body.ranking-page .lang-btn{
  min-width: 2.85rem;
  min-height: 2.15rem;
  padding: 0.4rem 0.72rem;
  font-size: 0.72rem;
}body.ranking-page .hero-meta-grid,
body.ranking-page .quick-grid{
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}body.ranking-page .competition-countdown{
  padding: 0.7rem 0.9rem 0.78rem;
  border-color: rgba(100, 180, 255, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.014) 20%, rgba(10, 22, 40, 0.34) 100%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: var(--shadow-md);
}body.ranking-page .countdown-label{
  margin-bottom: 0.32rem;
  font-size: clamp(0.98rem, 0.7vw + 0.76rem, 1.06rem);
}body.ranking-page .countdown-digits{
  gap: 0.3rem;
}body.ranking-page .cd-chunk{
  gap: 0.36rem;
}body.ranking-page .cd-value{
  font-size: clamp(1.55rem, 2.5vw, 2.1rem);
}body.ranking-page .cd-unit{
  font-size: clamp(0.84rem, 0.8vw + 0.62rem, 1rem);
}body.ranking-page .cd-colon{
  margin: 0 0.12rem;
  font-size: clamp(1.45rem, 2.3vw, 1.95rem);
}body.ranking-page .panel{
  padding: 0.9rem 0.85rem 0.85rem;
  border-radius: var(--radius-lg);
  border-color: rgba(100, 180, 255, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012) 20%, rgba(24, 11, 5, 0.34) 100%),
    linear-gradient(135deg, rgba(198, 108, 34, 0.12), rgba(28, 13, 5, 0.08) 56%, rgba(210, 138, 42, 0.05) 100%);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(8px) saturate(118%);
  -webkit-backdrop-filter: blur(8px) saturate(118%);
}body.ranking-page .panel::after{
  height: 2px;
  left: 0.85rem;
  right: 0.85rem;
  top: 0.6rem;
}body.ranking-page .panel-rules{
  padding-block: 0.7rem;
}body.ranking-page .panel-rules .rules-block{
  border-color: rgba(100, 180, 255, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01) 24%, rgba(10, 22, 40, 0.26) 100%);
}body.ranking-page .rules-toggle-summary{
  padding: 0.7rem 0.85rem;
  font-size: clamp(0.94rem, 0.9vw, 1rem);
}body.ranking-page .scoring-groups{
  padding: 0 0.85rem 0.7rem;
}body.ranking-page .scoring-group{
  padding: 0.55rem 0;
}body.ranking-page .scoring-group-title{
  font-size: 0.95rem;
}body.ranking-page .scoring-group-copy,
body.ranking-page .scoring-sublist li{
  font-size: 1.1rem;
  line-height: 1.48;
}body.ranking-page .scoring-sublist{
  padding-left: 1rem;
  gap: 0.36rem;
}body.ranking-page .panel-rules .plain-list{
  padding: 0 0.85rem 0.7rem;
}body.ranking-page .panel-rules .plain-list li{
  padding: 0.48rem 0 0.48rem 0.95rem;
  font-size: 1.08rem;
  line-height: 1.45;
}body.ranking-page .tab-bar-outer{
  top: 0.35rem;
  padding-top: 0.75rem;
  animation: none;
}body.ranking-page .tab-bar-outer .container{
  padding: 0.26rem;
  box-shadow: var(--shadow-md);
}body.ranking-page .page-view-tabs{
  gap: 0.28rem;
}body.ranking-page .page-view-tab{
  min-height: 48px;
  padding: 0.62rem 0.82rem;
  font-size: clamp(0.74rem, 0.5vw + 0.64rem, 0.84rem);
}body.ranking-page .leaderboard-section > .container,
body.ranking-page .battles-wrap{
  padding: clamp(0.85rem, 1.4vw, 1.05rem);
}body.ranking-page .section-head,
body.ranking-page .battles-section-head{
  margin-bottom: 0.7rem;
}body.ranking-page .section-head h2,
body.ranking-page .battles-section-title{
  font-size: clamp(1.12rem, 2vw, 1.62rem);
}body.ranking-page .status-inline{
  margin-bottom: 0.85rem;
  padding: 0.55rem 0.72rem;
  border-color: rgba(100, 180, 255, 0.14);
  background: rgba(10, 9, 8, 0.26);
  font-size: 0.88rem;
}body.ranking-page .team-label,
body.ranking-page .team-inline,
body.ranking-page .captain-badge,
body.ranking-page .pill,
body.ranking-page .team-tab,
body.ranking-page .battle-team{
  min-height: 1.85rem;
}body.ranking-page .team-tab{
  min-height: 36px;
  padding: 0.48rem 0.72rem;
  border-color: rgba(100, 180, 255, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015) 24%, rgba(10, 22, 40, 0.3) 100%);
  font-size: 0.72rem;
}body.ranking-page .search-wrap input,
body.ranking-page .select-wrap select{
  min-height: 42px;
  border-radius: var(--radius-md);
  border-color: rgba(100, 180, 255, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.008) 26%, rgba(10, 22, 40, 0.32) 100%);
  font-size: 17px;
}body.ranking-page .table-shell{
  border-radius: var(--radius-lg);
  border-color: rgba(100, 180, 255, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.01) 20%, rgba(10, 22, 40, 0.32) 100%);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(8px) saturate(118%);
  -webkit-backdrop-filter: blur(8px) saturate(118%);
}body.ranking-page .score-table th{
  background: linear-gradient(180deg, rgba(104, 62, 17, 0.94), rgba(39, 18, 7, 0.95));
  font-size: 0.7rem;
}body.ranking-page .score-table th,
body.ranking-page .score-table td{
  padding: 0.62rem 0.52rem;
}body.ranking-page .score-table thead th{
  padding: 0.72rem 0.85rem;
}body.ranking-page .score-table thead th.col-rank{
  padding: 0.72rem 1rem 0.72rem 0.5rem;
}body.ranking-page .score-table tbody tr{
  border-radius: 0;
  background: rgba(255, 255, 255, 0.018);
}body.ranking-page .score-table tbody tr:nth-child(even){
  background: rgba(255, 255, 255, 0.028);
}body.ranking-page .score-table tbody tr:hover{
  background: rgba(77, 184, 255, 0.08);
}body.ranking-page .team-row,
body.ranking-page .team-row.active,
body.ranking-page .podium-1,
body.ranking-page .podium-2,
body.ranking-page .podium-3{
  background-image: none;
}body.ranking-page .team-row{
  background-color: rgba(16, 13, 12, 0.76);
}body.ranking-page .team-row.active{
  background-color: rgba(24, 18, 14, 0.84);
}body.ranking-page .podium-1{
  background-color: rgba(124, 83, 12, 0.82);
}body.ranking-page .podium-2{
  background-color: rgba(56, 68, 86, 0.8);
}body.ranking-page .podium-3{
  background-color: rgba(94, 53, 27, 0.82);
}body.ranking-page .players tbody tr{
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--team-accent, #f5c45d) 44%, rgba(0, 0, 0, 0.78)) 0%, color-mix(in srgb, var(--team-accent, #f5c45d) 30%, rgba(0, 0, 0, 0.8)) 58%, rgba(8, 7, 7, 0.44) 100%);
}body.ranking-page .players tbody tr:nth-child(even){
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--team-accent, #f5c45d) 44%, rgba(0, 0, 0, 0.78)) 0%, color-mix(in srgb, var(--team-accent, #f5c45d) 30%, rgba(0, 0, 0, 0.8)) 58%, rgba(8, 7, 7, 0.44) 100%);
}body.ranking-page .players tbody tr:hover{
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--team-accent, #f5c45d) 58%, rgba(0, 0, 0, 0.74)) 0%, color-mix(in srgb, var(--team-accent, #f5c45d) 40%, rgba(0, 0, 0, 0.78)) 58%, rgba(12, 9, 8, 0.46) 100%);
}body.ranking-page .rank-badge{
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
}body.ranking-page .team-logo{
  width: 82px;
  height: 60px;
}body.ranking-page .battle-panel,
body.ranking-page .arena-battle-card,
body.ranking-page .match-card,
body.ranking-page .arena-week-block,
body.ranking-page .clash-member-card,
body.ranking-page .bracket-node,
body.ranking-page .battle-list li,
body.ranking-page .battle-timer,
body.ranking-page .matchup-card{
  border-radius: var(--radius-lg);
  border-color: rgba(100, 180, 255, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012) 20%, rgba(24, 11, 5, 0.34) 100%),
    linear-gradient(135deg, rgba(198, 108, 34, 0.12), rgba(28, 13, 5, 0.08) 56%, rgba(210, 138, 42, 0.05) 100%);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(8px) saturate(118%);
  -webkit-backdrop-filter: blur(8px) saturate(118%);
}body.ranking-page .battle-panel,
body.ranking-page .arena-week-block,
body.ranking-page .arena-battle-card,
body.ranking-page .match-card,
body.ranking-page .clash-member-card,
body.ranking-page .bracket-node{
  padding: 0.95rem;
}body.ranking-page .battle-panel-title{
  font-size: clamp(1.1rem, 2.1vw, 1.45rem);
}body.ranking-page .battle-panel-lede{
  margin: 0.4rem 0 0.8rem;
}body.ranking-page .battle-tabs{
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}body.ranking-page .battle-tab-btn{
  min-height: 72px;
  padding: 0.62rem;
  border-radius: var(--radius-md);
}body.ranking-page .battle-timer{
  padding: 0.62rem 0.72rem;
}body.ranking-page .arena-team-row{
  gap: 0.6rem;
  padding: 0.55rem 0;
}body.ranking-page .battle-team{
  padding: 0.36rem 0.62rem;
}body.ranking-page .clash-player-list li{
  padding: 0.32rem 0.62rem;
}body.ranking-page .matchup-card{
  border-radius: var(--radius-xl);
}body.ranking-page .mc-side{
  padding: 1.05rem 1.1rem;
}body.ranking-page .mc-center{
  padding: 0.85rem 1rem;
  background: linear-gradient(180deg, rgba(16, 11, 8, 0.84), rgba(34, 18, 10, 0.76));
}body.ranking-page .footer{
  margin-top: 0.95rem;
  padding: 0 0 0.75rem;
  border-top: 0;
  background: none;
}body.ranking-page .footer-inner{
  position: relative;
  overflow: hidden;
  grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  padding: 0.95rem;
  border: 1px solid rgba(100, 180, 255, 0.18);
}body.ranking-page .footer-title{
  font-size: 0.7rem;
}body.ranking-page .footer-legal-copy{
  font-size: 0.76rem;
}

@media (max-width: 980px) {body.ranking-page .footer-inner{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {body.ranking-page .container{
    width: min(1280px, calc(100% - 1rem));
  }body.ranking-page .topbar-inner{
    flex-direction: row;
    align-items: center;
  }body.ranking-page .brand{
    justify-content: flex-start;
  }body.ranking-page .topbar-nav{
    width: auto;
    justify-content: flex-end;
  }body.ranking-page .back-link{
    flex: 0 1 auto;
  }body.ranking-page .hero-head{
    flex-direction: column;
    align-items: stretch;
  }body.ranking-page .lang-switch{
    align-self: flex-start;
  }body.ranking-page .clash-members-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {body.ranking-page .brand-logo{
    width: 74px;
  }body.ranking-page .topbar-nav{
    width: 100%;
    margin-left: 0;
    justify-content: flex-start;
    flex-wrap: wrap;
  }body.ranking-page .back-link{
    flex: 1 1 170px;
  }
}

@media (max-width: 520px) {body.ranking-page .hero-stage,
body.ranking-page .leaderboard-section > .container,
body.ranking-page .battles-wrap,
body.ranking-page .tab-bar-outer .container,
body.ranking-page .footer-inner,
body.ranking-page .matchup-card{
    border-radius: var(--radius-xl);
  }body.ranking-page .panel,
body.ranking-page .battle-panel,
body.ranking-page .arena-battle-card,
body.ranking-page .arena-week-block,
body.ranking-page .table-shell,
body.ranking-page .battle-tab-btn{
    border-radius: var(--radius-lg);
  }body.ranking-page .score-table tbody tr{
    border-radius: 0;
  }body.ranking-page .team-logo{
    width: 62px;
    height: 46px;
  }body.ranking-page .countdown-label{
    font-size: 0.88rem;
  }body.ranking-page .cd-value{
    font-size: 1.45rem;
  }body.ranking-page .cd-unit{
    font-size: 0.78rem;
  }body.ranking-page .cd-colon{
    font-size: 1.28rem;
  }body.ranking-page .footer-inner{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }body.ranking-page .footer-brand{
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {body.ranking-page .topbar{
    margin-top: 0.5rem !important;
  }body.ranking-page .table-shell{
    padding-bottom: 0;
    overflow-x: hidden;
  }body.ranking-page .table-shell::before{
    display: none;
  }body.ranking-page .table-shell::after{
    display: none;
    content: none;
  }
}

@media (max-width: 420px) {body.ranking-page .footer-inner{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {body.guide-page .nav-links{
    z-index: 1200;
    border: 1px solid rgba(100, 180, 255, 0.32) !important;
    background: linear-gradient(180deg, rgba(36, 19, 50, 0.98), rgba(16, 9, 26, 0.98)) !important;
    box-shadow:
      0 16px 34px rgba(0, 0, 0, 0.46),
      inset 0 1px 0 rgba(140, 210, 255, 0.2) !important;
    backdrop-filter: blur(14px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
  }
}

body.ranking-page .score-table th{
  font-size: 0.78rem;
}
body.ranking-page .score-table td{
  font-size: 0.98rem;
}
body.ranking-page .team-name{
  font-size: 1.06rem;
}
body.ranking-page .mobile-total-stack{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
}
body.ranking-page .mobile-total-value{
  display: inline-block;
  font-size: 1rem;
  line-height: 1.1;
}
body.ranking-page .row-detail-indicator{
  display: none;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  padding: 0.22rem 0.42rem 0.22rem 0.18rem;
  box-sizing: border-box;
  color: var(--gold-bright);
}
body.ranking-page .row-detail-chevron{
  display: block;
  width: 0.36rem;
  height: 0.36rem;
  margin: 0 auto;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform 0.22s ease;
}
body.ranking-page .row-detail-indicator[data-expanded="true"] .row-detail-chevron,
body.ranking-page .team-row[aria-expanded="true"] .row-detail-chevron,
body.ranking-page .player-row[aria-expanded="true"] .row-detail-chevron{
  transform: rotate(-135deg) translate(1px, 1px);
}
body.ranking-page .detail-row,
body.ranking-page .detail-row:hover,
body.ranking-page .detail-row:nth-child(even),
body.ranking-page .players tbody tr.detail-row,
body.ranking-page .players tbody tr.detail-row:nth-child(even),
body.ranking-page .players tbody tr.detail-row:hover{
  display: none;
  background: transparent !important;
  transform: none !important;
  box-shadow: none !important;
}
body.ranking-page .detail-row td{
  padding: 0;
  border-bottom: 0;
}
body.ranking-page .detail-row.is-visible,
body.ranking-page .detail-row.is-visible:hover,
body.ranking-page .detail-row.is-visible:nth-child(even),
body.ranking-page .players tbody tr.detail-row.is-visible,
body.ranking-page .players tbody tr.detail-row.is-visible:nth-child(even),
body.ranking-page .players tbody tr.detail-row.is-visible:hover{
  display: table-row !important;
}
body.ranking-page .detail-row td{
  display: table-cell !important;
  width: auto !important;
  transition: padding 0.12s cubic-bezier(0.22, 1, 0.36, 1);
}
body.ranking-page .detail-row.is-open td{
  padding: 0 0.42rem 0.42rem;
}
body.ranking-page .breakdown-panel{
  border: 1px solid rgba(140, 210, 255, 0.16);
  border-radius: 0 0 0.5rem 0.5rem;
  background:
    linear-gradient(180deg, rgba(184, 228, 255, 0.06), rgba(14, 32, 58, 0.84) 18%, rgba(9, 16, 28, 0.96) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 14px 24px rgba(7, 3, 16, 0.16);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(-5px) scaleY(0.992);
  transform-origin: top;
  will-change: max-height, opacity, transform;
  transition:
    max-height 0.12s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.09s ease,
    transform 0.12s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.12s ease;
}
body.ranking-page .breakdown-list{
  margin: 0;
  padding: 0.55rem 0.75rem 0.55rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  list-style: disc;
}
body.ranking-page .breakdown-list li{
  color: var(--text-muted);
  font-size: 0.86rem;
  line-height: 1.45;
  display: list-item;
  list-style: disc;
}
body.ranking-page .breakdown-sublist{
  margin: 0.22rem 0 0;
  padding: 0 0 0 1.05rem;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  list-style: circle;
}
body.ranking-page .breakdown-sublist li{
  color: rgba(241, 233, 215, 0.88);
  font-size: 0.8rem;
  line-height: 1.36;
  list-style: circle;
}
body.ranking-page .breakdown-label-inline{
  color: var(--gold-bright);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
body.ranking-page .breakdown-value-inline{
  color: var(--text-strong);
  font-size: 0.92rem;
}
body.ranking-page .detail-row.is-open .breakdown-panel{
  max-height: 16rem;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scaleY(1);
}
body.ranking-page .avatar-inline-mobile{
  display: none;
}
body.ranking-page .avatar-captain{
  border-color: rgba(140, 210, 255, 0.84);
  box-shadow:
    0 0 0 2px rgba(100, 180, 255, 0.26),
    0 12px 22px rgba(7, 3, 16, 0.22);
}
body.ranking-page .captain-name{
  color: var(--gold-bright);
}
body.ranking-page .player-text{
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
  min-width: 0;
}
body.ranking-page .player-role{
  display: block;
  margin: 0;
  color: rgba(140, 210, 255, 0.82);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  body.ranking-page .score-table,
  body.ranking-page .score-table.players,
  body.ranking-page .score-table:not(.players){
    min-width: 100% !important;
    width: 100% !important;
    /* auto: fixed + colspan detail rows collapsed the Team column to 0 width */
    table-layout: auto !important;
  }
  body.ranking-page .score-table th{
    font-size: 0.76rem;
    letter-spacing: 0.08em;
  }
  body.ranking-page .score-table td{
    font-size: 0.94rem;
    padding: 0.6rem 0.28rem;
    vertical-align: middle;
  }
  body.ranking-page .score-table.players thead th:nth-child(2),
  body.ranking-page .score-table.players td.cell-avatar,
  body.ranking-page .score-table.players th[data-sort="league"],
  body.ranking-page .score-table.players td.cell-league,
  body.ranking-page .score-table.players th[data-sort="week1"],
  body.ranking-page .score-table.players th[data-sort="week2"],
  body.ranking-page .score-table.players td.cell-week-1,
  body.ranking-page .score-table.players td.cell-week-2,
  body.ranking-page .score-table.players th[data-sort="weeklySprint"],
  body.ranking-page .score-table.players td.cell-weekly-sprint,
  body.ranking-page .score-table.players th[data-sort="event"],
  body.ranking-page .score-table.players td.cell-event,
  body.ranking-page .score-table.players th[data-sort="clash"],
  body.ranking-page .score-table.players td.cell-player-clash,
  body.ranking-page .score-table:not(.players) th[data-sort="captain"],
  body.ranking-page .score-table:not(.players) td.cell-captain,
  body.ranking-page .score-table:not(.players) th[data-sort="week1Sum"],
  body.ranking-page .score-table:not(.players) th[data-sort="week2Sum"],
  body.ranking-page .score-table:not(.players) td.cell-week-1,
  body.ranking-page .score-table:not(.players) td.cell-week-2,
  body.ranking-page .score-table:not(.players) th[data-sort="playerSum"],
  body.ranking-page .score-table:not(.players) td.cell-player-sum,
  body.ranking-page .score-table:not(.players) th[data-sort="arenaPoints"],
  body.ranking-page .score-table:not(.players) td.cell-arena,
  body.ranking-page .score-table:not(.players) th[data-sort="clashPoints"],
  body.ranking-page .score-table:not(.players) td.cell-clash,
  body.ranking-page .score-table:not(.players) th[data-sort="storePoints"],
  body.ranking-page .score-table:not(.players) td.cell-store-points{
    display: none;
  }
  body.ranking-page .team-row,
  body.ranking-page .player-row{
    cursor: pointer;
  }
  body.ranking-page .score-table thead th{
    padding: 0.65rem 0.75rem;
  }
  body.ranking-page .score-table:not(.players) .col-rank,
  body.ranking-page .score-table.players .col-rank{
    width: 2.95rem !important;
    min-width: 2.95rem !important;
    max-width: 2.95rem !important;
    padding: 0.62rem 0.38rem !important;
    box-sizing: border-box;
  }
  body.ranking-page .score-table thead th.col-rank{
    padding: 0.65rem 0.95rem 0.65rem 0.38rem !important;
  }
  body.ranking-page .score-table:not(.players) .cell-rank,
  body.ranking-page .score-table.players .cell-rank{
    width: 2.95rem !important;
    min-width: 2.95rem !important;
    max-width: 2.95rem !important;
    padding-left: 0.12rem !important;
    padding-right: 0.06rem !important;
    box-sizing: border-box;
  }
  body.ranking-page .score-table:not(.players) th[data-sort="team"],
  body.ranking-page .score-table:not(.players) td.cell-team{
    width: auto !important;
    min-width: 7.5rem !important;
  }
  body.ranking-page .score-table.players .cell-player{
    min-width: 0 !important;
    width: auto !important;
  }
  body.ranking-page .score-table.players .cell-player,
  body.ranking-page .score-table:not(.players) .cell-team{
    overflow: hidden;
  }
  body.ranking-page .score-table.players th[data-sort="country"]{
    width: 48px;
  }
  body.ranking-page .score-table.players th[data-sort="total"]{
    width: 72px;
    min-width: 72px;
    text-align: center;
    padding-left: 0.32rem;
    padding-right: 0.26rem;
  }
  body.ranking-page .score-table.players td.country-cell{
    width: 48px !important;
    min-width: 48px !important;
    padding-left: 0.08rem;
    padding-right: 0.08rem;
  }
  body.ranking-page .score-table.players .cell-total{
    width: 72px;
    min-width: 72px;
    vertical-align: middle;
    padding-left: 0.4rem;
    padding-right: 0.42rem;
  }
  body.ranking-page .score-table:not(.players) th[data-sort="total"]{
    width: 7rem;
    min-width: 7rem;
    max-width: 8rem;
    white-space: nowrap;
    text-align: left;
    padding-left: 0;
    padding-right: 0.92rem;
    vertical-align: middle;
    overflow: visible;
  }
  body.ranking-page .score-table:not(.players) .cell-total{
    width: 7rem;
    min-width: 7rem;
    max-width: 8rem;
    vertical-align: middle;
    padding-left: 0.4rem;
    padding-right: 1.05rem;
    overflow: visible;
    box-sizing: border-box;
  }
  body.ranking-page .team-chip{
    gap: 0.34rem;
    max-width: 100%;
    width: 100%;
  }
  body.ranking-page .team-logo{
    width: 40px;
    height: 29px;
  }
  body.ranking-page .team-name{
    display: inline-block;
    flex: 1 1 auto;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.98rem;
  }
  body.ranking-page .avatar-inline-mobile{
    display: inline-block;
    width: 30px;
    height: 30px;
    flex-shrink: 0;
  }
  body.ranking-page .player-primary{
    display: flex;
    align-items: center;
    gap: 0.58rem;
    max-width: 100%;
    width: 100%;
  }
  body.ranking-page .player-name{
    font-size: 0.96rem;
    flex: 1 1 auto;
    min-width: 0;
  }
  body.ranking-page .country{
    min-height: 0;
  }
  body.ranking-page .country-flag{
    width: 42px;
    height: 24px;
  }
  body.ranking-page .mobile-total-stack{
    justify-content: flex-start;
    align-items: center;
    gap: 0.22rem;
    width: 100%;
  }
  body.ranking-page .score-table:not(.players) .mobile-total-stack{
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    min-width: 0;
    margin-left: 0;
    gap: 0.32rem;
    padding-right: 1rem;
    box-sizing: border-box;
  }
  body.ranking-page .score-table.players .mobile-total-stack{
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    min-width: 0;
    gap: 0.28rem;
    padding-right: 0.28rem;
    box-sizing: border-box;
  }
  body.ranking-page .mobile-total-value{
    font-size: 1.06rem;
    text-align: left;
    white-space: nowrap;
    line-height: 1.1;
  }
  body.ranking-page .score-table:not(.players) .mobile-total-value{
    text-align: right;
    min-width: 0;
    flex: 1 1 auto;
    font-size: 0.98rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body.ranking-page .row-detail-indicator{
    display: inline-flex;
    flex-shrink: 0;
  }
  body.ranking-page .score-table:not(.players) .row-detail-indicator,
  body.ranking-page .score-table.players .row-detail-indicator{
    min-width: 1.45rem;
    min-height: 1.45rem;
    padding: 0.2rem 0.48rem 0.2rem 0.12rem;
    box-sizing: border-box;
  }
  body.ranking-page .detail-row{
    display: none;
  }
  body.ranking-page .detail-row.is-visible,
  body.ranking-page .detail-row.is-visible:hover,
  body.ranking-page .detail-row.is-visible:nth-child(even),
  body.ranking-page .players tbody tr.detail-row.is-visible,
  body.ranking-page .players tbody tr.detail-row.is-visible:nth-child(even),
  body.ranking-page .players tbody tr.detail-row.is-visible:hover{
    display: table-row !important;
  }
  body.ranking-page .detail-row td{
    display: table-cell !important;
    width: auto !important;
    padding: 0;
    border-bottom: 0;
    transition: padding 0.12s cubic-bezier(0.22, 1, 0.36, 1);
  }
  body.ranking-page .detail-row.is-open td{
    padding: 0 0.28rem 0.32rem;
  }
  body.ranking-page .detail-row.is-open .breakdown-panel{
    max-height: 16rem;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scaleY(1);
    animation: rulesReveal 0.22s cubic-bezier(0.22, 1, 0.36, 1);
  }
  body.ranking-page .detail-row td{
    padding: 0;
  }
  body.ranking-page .breakdown-panel{
    display: block;
    width: 100%;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  body.ranking-page .breakdown-list{
    padding: 0.42rem 0.6rem 0.42rem 1.15rem;
  }
  body.ranking-page .breakdown-list li{
    font-size: 0.82rem;
    line-height: 1.45;
  }
  body.ranking-page .breakdown-sublist{
    padding-left: 0.92rem;
  }
  body.ranking-page .breakdown-sublist li{
    font-size: 0.76rem;
  }
  body.ranking-page .rank-badge{
    width: 1.42rem;
    height: 1.42rem;
    font-size: 0.62rem;
  }
}

@media (max-width: 520px) {
  body.ranking-page .score-table th{
    font-size: 0.71rem;
  }
  body.ranking-page .score-table td{
    font-size: 0.9rem;
    padding: 0.62rem 0.3rem;
  }
  body.ranking-page .score-table thead th{
    padding: 0.58rem 0.45rem;
  }
  body.ranking-page .score-table:not(.players) .col-rank,
  body.ranking-page .score-table.players .col-rank{
    width: 2.85rem !important;
    min-width: 2.85rem !important;
    max-width: 2.85rem !important;
    padding: 0.58rem 0.32rem !important;
  }
  body.ranking-page .score-table thead th.col-rank{
    padding: 0.58rem 0.88rem 0.58rem 0.34rem !important;
  }
  body.ranking-page .score-table:not(.players) .cell-rank,
  body.ranking-page .score-table.players .cell-rank{
    width: 2.85rem !important;
    min-width: 2.85rem !important;
    max-width: 2.85rem !important;
    padding-left: 0.1rem !important;
    padding-right: 0.05rem !important;
  }
  body.ranking-page .score-table.players td.country-cell{
    width: 44px !important;
    min-width: 44px !important;
  }
  body.ranking-page .score-table.players .cell-total{
    width: 68px;
    min-width: 68px;
    padding-left: 0.36rem;
    padding-right: 0.4rem;
  }
  body.ranking-page .score-table.players th[data-sort="total"]{
    min-width: 68px;
    text-align: center;
    padding-left: 0.28rem;
    padding-right: 0.24rem;
  }
  body.ranking-page .score-table:not(.players) th[data-sort="total"]{
    width: 6.65rem;
    min-width: 6.65rem;
    max-width: 7.65rem;
    white-space: nowrap;
    text-align: left;
    padding-left: 0;
    padding-right: 0.85rem;
    overflow: visible;
  }
  body.ranking-page .score-table:not(.players) .cell-total{
    width: 6.65rem;
    min-width: 6.65rem;
    max-width: 7.65rem;
    padding-right: 0.98rem;
    overflow: visible;
    box-sizing: border-box;
  }
  body.ranking-page .team-logo{
    width: 40px;
    height: 29px;
  }
  body.ranking-page .avatar-inline-mobile{
    width: 28px;
    height: 28px;
  }
  body.ranking-page .country-flag{
    width: 40px;
    height: 23px;
  }
  body.ranking-page .mobile-total-value{
    font-size: 1rem;
  }
  body.ranking-page .breakdown-list{
    padding-right: 0.45rem;
  }
  body.ranking-page .player-role{
    font-size: 0.54rem;
  }
}

@media (max-width: 420px) {
  body.ranking-page .score-table th{
    font-size: 0.66rem;
  }
  body.ranking-page .score-table td{
    font-size: 0.86rem;
    padding: 0.56rem 0.24rem;
  }
  body.ranking-page .score-table thead th{
    padding: 0.54rem 0.65rem;
  }
  body.ranking-page .score-table:not(.players) .col-rank,
  body.ranking-page .score-table.players .col-rank{
    width: 2.75rem !important;
    min-width: 2.75rem !important;
    max-width: 2.75rem !important;
    padding: 0.54rem 0.28rem !important;
  }
  body.ranking-page .score-table thead th.col-rank{
    padding: 0.54rem 0.82rem 0.54rem 0.28rem !important;
  }
  body.ranking-page .score-table:not(.players) .cell-rank,
  body.ranking-page .score-table.players .cell-rank{
    width: 2.75rem !important;
    min-width: 2.75rem !important;
    max-width: 2.75rem !important;
    padding-left: 0.08rem !important;
    padding-right: 0.04rem !important;
  }
  body.ranking-page .score-table.players td.country-cell{
    width: 40px !important;
    min-width: 40px !important;
  }
  body.ranking-page .score-table.players .cell-total{
    width: 64px;
    min-width: 64px;
    padding-left: 0.32rem;
    padding-right: 0.38rem;
  }
  body.ranking-page .score-table.players th[data-sort="total"]{
    min-width: 64px;
    text-align: center;
    padding-left: 0.24rem;
    padding-right: 0.2rem;
  }
  body.ranking-page .score-table:not(.players) th[data-sort="total"]{
    width: 6.45rem;
    min-width: 6.45rem;
    max-width: 7.35rem;
    white-space: nowrap;
    text-align: left;
    padding-left: 0;
    padding-right: 0.8rem;
    overflow: visible;
  }
  body.ranking-page .score-table:not(.players) .cell-total{
    width: 6.45rem;
    min-width: 6.45rem;
    max-width: 7.35rem;
    padding-right: 0.92rem;
    overflow: visible;
    box-sizing: border-box;
  }
  body.ranking-page .team-logo{
    width: 36px;
    height: 26px;
  }
  body.ranking-page .avatar-inline-mobile{
    width: 26px;
    height: 26px;
  }
  body.ranking-page .country-flag{
    width: 36px;
    height: 21px;
  }
  body.ranking-page .mobile-total-value{
    font-size: 0.94rem;
  }
  body.ranking-page .breakdown-list li{
    font-size: 0.78rem;
  }
}

@media (max-width: 760px) {
  body.ranking-page .score-table th[data-sort="total"],
  body.ranking-page .score-table td.cell-total{
    text-align: center !important;
  }
  body.ranking-page .score-table .cell-total{
    padding-left: 0.12rem !important;
    padding-right: 0.12rem !important;
  }
  body.ranking-page .score-table.players th[data-sort="total"]{
    white-space: nowrap !important;
    padding-left: 0.18rem !important;
    padding-right: 0.18rem !important;
  }
  body.ranking-page .score-table.players td.cell-total{
    width: 4.2rem !important;
    min-width: 4.2rem !important;
    max-width: 4.2rem !important;
  }
  body.ranking-page .score-table:not(.players) th[data-sort="total"]{
    width: 6.15rem !important;
    min-width: 6.15rem !important;
    max-width: 6.15rem !important;
    white-space: nowrap !important;
    text-align: center !important;
    padding-left: 0.22rem !important;
    padding-right: 0.22rem !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.05em !important;
    overflow: visible !important;
  }
  body.ranking-page .score-table:not(.players) td.cell-total{
    width: 6.15rem !important;
    min-width: 6.15rem !important;
    max-width: 6.15rem !important;
    text-align: center !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  body.ranking-page .mobile-total-stack,
  body.ranking-page .score-table.players .mobile-total-stack,
  body.ranking-page .score-table:not(.players) .mobile-total-stack{
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    gap: 0.18rem !important;
  }
  body.ranking-page .mobile-total-value,
  body.ranking-page .score-table.players .mobile-total-value,
  body.ranking-page .score-table:not(.players) .mobile-total-value{
    text-align: center !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
  body.ranking-page .score-table thead th.col-rank{
    padding-left: 0.24rem !important;
    padding-right: 0.32rem !important;
  }
  body.ranking-page .score-table .col-rank,
  body.ranking-page .score-table .cell-rank{
    padding-left: 0.08rem !important;
    padding-right: 0.04rem !important;
  }
  body.ranking-page .score-table:not(.players) thead th.col-rank{
    width: 2.45rem !important;
    min-width: 2.45rem !important;
    max-width: 2.45rem !important;
    padding-left: 0.22rem !important;
    padding-right: 0.18rem !important;
  }
  body.ranking-page .score-table:not(.players) .cell-rank{
    width: 2.45rem !important;
    min-width: 2.45rem !important;
    max-width: 2.45rem !important;
    padding-left: 0.04rem !important;
    padding-right: 0 !important;
  }
  body.ranking-page .score-table:not(.players) td.cell-team{
    padding-left: 0.08rem !important;
    padding-right: 0.08rem !important;
  }
  body.ranking-page .score-table:not(.players) .team-chip{
    gap: 0.28rem !important;
  }
body.ranking-page .score-table:not(.players) .team-logo{
  width: 36px !important;
  height: 26px !important;
}
}

body.ranking-page .score-table th[data-sort="total"],
body.ranking-page .score-table td.cell-total{
  text-align: center !important;
}
body.ranking-page .score-table.players .mobile-total-stack,
body.ranking-page .score-table:not(.players) .mobile-total-stack{
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  padding-right: 0 !important;
}
body.ranking-page .score-table.players .mobile-total-value,
body.ranking-page .score-table:not(.players) .mobile-total-value{
  text-align: center !important;
}
body.ranking-page .events-placement-table th:last-child,
body.ranking-page .events-placement-table td.cell-total{
  text-align: center !important;
  white-space: nowrap !important;
}
body.ranking-page .events-placement-table tbody tr,
body.ranking-page .events-placement-table tbody tr:nth-child(even),
body.ranking-page .events-placement-table tbody tr:hover{
  background:
    linear-gradient(90deg, var(--team-accent-soft, rgba(201, 168, 68, 0.3)) 0%, rgba(17, 13, 11, 0.48) 66%, rgba(9, 8, 8, 0.34) 100%) !important;
}

/* ── Prize Distribution Panel ─────────────────────────────────────────────── */
body.ranking-page .prize-dist-panel{
  margin: 0.75rem 0 0;
  border: 1px solid rgba(241,181,72,0.22);
  border-radius: 8px;
  background: rgba(241,181,72,0.04);
  overflow: hidden;
}
body.ranking-page .prize-dist-summary{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.7rem 1rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
  flex-wrap: wrap;
}
body.ranking-page .prize-dist-summary::-webkit-details-marker{display:none;}
body.ranking-page .prize-dist-label{
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--gold-bright, #ffffff);
}
body.ranking-page .prize-dist-rule-badge{
  font-size: 0.73rem;
  color: var(--text-muted, #b8d8f0);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 4px;
  padding: 0.15rem 0.5rem;
}
body.ranking-page .prize-dist-body{
  padding: 0 1rem 0.75rem;
}
body.ranking-page .prize-dist-note{
  font-size: 0.78rem;
  color: var(--text-muted, #b8d8f0);
  opacity: 0.7;
  margin: 0 0 0.6rem;
}
body.ranking-page .pd-tiers{
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
body.ranking-page .pd-tier{
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 6px;
  background: rgba(255,255,255,0.02);
  overflow: hidden;
}
body.ranking-page .pd-tier-summary{
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.45rem 0.75rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
body.ranking-page .pd-tier-summary::-webkit-details-marker{display:none;}
body.ranking-page .pd-tier-label{
  font-weight: 700;
  font-size: 0.82rem;
  color: var(--gold, #ffffff);
}
body.ranking-page .pd-tier-prize{
  font-size: 0.78rem;
  color: var(--text-muted, #b8d8f0);
}
body.ranking-page .pd-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}
body.ranking-page .pd-table th{
  text-align: left;
  padding: 0.3rem 0.75rem;
  color: var(--text-muted, #b8d8f0);
  font-weight: 600;
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
body.ranking-page .pd-table td{
  padding: 0.28rem 0.75rem;
  color: var(--text, #e8f2fc);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
body.ranking-page .pd-amount{
  text-align: right;
  font-weight: 600;
  color: var(--gold-bright, #ffffff);
}
body.ranking-page .pd-empty{
  font-size: 0.8rem;
  color: var(--text-muted, #b8d8f0);
  opacity: 0.6;
  padding: 0.4rem 0.75rem !important;
}

/* ── Powerups Panel ─────────────────────────────────────────────────────── */
body.ranking-page .powerups-panel{
  margin: 0.5rem 0 0;
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 8px;
  background: rgba(255,255,255,0.02);
  overflow: hidden;
}
body.ranking-page .powerups-summary{
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 1rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
body.ranking-page .powerups-summary::-webkit-details-marker{display:none;}
body.ranking-page .powerups-label{
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--text-strong, #f5f9ff);
}
body.ranking-page .powerups-count-badge{
  font-size: 0.72rem;
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  color: var(--text-muted, #b8d8f0);
}
body.ranking-page .powerups-body{
  padding: 0 1rem 0.75rem;
}
body.ranking-page .powerups-empty{
  font-size: 0.82rem;
  color: var(--text-muted, #b8d8f0);
  opacity: 0.6;
  margin: 0;
}
body.ranking-page .powerups-list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
body.ranking-page .powerup-item{
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 6px;
  background: rgba(255,255,255,0.03);
}
body.ranking-page .powerup-name{
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--gold-bright, #ffffff);
}
body.ranking-page .powerup-desc{
  font-size: 0.8rem;
  color: var(--text-muted, #b8d8f0);
}
body.ranking-page .powerup-date{
  font-size: 0.72rem;
  color: var(--text-muted, #b8d8f0);
  opacity: 0.6;
}

/* ── Hall of Champions (guide main page) ─────────────────────────────────── */
body.guide-page .hoc-cards {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 100%;
  max-width: none;
}
body.guide-page .hoc-card {
  width: 100%;
  background: rgba(195, 110, 35, 0.06);
  border: 1px solid rgba(195, 110, 35, 0.22);
  border-radius: 10px;
  overflow: hidden;
}
body.guide-page .hoc-card-head {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem 1.5rem;
  background: rgba(200, 120, 35, 0.08);
  border-bottom: 1px solid rgba(200, 120, 35, 0.15);
  flex-wrap: wrap;
}
body.guide-page .hoc-card-meta {
  flex: 1;
  min-width: 0;
}
body.guide-page .hoc-season-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold, #ffffff);
  margin-bottom: 0.2rem;
}
body.guide-page .hoc-season-name {
  font-family: var(--font-title, "Cinzel", serif);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--gold-bright, #ffffff);
  margin: 0 0 0.2rem;
}
body.guide-page .hoc-dates {
  font-size: 0.84rem;
  color: var(--text-muted, #b8d8f0);
  margin: 0;
}
body.guide-page .hoc-team-logo {
  width: 80px;
  height: 58px;
  object-fit: contain;
  border-radius: 5px;
  flex-shrink: 0;
}
body.guide-page .hoc-card-body {
  padding: 1.25rem 1.5rem;
}
body.guide-page .hoc-champ-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
body.guide-page .hoc-place-badge {
  background: linear-gradient(135deg, #f5f9ff, #ffffff);
  color: #0a1830;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.22rem 0.55rem;
  border-radius: 4px;
}
body.guide-page .hoc-team-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
body.guide-page .hoc-team-name {
  font-family: var(--font-title, "Cinzel", serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-strong, #f5f9ff);
}
body.guide-page .hoc-roster-label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold, #ffffff);
  margin: 0 0 0.6rem;
}
body.guide-page .hoc-roster-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 0.5rem;
}
body.guide-page .hoc-player {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 6px;
  padding: 0.42rem 0.65rem;
  font-size: 0.88rem;
  color: var(--text, #e8f2fc);
}
body.guide-page .hoc-player.hoc-captain {
  border-color: rgba(220, 148, 48, 0.32);
  background: rgba(200, 120, 35, 0.07);
  color: var(--gold-bright, #ffffff);
}
body.guide-page .hoc-crown {
  font-size: 0.88rem;
  line-height: 1;
}
body.guide-page .hoc-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.6;
  flex-shrink: 0;
}
@media (max-width: 560px) {
  body.guide-page .hoc-card-head { padding: 1rem 1.25rem; }
  body.guide-page .hoc-card-body { padding: 1rem 1.25rem; }
  body.guide-page .hoc-roster-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
}

/* Prize dist panel is now nested inside the prizes <details> — flat layout */
body.ranking-page .prize-dist-panel {
  margin: 0.75rem 0 0;
  border-top: 1px solid rgba(241,181,72,0.14);
  padding-top: 0.75rem;
}
body.ranking-page .prize-dist-header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-bottom: 0.35rem;
}
body.ranking-page .prize-dist-teams {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
body.ranking-page .prize-dist-team-card {
  border: 1px solid var(--team-border, rgba(241,181,72,0.18));
  border-radius: 7px;
  background:
    linear-gradient(90deg, var(--team-accent-soft, rgba(241,181,72,0.08)), rgba(255,255,255,0.02));
  overflow: hidden;
}
body.ranking-page .prize-dist-team-head {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
body.ranking-page .prize-dist-rank {
  min-width: 2.1rem;
  font-size: 0.76rem;
  font-weight: 800;
  color: var(--gold-bright, #ffffff);
}
body.ranking-page .prize-dist-logo {
  width: 38px;
  height: 28px;
  object-fit: contain;
}
body.ranking-page .prize-dist-team-name {
  flex: 1 1 150px;
  min-width: 0;
  font-weight: 800;
  color: var(--text-strong, #f5f9ff);
}
body.ranking-page .prize-dist-team-card .pd-tiers {
  padding: 0.65rem;
}

/* HOC placement blocks (multiple placements per season) */
body.guide-page .hoc-placement-block {
  margin-bottom: 0.25rem;
}
body.guide-page .hoc-placement-divider {
  height: 1px;
  background: rgba(255,255,255,0.07);
  margin: 1.25rem 0;
}
body.guide-page .hoc-team-logo-inline {
  object-fit: contain;
  border-radius: 4px;
  flex-shrink: 0;
}
body.guide-page .hoc-prize-tag {
  margin-left: auto;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--gold-bright, #ffffff);
  background: rgba(241,181,72,0.12);
  border: 1px solid rgba(241,181,72,0.28);
  border-radius: 4px;
  padding: 0.18rem 0.55rem;
  white-space: nowrap;
}
body.guide-page .hoc-prize-bonus {
  color: var(--violet-bright, #c86040);
  background: rgba(200, 90, 35, 0.1);
  border-color: rgba(200, 90, 35, 0.28);
}
body.guide-page .hoc-badge-gold {
  background: linear-gradient(135deg, #f5f9ff, #ffffff);
  color: #0a1830;
}
body.guide-page .hoc-badge-silver {
  background: linear-gradient(135deg, #8a9aaa, #b0bec5);
  color: #0a1830;
}

/* Keep table labels and values aligned to a consistent left edge. */
body.ranking-page .score-table th,
body.ranking-page .score-table td,
body.ranking-page .score-table th[data-sort="week1Sum"],
body.ranking-page .score-table th[data-sort="week2Sum"],
body.ranking-page .score-table th[data-sort="clashPoints"],
body.ranking-page .score-table th[data-sort="storePoints"],
body.ranking-page .score-table th[data-sort="league"],
body.ranking-page .score-table th[data-sort="week1"],
body.ranking-page .score-table th[data-sort="week2"],
body.ranking-page .score-table th[data-sort="event"],
body.ranking-page .score-table th[data-sort="total"],
body.ranking-page .score-table td.cell-week-1,
body.ranking-page .score-table td.cell-week-2,
body.ranking-page .score-table td.cell-clash,
body.ranking-page .score-table td.cell-store-points,
body.ranking-page .score-table td.cell-league,
body.ranking-page .score-table td.cell-event,
body.ranking-page .score-table td.cell-total {
  text-align: left !important;
  font-variant-numeric: tabular-nums;
}

body.ranking-page .score-table td.cell-total .mobile-total-stack {
  justify-content: flex-start !important;
  padding-right: 0 !important;
}

@media (min-width: 761px) and (max-width: 1180px) {
  body.ranking-page .table-shell {
    overflow-x: hidden;
  }

  body.ranking-page .score-table,
  body.ranking-page .score-table.players,
  body.ranking-page .score-table:not(.players) {
    width: 100% !important;
    min-width: 100% !important;
    table-layout: auto !important;
  }

  body.ranking-page .score-table.players thead th:nth-child(2),
  body.ranking-page .score-table.players td.cell-avatar,
  body.ranking-page .score-table.players th[data-sort="country"],
  body.ranking-page .score-table.players td.cell-country,
  body.ranking-page .score-table:not(.players) th[data-sort="captain"],
  body.ranking-page .score-table:not(.players) td.cell-captain {
    display: none;
  }

  body.ranking-page .team-row,
  body.ranking-page .player-row {
    cursor: pointer;
  }

  body.ranking-page .score-table th[data-sort="week1"],
  body.ranking-page .score-table th[data-sort="week2"],
  body.ranking-page .score-table th[data-sort="week1Sum"],
  body.ranking-page .score-table th[data-sort="week2Sum"],
  body.ranking-page .score-table td.cell-week-1,
  body.ranking-page .score-table td.cell-week-2 {
    width: 6.25rem;
    min-width: 5.5rem;
  }

  body.ranking-page .score-table th[data-sort="league"],
  body.ranking-page .score-table td.cell-league,
  body.ranking-page .score-table th[data-sort="event"],
  body.ranking-page .score-table td.cell-event,
  body.ranking-page .score-table th[data-sort="clash"],
  body.ranking-page .score-table td.cell-player-clash,
  body.ranking-page .score-table th[data-sort="playerSum"],
  body.ranking-page .score-table td.cell-player-sum,
  body.ranking-page .score-table th[data-sort="storePoints"],
  body.ranking-page .score-table td.cell-store-points {
    width: 6.5rem;
    min-width: 5.5rem;
  }

  body.ranking-page .score-table th[data-sort="clashPoints"],
  body.ranking-page .score-table td.cell-clash {
    width: 8rem;
    min-width: 7rem;
  }

  body.ranking-page .score-table th[data-sort="total"],
  body.ranking-page .score-table td.cell-total {
    width: 7.5rem;
    min-width: 6.75rem;
  }

  body.ranking-page .avatar-inline-mobile {
    display: inline-block;
    width: 30px;
    height: 30px;
    flex-shrink: 0;
  }

  body.ranking-page .row-detail-indicator {
    display: inline-flex;
    flex-shrink: 0;
  }
}

body.ranking-page .score-table:not(.players) th[data-sort="total"],
body.ranking-page .score-table:not(.players) td.cell-total,
body.ranking-page .score-table.players th[data-sort="total"],
body.ranking-page .score-table.players td.cell-total {
  text-align: left !important;
}

body.ranking-page .score-table:not(.players) td.cell-total .mobile-total-stack,
body.ranking-page .score-table.players td.cell-total .mobile-total-stack {
  justify-content: flex-start !important;
  padding-right: 0 !important;
}

@media (max-width: 760px) {
  body.ranking-page .score-table:not(.players) th[data-sort="total"],
  body.ranking-page .score-table:not(.players) td.cell-total {
    width: 5.7rem !important;
    min-width: 5.7rem !important;
    max-width: 5.7rem !important;
  }

  body.ranking-page .score-table:not(.players) .team-chip,
  body.ranking-page .score-table:not(.players) .team-name {
    min-width: 0 !important;
  }
}

/* Switch to the compact leaderboard before the four scoring metrics crowd. */
@media (min-width: 941px) {
  body.ranking-page .score-table .col-rank,
  body.ranking-page .score-table .cell-rank {
    width: 6.25rem !important;
    min-width: 6.25rem !important;
    max-width: 6.25rem !important;
    box-sizing: border-box;
    text-align: center !important;
  }

  body.ranking-page .score-table thead th.col-rank,
  body.ranking-page .score-table td.cell-rank {
    padding-left: 1.1rem !important;
    padding-right: 0.7rem !important;
  }

  body.ranking-page .score-table td.cell-rank .rank-badge {
    margin-inline: auto;
  }
}

@media (max-width: 940px) {
  body.ranking-page .table-shell {
    overflow-x: hidden;
  }

  body.ranking-page .score-table,
  body.ranking-page .score-table.players,
  body.ranking-page .score-table:not(.players) {
    width: 100% !important;
    min-width: 100% !important;
    table-layout: auto !important;
  }

  body.ranking-page .score-table.players thead th:nth-child(2),
  body.ranking-page .score-table.players td.cell-avatar,
  body.ranking-page .score-table.players th[data-sort="league"],
  body.ranking-page .score-table.players td.cell-league,
  body.ranking-page .score-table.players th[data-sort="event"],
  body.ranking-page .score-table.players td.cell-event,
  body.ranking-page .score-table.players th[data-sort="clash"],
  body.ranking-page .score-table.players td.cell-player-clash,
  body.ranking-page .score-table:not(.players) th[data-sort="captain"],
  body.ranking-page .score-table:not(.players) td.cell-captain,
  body.ranking-page .score-table:not(.players) th[data-sort="playerSum"],
  body.ranking-page .score-table:not(.players) td.cell-player-sum,
  body.ranking-page .score-table:not(.players) th[data-sort="clashPoints"],
  body.ranking-page .score-table:not(.players) td.cell-clash,
  body.ranking-page .score-table:not(.players) th[data-sort="storePoints"],
  body.ranking-page .score-table:not(.players) td.cell-store-points {
    display: none;
  }

  body.ranking-page .score-table.players th[data-sort="country"],
  body.ranking-page .score-table.players td.cell-country {
    display: table-cell;
  }

  body.ranking-page .score-table .col-rank,
  body.ranking-page .score-table .cell-rank {
    width: 4rem !important;
    min-width: 4rem !important;
    max-width: 4rem !important;
    box-sizing: border-box;
    text-align: center !important;
  }

  body.ranking-page .score-table thead th.col-rank {
    padding-left: 0.45rem !important;
    padding-right: 0.45rem !important;
  }

  body.ranking-page .score-table td.cell-rank {
    padding-left: 0.45rem !important;
    padding-right: 0.45rem !important;
  }

  body.ranking-page .score-table td.cell-rank .rank-badge {
    margin-inline: auto;
  }

  body.ranking-page .score-table:not(.players) th[data-sort="total"],
  body.ranking-page .score-table:not(.players) td.cell-total {
    width: 5.4rem !important;
    min-width: 5.4rem !important;
    max-width: 5.4rem !important;
    padding-left: 0.45rem !important;
    padding-right: 0.55rem !important;
  }

  body.ranking-page .score-table.players th[data-sort="total"],
  body.ranking-page .score-table.players td.cell-total {
    width: 4.8rem !important;
    min-width: 4.8rem !important;
    max-width: 4.8rem !important;
    padding-left: 0.4rem !important;
    padding-right: 0.5rem !important;
  }

  body.ranking-page .score-table td.cell-total .mobile-total-stack {
    justify-content: flex-start !important;
    gap: 0.28rem !important;
  }

  body.ranking-page .avatar-inline-mobile,
  body.ranking-page .row-detail-indicator {
    display: inline-flex;
  }

  body.ranking-page .team-row,
  body.ranking-page .player-row {
    cursor: pointer;
  }
}

@media (max-width: 520px) {
  body.ranking-page .score-table.players th[data-sort="country"],
  body.ranking-page .score-table.players td.cell-country {
    width: 3.25rem !important;
    min-width: 3.25rem !important;
    max-width: 3.25rem !important;
    padding-left: 0.1rem !important;
    padding-right: 0.1rem !important;
  }

  body.ranking-page .score-table.players th[data-sort="total"],
  body.ranking-page .score-table.players td.cell-total {
    width: 4.5rem !important;
    min-width: 4.5rem !important;
    max-width: 4.5rem !important;
  }
}
