@keyframes livepulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 45, 107, .6)
  }

  70% {
    box-shadow: 0 0 0 7px transparent
  }

  to {
    box-shadow: 0 0 0 0 transparent
  }
}

@keyframes lpulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 45, 107, .6)
  }

  70% {
    box-shadow: 0 0 0 7px transparent
  }

  to {
    box-shadow: 0 0 0 0 transparent
  }
}

@keyframes slideup {
  0% {
    transform: translateY(100%)
  }

  to {
    transform: translateY(0)
  }
}

:root {
  --faint: rgba(255, 255, 255, .04);
  --border2: rgba(255, 255, 255, .13);
  --nav-h: 62px;
  --bb-h: 68px;
  --sb-w: 264px;
  --text-dim: #3d4f72;
  --bg: #07070b;
  --bg2: #0d0d14;
  --bg3: #12121c;
  --bg4: #181826;
  --electric: #00ff88;
  --blue: #00c2ff;
  --hot: #ff2d6b;
  --purple: #9d4eff;
  --amber: #ffb700;
  --text: #eeeaf8;
  --muted: #6b6b8f;
  --dim: #2a2a3e;
  --border: rgba(255, 255, 255, 0.07);
  --border2: rgba(255, 255, 255, 0.13);
  --faint: rgba(255, 255, 255, 0.04);
  --r: 10px;
  --rL: 16px;
  --rXL: 20px;
  --fd: 'Bebas Neue', sans-serif;
  --fu: 'Exo 2', sans-serif;
  --fm: 'DM Mono', monospace;
  --nav-h: 62px;
  --bb-h: 68px;
  --sb-w: 264px;
  --text-dim: #3d4f72;
  --nav:58px; --mob-cta:80px;

  /* tournament accent — swap per game */
  --accent:var(--electric);
  --accent-glow:rgba(0,255,136,.15);
  --accent-soft:rgba(0,255,136,.08);
   --my-bar:72px;--bb:64px;
}


*,
::after,
::before {
  box-sizing: border-box;
  margin: 0;
  padding: 0
}

html {
  scroll-behavior: smooth
}

body,
button{cursor:pointer;font-family:var(--fu)}
body {
  line-height: 1.6;
  background: var(--bg);
  color: var(--text);
  font-size: 16px;
  overflow-x: hidden
}

a {
  color: inherit;
  text-decoration: none
}


.top-nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 300;
  height: var(--nav-h);
  padding: 0 32px;
  align-items: center;
  justify-content: space-between;
  background: rgba(7, 7, 11, .9);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--border)
}

@media (min-width:1024px) {
  .top-nav {
    display: flex
  }
}

.tn-logo {
  font-family: var(--fd);
  font-size: 26px;
  letter-spacing: .04em;
  color: var(--electric);
  text-shadow: 0 0 20px rgba(0, 255, 136, .35)
}

.mob-logo span,
.msb-logo .logo-mark span,
.tn-logo span {
  color: var(--muted)
}

.btn,
.tn-right {
  align-items: center
}

.tn-right {
  display: flex;
  gap: 10px
}

.btn {
  display: inline-flex;
  gap: 7px;
  font-family: var(--fu);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 9px 20px;
  border-radius: var(--r);
  border: 0;
  cursor: pointer;
  transition: all .2s
}

.btn-ghost {
  background: 0 0;
  color: var(--muted);
  border: 1px solid var(--border2)
}

.btn-ghost:hover {
  color: var(--text);
  border-color: rgba(255, 255, 255, .25)
}

.btn-primary {
  background: var(--electric);
  color: #000;
  box-shadow: 0 0 20px rgba(0, 255, 136, .3)
}

.btn-primary:hover {
  background: #1affa0;
  transform: translateY(-1px);
  box-shadow: 0 0 32px rgba(0, 255, 136, .45)
}

.btn-primary:active {
  transform: translateY(0)
}

.btn-outline {
  background: 0 0;
  color: var(--electric);
  border: 1.5px solid rgba(0, 255, 136, .4)
}

.btn-outline:hover {
  background: rgba(0, 255, 136, .06)
}

.tn-notif {
  position: relative;
  width: 36px;
  height: 36px;
  border-radius: var(--r);
  background: var(--faint);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  cursor: pointer
}

.notif-dot {
  position: absolute;
  top: 7px;
  right: 8px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--hot);
  border: 1.5px solid var(--bg2)
}

.mob-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 56px;
  padding: 0 16px;
  background: rgba(7, 7, 11, .92);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 200
}

@media (min-width:1024px) {
  .mob-topbar {
    display: none
  }
}

.mob-logo {
  font-family: var(--fd);
  font-size: 23px;
  color: var(--electric);
  letter-spacing: .04em
}

.mob-bell,
.mob-right {
  display: flex;
  align-items: center
}

.mob-right {
  gap: 8px
}

.mob-bell {
  position: relative;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: var(--faint);
  border: 1px solid var(--border);
  justify-content: center;
  font-size: 15px
}

.mob-bell .notif-dot {
  top: 6px;
  right: 7px
}

.mob-play {
  padding: 7px 14px;
  border-radius: var(--r);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  border: 0;
  background: var(--electric);
  color: #000;
  box-shadow: 0 0 14px rgba(0, 255, 136, .3)
}

.hamburger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: var(--faint);
  border: 1px solid var(--border);
  padding: 0 8px;
  cursor: pointer;
  flex-shrink: 0
}

.hamburger span {
  display: block;
  height: 2px;
  background: var(--muted);
  border-radius: 2px;
  transition: all .25s
}

.hamburger.open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
  background: var(--electric)
}

.hamburger.open span:nth-child(2) {
  opacity: 0
}

.hamburger.open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
  background: var(--electric)
}

.mob-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 400;
  background: rgba(0, 0, 0, .7);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity .3s
}

.mob-overlay.open {
  display: block;
  opacity: 1
}

.mob-sidebar {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 500;
  width: var(--sb-w);
  max-width: 85vw;
  background: var(--bg2);
  border-right: 1px solid var(--border2);
  transform: translateX(-100%);
  transition: transform .3s cubic-bezier(.4, 0, .2, 1);
  overflow-y: auto;
  scrollbar-width: none
}

.mob-sidebar::-webkit-scrollbar {
  display: none
}

.mob-sidebar.open {
  transform: translateX(0)
}

@media (min-width:1024px) {

  .mob-overlay,
  .mob-sidebar {
    display: none !important
  }
}

.msb-logo {
  padding: 24px 20px 18px;
  border-bottom: 1px solid var(--border)
}

.msb-logo .logo-mark {
  font-family: var(--fd);
  font-size: 26px;
  letter-spacing: .04em;
  color: var(--electric);
  text-shadow: 0 0 18px rgba(0, 255, 136, .35);
  line-height: 1
}

.msb-logo .logo-sub {
  margin-top: 4px
}

.msb-section {
  padding: 18px 14px 6px
}

.msb-logo .logo-sub,
.msb-sec-label {
  font-family: var(--fm);
  font-size: 10px;
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase
}

.msb-sec-label {
  padding: 0 8px;
  margin-bottom: 6px
}

.msb-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: var(--r);
  font-size: 14px;
  font-weight: 600;
  color: var(--muted);
  transition: all .18s;
  position: relative
}

.msb-item:hover {
  background: var(--faint);
  color: var(--text)
}

