@charset "UTF-8";
:root {
  color-scheme:dark;
  --bg:#061015;
  --surface:rgba(9,27,34,.91);
  --line:rgba(106,231,223,.18);
  --mint:#51f8d5;
  --cyan:#68e7fa;
  --text:#e8f8f7;
  --muted:#9fb9be;
  --sidebar:250px;
  --radius:17px;
  --shadow:0 12px 50px #0003;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:16px
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:28px
}

body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  line-height:1.65;
  min-width:280px
}

body,html {
  overflow-x:clip
}

a {
  color:inherit;
  text-decoration:none
}

button {
  font:inherit;
  color:inherit;
  cursor:pointer
}

a,button {
  -webkit-tap-highlight-color:transparent
}

button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:3px solid var(--cyan);
  outline-offset:5px
}

button {
  border:0
}

img {
  max-width:100%;
  display:block
}

h1,h2,h3,p {
  overflow-wrap:anywhere
}

h1,h2,h3 {
  line-height:1.25;
  margin:0 0 22px
}

h1 {
  font-size:clamp(2.3rem,4.7vw,4.4rem);
  letter-spacing:-.055em;
  font-weight:800
}

h2 {
  font-size:clamp(1.35rem,2vw,1.75rem);
  font-weight:700;
  letter-spacing:-.025em
}

h3 {
  font-size:1.15rem;
  color:#caeae7
}

p {
  margin:0 0 20px
}

ul,ol {
  padding-left:24px
}

button[hidden],[hidden] {
  display:none!important
}

.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  padding:10px;
  background:var(--mint);
  color:#06231e;
  z-index:200;
  transform:translateY(-180%)
}

.skip-link:focus {
  transform:none
}

