:root{
  --black:#0B0B0B;
  --green:#00FF88;
  --gold:#C9A227;
  --white:#F5F7FA;

  --panel: rgba(255,255,255,0.04);
  --stroke: rgba(255,255,255,0.08);
  --muted: rgba(245,247,250,0.72);
  --shadow: 0 18px 60px rgba(0,0,0,0.55);
  --r: 18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--white);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:
    radial-gradient(1200px 600px at 15% 10%, rgba(0,255,136,0.12), transparent 60%),
    radial-gradient(900px 500px at 85% 20%, rgba(201,162,39,0.10), transparent 55%),
    var(--black);
}

.container{width:min(1120px, 92vw); margin:0 auto}

/* Topbar */
.topbar{
  position:sticky; top:0; z-index:50;
  background: rgba(11,11,11,0.74);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--stroke);
}
.topbar__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
  gap:14px;
}

.brand{display:flex; align-items:center; gap:12px}
.brand__logoWrap{width:46px;height:46px}
.brand__logo{
  width:46px;height:46px;object-fit:contain;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,0.55));
}
.brand__mark{
  width:46px; height:46px; border-radius:14px;
  display:grid; place-items:center;
  background: linear-gradient(180deg, rgba(201,162,39,0.22), rgba(201,162,39,0.06));
  border: 1px solid rgba(201,162,39,0.35);
  box-shadow: 0 10px 30px rgba(0,0,0,0.55);
}
.brand__k{font-family:"Bebas Neue", Inter, sans-serif; font-size:28px; color:var(--gold); letter-spacing:1px}
.brand__name{font-family:"Bebas Neue", Inter, sans-serif; font-size:26px; letter-spacing:2px; line-height:1}
.brand__sub{margin-top:2px; font-size:11px; letter-spacing:3px; text-transform:uppercase; color:rgba(245,247,250,0.75)}

.topbar__right{display:flex; gap:10px; align-items:center}
.tagline{
  display:none;
  font-size:12px;
  color:rgba(245,247,250,0.70);
  border:1px solid var(--stroke);
  padding:8px 10px;
  border-radius:999px;
}
@media (min-width: 920px){ .tagline{display:inline-flex} }

/* Buttons */
.btn{
  border-radius: 999px;
  padding:10px 12px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,0.03);
  color: var(--white);
  cursor:pointer;
  font-weight:700;
}
.btn:hover{border-color: rgba(0,255,136,0.35)}
.btn--ghost{background: rgba(255,255,255,0.02)}
.btn--primary{
  background: linear-gradient(180deg, rgba(0,255,136,0.25), rgba(0,255,136,0.10));
  border-color: rgba(0,255,136,0.35);
}
.btn--secondary{
  background: linear-gradient(180deg, rgba(201,162,39,0.20), rgba(201,162,39,0.08));
  border-color: rgba(201,162,39,0.35);
}

/* Hero */
.hero{padding:26px 0 10px}
.hero__inner{
  display:grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap:16px;
  align-items:start;
}
@media (max-width: 980px){ .hero__inner{grid-template-columns:1fr} }

.hero__title{
  font-family:"Bebas Neue", Inter, sans-serif;
  font-size:54px;
  letter-spacing:2px;
  margin:0 0 8px;
}
.hero__desc{margin:0 0 14px; color:var(--muted)}

.statusRow{
  display:flex; flex-wrap:wrap;
  gap:10px; align-items:center;
  margin: 10px 0 14px;
}
.pill{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(0,255,136,0.28);
  background: rgba(0,255,136,0.10);
  color: rgba(0,255,136,0.95);
  font-weight:800;
  font-size:12px;
}
.statusText{color: rgba(245,247,250,0.74); font-size:13px}
.aboutLink{
  margin-left:auto;
  color: rgba(201,162,39,0.92);
  text-decoration:none;
  font-weight:800;
}
.aboutLink:hover{text-decoration:underline}

.nav{display:flex; gap:10px; flex-wrap:wrap}
.nav__btn{
  border-radius:999px;
  padding:10px 12px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,0.03);
  color: var(--white);
  cursor:pointer;
  font-weight:800;
}
.nav__btn.active{
  border-color: rgba(0,255,136,0.45);
  background: rgba(0,255,136,0.08);
}