.msb-item.active {
  background: rgba(0, 255, 136, .08);
  color: var(--electric);
  border: 1px solid rgba(0, 255, 136, .15)
}

.msb-icon {
  font-size: 18px;
  width: 22px;
  text-align: center;
  flex-shrink: 0
}

.msb-badge {
  margin-left: auto;
  background: var(--hot);
  color: #fff;
  font-family: var(--fm);
  font-size: 10px;
  padding: 2px 7px;
  border-radius: 20px
}

.msb-spacer {
  flex: 1
}

.msb-live {
  margin: 0 14px 14px;
  padding: 14px;
  background: rgba(255, 45, 107, .06);
  border: 1px solid rgba(255, 45, 107, .15);
  border-radius: var(--r)
}

.msb-live-h {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px
}

.dot-live {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--hot);
  animation: livepulse 1.4s ease infinite
}

.msb-live-lbl {
  font-size: 11px;
  font-weight: 700;
  color: var(--hot)
}

.msb-live-num {
  font-family: var(--fd);
  font-size: 28px;
  line-height: 1;
  color: var(--text)
}

.msb-live-sub {
  font-size: 11px;
  color: var(--muted)
}

.msb-av,
.msb-user {
  display: flex;
  align-items: center
}

.msb-user {
  padding: 14px;
  border-top: 1px solid var(--border);
  gap: 11px
}

.msb-av {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 255, 136, .12);
  border: 2px solid rgba(0, 255, 136, .25);
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0
}

.msb-uname {
  font-size: 13px;
  font-weight: 700
}

.msb-ubal {
  font-family: var(--fm);
  font-size: 11px;
  color: var(--electric)
}

.msb-gear {
  margin-left: auto;
  color: var(--muted);
  font-size: 16px
}

@media (min-width:1024px) {
  .bottom-bar {
    display: none
  }
}

.bb-btn {
  border-radius: var(--r);
  cursor: pointer;
  position: relative
}

.bb-badge {
  position: absolute;
  top: 3px;
  right: calc(50% - 26px);
  background: var(--hot);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  font-family: var(--fm);
  min-width: 16px;
  height: 16px;
  border-radius: 8px;
  padding: 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--bg2)
}

.page-wrap {
  min-height: 100svh
}

@media (min-width:1024px) {
  .page-wrap {
    padding-top: var(--nav-h)
  }
}

.page-main {
  padding-bottom: calc(var(--bb-h) + 8px)
}

@media (min-width:1024px) {
  .page-main {
    padding-bottom: 0
  }
}

.container {
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 10px
}

.tag {
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase
}

.tag-live {
  background: rgba(255, 45, 107, .12);
  color: var(--hot);
  border: 1px solid rgba(255, 45, 107, .25)
}

.hero h1 .e,
.tag-g {
  color: var(--electric)
}

.tag-g {
  background: rgba(0, 255, 136, .08);
  border: 1px solid rgba(0, 255, 136, .2)
}

.tag-b {
  background: rgba(0, 194, 255, .08);
  color: var(--blue);
  border: 1px solid rgba(0, 194, 255, .2)
}

.tag-p {
  background: rgba(157, 78, 255, .1);
  color: var(--purple);
  border: 1px solid rgba(157, 78, 255, .25)
}

.tag-a {
  background: rgba(255, 183, 0, .1);
  color: var(--amber);
  border: 1px solid rgba(255, 183, 0, .25)
}

.tag-dim {
  background: var(--faint);
  color: var(--muted);
  border: 1px solid var(--border)
}

.pdot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  animation: livepulse 1.4s ease infinite
}

.sec-lbl {
  font-family: var(--fm);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--electric);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px
}

.sec-lbl::before {
  content: "";
  width: 20px;
  height: 1px;
  background: var(--electric)
}

.hero h1,
h2.sec-ttl {
  font-family: var(--fd)
}

h2.sec-ttl {
  font-size: clamp(32px, 5vw, 52px);
  letter-spacing: .02em;
  line-height: 1;
  color: var(--text);
  margin-bottom: 6px
}

.sec-sub {
  color: var(--muted);
  font-size: 14px;
  max-width: 460px
}

.rv {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .5s ease, transform .5s ease
}

.rv.vis {
  opacity: 1;
  transform: none
}

.hero {
  padding: 52px 20px 64px;
  position: relative;
  overflow: hidden;
  min-height: calc(100svh - 56px);
  display: flex;
  align-items: center
}

@media (min-width:1024px) {
  .hero {
    min-height: 100vh;
    padding-top: 72px
  }
}

.hero-grid {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(0, 255, 136, .025) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 255, 136, .025) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(ellipse 90% 70%at 50% 40%, #000, transparent)
}

.hero-glow {
  position: absolute;
  top: 5%;
  left: 42%;
  width: 700px;
  height: 500px;
  background: radial-gradient(ellipse, rgba(0, 255, 136, .07)0, transparent 65%);
  pointer-events: none
}

.hero-inner {
  position: relative;
  z-index: 1;
  width: 100%
}

.hero-cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 44px;
  align-items: center
}

@media (min-width:900px) {
  .hero-cols {
    grid-template-columns: 1fr 360px;
    gap: 52px
  }
}

.hero-eye {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 20px
}

.hero h1 {
  font-size: clamp(58px, 13vw, 110px);
  line-height: .9;
  letter-spacing: .01em;
  margin-bottom: 22px
}

.hero h1 .e {
  text-shadow: 0 0 36px rgba(0, 255, 136, .4)
}

.hero h1 .b {
  color: var(--blue);
  text-shadow: 0 0 36px rgba(0, 194, 255, .3)
}

.hero-sub {
  font-size: clamp(14px, 2vw, 17px);
  color: var(--muted);
  max-width: 440px;
  margin-bottom: 30px;
  line-height: 1.7
}

.hero-ctas {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 36px
}

.hero-ctas .btn {
  padding: 13px 26px;
  font-size: 14px
}
.stat-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
  /* stats row */
.tc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border-radius:8px;overflow:hidden}
.tc-stat{background:var(--bg4);padding:8px 10px;text-align:center}
.tc-stat-lbl{font-family:var(--fm);font-size:9px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px}
.tc-stat-val{font-size:13px;font-weight:700}
.tc-stat-val.g{color:var(--electric)}.tc-stat-val.b{color:var(--blue)}.tc-stat-val.a{color:var(--amber)}.tc-stat-val.h{color:var(--hot)}

.stat-chip {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 14px 16px
}

.sc-lbl {
  font-family: var(--fm);
  font-size: 10px;
  color: var(--muted);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 4px
}

.sc-val {
  font-family: var(--fd);
  font-size: clamp(20px, 3vw, 28px);
  letter-spacing: .02em
}

.sc-val.g,
.tc-stat .v.g {
  color: var(--electric)
}

.sc-val.b {
  color: var(--blue)
}

.sc-val.a {
  color: var(--amber)
}

.qj {
  background: var(--bg3);
  border: 1px solid var(--border2);
  border-radius: var(--rL);
  overflow: hidden
}

.qj-hd {
  padding: 18px 20px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between
}

.qj-ttl {
  font-size: 15px;
  font-weight: 700
}

.qj-sub {
  font-size: 12px;
  color: var(--muted)
}

.qj-list {
  padding: 10px
}

.qj-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 10px;
  border-radius: var(--r);
  transition: background .15s;
  cursor: pointer
}

