/* Rainbow Rampage V2 homepage layer */
.leaderboard-section{
  position:relative;
  padding:70px 20px 90px;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 10%,rgba(255,0,212,.17),transparent 28%),
    radial-gradient(circle at 85% 80%,rgba(0,234,255,.12),transparent 30%),
    #050008;
  border-top:8px solid #fff;
  border-bottom:8px solid #fff;
}
.leaderboard-section::before,.leaderboard-section::after{
  content:"";position:absolute;left:-4%;right:-4%;height:18px;background:#050008;transform:rotate(-.7deg);z-index:1
}
.leaderboard-section::before{top:-10px}.leaderboard-section::after{bottom:-10px;transform:rotate(.6deg)}
.lb-wrap{position:relative;z-index:2;width:min(1040px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:34px;align-items:center}
.lb-copy .section-kicker{text-align:left;margin-bottom:14px;color:#ff2ad4}
.lb-title{margin:0;font:1000 clamp(52px,8vw,104px)/.82 Impact,"Arial Black",sans-serif;text-transform:uppercase;letter-spacing:-2px;text-shadow:6px 6px 0 #000,9px 9px 0 #ff006e}
.lb-title span{display:block;color:#dfff00;transform:rotate(-2deg);transform-origin:left center;text-shadow:6px 6px 0 #000,0 0 25px rgba(223,255,0,.4)}
.lb-copy p{max-width:520px;font:700 17px/1.55 Arial,sans-serif;color:rgba(255,255,255,.75)}
.lb-copy .mini-cta{display:inline-block;margin-top:10px;padding:15px 20px;background:#fff200;color:#050005;border:3px solid #fff;box-shadow:7px 7px 0 #000;text-decoration:none;font:1000 18px/1 "Arial Black",sans-serif;transform:rotate(-1deg)}
.lb-board{background:#08070b;border:4px solid #fff;border-radius:18px;box-shadow:13px 13px 0 #000,0 0 0 4px #ff00bd,0 0 36px rgba(255,0,189,.28);overflow:hidden;transform:rotate(.7deg)}
.lb-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;background:linear-gradient(90deg,#16121d,#08070b);border-bottom:3px solid #fff;font:1000 13px/1 "Arial Black",sans-serif;letter-spacing:1.5px}
.lb-head strong{font-size:21px;color:#fff}.lb-status{color:#80ff4b}
.lb-list{padding:9px}
.lb-row{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;min-height:62px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.025)}
.lb-row:last-child{border-bottom:0}.lb-row.is-king{background:linear-gradient(90deg,rgba(255,221,0,.17),rgba(255,0,189,.06));box-shadow:inset 4px 0 0 #ffd900}
.lb-rank{font:1000 20px/1 "Arial Black",sans-serif;text-align:center}.lb-player{min-width:0}.lb-player strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:1000 16px/1.05 "Arial Black",sans-serif}.lb-player small{display:block;margin-top:5px;color:#ad9fba;font:800 10px/1 Arial,sans-serif;letter-spacing:.6px}.lb-score{font:1000 18px/1 "Arial Black",sans-serif;color:#fff200;text-shadow:2px 2px 0 #000}.lb-empty{padding:42px 20px;text-align:center;font:1000 18px/1.4 "Arial Black",sans-serif;color:#fff}.lb-empty small{color:#9e91a7;font-size:11px}

/* Homepage asset cleanup: logo.webp still contains baked black pixels, so screen them out
   against the dark hero rather than presenting them as rectangular cards. */
.nav-logo,.main-logo,footer img{
  background:transparent!important;
  mix-blend-mode:screen;
}

/* 2026 homepage hierarchy pass */
.hero{
  min-height:94vh;
}

.hero::before{
  background:
    linear-gradient(to bottom,rgba(0,0,0,.15) 0%,rgba(0,0,0,.26) 44%,rgba(0,0,0,.88) 100%),
    linear-gradient(90deg,rgba(0,0,0,.54),transparent 36%,transparent 64%,rgba(0,0,0,.48)),
    radial-gradient(circle at 50% 48%,transparent 0%,rgba(0,0,0,.18) 44%,rgba(0,0,0,.72) 100%);
}

.hero::after{
  opacity:.34;
}

.nav{
  padding-top:18px;
}

.nav-actions a{
  background:rgba(3,0,5,.64);
  border-color:rgba(255,255,255,.2);
  box-shadow:none;
}

.nav-play{
  transform:none!important;
  box-shadow:0 0 18px rgba(255,0,212,.26)!important;
}

.hero-inner{
  min-height:calc(94vh - 102px);
  padding-bottom:54px;
}

.eyebrow{
  padding:9px 15px;
  border-width:1px;
  background:rgba(0,0,0,.7);
  color:#fff;
  box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 24px rgba(255,0,212,.2);
  transform:none;
}

.live-dot{
  background:#70ff47;
  box-shadow:0 0 0 4px rgba(112,255,71,.14),0 0 14px rgba(112,255,71,.8);
}

.main-logo{
  width:min(760px,92vw);
  margin:14px 0 8px;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.56)) drop-shadow(0 0 24px rgba(255,0,212,.38));
  animation:none;
}

.lead{
  max-width:680px;
  font-size:clamp(17px,2vw,22px);
  font-weight:800;
  color:rgba(255,255,255,.88);
}

.lead strong{
  color:#fff;
  text-shadow:none;
}

.play-zone{
  margin-top:25px;
}

.mega-play{
  width:min(560px,100%);
  min-height:88px;
  gap:16px;
  padding:15px 24px;
  border:3px solid #fff;
  border-radius:20px;
  box-shadow:0 8px 0 #000,0 0 0 2px rgba(0,0,0,.3),0 0 26px rgba(255,0,212,.38);
  animation:none;
}

.mega-play::before{
  opacity:.45;
  animation:buttonShine 5.2s ease-in-out infinite;
}

.mega-play:hover{
  transform:translateY(-4px) scale(1.015);
  box-shadow:0 11px 0 #000,0 0 0 2px rgba(0,0,0,.3),0 0 38px rgba(255,0,212,.52);
}

.play-icon{
  width:52px;
  height:52px;
  font-size:24px;
}

.play-copy strong{
  font-size:clamp(23px,3.2vw,34px);
}

.play-copy small{
  color:rgba(0,0,0,.72);
  letter-spacing:.85px;
}

.play-hint{
  margin-top:14px;
  color:rgba(255,255,255,.64);
  font-size:11px;
  letter-spacing:1.7px;
  text-shadow:none;
  animation:none;
}

.secondary-actions{
  margin-top:18px;
  opacity:.8;
}

.secondary-actions .btn{
  min-width:146px;
  padding:12px 17px;
  border-radius:14px;
  box-shadow:0 5px 0 #000;
}

.strap{
  margin-top:22px;
  padding:10px 15px;
  font-size:clamp(15px,2.2vw,22px);
  color:rgba(255,255,255,.76);
  border-top:1px solid rgba(255,0,212,.65);
  border-bottom:1px solid rgba(0,247,255,.65);
  box-shadow:none;
  transform:none;
}

.poster-section{
  padding-top:88px;
}

.section-kicker{
  margin-bottom:14px;
  color:#ff3bd7;
}

.section-title{
  margin-bottom:42px;
  font-size:clamp(46px,7vw,80px);
  letter-spacing:-1px;
  text-shadow:4px 4px 0 #000;
}

.poster-wrap{
  transform:none;
  border-radius:24px;
  box-shadow:0 22px 60px rgba(0,0,0,.46),0 0 46px rgba(255,0,212,.14);
}

.poster-wrap img{
  border-radius:20px;
}

.info-grid{
  gap:20px;
  margin-top:34px;
}

article{
  min-height:194px;
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),rgba(0,0,0,.64);
  box-shadow:0 16px 34px rgba(0,0,0,.38);
}

article::before{
  opacity:.46;
}

article h2{
  font-size:clamp(32px,4vw,48px);
}

.leaderboard-section{
  margin-top:34px;
  border-top:3px solid rgba(255,255,255,.88);
  border-bottom:3px solid rgba(255,255,255,.88);
}

.lb-board{
  transform:none;
  box-shadow:10px 10px 0 #000,0 0 0 2px #ff00bd,0 0 28px rgba(255,0,189,.18);
}

.bottom-play-wrap{
  margin-top:20px;
}

.mega-play-bottom{
  width:min(520px,100%);
}

@media(max-width:780px){
  .lb-wrap{grid-template-columns:1fr}.lb-copy{text-align:center}.lb-copy .section-kicker{text-align:center}.lb-copy p{margin-left:auto;margin-right:auto}.lb-title{font-size:clamp(50px,15vw,82px)}.lb-board{transform:none}.leaderboard-section{padding-top:55px}
  /* The rotating conic pseudo-element is the stray outlined/floating circle visible on mobile. */
  .hero::after{display:none!important;content:none!important;animation:none!important}
  .nav-logo,.main-logo{mix-blend-mode:screen;filter:drop-shadow(0 0 10px rgba(255,255,255,.35)) drop-shadow(0 0 22px rgba(255,0,212,.4))}

  .hero{min-height:auto}
  .nav{width:min(100% - 22px,1180px);padding-top:12px}
  .nav-logo{width:126px}
  .nav-actions{gap:7px}
  .nav-actions a{padding:8px 10px;font-size:10px}
  .hero-inner{min-height:auto;padding:48px 0 58px}
  .eyebrow{font-size:11px;letter-spacing:2px}
  .main-logo{width:min(96vw,560px);margin-top:16px}
  .lead{max-width:92%;font-size:16px}
  .play-zone{width:min(94vw,520px)}
  .mega-play{min-height:80px;padding:13px 15px;border-radius:17px}
  .play-icon{width:46px;height:46px;font-size:21px}
  .play-copy strong{font-size:clamp(21px,7vw,29px)}
  .play-copy small{font-size:9px}
  .play-hint{font-size:9px}
  .secondary-actions{margin-top:15px}
  .secondary-actions .btn{min-width:126px;padding:11px 14px;font-size:11px}
  .strap{max-width:92%;font-size:14px}
  .poster-section{padding-top:58px}
  .section-title{margin-bottom:28px}
  .info-grid{margin-top:24px}
}