.ambient {
  position:fixed;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:-1;
  background:radial-gradient(ellipse at 58% 15%,#123536 0,transparent 56%),#061015
}

.casino-scene {
  position:absolute;
  inset:-6%;
  background:url('/assets/images/casino-atmosphere.png') center/cover no-repeat;
  opacity:.38;
  animation:scene-drift 30s ease-in-out infinite alternate
}

.aura {
  position:absolute;
  width:50vw;
  height:50vw;
  border-radius:50%;
  filter:blur(80px);
  opacity:.08;
  background:#00ffd0;
  animation:aura-drift 23s ease-in-out infinite alternate
}

.aura-one {
  top:-30%;
  left:20%
}

.aura-two {
  bottom:-40%;
  right:-20%;
  background:#00b8ff;
  animation-delay:-14s
}

.float-object {
  position:absolute;
  font-size:90px;
  opacity:.085;
  color:#70ffe2;
  filter:drop-shadow(0 0 16px #2eecc8);
  animation:float-drift 20s ease-in-out infinite alternate;
  user-select:none
}

.platform-word {
  font-size:clamp(35px,5vw,80px);
  font-weight:900;
  letter-spacing:-.055em;
  transform:rotate(-16deg)
}

.float-one {
  left:23%;
  top:10%
}

.float-two {
  right:-1%;
  top:48%;
  animation-delay:-12s
}

.float-three {
  left:40%;
  bottom:2%;
  animation-delay:-6s
}

.float-four {
  left:34%;
  top:48%;
  animation-delay:-16s
}

.float-five {
  right:8%;
  top:4%;
  animation-delay:-4s
}

.float-six {
  left:18%;
  bottom:10%;
  animation-delay:-9s
}

@keyframes scene-drift {
  from {
    transform:scale(1) translate3d(-1%,0,0)
  }

  to {
    transform:scale(1.06) translate3d(1%,2%,0)
  }

}

@keyframes aura-drift {
  to {
    transform:translate3d(-15%,20%,0)
  }

}

@keyframes float-drift {
  from {
    transform:translate3d(-15px,-25px,0) rotate(-14deg)
  }

  to {
    transform:translate3d(35px,40px,0) rotate(12deg)
  }

}

.sidebar {
  position:fixed;
  inset:0 auto 0 0;
  width:var(--sidebar);
  background:linear-gradient(170deg,rgba(10,31,37,.97),rgba(4,18,24,.99));
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  z-index:70;
  box-shadow:10px 0 60px #0003;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:#244f52 transparent
}

.brand {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  color:var(--mint);
  font-size:2rem;
  font-weight:850;
  letter-spacing:-.07em;
  min-height:65px
}

.brand img {
  max-height:72px;
  max-width:180px;
  object-fit:contain
}

.sidebar>.brand {
  padding:24px 20px 20px;
  margin:0 16px 14px;
  border-bottom:1px solid var(--line);
  flex-shrink:0;
  min-height:109px
}

.sidebar-links {
  padding:0 15px
}

.nav-group ul {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:5px
}

.nav-group a {
  display:flex;
  align-items:center;
  gap:12px;
  padding:9px 12px;
  border:1px solid transparent;
  border-radius:10px;
  font-size:14px;
  font-weight:550;
  color:#b8d2d5;
  transition:background .2s,border-color .2s,color .2s
}

.nav-group a:hover {
  background:#42efd510;
  color:#fff;
  border-color:#42efd526
}

.nav-group a[aria-current=page] {
  border-color:var(--mint);
  font-style:italic;
  color:#edfffa;
  background:#20d8bc14;
  box-shadow:inset 0 0 15px #22dab20a,0 0 15px #2de6c410
}

.nav-emoji {
  width:23px;
  flex:0 0 23px;
  text-align:center;
  font-size:18px
}

.nav-group.service {
  margin-top:60px;
  padding-bottom:24px
}

.sidebar-bottom {
  border-top:1px solid var(--line);
  margin-top:auto;
  padding:22px 27px;
  color:#8ba8af;
  font-size:14px;
  overflow-wrap:anywhere
}

.menu-handle,.menu-shade {
  display:none
}

.page-shell {
  margin-left:var(--sidebar);
  padding:0 clamp(24px,4vw,70px);
  position:relative;
  max-width:1800px
}

main,.site-footer {
  max-width:1250px;
  margin:0 auto
}

.page-heading {
  text-align:center;
  padding:64px 0 37px
}

.page-heading h1 {
  color:#edfffd;
  text-shadow:0 0 35px #5dffe025;
  margin-bottom:0
}

.offerwall>h2,.platforms>h2,.faq>h2 {
  text-align:center
}

.offerwall>h2 {
  margin-bottom:29px
}

.offers {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px
}

.offer {
  position:relative;
  grid-column:span 2;
  min-width:0;
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:13px 12px;
  align-items:center;
  padding:21px 20px;
  background:linear-gradient(125deg,rgba(18,48,53,.97),rgba(8,26,34,.96));
  border:1px solid #4cf5da35;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  transition:border-color .3s,box-shadow .3s
}

.offer:before {
  content:"";
  position:absolute;
  top:-1px;
  left:25%;
  right:25%;
  height:1px;
  background:linear-gradient(90deg,transparent,#85ffe1,transparent)
}

.offer:hover {
  border-color:#5bffda99;
  box-shadow:0 12px 45px #00100d50,0 0 25px #31ffc112
}

.offer-1,.offer-2 {
  grid-column:span 3;
  grid-template-columns:22px minmax(75px,1fr) minmax(90px,1fr) 42px;
  gap:18px 12px;
  padding:25px 22px
}

.rank {
  font-size:14px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  color:#759895;
  align-self:center
}

.casino-logo {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:64px;
  font-size:clamp(16px,1.35vw,21px);
  font-weight:800;
  color:#dffbf4;
  letter-spacing:-.045em;
  text-align:center;
  overflow-wrap:anywhere
}

.casino-logo img {
  object-fit:contain;
  max-height:70px;
  width:100%;
  max-width:145px
}

.bonus {
  text-align:center;
  min-width:0;
  color:var(--mint);
  font-size:clamp(15px,1.2vw,19px);
  font-weight:650;
  overflow-wrap:anywhere
}

.offer:not(.offer-1):not(.offer-2) .bonus {
  grid-column:1/-1
}

.trophy {
  font-size:34px;
  display:inline-block;
  line-height:1.2;
  filter:drop-shadow(0 0 10px #ffd56166);
  animation:trophy-float 3.3s ease-in-out infinite
}

.trophy.silver {
  filter:grayscale(1) brightness(1.25) drop-shadow(0 0 10px #c5edff66);
  animation-delay:-1.5s
}

@keyframes trophy-float {
  0%,100% {
    transform:translateY(2px) rotate(-8deg)
  }

  50% {
    transform:translateY(-6px) rotate(8deg)
  }

}

.cta {
  display:flex;
  align-items:center;
  justify-content:center;
  grid-column:1/-1;
  min-height:47px;
  padding:10px 20px;
  text-align:center;
  font-weight:800;
  font-size:16px;
  border-radius:9px;
  background:linear-gradient(110deg,#51f4c4,#62e8ea);
  color:#052825;
  box-shadow:0 3px 18px #49ecc11c;
  transition:transform .2s ease,box-shadow .2s ease;
  overflow-wrap:anywhere
}

.cta:hover {
  transform:scale(1.055);
  box-shadow:0 0 27px #40f3cb45
}

.offer-1 .cta,.offer-2 .cta {
  margin-top:3px
}

.platforms {
  margin:43px 0 47px
}

.platforms>h2 {
  font-size:1.25rem;
  margin-bottom:19px
}

.platform-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px
}

.platform-list a {
  padding:19px 12px;
  min-height:69px;
  text-align:center;
  font-size:1.45rem;
  font-weight:800;
  letter-spacing:-.035em;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(8,29,35,.92);
  transition:border-color .2s,background .2s,transform .2s
}

.platform-list a:hover {
  border-color:var(--mint);
  background:#123b3b;
  transform:translateY(-3px)
}

.platform-list .kick {
  color:#71f9c3
}

.platform-list .twitch {
  color:#aff5ea
}

.platform-list .youtube {
  color:#70dfef
}

.editorial {
  display:grid;
  grid-template-columns:225px minmax(0,1fr);
  gap:33px;
  align-items:start
}

.toc {
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(7,25,31,.94);
  padding:24px 15px;
  min-width:0;
  position:sticky;
  top:25px
}

.toc h2 {
  font-size:1rem;
  margin:0 8px 20px;
  letter-spacing:0
}

.toc ol {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:3px
}

.toc a {
  display:flex;
  gap:12px;
  align-items:baseline;
  padding:9px 8px;
  border-left:2px solid #274b4d;
  font-size:14px;
  color:#a9c4c7;
  transition:.2s
}

.toc a:hover,.toc a[aria-current=location] {
  border-color:var(--mint);
  color:var(--mint);
  background:#49f2cf0b
}

.toc-index {
  font-size:12px;
  font-variant-numeric:tabular-nums;
  opacity:.6
}

.toc .h3 a {
  padding-left:20px;
  font-size:14px
}

.article {
  min-width:0;
  background:rgba(7,23,30,.91);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:8px 32px
}

.text-section {
  padding:29px 0 20px;
  scroll-margin-top:28px
}

.text-section+.text-section {
  border-top:1px solid var(--line)
}

.text-section h2 {
  color:#e9faf6
}

.text-section p,.text-section li {
  color:#a9c3c8
}

.text-section h3 {
  margin-top:25px
}

.table-scroll {
  overflow-x:auto
}

table {
  border-collapse:collapse;
  width:100%;
  text-align:left
}

td,th {
  border:1px solid var(--line);
  padding:14px
}

th {
  color:var(--mint)
}

.faq {
  margin:55px 0 40px
}

.faq>h2 {
  margin-bottom:25px
}

.faq details {
  background:rgba(9,27,34,.94);
  border:1px solid var(--line);
  border-radius:11px;
  margin:10px 0
}

.faq summary {
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:18px 24px;
  font-weight:600
}

.faq summary::-webkit-details-marker {
  display:none
}

.faq summary span {
  font-size:25px;
  color:var(--mint);
  transition:transform .2s
}

.faq details[open] summary span {
  transform:rotate(45deg)
}

.faq details[open] {
  border-color:#5effd855
}

.faq-answer {
  padding:0 24px;
  color:var(--muted)
}

.author {
  display:flex;
  align-items:center;
  gap:27px;
  padding:30px;
  background:linear-gradient(110deg,rgba(16,47,50,.94),rgba(9,28,34,.94));
  border:1px solid var(--line);
  border-radius:var(--radius);
  margin-bottom:55px
}

.author-photo {
  display:grid;
  place-items:center;
  width:105px;
  height:105px;
  flex:0 0 105px;
  border:1px solid #63f1cf40;
  border-radius:50%;
  background:#123b3a;
  color:#92c3bd;
  font-size:13px;
  overflow:hidden
}

.author-photo img {
  width:100%;
  height:100%;
  object-fit:cover
}

.author-copy {
  min-width:0
}

.eyebrow {
  text-transform:uppercase;
  color:#72c6bf;
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  margin:0 0 6px
}

.author h2 {
  font-size:1.25rem;
  margin-bottom:9px
}

.author-copy>p:not(.eyebrow) {
  color:#aac5c7;
  margin-bottom:15px
}

.socials {
  display:flex;
  gap:10px;
  flex-wrap:wrap
}

.socials a {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid #6cd5c72a;
  border-radius:8px;
  transition:background .2s
}

.socials a:hover {
  background:#42f5cd2b
}

.socials img {
  filter:brightness(0) invert(1);
  opacity:.85
}

.site-footer {
  text-align:center;
  border-top:1px solid var(--line);
  padding:35px 0 26px
}

.site-footer .brand {
  margin-bottom:17px
}

.footer-copy {
  max-width:900px;
  margin:0 auto 26px;
  color:var(--muted);
  font-size:14px
}

.organizations {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:13px;
  align-items:center
}

.org-logo {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:80px;
  background:#f4f8f7;
  border-radius:9px;
  padding:12px;
  transition:transform .2s
}

.org-logo:hover {
  transform:translateY(-3px)
}

.org-logo img {
  width:100%;
  height:48px;
  object-fit:contain
}

.footer-bottom {
  margin:28px 0 10px;
  color:#89a7ae;
  font-size:14px
}

.back-top {
  position:fixed;
  right:24px;
  bottom:24px;
  width:47px;
  height:47px;
  border:1px solid #50eccaa0;
  border-radius:12px;
  background:#103d3e;
  color:var(--mint);
  font-size:26px;
  z-index:40;
  box-shadow:0 0 23px #20e6b51a
}

.cookie-bar {
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:21px clamp(20px,4vw,65px);
  background:#102b32f7;
  border-top:1px solid #73e9d36b;
  box-shadow:0 -10px 60px #0006;
  backdrop-filter:blur(18px)
}

.cookie-copy strong {
  font-size:16px;
  color:#ecfffa
}

.cookie-copy p {
  font-size:14px;
  color:#a9c6c9;
  margin:4px 0 0
}

.cookie-copy a {
  text-decoration:underline;
  color:#8debdc
}

.cookie-actions {
  display:flex;
  gap:10px;
  flex-shrink:0
}

.cookie-actions button {
  font-size:14px;
  padding:11px 20px;
  border-radius:8px;
  min-height:44px;
  border:1px solid #5e968f;
  background:#16383d
}

.cookie-actions .accept {
  background:var(--mint);
  border-color:var(--mint);
  color:#05312a;
  font-weight:700
}

body[data-kind=service] .page-heading {
  padding-bottom:50px
}

body[data-kind=service] .editorial {
  margin-bottom:60px
}

.error-page {
  min-height:65vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center
}

.error-page .cta {
  width:max-content
}

@media(min-width:1280px) {
  .offer-1,.offer-2 {
    grid-template-columns:18px minmax(75px,1fr) minmax(80px,1fr) 32px 76px;
    gap:12px;
    padding:27px 18px
  }

  .offer-1 .cta,.offer-2 .cta {
    grid-column:auto;
    margin:0;
    padding:10px 8px
  }

  .offer-1 .trophy,.offer-2 .trophy {
    font-size:30px
  }

  .offer:not(.offer-1):not(.offer-2) {
    grid-template-columns:18px minmax(55px,1fr) minmax(66px,1fr) 60px;
    padding:23px 12px;
    gap:8px
  }

  .offer:not(.offer-1):not(.offer-2) .casino-logo {
    font-size:16px;
    letter-spacing:-.04em
  }

  .offer:not(.offer-1):not(.offer-2) .bonus {
    grid-column:auto;
    font-size:14px
  }

  .offer:not(.offer-1):not(.offer-2) .cta {
    grid-column:auto;
    margin:0;
    padding:10px 5px;
    font-size:14px
  }

}

@media(max-width:1190px) {
  :root {
    --sidebar:230px
  }

  .page-shell {
    padding-inline:26px
  }

  .offer-1,.offer-2 {
    grid-template-columns:20px minmax(65px,1fr) 38px;
    gap:8px 10px;
    padding:20px 17px
  }

  .offer-1 .bonus,.offer-2 .bonus {
    grid-column:1/3;
    grid-row:2
  }

  .offer-1 .trophy,.offer-2 .trophy {
    grid-column:3;
    grid-row:1/3
  }

  .offer-1 .casino-logo,.offer-2 .casino-logo {
    grid-column:2
  }

  .editorial {
    grid-template-columns:195px minmax(0,1fr);
    gap:20px
  }

  .article {
    padding-inline:25px
  }

  .offer:not(.offer-1):not(.offer-2) {
    padding:17px 12px;
    gap:12px 7px
  }

  .casino-logo {
    font-size:17px
  }

  .cookie-bar {
    gap:20px
  }

}

@media(max-width:960px) {
  :root {
    --sidebar:268px
  }

  .sidebar {
    transform:translateX(-100%);
    transition:transform .3s ease;
    overscroll-behavior:contain;
    visibility:hidden
  }

  .sidebar>.brand {
    min-height:95px
  }

  .menu-open .sidebar {
    transform:translateX(0);
    visibility:visible
  }

  .menu-handle {
    display:flex;
    align-items:center;
    justify-content:center;
    position:fixed;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:27px;
    height:64px;
    background:#15534e;
    border:1px solid #59e4ca90;
    border-left:0;
    border-radius:0 11px 11px 0;
    box-shadow:0 0 20px #46ecc82a;
    z-index:80;
    font-size:28px;
    color:#92ffe5;
    transition:left .3s
  }

  .menu-open .menu-handle {
    left:var(--sidebar)
  }

  .menu-open .menu-handle span {
    transform:rotate(180deg)
  }

  .menu-shade:not([hidden]) {
    display:block;
    position:fixed;
    inset:0;
    background:#0009;
    backdrop-filter:blur(3px);
    z-index:60
  }

  .menu-open {
    overflow:hidden
  }

  .page-shell {
    margin-left:0;
    padding:0 35px
  }

  .page-heading {
    padding-top:43px
  }

  .offer-1,.offer-2 {
    grid-template-columns:20px minmax(65px,1fr) minmax(85px,1fr) 40px;
    gap:18px 10px
  }

  .offer-1 .bonus,.offer-2 .bonus {
    grid-column:auto;
    grid-row:auto
  }

  .offer-1 .trophy,.offer-2 .trophy {
    grid-column:auto;
    grid-row:auto
  }

  .float-one {
    left:7%
  }

  .organizations {
    gap:9px
  }

  .org-logo {
    padding:9px
  }

  .cookie-bar {
    padding:18px 25px;
    gap:20px
  }

  .editorial {
    grid-template-columns:195px minmax(0,1fr)
  }

}

@media(max-width:640px) {
  .page-shell {
    padding-inline:25px
  }

  .page-heading {
    padding:35px 0 27px
  }

  h1 {
    font-size:2.75rem
  }

  .offerwall>h2 {
    margin-bottom:20px
  }

  .offers {
    display:flex;
    flex-direction:column;
    gap:13px
  }

  .offer,.offer-1,.offer-2,.offer:not(.offer-1):not(.offer-2) {
    display:grid;
    grid-template-columns:25px minmax(0,1fr) 39px;
    padding:20px;
    gap:9px 10px;
    min-height:176px
  }

  .offer .rank {
    grid-column:1;
    grid-row:1
  }

  .offer .casino-logo,.offer-1 .casino-logo,.offer-2 .casino-logo {
    grid-column:2;
    grid-row:1;
    min-height:45px;
    font-size:23px
  }

  .offer .bonus,.offer-1 .bonus,.offer-2 .bonus,.offer:not(.offer-1):not(.offer-2) .bonus {
    grid-column:1/-1;
    grid-row:2;
    font-size:18px
  }

  .offer .trophy,.offer-1 .trophy,.offer-2 .trophy {
    grid-column:3;
    grid-row:1;
    font-size:32px
  }

  .offer .cta {
    grid-column:1/-1;
    grid-row:3;
    margin-top:5px;
    min-height:45px
  }

  .platforms {
    margin:33px 0
  }

  .platforms>h2 {
    font-size:1.2rem
  }

  .platform-list {
    display:flex;
    gap:9px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
    padding:3px 1px 10px
  }

  .platform-list a {
    flex:1 0 105px;
    font-size:19px;
    padding:16px 10px;
    min-height:60px
  }

  .editorial {
    display:block
  }

  .toc {
    position:static;
    padding:23px 20px;
    margin-bottom:22px
  }

  .toc h2 {
    font-size:1.1rem
  }

  .toc ol {
    gap:2px
  }

  .toc a {
    padding-block:7px
  }

  .article {
    padding:0 23px
  }

  .text-section {
    padding:26px 0 15px
  }

  .faq {
    margin-top:35px;
    margin-bottom:27px
  }

  .faq summary {
    padding:16px 19px
  }

  .faq-answer {
    padding-inline:19px
  }

  .author {
    flex-direction:column;
    text-align:center;
    gap:18px;
    padding:27px 22px;
    margin-bottom:35px
  }

  .socials {
    justify-content:center
  }

  .organizations {
    display:flex;
    flex-direction:column;
    gap:13px
  }

  .org-logo {
    width:210px;
    min-height:82px;
    padding:13px 20px
  }

  .org-logo img {
    height:53px
  }

  .site-footer {
    padding-top:28px
  }

  .cookie-bar {
    display:block;
    padding:16px 20px;
    max-height:65dvh;
    overflow-y:auto
  }

  .cookie-copy p {
    font-size:13px
  }

  .cookie-actions {
    margin-top:12px;
    justify-content:flex-end
  }

  .cookie-actions button {
    padding:8px 16px
  }

  .back-top {
    right:15px;
    bottom:15px
  }

  .float-object {
    font-size:55px
  }

  .float-three,.float-four,.float-six,.aura-two {
    display:none
  }

  .casino-scene {
    opacity:.26
  }

  .aura {
    filter:blur(35px)
  }

  .menu-handle {
    height:60px;
    width:24px
  }

  .nav-group.service {
    margin-top:60px
  }

}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }

  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }

  .cta:hover {
    transform:none
  }

}

.paused .ambient *,.paused .trophy {
  animation-play-state:paused!important
}

/* Fixed sidebar branding with a compact, independently scrollable menu. */
.sidebar {
  overflow: hidden;
  height: 100dvh;
}

.sidebar-brand {
  flex: 0 0 auto;
  padding: 12px 20px;
  border-bottom: 1px solid var(--line);
  text-align: center;
}

.sidebar-brand .brand {
  min-height: 60px;
}

.sidebar-scroll {
  min-height: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #244f52 transparent;
}

.sidebar-links {
  padding-top: 10px;
}

.nav-group ul {
  gap: 2px;
}

.nav-group a {
  padding: 6px 10px;
  line-height: 1.4;
}

.nav-group.service {
  margin-top: 30px;
  padding-bottom: 12px;
}

.sidebar-bottom {
  padding: 14px 20px;
  line-height: 1.5;
  font-size: 13px;
}

/* Casino identity: a dedicated logo slot above the casino name. */
.offer {
  grid-template-columns: 35px minmax(0,1fr);
}

.offer-1, .offer-2 {
  grid-template-columns: 35px minmax(90px,1fr) minmax(90px,1fr) 42px;
}

.rank {
  font-size: 32px;
  font-weight: 900;
  line-height: 1;
  color: var(--mint);
  letter-spacing: -.06em;
}

.casino-identity {
  margin: 0;
  min-width: 0;
  text-align: center;
}

.casino-logo {
  min-height: 60px;
  font-size: 16px;
  letter-spacing: 0;
}

.logo-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 150px;
  min-height: 55px;
  padding: 6px;
  border: 1px dashed #59d9c550;
  border-radius: 8px;
  color: #9cbfbc;
  font-size: 14px;
  font-weight: 500;
}

.casino-name {
  margin-top: 8px;
  color: #e6faf6;
  font-size: 16px;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.bonus {
  margin: 0;
}

/* Streaming platform cards: brand mark, then platform name. */
.platform-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.platform-list li {
  min-width: 0;
}

.platform-list a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 15px;
  height: 150px;
  padding: 22px;
}

.platform-list img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

/* Each section keeps its H2 and related H3 content inside one rounded frame. */
.article {
  background: none;
  border: 0;
  padding: 0;
  display: grid;
  gap: 20px;
}

.text-section, .text-section + .text-section {
  padding: 28px 30px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(7,23,30,.94);
}

.text-section > :last-child {
  margin-bottom: 0;
}

/* Author name and social profiles share a top-aligned header. */
.author {
  align-items: flex-start;
}

.author-photo {
  margin: 0;
}

.author-copy {
  flex: 1;
}

.author-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 15px;
}