.qj-row:hover {
  background: var(--faint)
}

.qj-ft .btn,
.qj-ico {
  justify-content: center
}

.qj-ico {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  font-size: 20px;
  flex-shrink: 0
}

.qj-name {
  font-size: 13px;
  font-weight: 700
}

.qj-meta,
.qj-prize {
  font-size: 11px;
  color: var(--muted);
  font-family: var(--fm)
}

.qj-prize {
  font-size: 12px;
  color: var(--electric);
  font-weight: 500;
  white-space: nowrap
}

.qj-ft {
  padding: 14px;
  border-top: 1px solid var(--border)
}

.qj-ft .btn {
  width: 100%;
  padding: 12px;
  font-size: 14px
}

.tournaments {
  padding: 64px 0
}

.filter-bar {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  padding: 0 20px;
  margin-top: 28px;
  margin-bottom: 24px
}

@media (min-width:600px) {
  .t-grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (min-width:1024px) {
  .t-grid {
    grid-template-columns: repeat(3, 1fr)
  }
}

.tc {
  cursor: pointer
}

.tc-bar {
  height: 3px
}

.tc-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 14px
}

.tc-ico {
  width: 46px;
  height: 46px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px
}

.tc-name {
  font-size: 17px;
  font-weight: 700;
  margin: 12px 0 2px
}

.tc-mode,
.tc-stat label {
  font-size: 12px;
  color: var(--muted);
  font-family: var(--fm)
}

.tc-div {
  height: 1px;
  background: var(--border);
  margin: 14px 0
}

.tc-stats {
  grid-template-columns: 1fr 1fr
}

.tc-stat label {
  font-size: 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 2px
}

.tc-stat .v {
  font-size: 15px;
  font-weight: 700
}

.fill-wrap {
  margin: 14px 0 0;
  height: 4px;
  background: var(--border);
  border-radius: 2px;
  overflow: hidden
}

.fill-inner {
  height: 100%;
  border-radius: 2px;
  transition: width .6s ease
}

.tc-ft {
  padding: 12px 18px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px
}

.tc-time-lbl {
  font-family: var(--fm);
  font-size: 10px;
  color: var(--muted)
}

.tc-time-val {
  font-family: var(--fm);
  font-size: 13px;
  font-weight: 500
}

.tc-enter {
  padding: 9px 16px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  border: 1px solid var(--border2);
  background: var(--faint);
  color: var(--text);
  transition: all .2s;
  white-space: nowrap
}

.tc-enter:hover {
  background: var(--electric);
  color: #000;
  border-color: var(--electric);
  box-shadow: 0 0 16px rgba(0, 255, 136, .3)
}

.acc-g {
  background: linear-gradient(90deg, var(--electric), transparent)
}

.bg-g {
  background: rgba(0, 255, 136, .08)
}

.acc-b {
  background: linear-gradient(90deg, var(--blue), transparent)
}

.bg-b {
  background: rgba(0, 194, 255, .08)
}

.acc-h {
  background: linear-gradient(90deg, var(--hot), transparent)
}

.acc-p {
  background: linear-gradient(90deg, var(--purple), transparent)
}

.acc-a {
  background: linear-gradient(90deg, var(--amber), transparent)
}

.acc-m {
  background: linear-gradient(90deg, var(--muted), transparent)
}

.gb1 {
  background: linear-gradient(135deg, #0d1f3c, #1a3a5c)
}

.gb2 {
  background: linear-gradient(135deg, #1f0d3c, #3c1a5c)
}

.gb3 {
  background: linear-gradient(135deg, #0d3c1a, #1a5c2e)
}

.gb4 {
  background: linear-gradient(135deg, #3c1a0d, #5c2e1a)
}

.gb5 {
  background: linear-gradient(135deg, #0d3c3c, #1a5c5c)
}

.gb6 {
  background: linear-gradient(135deg, #3c2a0d, #5c4a1a)
}

.gb7 {
  background: linear-gradient(135deg, #1a0d3c, #2e1a5c)
}

.gb8 {
  background: linear-gradient(135deg, #3c1a2e, #5c1a40)
}

.how {
  padding: 64px 0;
  background: var(--bg2);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border)
}

.how-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  background: var(--border);
  border-radius: var(--rL);
  overflow: hidden;
  margin-top: 40px
}

@media (min-width:768px) {
  .how-grid {
    grid-template-columns: repeat(3, 1fr)
  }
}

.how-step {
  background: var(--bg2);
  padding: 32px 28px
}

.step-n {
  font-family: var(--fd);
  font-size: 64px;
  line-height: 1;
  color: rgba(255, 255, 255, .05);
  margin-bottom: 14px
}

.step-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--fm);
  font-size: 11px;
  padding: 6px 12px;
  border-radius: 20px;
  margin-bottom: 14px
}

.chip-g {
  background: rgba(0, 255, 136, .08);
  color: var(--electric);
  border: 1px solid rgba(0, 255, 136, .2)
}

.chip-b {
  background: rgba(0, 194, 255, .08);
  color: var(--blue);
  border: 1px solid rgba(0, 194, 255, .2)
}

.chip-h {
  background: rgba(255, 45, 107, .08);
  color: var(--hot);
  border: 1px solid rgba(255, 45, 107, .2)
}

.step-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px
}

.step-desc {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.75
}

.games {
  padding: 64px 0
}

.g-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: 0;
  margin-top: 32px
}

@media (min-width:600px) {
  .g-grid {
    grid-template-columns: repeat(3, 1fr)
  }
}

@media (min-width:900px) {
  .g-grid {
    grid-template-columns: repeat(6, 1fr)
  }
}

.gc {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--rL);
  overflow: hidden;
  cursor: pointer;
  transition: transform .2s, border-color .2s
}

.gc:hover {
  transform: translateY(-4px);
  border-color: var(--border2)
}

.g-thumb {
  aspect-ratio: 1;
  font-size: 36px;
  position: relative
}

.g-ov,
.g-play,
.g-thumb {
  display: flex;
  align-items: center;
  justify-content: center
}

.g-ov {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .2s;
  background: rgba(0, 0, 0, .55)
}

.gc:hover .g-ov {
  opacity: 1
}

.g-play {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--electric);
  color: #000;
  font-size: 15px
}

.g-info {
  padding: 10px 12px 12px
}

.g-name {
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 1px
}

.g-tag {
  font-size: 10px;
  color: var(--muted);
  font-family: var(--fm)
}

.gc.soon {
  opacity: .4
}

.leaderboard {
  padding: 64px 0;
  background: var(--bg2);
  border-top: 1px solid var(--border)
}

.lb-tabs {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-bottom: 24px;
  padding: 0 20px
}

.lb-tab,
.lb-wrap {
  border: 1px solid var(--border)
}

.lb-tab {
  padding: 7px 16px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  background: 0 0;
  color: var(--muted);
  transition: all .18s;
  cursor: pointer
}

.lb-tab.active {
  background: rgba(0, 255, 136, .1);
  color: var(--electric);
  border-color: rgba(0, 255, 136, .25)
}

.lb-wrap {
  margin: 0 20px;
  background: var(--bg3);
  border-radius: var(--rL);
  overflow: hidden
}

.lb-hd,
.lb-row {
  display: grid;
  grid-template-columns: 44px 1fr 90px;
  padding: 12px 20px;
  align-items: center
}