.heroCard{
  background: rgba(255,255,255,0.035);
  border:1px solid rgba(201,162,39,0.22);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.heroCard__title{
  padding:14px 14px 0;
  font-weight:900;
  color: rgba(201,162,39,0.92);
}
.heroCard__body{padding:14px}
.quick{padding:12px; border:1px solid var(--stroke); background: var(--panel); border-radius: 14px}
.quick + .quick{margin-top:10px}
.quick__label{font-weight:900; color: rgba(0,255,136,0.90)}
.quick__text{margin-top:6px; color: rgba(245,247,250,0.74); font-size:13px}

/* Panels */
.panelHead{
  margin-top: 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.panelHead__title{
  font-family:"Bebas Neue", Inter, sans-serif;
  font-size:28px;
  letter-spacing:1px;
  margin:0;
}
.muted{color: rgba(245,247,250,0.68); font-size:13px}

/* Filters */
.filters{
  display:grid;
  grid-template-columns: 1.2fr 0.7fr 0.7fr;
  gap:10px;
}
@media (max-width: 820px){ .filters{grid-template-columns:1fr} }

.field label{
  display:block;
  font-size:12px;
  color: rgba(245,247,250,0.70);
  margin:0 0 6px;
}
.field input, .field select{
  width:100%;
  padding:12px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,0.04);
  border:1px solid var(--stroke);
  color: var(--white);
  outline:none;
}
.field input:focus, .field select:focus{
  border-color: rgba(0,255,136,0.55);
  box-shadow: 0 0 0 4px rgba(0,255,136,0.10);
}

/* Stations */
.stations{
  margin-top: 14px;
  border:1px solid rgba(0,255,136,0.20);
  background: rgba(0,255,136,0.06);
  border-radius: var(--r);
  padding: 12px;
}
.stations__title{font-weight:900; color: rgba(0,255,136,0.90); margin-bottom:10px}
.stations__list{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}
@media (max-width: 980px){ .stations__list{grid-template-columns: repeat(2, 1fr)} }
@media (max-width: 640px){ .stations__list{grid-template-columns: 1fr} }

.station{
  background: rgba(255,255,255,0.03);
  border:1px solid var(--stroke);
  border-radius: 14px;
  padding: 12px;
}
.station-top{display:flex; justify-content:space-between; gap:10px}
.station-name{font-weight:900}
.station-status{color: rgba(201,162,39,0.92); font-weight:900}

/* Game Cards — Responsive Grid Tiles */
.grid{
  margin-top: 14px;
  display:grid;
  gap:14px;
  padding-bottom: 22px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.game{
  display:flex;
  flex-direction:column;
  border-radius: var(--r);
  background: rgba(255,255,255,0.03);
  border:1px solid var(--stroke);
  overflow:hidden;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.game:hover{
  transform: translateY(-2px);
  border-color: rgba(0,255,136,0.35);
  box-shadow: 0 16px 50px rgba(0,0,0,0.55);
}

.game-thumb{
  width:100%;
  aspect-ratio: 16 / 9;
  background: rgba(0,0,0,0.35);
  display:grid;
  place-items:center;
  border-bottom:1px solid var(--stroke);
}
.game-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.thumb-fallback{
  padding:12px;
  text-align:center;
  font-weight:800;
  color: rgba(245,247,250,0.85);
}

/* info beneath image */
.game-info{
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}

.game-title{
  font-weight:900;
  font-size:15px;
  line-height:1.2;
}

.badges{display:flex; flex-wrap:wrap; gap:8px}
.badge{
  font-size:11px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,0.03);
  color: rgba(245,247,250,0.78);
}
.badge.accent{
  border-color: rgba(0,255,136,0.35);
  background: rgba(0,255,136,0.08);
  color: rgba(0,255,136,0.95);
}

.game-actions{
  margin-top:auto;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.primary, .secondary{
  flex:1;
  min-width: 130px;
  border-radius:999px;
  padding:10px 12px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,0.03);
  color: var(--white);
  cursor:pointer;
  font-weight:800;
}
.primary{
  border-color: rgba(0,255,136,0.38);
  background: rgba(0,255,136,0.10);
}
.secondary{
  border-color: rgba(201,162,39,0.38);
  background: rgba(201,162,39,0.08);
}
.primary:disabled, .secondary:disabled{opacity:0.45; cursor:not-allowed}

/* Queue */
.queueWrap{
  margin-top: 14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.slip{
  margin-top: 14px;
  width: min(520px, 100%);
  background: rgba(0,255,136,0.06);
  border:1px solid rgba(0,255,136,0.22);
  border-radius: var(--r);
  padding: 14px;
}
.slip__label{font-weight:900; color: rgba(0,255,136,0.90)}
.slip__code{
  font-family: "Bebas Neue", Inter, sans-serif;
  font-size: 44px;
  letter-spacing: 4px;
  margin-top: 6px;
  color: rgba(201,162,39,0.95);
}
.slip__time{margin-top:6px}

/* Modal */
.modal{position:fixed; inset:0; display:none; z-index:100}
.modal.show{display:block}
.modal__backdrop{position:absolute; inset:0; background: rgba(0,0,0,0.72)}
.modal__dialog{
  position:relative;
  width:min(920px, 92vw);
  margin: 8vh auto;
  background: rgba(11,11,11,0.92);
  border:1px solid rgba(201,162,39,0.22);
  border-radius: var(--r);
  overflow:hidden;
  box-shadow: var(--shadow);
}
.modal__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px;
  border-bottom:1px solid var(--stroke);
}
.modal__title{font-weight:900; color: rgba(201,162,39,0.95)}
.modal__meta{font-size:12px; color: rgba(245,247,250,0.70); margin-top:4px}
.modal__video{
  padding: 0;
  background: rgba(0,0,0,0.65);
}
.modal__video iframe{
  width:100%;
  height: 52vh;
  border:0;
  display:block;
}

/* Footer */
.footer{padding: 18px 0 26px; color: rgba(245,247,250,0.65); font-size:12px}
.footer__line{
  height:1px;
  background: linear-gradient(90deg, rgba(201,162,39,0.25), rgba(0,255,136,0.35), transparent);
  margin-bottom: 12px;
}
.footer__tag{color: rgba(0,255,136,0.85)}