.author-header h2 {
  margin: 6px 0 0;
}

.author-header .socials {
  justify-content: flex-end;
  margin-left: auto;
  flex-shrink: 0;
}

.author-copy > p {
  margin: 0;
}

@media (min-width: 1280px) {
  .offer-1, .offer-2 {
    grid-template-columns: 30px minmax(85px,1fr) minmax(80px,1fr) 30px 76px;
    gap: 10px;
  }

  .offer:not(.offer-1):not(.offer-2) {
    grid-template-columns: 26px minmax(65px,1fr) minmax(60px,1fr) 60px;
    gap: 7px;
  }

  .offer:not(.offer-1):not(.offer-2) .casino-logo {
    font-size: 14px;
    letter-spacing: 0;
  }

  .offer:not(.offer-1):not(.offer-2) .casino-name {
    font-size: 14px;
  }

  .offer:not(.offer-1):not(.offer-2) .logo-placeholder {
    font-size: 12px;
  }

}

@media (min-width: 641px) and (max-width: 1190px) {
  .offer-1, .offer-2 {
    grid-template-columns: 30px minmax(80px,1fr) 38px;
  }

  .offer-1 .casino-identity, .offer-2 .casino-identity {
    grid-column: 2;
  }

  .offer-1 .bonus, .offer-2 .bonus {
    grid-column: 1/3;
    grid-row: 2;
  }

  .offer-1 .trophy, .offer-2 .trophy {
    grid-column: 3;
    grid-row: 1/3;
  }

}