@media (min-width:580px) {

  .lb-hd,
  .lb-row {
    grid-template-columns: 44px 1fr 110px 100px 90px
  }

  .lbx {
    display: block !important
  }
}

.lbx {
  display: none
}

.lb-hd,
.lb-row {
  border-bottom: 1px solid var(--border)
}

.lb-hd {
  background: var(--faint);
  font-family: var(--fm);
  font-size: 10px;
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase
}

.lb-row {
  transition: background .15s;
  cursor: pointer
}

.lb-row:last-child {
  border-bottom: none
}

.lb-row:hover {
  background: var(--faint)
}

.lb-rank {
  font-family: var(--fd);
  font-size: 20px;
  color: var(--muted)
}

.lb-rank.gold {
  color: gold;
  text-shadow: 0 0 12px rgba(255, 215, 0, .4)
}

.lb-rank.silver {
  color: #a8b4c8
}

.lb-rank.bronze {
  color: #cd7f32
}

.lb-av,
.lb-player {
  display: flex;
  align-items: center
}

.lb-player {
  gap: 11px
}

.lb-av {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  justify-content: center;
  font-size: 14px;
  border: 1.5px solid var(--border2);
  flex-shrink: 0
}

.lb-pn {
  font-size: 14px;
  font-weight: 700
}

.lb-hnd {
  font-size: 11px;
  color: var(--muted);
  font-family: var(--fm)
}

.cta-box p,
.lb-game {
  font-size: 12px;
  color: var(--muted)
}

.lb-wins {
  font-size: 13px;
  font-weight: 600;
  color: var(--blue)
}

.lb-earned,
.tn-links>a {
  font-size: 14px;
  font-weight: 700;
  color: var(--electric)
}

.cta-section {
  padding: 80px 20px;
  text-align: center;
  position: relative;
  overflow: hidden
}

.cta-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
  height: 280px;
  background: radial-gradient(ellipse, rgba(0, 255, 136, .05), transparent 70%);
  pointer-events: none
}

.cta-box {
  position: relative;
  max-width: 580px;
  margin: 0 auto;
  padding: 52px 36px;
  background: var(--bg3);
  border: 1px solid rgba(0, 255, 136, .12);
  border-radius: var(--rL)
}

.cta-box h2 {
  font-family: var(--fd);
  font-size: clamp(40px, 7vw, 66px);
  line-height: 1;
  margin-bottom: 14px
}

.cta-box p {
  max-width: 400px;
  margin: 0 auto 28px;
  font-size: 15px
}

.cta-mpesa {
  margin-top: 16px;
  font-family: var(--fm);
  font-size: 11px;
  color: var(--muted);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px
}

.mpesa-badge {
  background: rgba(0, 255, 136, .08);
  color: var(--electric);
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 10px;
  border: 1px solid rgba(0, 255, 136, .2)
}

.tn-links {
  display: flex;
  align-items: center;
  gap: 2px
}

.tn-links>a {
  font-weight: 600;
  color: var(--muted);
  transition: color .2s, background .2s;
  letter-spacing: .02em;
  padding: 8px 12px;
  border-radius: var(--r)
}

.tn-links>a:hover {
  color: var(--text)
}

.tn-links>a.active {
  color: var(--electric)
}

.nd {
  position: relative
}

.nd-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--muted);
  background: 0 0;
  border: 0;
  padding: 8px 12px;
  border-radius: var(--r);
  transition: color .2s, background .2s;
  cursor: pointer;
  letter-spacing: .02em;
  font-family: var(--fu)
}

.nd-trigger.open,
.nd-trigger:hover {
  color: var(--text);
  background: var(--faint)
}

.nd-trigger .nd-caret {
  transition: transform .2s;
  opacity: .55;
  font-size: 10px;
  margin-left: 2px
}

.nd-trigger.open .nd-caret {
  transform: rotate(180deg)
}

.nd-badge {
  background: var(--electric);
  color: #000;
  font-family: var(--fm);
  font-size: 9px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 10px;
  min-width: 18px;
  text-align: center
}

.nd-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  background: var(--bg3);
  border: 1px solid var(--border2);
  border-radius: var(--rL);
  padding: 8px;
  box-shadow: 0 20px 56px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .03);
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .18s, transform .18s;
  z-index: 1000;
  min-width: 240px
}

.nd-panel.open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all
}

.nd-head {
  font-family: var(--fm);
  font-size: 10px;
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 6px 10px 8px
}

.nd-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: var(--r);
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  transition: all .15s;
  cursor: pointer;
  text-decoration: none
}

.nd-item:hover {
  background: var(--faint);
  color: var(--text)
}

.nd-item-ico {
  font-size: 19px;
  width: 24px;
  text-align: center;
  flex-shrink: 0
}

.nd-item-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--text)
}

.nd-item-sub {
  font-size: 11px;
  color: var(--muted);
  font-family: var(--fm);
  margin-top: 1px
}

.nd-item-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 6px
}

.nd-div {
  height: 1px;
  background: var(--border);
  margin: 6px 0
}

.nd-footer {
  padding: 6px 4px 2px
}

.nd-footer .btn {
  width: 100%;
  justify-content: center;
  font-size: 12px;
  padding: 9px
}

.nd--browse .nd-panel {
  min-width: 570px
}

.cat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px;
  padding: 2px 0
}

.cat-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 11px;
  border-radius: var(--r);
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  transition: all .15s;
  cursor: pointer
}

.cat-item:hover {
  background: var(--faint);
  color: var(--text)
}

.cat-ico {
  font-size: 20px;
  width: 26px;
  text-align: center;
  flex-shrink: 0
}

.cat-count {
  font-family: var(--fm);
  font-size: 10px;
  margin-left: auto;
  opacity: .5
}

.nd--tours .nd-panel {
  min-width: 350px
}

.t-live-ico,
.t-live-row {
  display: flex;
  align-items: center
}

.t-live-row {
  gap: 10px;
  padding: 11px 12px;
  border-radius: var(--r);
  transition: background .15s;
  cursor: pointer
}

.t-live-row:hover {
  background: var(--faint)
}

.t-live-ico {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0
}

.t-live-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--text)
}

.t-live-meta,
.t-live-prize {
  font-size: 11px;
  color: var(--muted);
  font-family: var(--fm)
}

.t-live-prize {
  font-size: 12px;
  color: var(--electric);
  font-weight: 500;
  margin-left: auto;
  white-space: nowrap
}

.tn-search-btn {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 16px;
  border-radius: var(--r);
  background: var(--faint);
  border: 1px solid var(--border);
  color: var(--muted);
  font-size: 13px;
  cursor: pointer;
  transition: all .2s;
  font-family: var(--fu);
  min-width: 190px;
  white-space: nowrap
}

.tn-search-btn:hover {
  border-color: var(--border2);
  color: var(--text);
  background: rgba(255, 255, 255, .05)
}

.tn-search-btn .ks {
  margin-left: auto;
  font-family: var(--fm);
  font-size: 10px;
  background: var(--bg4);
  border: 1px solid var(--border2);
  padding: 2px 7px;
  border-radius: 4px;
  color: var(--muted);
  flex-shrink: 0
}

.search-overlay {
  position: fixed;
  inset: 0;
  z-index: 700;
  background: rgba(5, 5, 9, .93);
  backdrop-filter: blur(22px);
  flex-direction: column;
  padding: 72px 20px 40px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s;
  overflow-y: auto
}

