*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:Arial, Helvetica, sans-serif;
}

body{
  background:#02040a;
  color:#fff;
}

.topbar{
  height:64px;
  background:#05070d;
  border-bottom:1px solid rgba(0,170,255,.25);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 22px;
  position:sticky;
  top:0;
  z-index:100;
}

.logoBox img{
  height:42px;
  max-width:150px;
  object-fit:contain;
}

.topActions{
  display:flex;
  gap:8px;
}

.topActions button{
  border:none;
  padding:11px 18px;
  border-radius:14px;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}

.bonusBtn{
  background:#121a34;
}

.loginBtn{
  background:#030712;
  border:1px solid #00aaff !important;
}

.joinBtn{
  background:linear-gradient(135deg,#00aaff,#0066ff);
}

.layout{
  display:grid;
  grid-template-columns:230px 1fr 310px;
  gap:20px;
  padding:18px;
}

.leftSidebar,
.rightSidebar{
  position:sticky;
  top:82px;
  height:calc(100vh - 90px);
  overflow:auto;
}

.searchBox{
  background:#151d35;
  border:1px solid rgba(0,170,255,.35);
  border-radius:12px;
  padding:12px;
  display:flex;
  gap:10px;
  margin-bottom:16px;
}

.searchBox input{
  background:transparent;
  border:none;
  outline:none;
  color:#fff;
  width:100%;
}

.gameGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}

.gameGrid.big{
  grid-template-columns:repeat(4,1fr);
}

.gameCard{
  min-height:74px;
  background:#121827;
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.25s;
  font-size:27px;
}

.gameCard span{
  font-size:12px;
  margin-top:7px;
  color:#d9e8ff;
}

.gameCard:hover{
  transform:translateY(-4px);
  border-color:#00aaff;
  box-shadow:0 0 18px rgba(0,170,255,.25);
}

.leftSidebar h4{
  color:#7e8aa8;
  margin:24px 0 12px;
}

.sideMenu{
  list-style:none;
}

.sideMenu li{
  padding:11px 10px;
  border-radius:10px;
  cursor:pointer;
  color:#dce7ff;
  font-weight:600;
  font-size:14px;
  display:flex;
  justify-content:space-between;
}

.sideMenu li:hover{
  background:#11182b;
  color:#00aaff;
}

.sideMenu b{
  font-size:11px;
  color:#ffd166;
  border:1px solid #ffd166;
  border-radius:8px;
  padding:2px 6px;
}

.hero{
  background:
    radial-gradient(circle at top right,rgba(0,170,255,.35),transparent 35%),
    linear-gradient(135deg,#11182b,#070b16);
  border:1px solid rgba(0,170,255,.25);
  border-radius:22px;
  padding:35px;
  text-align:center;
  overflow:hidden;
}

.hero h1{
  font-size:38px;
  color:#fff;
}

.hero h1 span{
  color:#00aaff;
}

.hero p{
  margin:15px auto 25px;
  color:#c9d7f4;
  max-width:620px;
  line-height:1.6;
}

.heroStats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
  margin:25px 0;
}

.statBox{
  background:rgba(255,255,255,.06);
  border-radius:18px;
  padding:22px;
  border:1px solid rgba(255,255,255,.08);
}

.statBox h2{
  font-size:36px;
  color:#ffd166;
}