@media (max-height: 740px) {
  .sidebar-brand {
    padding-block: 8px;
  }

  .sidebar-brand .brand {
    min-height: 48px;
  }

  .nav-group a {
    padding-block: 5px;
  }

  .nav-group.service {
    margin-top: 24px;
  }

  .sidebar-bottom {
    padding-block: 10px;
  }

}

@media (max-width: 640px) {
  .offer, .offer-1, .offer-2, .offer:not(.offer-1):not(.offer-2) {
    grid-template-columns: 32px minmax(0,1fr) 39px;
  }

  .offer .casino-identity {
    grid-column: 2;
    grid-row: 1;
  }

  .offer .casino-logo {
    min-height: 65px;
    font-size: 16px;
  }

  .casino-name {
    font-size: 19px;
  }

  .offer .rank {
    font-size: 36px;
  }

  .platform-list {
    padding: 3px 1px 10px;
  }

  .platform-list li {
    flex: 1 0 110px;
  }

  .platform-list a {
    height: 130px;
    padding: 18px 12px;
    font-size: 19px;
  }

  .platform-list img {
    width: 48px;
    height: 48px;
  }

  .text-section, .text-section + .text-section {
    padding: 25px 22px;
  }

  .author {
    align-items: center;
  }

  .author-copy {
    width: 100%;
    text-align: left;
  }

  .author-header {
    gap: 10px;
  }

  .author-header h2 {
    font-size: 17px;
    margin-top: 4px;
  }

  .author-header .socials {
    gap: 5px;
    flex-wrap: wrap;
    max-width: 110px;
  }

  .author-header .socials a {
    width: 31px;
    height: 31px;
  }

  .author-header .socials img {
    width: 16px;
    height: 16px;
  }

}