.search-overlay.open {
  opacity: 1;
  pointer-events: all
}

.search-overlay,
.so-close,
.so-input-wrap {
  display: flex;
  align-items: center
}

.so-close {
  position: absolute;
  top: 20px;
  right: 24px;
  width: 36px;
  height: 36px;
  border-radius: var(--r);
  background: var(--faint);
  border: 1px solid var(--border);
  justify-content: center;
  font-size: 16px;
  cursor: pointer;
  color: var(--muted);
  transition: all .2s
}

.so-close:hover {
  color: var(--text);
  border-color: var(--border2)
}

.so-input-wrap {
  width: 100%;
  max-width: 640px;
  background: var(--bg3);
  border: 1.5px solid var(--border2);
  border-radius: var(--rL);
  gap: 12px;
  padding: 16px 20px;
  margin-bottom: 20px;
  box-shadow: 0 0 80px rgba(0, 0, 0, .5);
  transition: border-color .2s, box-shadow .2s
}

.so-input-wrap:focus-within {
  border-color: rgba(0, 255, 136, .4);
  box-shadow: 0 0 0 4px rgba(0, 255, 136, .07), 0 0 80px rgba(0, 0, 0, .5)
}

.so-icon {
  font-size: 22px;
  color: var(--muted);
  flex-shrink: 0
}

.so-input {
  flex: 1;
  background: 0 0;
  border: 0;
  outline: 0;
  font-family: var(--fu);
  font-size: 18px;
  color: var(--text)
}

.so-input::placeholder {
  color: var(--muted)
}

.so-esc {
  font-family: var(--fm);
  font-size: 11px;
  color: var(--muted);
  background: var(--bg4);
  border: 1px solid var(--border2);
  padding: 4px 9px;
  border-radius: 6px;
  flex-shrink: 0;
  cursor: pointer;
  transition: color .15s
}

.so-cat:hover,
.so-esc:hover {
  color: var(--text)
}

.so-cats {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  max-width: 640px;
  margin-bottom: 28px
}

.so-cat,
.so-panel {
  border: 1px solid var(--border)
}

.so-cat {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  background: 0 0;
  color: var(--muted);
  transition: all .18s;
  cursor: pointer;
  font-family: var(--fu)
}

.so-cat:hover {
  border-color: var(--border2);
  background: var(--faint)
}

.so-cat.active {
  background: rgba(0, 255, 136, .1);
  color: var(--electric);
  border-color: rgba(0, 255, 136, .3)
}

.so-panel {
  width: 100%;
  max-width: 640px;
  background: var(--bg3);
  border-radius: var(--rL);
  overflow: hidden
}

.so-sec {
  padding: 16px 20px 8px
}

.so-sec+.so-sec {
  border-top: 1px solid var(--border)
}

.so-row,
.so-sec-head {
  display: flex;
  align-items: center
}

.so-sec-head {
  font-family: var(--fm);
  font-size: 10px;
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 10px;
  gap: 8px
}

.so-sec-head .so-head-icon {
  font-size: 13px
}

.so-row {
  gap: 12px;
  padding: 10px 0;
  cursor: pointer
}

.so-row:not(:last-child) {
  border-bottom: 1px solid var(--border)
}

.so-row:hover .so-rname {
  color: var(--electric)
}

.so-rnum {
  font-family: var(--fm);
  font-size: 11px;
  font-weight: 700;
  width: 24px;
  text-align: center;
  flex-shrink: 0
}

.so-rnum.n1 {
  color: var(--hot)
}

.so-rnum.n2 {
  color: var(--amber)
}

.so-rnum.n3 {
  color: var(--blue)
}

.f-links a,
.f-logo span,
.so-rnum.nx,
.tb-logo span {
  color: var(--muted)
}

.so-rico {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0
}

.so-rname {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  transition: color .15s
}

.so-rsub,
.so-rtag {
  font-size: 11px;
  color: var(--muted);
  font-family: var(--fm)
}

.so-rtag {
  margin-left: auto;
  font-size: 10px;
  background: var(--faint);
  border: 1px solid var(--border);
  padding: 3px 8px;
  border-radius: 4px;
  white-space: nowrap
}

.so-recent-ico {
  font-size: 15px;
  color: var(--muted);
  width: 24px;
  text-align: center;
  flex-shrink: 0
}

.so-rdismiss {
  margin-left: auto;
  color: var(--muted);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px
}

.f-links a:hover,
.ph-desc b,
.so-rdismiss:hover {
  color: var(--text)
}

footer {
  padding: 32px 20px;
  border-top: 1px solid var(--border)
}

.fi {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
  align-items: center
}

.f-logo {
  font-family: var(--fd);
  font-size: 20px;
  color: var(--electric)
}

.f-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px
}

.f-links a {
  font-size: 12px;
  transition: color .2s
}

.f-copy {
  font-size: 11px;
  color: var(--muted)
}

.mm-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4px;
  padding: 12px
}

.mm-cat,
.mm-cat-ico {
  display: flex;
  align-items: center
}

.mm-cat {
  gap: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  cursor: pointer;
  text-decoration: none;
  transition: background .15s
}

.mm-cat:hover {
  background: rgba(255, 255, 255, .05)
}

.mm-cat-ico {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  justify-content: center;
  font-size: 17px;
  flex-shrink: 0
}

.mm-cat-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 2px
}

.mm-cat-count {
  font-size: 11px;
  color: var(--text-dim)
}

.mm-featured {
  border-top: 1px solid rgba(255, 255, 255, .06);
  padding: 12px 12px 14px;
  display: flex;
  gap: 8px
}

.mm-feat-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 8px;
  padding: 0 4px
}

.mm-feat-games {
  display: flex;
  gap: 8px
}

.mm-feat-game,
.mm-feat-thumb {
  display: flex;
  align-items: center
}

.mm-feat-game {
  gap: 9px;
  padding: 7px 10px;
  border-radius: 9px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .06);
  cursor: pointer;
  text-decoration: none;
  flex: 1;
  transition: background .15s, border-color .15s
}

.mm-feat-game:hover {
  background: rgba(0, 229, 255, .05);
  border-color: rgba(0, 229, 255, .15)
}

.mm-feat-thumb {
  width: 32px;
  height: 32px;
  border-radius: 7px;
  justify-content: center;
  font-size: 16px
}

.mm-feat-name {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary)
}

.mm-feat-cat {
  font-size: 10px;
  color: var(--text-dim);
  margin-top: 2px
}

/* ── Nav profile avatar & dropdown ── */
.nav-avatar-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: transparent;
  border: none;
  padding: 3px 6px 3px 3px;
  border-radius: 100px;
  cursor: pointer;
  transition: background 0.2s;
  /* override nd-trigger text styles */
  color: var(--muted);
  font-family: var(--fu);
}
.nav-avatar-btn:hover,
.nav-avatar-btn.open {
  background: var(--faint);
}
.nav-avatar-img {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(0, 255, 136, .35);
  display: block;
}
.nav-avatar-initials {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--electric), #00C2FF);
  color: #000;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 2px solid rgba(0, 255, 136, .35);
}
/* Position panel to right-align under avatar */
.nd--profile {
  position: relative;
}
.nd-panel--profile {
  left: auto;
  right: 0;
  min-width: 210px;
}
/* User info block at top of dropdown */
.ndp-user-info {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px 8px;
}
.ndp-avatar-lg {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #024a61, #047540);
  color: #000;
  font-weight: 700;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.ndp-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
}
.ndp-username {
  font-size: 11px;
  color: var(--muted);
  font-family: var(--fm);
  margin-top: 1px;
}
/* Sign-out item gets a red tint on hover */
.ndp-logout:hover {
  color: #ff5f7e !important;
}
.ndp-logout:hover .nd-item-name {
  color: #ff5f7e !important;
}



