:root{
  --bg0:#070B14;
  --bg1:#0B1224;

  --card: rgba(14, 20, 40, .72);
  --card2: rgba(10, 14, 30, .62);
  --text:#EAF2FF;
  --muted: rgba(234,242,255,.70);
  --stroke: rgba(255,255,255,.10);

  --shadow: 0 18px 60px rgba(0,0,0,.45);

  --a1:#4F46E5; /* индиго */
  --a2:#06B6D4; /* циан */
  --good:#22C55E;

  --r12: 12px;
  --r16: 16px;
  --r20: 20px;
  --r24: 24px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color: var(--text);
  background:
    radial-gradient(1100px 700px at 10% 0%, rgba(79,70,229,.18), transparent 60%),
    radial-gradient(1000px 650px at 90% 10%, rgba(6,182,212,.18), transparent 60%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
}

.container{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
}

.page{ padding-top: 86px; }

/* ---------- HEADER ---------- */
.site-header{
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  background: rgba(7,11,20,.72);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.header-wrap{
  display:flex;
  align-items:center;
  gap:14px;
  padding: 12px 0;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color: var(--text);
  flex: 0 0 auto;
  min-width: 220px;
}
.logo{
  width:42px;height:42px;
  border-radius: 14px;
  object-fit: cover;
  box-shadow: 0 12px 26px rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.10);
}
.brand-text{display:flex; flex-direction:column; line-height:1.1}
.brand-name{font-weight: 950; letter-spacing:.2px; text-transform: uppercase; font-size: 13px}
.brand-sub{font-weight: 800; font-size: 11px; color: var(--muted)}

/* tabs inside header */
.nav-tabs{
  display:flex;
  gap:8px;
  overflow:auto;
  padding: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  flex: 1 1 auto;
}
.nav-tabs::-webkit-scrollbar{height:8px}
.nav-tabs::-webkit-scrollbar-thumb{background: rgba(255,255,255,.14); border-radius:99px}

.nav-tab{
  flex: 0 0 auto;
  padding: 9px 12px;
  border-radius: 999px;
  text-decoration:none;
  color: rgba(234,242,255,.80);
  font-weight: 900;
  font-size: 13px;
  border: 1px solid transparent;
  background: transparent;
  white-space: nowrap;
}
.nav-tab:hover{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.10);
}
.nav-tab.is-active{
  color: #fff;
  background: linear-gradient(90deg, var(--a1), var(--a2));
  box-shadow: 0 14px 30px rgba(79,70,229,.22);
}

.header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex: 0 0 auto;
}

/* buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  font-weight: 950;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: var(--text);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
  cursor: pointer;
}
.btn:hover{transform: translateY(-1px); box-shadow: 0 12px 26px rgba(0,0,0,.25)}
.btn-primary{
  color:#fff;
  border-color: transparent;
  background: linear-gradient(90deg, var(--a1), var(--a2));
}
.btn-ghost{
  background: rgba(255,255,255,.04);
}

/* ---------- INTRO ---------- */
.intro{padding: 18px 0 8px}
.intro-wrap{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding: 18px;
  background: linear-gradient(180deg, var(--card), var(--card2));
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--r24);
  box-shadow: var(--shadow);
}
.intro-left{min-width: 0}
.pill{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 950;
  letter-spacing:.4px;
  font-size: 11px;
  color: #fff;
  background: linear-gradient(90deg, var(--a1), var(--a2));
}
.intro-title{
  margin: 10px 0 6px;
  font-size: clamp(22px, 3.2vw, 38px);
  letter-spacing: .2px;
  text-transform: uppercase;
}
.intro-desc{
  margin:0;
  color: var(--muted);
  font-weight: 800;
  max-width: 62ch;
}
.intro-right{
  display:flex;
  gap:10px;
  flex: 0 0 auto;
}
.mini-stat{
  min-width: 160px;
  padding: 12px 14px;
  border-radius: var(--r16);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
.mini-stat__label{
  font-weight: 900;
  font-size: 12px;
  color: var(--muted);
}
.mini-stat__value{
  margin-top: 6px;
  font-weight: 950;
  font-size: 20px;
}

/* ---------- SECTION HEAD ---------- */
.rating{padding: 14px 0 18px}
.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin: 14px 0 12px;
}
.section-title{
  margin:0;
  font-weight: 950;
  letter-spacing: .2px;
  text-transform: uppercase;
}
.note{
  font-weight: 800;
  color: var(--muted);
  font-size: 13px;
}