.mainBtn{
  background:linear-gradient(135deg,#00aaff,#0066ff);
  border:none;
  border-radius:14px;
  padding:15px 55px;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.section{
  margin-top:28px;
}

.section h2{
  margin-bottom:15px;
  font-size:24px;
}

.infoCard,
.bonusCard,
.reviewCard,
.blogCard,
.helpCard{
  background:#121827;
  border-radius:18px;
  padding:20px;
  border:1px solid rgba(255,255,255,.07);
  margin-bottom:14px;
}

.infoCard h3,
.bonusCard h3{
  color:#ffd166;
  margin-bottom:8px;
}

.providers{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.providers span{
  background:#151d35;
  padding:10px 16px;
  border-radius:10px;
  color:#dce7ff;
  font-weight:700;
}

.betTable{
  width:100%;
  border-collapse:collapse;
  background:#121827;
  border-radius:15px;
  overflow:hidden;
}

.betTable th,
.betTable td{
  padding:13px;
  border-bottom:1px solid rgba(255,255,255,.06);
  text-align:left;
}

.betTable th{
  color:#8190b0;
}

.betTable td:last-child{
  color:#00ff88;
  font-weight:800;
}

.tabs,
.betTabs{
  display:flex;
  gap:10px;
  border-bottom:1px solid rgba(0,170,255,.35);
  margin-bottom:14px;
}

.tabs button,
.betTabs button{
  background:transparent;
  border:none;
  color:#b8c3db;
  padding:10px 4px;
  font-weight:800;
  cursor:pointer;
}

.tabs .active,
.betTabs .active{
  color:#fff;
  border-bottom:2px solid #ffd166;
}

.matchBox{
  background:#151d35;
  padding:14px;
  border-radius:10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
}

.matchBox span{
  display:block;
  color:#b9c4df;
  font-size:12px;
  margin-top:4px;
}

.matchBox i{
  color:#ffd166;
}

.loginView{
  text-align:center;
  padding:30px 10px;
  color:#b8c3db;
}

.loginIcon{
  width:78px;
  height:78px;
  margin:auto;
  border-radius:50%;
  background:linear-gradient(135deg,#00aaff,#00ff88);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
}

.loginView b{
  color:#ffd166;
}

.appCard{
  margin-top:20px;
  background:
    radial-gradient(circle at bottom right,rgba(0,170,255,.4),transparent 40%),
    linear-gradient(135deg,#14203d,#05070d);
  border-radius:18px;
  padding:24px;
  min-height:330px;
  overflow:hidden;
}

.appCard h2{
  font-size:30px;
  color:#ffd166;
  margin-bottom:25px;
}

.appCard button{
  background:#fff;
  color:#111;
  border:none;
  border-radius:12px;
  padding:13px 18px;
  font-weight:800;
}

.phoneMock{
  font-size:120px;
  text-align:center;
  margin-top:30px;
  transform:rotate(-18deg);
}

.mobileNav{
  display:none;
}

.faqItem{
  background:#121827;
  margin-bottom:10px;
  border-radius:12px;
  overflow:hidden;
}

.faqQ{
  padding:16px;
  cursor:pointer;
  font-weight:800;
  display:flex;
  justify-content:space-between;
}

.faqA{
  display:none;
  padding:0 16px 16px;
  color:#c9d7f4;
}

.faqItem.active .faqA{
  display:block;
}

@media(max-width:1100px){
  .layout{
    grid-template-columns:190px 1fr;
  }

  .rightSidebar{
    display:none;
  }
}

@media(max-width:768px){
  .topbar{
    padding:0 12px;
  }

  .logoBox img{
    height:35px;
  }

  .topActions button{
    padding:9px 11px;
    font-size:12px;
  }

  .layout{
    display:block;
    padding:12px;
    padding-bottom:80px;
  }

  .leftSidebar{
    position:static;
    height:auto;
    overflow:visible;
    margin-bottom:18px;
  }

  .gameGrid.small{
    display:flex;
    overflow-x:auto;
    padding-bottom:6px;
  }

  .gameGrid.small .gameCard{
    min-width:86px;
  }

  .sideMenu{
    display:none;
  }

  .leftSidebar h4{
    display:none;
  }

  .hero{
    padding:25px 16px;
  }

  .hero h1{
    font-size:28px;
  }

  .heroStats{
    grid-template-columns:1fr;
  }

  .gameGrid.big{
    grid-template-columns:repeat(2,1fr);
  }

  .mobileNav{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    background:#05070d;
    border-top:1px solid rgba(0,170,255,.35);
    z-index:200;
  }

  .mobileNav button{
    background:transparent;
    border:none;
    color:#fff;
    padding:10px 4px;
    font-size:18px;
  }

  .mobileNav span{
    display:block;
    font-size:11px;
    margin-top:3px;
  }
}