:root {
  --bg: #07070B;
  --bg2: #0D0D14;
  --bg3: #12121C;
  --bg4: #181826;
  --electric: #00FF88;
  --blue: #00C2FF;
  --hot: #FF2D6B;
  --purple: #9D4EFF;
  --amber: #FFB700;
  --text: #EEEAF8;
  --muted: #6B6B8F;
  --dim: #2A2A3E;
  --border: rgba(255, 255, 255, .07);
  --border2: rgba(255, 255, 255, .12);
  --r: 10px;
  --rL: 16px;
  --rXL: 20px;
  --fd: 'Bebas Neue', sans-serif;
  --fu: 'Exo 2', sans-serif;
  --fm: 'DM Mono', monospace;
  --nav: 58px;
  --bb: 66px
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 300;
  height: var(--nav);
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(7, 7, 11, .94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--border)
}

.tb-logo {
  font-family: var(--fd);
  font-size: 22px;
  color: var(--electric);
  letter-spacing: .04em
}

.tb-notif,
.tb-right {
  display: flex;
  align-items: center
}

.tb-right {
  gap: 8px
}

.tb-notif {
  position: relative;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid var(--border);
  justify-content: center;
  font-size: 15px;
  cursor: pointer
}

.ndot {
  position: absolute;
  top: 6px;
  right: 7px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--hot);
  border: 1.5px solid var(--bg2)
}

.tb-btn {
  padding: 8px 16px;
  border-radius: var(--r);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  border: 0;
  transition: all .2s
}

.tb-primary {
  background: var(--electric);
  color: #000;
  box-shadow: 0 0 16px rgba(0, 255, 136, .25)
}

.tb-primary:hover {
  background: #1affa0
}

.tb-ghost {
  background: rgba(255, 255, 255, .03);
  color: var(--muted);
  border: 1px solid var(--border)
}

.tb-ghost:hover {
  color: var(--text);
  border-color: var(--border2)
}

.page-header {
  position: relative;
  overflow: hidden;
  padding: 40px 20px 0;
  background: linear-gradient(180deg, rgba(0, 194, 255, .04)0, transparent 100%);
  border-bottom: 1px solid var(--border)
}

.ph-grid {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(0, 194, 255, .025) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 194, 255, .025) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: radial-gradient(ellipse 100% 100%at 50%0, #000 30%, transparent 100%)
}

.ph-glow {
  position: absolute;
  top: -60%;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 400px;
  background: radial-gradient(ellipse, rgba(0, 194, 255, .07)0, transparent 65%);
  pointer-events: none
}

.ph-inner {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto
}

.ph-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  flex-wrap: wrap
}

.ph-title {
  font-family: var(--fd);
  font-size: clamp(38px, 8vw, 60px);
  letter-spacing: .02em;
  line-height: 1;
  margin-bottom: 14px
}

.ph-title span {
  color: var(--electric)
}

.ph-desc {
  max-width: 600px;
  font-size: 15px;
  color: var(--muted);
  line-height: 1.75;
  margin-bottom: 28px
}

.ticker {
  display: flex;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
  border-top: 1px solid var(--border);
  margin: 0-20px
}

.ticker::-webkit-scrollbar {
  display: none
}

.tick-item {
  flex: 1;
  min-width: 120px;
  padding: 14px 20px;
  text-align: center;
  border-right: 1px solid var(--border)
}

.tick-item:last-child {
  border-right: none
}

.tick-val {
  font-family: var(--fd);
  font-size: clamp(20px, 4vw, 26px);
  letter-spacing: .02em;
  line-height: 1;
  margin-bottom: 3px
}

.tick-lbl {
  font-family: var(--fm);
  font-size: 10px;
  color: var(--muted);
  letter-spacing: .06em;
  text-transform: uppercase
}

.controls,
.filter-group {
  display: flex;
  flex-wrap: wrap
}

.controls {
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px 20px;
  align-items: center;
  gap: 10px
}

.filter-group {
  gap: 5px;
  flex: 1
}

.fb {
  padding: 7px 15px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid var(--border);
  background: 0 0;
  color: var(--muted);
  transition: all .18s;
  cursor: pointer;
  white-space: nowrap
}

.fb:hover {
  color: var(--text);
  border-color: var(--border2)
}

.fb.active {
  background: rgba(0, 255, 136, .1);
  color: var(--electric);
  border-color: rgba(0, 255, 136, .3)
}

.fb.hot-f {
  background: rgba(255, 45, 107, .08);
  color: var(--hot);
  border-color: rgba(255, 45, 107, .25)
}

.sort-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0
}

.sort-lbl {
  font-family: var(--fm);
  font-size: 10px;
  color: var(--muted);
  letter-spacing: .06em;
  text-transform: uppercase
}

.sort-sel {
  background: var(--bg3);
  border: 1px solid var(--border2);
  color: var(--text);
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 12px;
  font-family: var(--fu);
  font-weight: 600;
  outline: 0;
  cursor: pointer
}

.live-count,
.results-meta {
  display: flex;
  align-items: center
}

.results-meta {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px 14px;
  justify-content: space-between;
  font-family: var(--fm);
  font-size: 11px;
  color: var(--muted)
}

.live-count {
  gap: 6px
}

.ldot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--hot);
  animation: lpulse 1.4s ease infinite
}

.t-grid {
  max-width: 1100px;
  margin: 0 auto;
  /* padding: 0 20px; */
  padding-bottom: calc(var(--bb) 20px);
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px
}

@media (min-width:700px) {
  .t-grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (min-width:1024px) {
  .t-grid {
    grid-template-columns: repeat(3, 1fr)
  }
}

@media (min-width:900px) {
  .t-grid {
    padding-bottom: 20px
  }
}

.tc,
.tc-banner {
  position: relative;
  overflow: hidden
}

.tc {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--rXL);
  display: flex;
  flex-direction: column;
  transition: transform .22s, border-color .22s, box-shadow .22s
}

.tc:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, .14);
  box-shadow: 0 16px 48px rgba(0, 0, 0, .55)
}

.tc-banner {
  width: 100%;
  aspect-ratio: 16/7;
  flex-shrink: 0
}

.tc-banner-bg {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 80px;
  filter: blur(2px) saturate(1.4);
  opacity: .35;
  transform: scale(1.12)
}

.tc-banner-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 7, 11, 0) 30%, rgba(7, 7, 11, .95) 100%)
}

.tc-banner-overlay2 {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0, 0, 0, .2), transparent 60%)
}

.tc-accent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 2
}

.tc-game-thumb {
  position: absolute;
  bottom: 12px;
  right: 12px;
  z-index: 3;
  width: 56px;
  height: 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  border: 2px solid rgba(255, 255, 255, .1);
  box-shadow: 0 4px 16px rgba(0, 0, 0, .5);
  overflow: hidden
}