/* ---------- CASINO CARDS ---------- */
.casino-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.casino-card{
  display:flex;
  gap:14px;
  padding: 16px;
  border-radius: var(--r24);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
}

.casino-rank{
  width: 88px;
  flex: 0 0 88px;
  border-radius: var(--r20);
  background: linear-gradient(180deg, rgba(79,70,229,.18), rgba(6,182,212,.14));
  border: 1px solid rgba(255,255,255,.10);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.rank-num{font-weight: 950; font-size: 28px; line-height:1;}
.rank-txt{margin-top: 4px; font-weight: 900; font-size: 12px; color: var(--muted);}

.casino-main{flex: 1 1 auto; min-width: 0;}

.casino-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.casino-name{
  font-weight: 950;
  font-size: 18px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.casino-score{
  display:flex;
  align-items:center;
  gap:10px;
  flex: 0 0 auto;
}

.stars{
  position:relative;
  display:inline-block;
  font-size: 15px;
  line-height:1;
}
.stars-bg{color: rgba(255,255,255,.20);}
.stars-fg{
  position:absolute;
  inset:0;
  width: var(--p);
  overflow:hidden;
  color: rgba(6,182,212,.95);
  white-space:nowrap;
}
.score-num{
  font-weight: 950;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

.casino-subline{
  margin-top: 10px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.chip{
  font-weight: 900;
  font-size: 12px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(234,242,255,.86);
}

.progress{margin-top: 12px;}
.progress-label{
  font-weight: 900;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 8px;
}
.progress-bar{
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  overflow:hidden;
}
.progress-fill{
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--a1), var(--a2));
}

/* actions + details */
.casino-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  flex: 0 0 210px;
  align-items:stretch;
}

.btn-play{
  border-color: transparent;
  color:#fff;
  background: linear-gradient(90deg, #0ea5e9, #22c55e);
}
.btn-play:hover{box-shadow: 0 14px 30px rgba(34,197,94,.18)}

.more{
  border-radius: var(--r20);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  overflow:hidden;
}
.more > summary{list-style:none;}
.more > summary::-webkit-details-marker{display:none}
.btn-more{
  width: 100%;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 12px 14px;
  color: rgba(234,242,255,.92);
  font-weight: 950;
  justify-content:space-between;
}
.btn-more::after{content: "▾"; font-weight: 950; opacity: .75;}
.more[open] .btn-more::after{content: "▴";}

.more-body{
  padding: 12px 14px 14px;
  border-top: 1px solid rgba(255,255,255,.10);
}
.more-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}
.more-item{
  padding: 10px;
  border-radius: var(--r16);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
}
.more-k{font-weight: 900; font-size: 12px; color: var(--muted)}
.more-v{margin-top:6px; font-weight: 950}

.more-text{
  margin-top: 10px;
  font-weight: 800;
  color: rgba(234,242,255,.80);
  line-height:1.45;
}
.more-cta{
  margin-top: 12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* ---------- CONTENT ---------- */
.content{padding: 12px 0 26px}
.content-card{
  border-radius: var(--r24);
  padding: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
  line-height: 1.6;
  color: rgba(234,242,255,.90);
}
.content-card h1,.content-card h2,.content-card h3{color:var(--text)}
.content-card a{color: #7dd3fc; text-decoration:none}
.content-card a:hover{text-decoration:underline}

/* ---------- FOOTER ---------- */
.site-footer{
  padding: 22px 0 36px;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(7,11,20,.55);
}
.footer-wrap{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.footer-brand{font-weight: 950; letter-spacing:.2px; text-transform: uppercase}
.footer-sub{margin-top:6px; font-weight: 800; color: var(--muted)}
.footer-links{display:flex; gap:14px; flex-wrap:wrap}
.footer-links a{color: rgba(234,242,255,.72); text-decoration:none; font-weight: 900}
.footer-links a:hover{color: var(--text)}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 980px){
  .casino-card{flex-direction:column}
  .casino-actions{flex: 0 0 auto; width: 100%}
  .casino-rank{width: 100%; flex: 0 0 auto; flex-direction:row; gap:10px; padding: 10px}
  .rank-txt{margin:0}
  .intro-right{display:none}
}
@media (max-width: 560px){
  .header-actions{display:none}
  .page{padding-top: 76px}
  .brand{min-width: unset}
  .brand-sub{display:none}
  .more-grid{grid-template-columns: 1fr;}
}