/* Author profile: shared desktop and mobile arrangement. */
.author {
  display: block;
  text-align: left;
}

.author-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  width: 100%;
  margin: 0 0 22px;
}

.author-identity {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.author-identity .author-photo {
  flex: 0 0 80px;
  width: 80px;
  height: 80px;
  margin: 0;
}

.author-identity h2 {
  min-width: 0;
  margin: 0;
  font-size: 20px;
  overflow-wrap: anywhere;
}

.author-header .socials {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  max-width: none;
  margin: 0;
}

.author-text {
  width: 100%;
  margin: 0;
  color: var(--muted);
  text-align: left;
}

@media (max-width: 640px) {
  .author {
    padding: 24px 20px;
  }

  .author-header {
    gap: 12px;
    margin-bottom: 20px;
  }

  .author-identity {
    gap: 10px;
  }

  .author-identity .author-photo {
    flex-basis: 52px;
    width: 52px;
    height: 52px;
    font-size: 10px;
  }

  .author-identity h2 {
    font-size: 16px;
    margin: 0;
  }

  .author-header .socials {
    display: grid;
    grid-template-columns: repeat(3, 30px);
    gap: 5px;
  }

  .author-header .socials a {
    width: 30px;
    height: 30px;
  }
}

@media (max-width: 360px) {
  .author-header .socials {
    grid-template-columns: repeat(2, 30px);
  }

  .author-identity .author-photo {
    flex-basis: 46px;
    width: 46px;
    height: 46px;
  }
}

/* Match the usual section spacing when the author follows the article directly. */
.editorial + .author {
  margin-top: 55px;
}

@media (max-width: 640px) {
  .editorial + .author {
    margin-top: 35px;
  }
}

/* Str_3 v2: retain the original 2+3 offer grid and vertical table of contents. */
h1, h2, h3 {
  text-align: center;
  min-width: 0;
  max-width: 100%;
}
.page-heading, .platforms, .editorial, .article, .table-scroll {
  min-width: 0;
  max-width: 100%;
}
.editorial.without-toc { grid-template-columns: minmax(0, 1fr); }
.table-scroll { background: #07171e; }
.article img, .article iframe { max-width: 100%; }
.brand img { max-width: 100%; max-height: 76px; object-fit: contain; }
.nav-icon { display: inline-flex; flex: 0 0 21px; align-items: center; justify-content: center; }
.nav-icon img { width: 21px; height: 21px; object-fit: contain; }

/* A single channel keeps the same card width and sits in the middle. */
.platform-list { display: flex; flex-wrap: wrap; justify-content: center; }
.platform-list li { flex: 0 1 calc(33.333% - 9.334px); }

/* Empty positions have no link, trophy or apparent bonus. */
.offer-placeholder { background: #102126; border-color: #657e7d55; box-shadow: none; }
.offer-placeholder::before { display: none; }
.offer-placeholder .casino-name, .offer-placeholder .rank { color: #9cb2b2; }
.offer-placeholder .logo-placeholder { border-color: #657e7d55; color: #9cb2b2; }
.offer-placeholder .cta:disabled {
  background: #284044;
  color: #b4c5c5;
  cursor: default;
  box-shadow: none;
  transform: none;
}
.offer-placeholder:hover { border-color: #657e7d55; box-shadow: none; }
@media (min-width: 1280px) {
  .offer-placeholder .cta { grid-column: -2 / -1; }
}

/* Desktop profiles stay in one row; the mobile rules below choose 2+2 or 3+2. */
.author-header .socials {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: 8px;
  max-width: none;
}
.author-header .socials a { flex: 0 0 auto; width: 38px; height: 38px; }
.author-identity h2 { text-align: left; }
.faq summary > span { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; line-height: 1; }
.faq-answer > p { padding-bottom: 18px; }

.contact-map-block { margin-top: 20px; }
.contact-map-toggle { border: 0; cursor: pointer; width: fit-content; margin: 0 auto 16px; }
.contact-map-toggle:hover { transform: none; }
.contact-map-block iframe { display: block; width: 100%; height: 450px; border: 1px solid var(--line); border-radius: var(--radius); }

/* Keep the usual block spacing when no platform section separates these blocks. */
body[data-kind="internal"] .offerwall + .editorial { margin-top: 47px; }

@media (max-width: 640px) {
  .platform-list { flex-wrap: wrap; justify-content: center; overflow: visible; padding: 3px 0 10px; }
  .platform-list li { flex: 0 1 calc((100% - 18px) / 3); min-width: 0; }
  .platform-list a { width: 100%; min-width: 0; padding-inline: 6px; font-size: clamp(12px, 3.6vw, 18px); }
  .platform-list img, .platform-list span { max-width: 100%; }
  .platform-list span { overflow-wrap: anywhere; }
  .author-header .socials { display: flex; flex-wrap: wrap; justify-content: center; width: max-content; max-width: 100px; gap: 5px; }
  .author-header .socials:has(> a:nth-child(4):last-child) { max-width: 65px; }
  .author-header .socials a { width: 30px; height: 30px; }
  body[data-kind="internal"] .offerwall + .editorial { margin-top: 33px; }
  .contact-map-block iframe { height: 330px; }
}

/* Str_3: Fix Offerwall CTA text wrapping on desktop */
@media (min-width: 1280px) {

  .offer-1,
  .offer-2 {
    grid-template-columns:
      30px minmax(85px, 1fr) minmax(80px, 1fr) 30px 120px;
  }

  .offer:not(.offer-1):not(.offer-2) {
    grid-template-columns:
      26px minmax(55px, 1fr) minmax(55px, 1fr) 114px;
  }

  .offerwall .cta {
    font-size: 14px;
    padding: 10px 5px;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

}