.tc-game-thumb-glow {
  position: absolute;
  inset: 0;
  opacity: .4;
  background: radial-gradient(circle at center, rgba(255, 255, 255, .2), transparent 70%)
}

.tc-status-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--fm);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  backdrop-filter: blur(8px)
}

.tc-status-badge.live {
  background: rgba(255, 45, 107, .25);
  color: var(--hot);
  border: 1px solid rgba(255, 45, 107, .4)
}

.tc-status-badge.upcoming {
  background: rgba(0, 194, 255, .2);
  color: var(--blue);
  border: 1px solid rgba(0, 194, 255, .35)
}

.tc-status-badge.filling {
  background: rgba(255, 183, 0, .2);
  color: var(--amber);
  border: 1px solid rgba(255, 183, 0, .35)
}

.tc-status-badge.full {
  background: rgba(255, 255, 255, .08);
  color: var(--muted);
  border: 1px solid rgba(255, 255, 255, .12)
}

.sb-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  animation: lpulse 1.4s ease infinite
}

.full .sb-dot,
.upcoming .sb-dot {
  animation: none;
  opacity: .6
}

.tc-banner-title {
  position: absolute;
  bottom: 14px;
  left: 14px;
  right: 78px;
  z-index: 3
}

.tc-banner-game {
  font-family: var(--fm);
  font-size: 10px;
  color: rgba(255, 255, 255, .55);
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-bottom: 3px
}

.tc-banner-name {
  font-family: var(--fd);
  font-size: clamp(20px, 4vw, 26px);
  letter-spacing: .02em;
  line-height: 1;
  color: var(--text);
  text-shadow: 0 2px 12px rgba(0, 0, 0, .8)
}

.tc-body {
  padding: 14px 16px 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.tc-dates {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid var(--border)
}

.tc-date-item {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 80px
}

.tc-date-lbl {
  font-family: var(--fm);
  font-size: 9px;
  color: var(--muted);
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-bottom: 2px
}

.tc-date-val {
  font-size: 12px;
  font-weight: 700
}

.tc-date-sep,
.tc-stats {
  background: var(--border)
}

.tc-date-sep {
  width: 1px;
  height: 28px;
  flex-shrink: 0
}

.tc-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  border-radius: 8px;
  overflow: hidden
}

.tc-stat {
  background: var(--bg4);
  padding: 8px 10px;
  text-align: center
}

.tc-stat-lbl {
  font-family: var(--fm);
  font-size: 9px;
  color: var(--muted);
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: 3px
}

.tc-stat-val {
  font-size: 13px;
  font-weight: 700
}

.tc-stat-val.g {
  color: var(--electric)
}

.tc-stat-val.b {
  color: var(--blue)
}

.tc-stat-val.a {
  color: var(--amber)
}

.tc-stat-val.h {
  color: var(--hot)
}

.tc-fill-wrap {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.tc-fill-top {
  display: flex;
  justify-content: space-between;
  font-family: var(--fm);
  font-size: 10px;
  color: var(--muted)
}

.tc-fill-bar {
  height: 4px;
  background: rgba(255, 255, 255, .06);
  border-radius: 2px;
  overflow: hidden
}

.tc-fill-inner {
  height: 100%;
  border-radius: 2px;
  transition: width .6s ease
}

.tc-prizes {
  display: flex;
  gap: 4px;
  flex-wrap: wrap
}

.prize-pill {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
  font-family: var(--fm)
}

.pp1 {
  background: rgba(255, 215, 0, .1);
  color: gold;
  border: 1px solid rgba(255, 215, 0, .2)
}

.pp2 {
  background: rgba(168, 180, 200, .07);
  color: #a8b4c8;
  border: 1px solid rgba(168, 180, 200, .15)
}

.pp3 {
  background: rgba(205, 127, 50, .08);
  color: #cd7f32;
  border: 1px solid rgba(205, 127, 50, .15)
}

.pp45 {
  background: rgba(157, 78, 255, .07);
  color: var(--purple);
  border: 1px solid rgba(157, 78, 255, .15)
}

.tc-footer {
  padding: 12px 16px 16px;
  display: flex;
  gap: 8px;
  border-top: 1px solid var(--border);
  margin-top: auto
}

.btn-details,
.btn-join {
  padding: 10px 14px;
  border-radius: var(--r);
  font-weight: 700;
  text-transform: uppercase;
  transition: all .18s
}

.btn-details {
  flex: 1;
  font-size: 12px;
  letter-spacing: .05em;
  background: 0 0;
  color: var(--muted);
  border: 1px solid var(--border2)
}

.btn-details:hover {
  color: var(--text);
  border-color: rgba(255, 255, 255, .22)
}

.btn-join {
  flex: 2;
  font-size: 13px;
  letter-spacing: .06em;
  border: 0
}

.btn-join.join {
  background: var(--electric);
  color: #000;
  box-shadow: 0 0 14px rgba(0, 255, 136, .25)
}

.btn-join.join:hover {
  background: #1affa0;
  transform: translateY(-1px);
  box-shadow: 0 0 22px rgba(0, 255, 136, .4)
}

.btn-join.notify {
  background: rgba(0, 194, 255, .1);
  color: var(--blue);
  border: 1px solid rgba(0, 194, 255, .3)
}

.btn-join.notify:hover {
  background: rgba(0, 194, 255, .18)
}

.btn-join.full {
  background: rgba(255, 255, 255, .04);
  color: var(--muted);
  border: 1px solid var(--border);
  cursor: not-allowed
}

.btn-join.play {
  background: rgba(0, 194, 255, .12);
  color: var(--blue);
  border: 2px solid rgba(0, 194, 255, .4)
}

.btn-join.play:hover {
  background: rgba(0, 194, 255, .2)
}

.tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--fm);
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 3px
}

.bb-btn.active .bb-icon,
.tg {
  border: 1px solid rgba(0, 255, 136, .18)
}

.tg {
  background: rgba(0, 255, 136, .07);
  color: var(--electric)
}

.tb {
  background: rgba(0, 194, 255, .07);
  color: var(--blue);
  border: 1px solid rgba(0, 194, 255, .18)
}

.ta {
  background: rgba(255, 183, 0, .08);
  color: var(--amber);
  border: 1px solid rgba(255, 183, 0, .18)
}

.tp {
  background: rgba(157, 78, 255, .08);
  color: var(--purple);
  border: 1px solid rgba(157, 78, 255, .18)
}

.th {
  background: rgba(255, 45, 107, .08);
  color: var(--hot);
  border: 1px solid rgba(255, 45, 107, .18)
}

.tc-featured {
  grid-column: 1/-1
}

.tc-featured .tc-banner {
  aspect-ratio: 21/8
}

@media (min-width:700px) {
  .tc-featured .tc-banner {
    aspect-ratio: 21/7
  }
}

.featured-inner {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px
}

.featured-eyebrow {
  font-family: var(--fm);
  font-size: 10px;
  color: rgba(255, 255, 255, .5);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 8px
}

.featured-title {
  font-family: var(--fd);
  font-size: clamp(28px, 6vw, 48px);
  letter-spacing: .02em;
  line-height: 1;
  margin-bottom: 10px;
  text-shadow: 0 2px 20px rgba(0, 0, 0, .8)
}

.featured-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 16px
}

.featured-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap
}

.featured-actions .btn-join {
  flex: 0;
  padding: 12px 24px;
  font-size: 14px
}

.featured-actions .btn-details {
  flex: 0;
  padding: 12px 18px;
  font-size: 13px
}

.tc-featured .tc-game-thumb {
  width: 72px;
  height: 72px;
  font-size: 36px;
  bottom: 20px;
  right: 20px
}

.empty {
  grid-column: 1/-1;
  padding: 60px 20px;
  text-align: center
}

.empty-icon {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: .4
}

.empty-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 8px
}

.empty-sub {
  font-size: 14px;
  color: var(--muted)
}

.load-more {
  grid-column: 1/-1;
  display: flex;
  justify-content: center;
  padding: 8px 0 4px
}

.btn-load {
  padding: 12px 32px;
  border-radius: var(--r);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  background: rgba(255, 255, 255, .04);
  color: var(--muted);
  border: 1px solid var(--border2);
  transition: all .2s
}

.btn-load:hover {
  color: var(--text);
  border-color: rgba(255, 255, 255, .2)
}

.bottom-bar {
  display: flex;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 200;
  height: var(--bb);
  background: rgba(10, 10, 17, .97);
  backdrop-filter: blur(20px);
  border-top: 1px solid var(--border2);
  padding: 0 6px;
  align-items: stretch
}

@media (min-width:900px) {
  .bottom-bar {
    display: none
  }
}

.bb-btn,
.bb-icon {
  display: flex;
  align-items: center;
  justify-content: center
}

.bb-btn {
  flex: 1;
  flex-direction: column;
  gap: 3px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
  border-radius: 8px;
  margin: 5px 2px;
  border: 0;
  background: 0 0;
  transition: color .18s
}

.bb-btn.active {
  color: var(--electric)
}

.bb-btn.active .bb-icon {
  background: rgba(0, 255, 136, .1)
}

.bb-icon {
  width: 38px;
  height: 26px;
  border-radius: 20px;
  font-size: 18px;
  transition: all .18s
}

.bb-play .bb-icon {
  width: 52px;
  height: 36px;
  background: var(--electric);
  color: #000;
  border-radius: 24px;
  font-size: 20px;
  box-shadow: 0 0 18px rgba(0, 255, 136, .4)
}

.bb-play {
  color: var(--electric) !important
}

.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 500;
  background: rgba(0, 0, 0, .82);
  backdrop-filter: blur(6px);
  align-items: flex-end;
  justify-content: center;
  padding: 0
}

@media (min-width:600px) {
  .modal-overlay {
    align-items: center;
    padding: 20px
  }
}

.modal-overlay.open {
  display: flex
}

.modal {
  background: var(--bg2);
  border: 1px solid var(--border2);
  width: 100%;
  max-width: 420px;
  border-radius: var(--rXL) var(--rXL)0 0;
  animation: slideup .3s cubic-bezier(.4, 0, .2, 1);
  overflow: hidden;
  margin: 16px 16px 0px 16px;
}

@media (min-width:600px) {
  .modal {
    border-radius: var(--rXL)
  }
}
.tabs{
  display:flex;gap:0;padding:0 20px;
  overflow-x:auto;scrollbar-width:none;
  border-bottom:1px solid var(--border);
  background:var(--bg3);
  position:sticky;top:var(--nav);z-index:100;
}
.tabs::-webkit-scrollbar{display:none}
.tab-btn{
  padding:14px 18px;font-size:13px;font-weight:700;color:var(--muted);
  background:none;border:none;white-space:nowrap;
  border-bottom:2px solid transparent;transition:all .18s;
  position:relative;
}
.tab-btn.active{color:var(--electric);border-bottom-color:var(--electric)}
.tab-btn:hover:not(.active){color:var(--text)}
.tab-badge{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--bg4);color:var(--muted);border:1px solid var(--border);
  font-family:var(--fm);font-size:9px;
  width:18px;height:18px;border-radius:9px;margin-left:6px;
}
.tab-badge.live{background:rgba(255,45,107,.15);color:var(--hot);border-color:rgba(255,45,107,.25)}
.tab-content{display:none}
.tab-content.active{display:block}

.modal-hd {
  padding: 20px 20px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border)
}

.modal-title {
  font-size: 16px;
  font-weight: 700
}

.modal-close {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: rgba(255, 255, 255, .05);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--muted);
  cursor: pointer;
  transition: all .2s
}

.modal-close:hover {
  color: var(--text)
}

.modal-body {
  padding: 18px 20px
}

.modal-game-row {
  gap: 14px;
  padding: 13px 14px;
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--r);
  margin-bottom: 16px
}

.modal-game-ico,
.modal-game-row,
.modal-line {
  display: flex;
  align-items: center
}

.modal-game-ico {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0
}

.modal-line {
  justify-content: space-between;
  padding: 9px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px
}

.modal-line:last-of-type {
  border-bottom: none
}

.modal-line .lbl {
  color: var(--muted)
}

.modal-line .val {
  font-weight: 700
}

.modal-line .val.g {
  color: var(--electric)
}

.modal-line .val.b {
  color: var(--blue)
}

.modal-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px;
  margin: 14px 0 0;
  background: rgba(0, 194, 255, .06);
  border: 1px solid rgba(0, 194, 255, .15);
  border-radius: var(--r)
}

.modal-total .lbl {
  font-size: 13px;
  font-weight: 700
}

.modal-total .amt {
  font-family: var(--fd);
  font-size: 30px;
  color: var(--blue);
  letter-spacing: .02em
}

.modal-ft {
  padding: 14px 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.btn-cancel-modal,
.btn-mpesa {
  width: 100%;
  border-radius: var(--r);
  transition: all .2s
}

.btn-mpesa {
  padding: 14px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  border: 0;
  background: var(--electric);
  color: #000;
  box-shadow: 0 0 20px rgba(0, 255, 136, .3);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px
}

.btn-mpesa:hover {
  background: #1affa0
}

.btn-cancel-modal {
  padding: 11px;
  font-size: 13px;
  font-weight: 600;
  background: 0 0;
  color: var(--muted);
  border: 1px solid var(--border)
}

.btn-cancel-modal:hover {
  color: var(--text)
}

.modal-note {
  text-align: center;
  font-family: var(--fm);
  font-size: 10px;
  color: var(--muted);
  margin-top: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px
}

.mpesa-chip {
  background: rgba(0, 255, 136, .07);
  color: var(--electric);
  padding: 2px 7px;
  border-radius: 3px;
  font-size: 10px;
  border: 1px solid rgba(0, 255, 136, .15)
}

.toast {
  position: fixed;
  bottom: calc(var(--bb) + 14px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--bg3);
  border: 1px solid var(--border2);
  border-radius: var(--r);
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 600;
  z-index: 600;
  opacity: 0;
  transition: opacity .2s;
  pointer-events: none;
  white-space: nowrap;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .6)
}

@media (min-width:900px) {
  .toast {
    bottom: 20px
  }
}

.toast.show {
  opacity: 1
}

.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .45s ease, transform .45s ease
}

.reveal.vis {
  opacity: 1;
  transform: none
}

.d1 {
  transition-delay: .06s
}

.d2 {
  transition-delay: .12s
}

.d3 {
  transition-delay: .18s
}

.d4 {
  transition-delay: .24s
}

.d5 {
  transition-delay: .3s
}

.d6 {
  transition-delay: .36s
}