@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/az-inter-cyrillic-ext.woff2) format("woff2");
  unicode-range:
    U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/az-inter-cyrillic.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/az-inter-latin-ext.woff2) format("woff2");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
    U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/az-inter-latin.woff2) format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
    U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url(/fonts/az-montserrat-cyrillic-ext.woff2) format("woff2");
  unicode-range:
    U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url(/fonts/az-montserrat-cyrillic.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url(/fonts/az-montserrat-latin-ext.woff2) format("woff2");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
    U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url(/fonts/az-montserrat-latin.woff2) format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
    U+2215, U+FEFF, U+FFFD;
}
@font-face { font-family: "Locale Georgian"; font-style: normal; font-weight: 400 900; font-display: swap; src: url(/fonts/az-noto-sans-georgian-georgian.woff2) format("woff2"); }
@font-face { font-family: "Locale Armenian"; font-style: normal; font-weight: 700; font-display: swap; src: url(/fonts/az-montserrat-armenian-bold.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 900; font-display: swap; src: url(/fonts/az-inter-symbols-variable.woff2) format("woff2"); unicode-range: U+2192, U+2304, U+25C6; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 900; font-display: swap; src: url(/fonts/az-inter-symbols-variable.woff2) format("woff2"); unicode-range: U+2192, U+2304, U+25C6; }

/* fonts.css */
/* Locally hosted Inter and Montserrat. SIL Open Font License. */









/* site.css */
:root {
  --night: #05071a;
  --surface: #181e29;
  --yellow: #fcc211;
  --red: #e93e3a;
  --cream: #fff5d6;
  --aside: 200px;
  --header: 80px;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 160px;
  scrollbar-color: #816409 var(--night);
}
body {
  margin: 0;
  color: #fff;
  background: var(--night);
  font:
    16px/1.6 "Merriweather Sans",
    Arial,
    sans-serif;
}
button,
input {
  font: inherit;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  color: inherit;
}
button:focus-visible,
a:focus-visible,
input:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 5px;
}
img {
  display: block;
  max-width: 100%;
}
button {
  border: 0;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1,
h2 {
  font-weight: 800;
  line-height: 1.1;
}
h2 {
  color: var(--yellow);
  font-size: 50px;
  text-align: center;
  text-transform: uppercase;
}
.skip-link {
  position: fixed;
  top: -100px;
  left: 220px;
  z-index: 100;
  background: var(--yellow);
  color: var(--night);
  padding: 10px 20px;
}
.skip-link:focus {
  top: 8px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 28px;
  min-height: 50px;
  border-radius: 16px 12px 18px 15px;
  font-weight: 800;
  font-size: 18px;
  line-height: 1.4;
  transition:
    background 0.18s,
    transform 0.18s;
}
.button:hover {
  transform: translateY(-2px);
}
.button.red {
  background: var(--red);
  color: #fff;
}
.button.red:hover {
  background: #ff5151;
}
.button.yellow {
  background: var(--yellow);
  color: var(--night);
}
.button.yellow:hover {
  background: #ffdc24;
}
.button.outline {
  background: transparent;
  color: var(--yellow);
  border: 2px solid var(--yellow);
  padding: 9px 26px;
}
.button.outline.cream {
  color: var(--cream);
  border-color: var(--cream);
}
.sidebar {
  position: fixed;
  inset: 10px auto auto 0;
  width: var(--aside);
  z-index: 45;
  padding: 0 4px 4px;
  background: var(--surface);
  border-radius: 12px 12px 5px 0;
  box-shadow: 0 2px 0 #080a17;
  max-height: calc(100dvh - 20px);
  overflow: auto;
  scrollbar-width: none;
}
.brand {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 70px;
  padding: 0 24px;
}
.brand-flame {
  width: 44px;
  height: 60px;
}
.brand-wordmark {
  width: 101px;
  height: 57px;
  margin-left: 8px;
}
.sidebar-special {
  display: flex;
  align-items: center;
  gap: 7px;
  width: calc(100% - 24px);
  height: 60px;
  margin: 10px 12px;
  padding: 0 6px 0 0;
  overflow: hidden;
  border-radius: 10px;
  background: linear-gradient(#ffe783, #f4bf4e 25%, #bc542c 78%);
  font-size: 14px;
  font-weight: 700;
  text-align: left;
}
.sidebar-special img {
  width: 47px;
  height: 58px;
  object-fit: contain;
}
.sidebar-special.missions img {
  padding: 5px;
}
.side-nav {
  padding: 0 9px 8px;
}
.side-nav a,
.side-nav button {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 10px 5px;
  margin-top: 10px;
  min-height: 50px;
  width: 100%;
  background: transparent;
  font-weight: 700;
  font-size: 14px;
  color: var(--cream);
  text-align: left;
  border-radius: 8px;
}
.side-nav a:hover,
.side-nav button:hover {
  background: #2a303f;
}
.side-nav .nav-icon {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  object-fit: contain;
}
.side-nav .chevron {
  margin-left: auto;
  font-size: 15px;
}
.sidebar-promo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 74px;
  padding: 5px 10px;
  margin-top: 10px;
  background: linear-gradient(#626f91, #30364c);
  border: 2px solid #444a64;
  border-radius: 4px;
  text-align: left;
}
.sidebar-promo img {
  width: 65px;
  height: 64px;
  object-fit: contain;
}
.sidebar-promo span {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
}
.sidebar-promo small {
  display: block;
  color: #ddd2a5;
  font-size: 11px;
  margin-top: 3px;
  font-weight: 400;
}
.topbar {
  height: var(--header);
  position: fixed;
  top: 0;
  left: var(--aside);
  right: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  gap: 35px;
  padding: 0 25px 0 40px;
  background: var(--night);
}
.topbar::after {
  content: "";
  position: absolute;
  pointer-events: none;
  top: 79px;
  height: 90px;
  left: -200px;
  right: 0;
  background: var(--night);
  mask: url("../images/rocks.svg") repeat-x;
  mask-size: auto 100%;
}
.top-nav {
  display: flex;
  gap: 48px;
  align-items: center;
  font-size: 14px;
  font-weight: 800;
  color: var(--cream);
}
.top-nav a {
  white-space: nowrap;
}
.top-nav a:hover {
  color: var(--yellow);
}
.account-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
}
.account-actions .button {
  font-size: 14px;
  min-height: 40px;
  min-width: 120px;
  padding: 8px 25px;
  border-radius: 12px 8px 11px 7px;
}
.account-actions .login {
  background: #23293a;
}
.account-actions .yellow {
  box-shadow: 0 0 22px #e93e3a80;
}
.language {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 0 10px 16px;
  background: transparent;
  font-size: 13px;
}
.language img {
  width: 18px;
  border-radius: 50%;
}
.mobile-menu {
  display: none;
}
main {
  padding-top: var(--header);
  margin-left: var(--aside);
  overflow: clip;
}
.hero {
  position: relative;
  height: 530px;
  background: var(--night);
}
.hero-art {
  position: absolute;
  inset: 0;
  background: none center center / cover
    no-repeat;
}
.hero-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, var(--night), transparent 20%);
}
.hero-inner {
  position: relative;
  width: min(1200px, calc(100% - 80px));
  height: 100%;
  margin: auto;
}
.hero-copy {
  width: 610px;
  max-width: 51%;
  padding-top: 78px;
  text-align: center;
  text-shadow: 0 0 5px var(--night);
}
.hero-copy h1 {
  color: var(--yellow);
  font-size: 55px;
  text-transform: uppercase;
}
.hero-copy h1 span {
  display: block;
  color: var(--red);
}
.hero-description {
  font-size: 40px;
  line-height: 1.23;
  font-weight: 700;
  margin-top: 24px;
}
.accent {
  color: var(--yellow);
}
.hero-copy .button {
  margin-top: 20px;
  width: 250px;
}
.hero-dots {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 36px;
}
.hero-dots button {
  width: 32px;
  height: 10px;
  border: 1px solid #fff;
  border-radius: 8px;
  background: transparent;
  padding: 0;
}
.hero-dots button.active {
  background: var(--yellow);
  border-color: var(--yellow);
}
.jackpot {
  position: relative;
  width: 330px;
  padding: 7px 16px 10px;
  background: linear-gradient(125deg, #4d230d 49%, #240711 49%);
  border: 3px solid var(--yellow);
  border-right-color: var(--red);
  border-bottom-color: var(--red);
  border-radius: 18px 10px 18px 14px;
  text-align: center;
}
.jackpot::before {
  content: "";
  background: url("../images/jackpot.webp") center bottom / contain no-repeat;
  position: absolute;
  left: 5%;
  width: 90%;
  height: 70px;
  bottom: 100%;
}
.jackpot small {
  display: block;
  font-size: 16px;
  line-height: 1.4;
  color: var(--cream);
}
.jackpot strong {
  display: block;
  color: var(--yellow);
  font-size: 52px;
  line-height: 1.2;
  font-weight: 800;
  white-space: nowrap;
}
.hero .jackpot {
  position: absolute;
  left: 52%;
  bottom: 8px;
  z-index: 2;
}
.winners {
  position: absolute;
  right: 0;
  top: 84px;
  width: 265px;
  font-size: 14px;
  line-height: 1.25;
}
.winners h2 {
  font-size: 32px;
  text-align: left;
  text-transform: none;
  max-width: 150px;
  margin-bottom: 20px;
}
.winners h2 span {
  color: white;
}
.winner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 8px 0;
  gap: 10px;
}
.winner img {
  width: 80px;
  height: 60px;
  object-fit: cover;
  border-radius: 4px;
}
.winner strong {
  color: var(--yellow);
  display: block;
}
.winner small {
  color: #c2b4a9;
}
.section-inner {
  position: relative;
  width: min(1200px, calc(100% - 80px));
  margin: auto;
}
.section-subtitle {
  text-align: center;
  font-size: 18px;
  margin-top: 24px;
}
.recommended {
  padding: 18px 0 0;
  position: relative;
}
.recommended h2 {
  font-size: 70px;
  text-transform: none;
  margin-bottom: 100px;
}
.cave-bg {
  position: absolute;
  top: 120px;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("../images/hottest-bg.webp?v=4476058364") center top / 100% auto no-repeat;
  z-index: 0;
}
.rock-top {
  position: relative;
}
.rock-top::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 80px;
  background: var(--night);
  mask: url("../images/rocks.svg") repeat-x;
  mask-size: auto 100%;
  z-index: 1;
  pointer-events: none;
}
.cave-bg::before {
  height: 60px;
}
.cave-bg.rock-top {
  position: absolute;
}
.recommended h2,
.recommended .section-inner {
  position: relative;
  z-index: 2;
}
.games-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px 10px;
}
.game-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
  background: var(--surface);
  border-radius: 10px;
  padding: 0;
  overflow: hidden;
  text-align: center;
  position: relative;
  transition:
    transform 0.2s,
    box-shadow 0.2s;
}
.game-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 22px #0006;
}
.game-image {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.game-info {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 10px;
  min-height: 100px;
  padding: 12px 9px 12px 16px;
}
.game-name {
  flex: 1;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 700;
}
.provider-icon {
  width: 27px;
  height: 27px;
  object-fit: contain;
  flex: 0 0 27px;
}
.game-stat {
  position: absolute;
  right: 7px;
  top: 7px;
  border-radius: 18px;
  background: #172438d9;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
}
.game-stat span {
  color: #46c56b;
  padding-right: 3px;
}
.game-stat small {
  display: block;
  font-size: 12px;
}
.card-play {
  position: absolute;
  inset: 0 0 100px;
  display: grid;
  place-items: center;
  opacity: 0;
  background: #05071a88;
  transition: opacity 0.2s;
}
.card-play span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  color: var(--night);
  background: var(--yellow);
  border-radius: 50%;
  font-size: 24px;
}
.game-card:hover .card-play,
.game-card:focus-visible .card-play {
  opacity: 1;
}
.hottest {
  position: relative;
  margin-top: 60px;
  padding: 95px 0 120px;
  background: url("../images/hottest-bg.webp?v=4476058364") center top / 100% auto no-repeat;
}
.hottest .games-grid {
  margin-top: 46px;
}
.new-games {
  position: relative;
  padding: 110px 0 240px;
  background: #ffcc00;
  color: var(--night);
}
.new-games h2 {
  color: var(--night);
}
.new-games::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 155px;
  background: var(--night);
  mask: url("../images/flame-bg.svg") repeat-x;
  mask-size: auto 100%;
}
.flame-inset {
  height: 180px;
  position: absolute;
  bottom: 35px;
  left: 0;
  right: 0;
  background: #ffa800;
  mask: url("../images/flame-bg.svg") repeat-x;
  mask-size: auto 100%;
  transform: rotate(180deg);
}
.new-games .section-inner {
  z-index: 2;
}
.carousel-frame {
  position: relative;
  margin: 52px auto 0;
}
.new-games .carousel-frame {
  max-width: 1040px;
}
.carousel-track {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 8px 0 14px;
}
.carousel-track::-webkit-scrollbar {
  display: none;
}
.carousel-track .game-card {
  flex: 0 0 calc((100% - 40px) / 5);
  color: #fff;
  scroll-snap-align: start;
}
.carousel-track .game-info {
  min-height: 76px;
}
.carousel-arrow {
  position: absolute;
  z-index: 4;
  top: 40%;
  background: none;
  color: var(--yellow);
  padding: 0;
  width: 64px;
  height: 55px;
  filter: drop-shadow(0 3px 2px #0006);
}
.carousel-arrow svg {
  width: 100%;
  height: 100%;
}
.carousel-arrow.prev {
  left: -95px;
  transform: rotate(180deg);
}
.carousel-arrow.next {
  right: -95px;
}
.new-games .browse {
  margin-top: 20px;
  border-color: var(--night);
  color: var(--night);
}
.center {
  text-align: center;
}
.live-games {
  position: relative;
  padding: 30px 0 110px;
}
.live-games::before {
  position: absolute;
  content: "";
  inset: 0 0 auto;
  height: 920px;
  background:
    linear-gradient(
      to top,
      var(--night),
      transparent 30%,
      transparent 80%,
      var(--night)
    ),
    var(--scene, none) center top / cover no-repeat;
}
.live-games h3 {
  text-align: center;
  font-size: 30px;
  line-height: 1.4;
  margin-top: 24px;
}
.live-games .section-subtitle {
  color: #b3bac9;
}
.live-games .register {
  margin-top: 34px;
  min-width: 220px;
}
.live-character {
  width: 650px;
  height: auto;
  margin: -15px auto -10px;
}
.live-grid {
  width: min(870px, 100%);
  margin: auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px 30px;
  position: relative;
}
.live-grid .game-info {
  min-height: 60px;
}
.live-games .browse {
  margin-top: 40px;
}
.promotions {
  position: relative;
  padding: 95px 0 120px;
  background:
    linear-gradient(to top, #07191bb3, transparent 65%),
    #082425 var(--scene, none) center / cover no-repeat;
  min-height: 780px;
}
.promotions::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 50px;
  background: var(--night);
  mask: url("../images/rocks.svg") repeat-x;
  mask-size: auto 100%;
  transform: rotate(180deg);
}
.promotions .section-inner,
.tournaments .section-inner {
  z-index: 2;
}
.promotions .browse,
.tournaments .browse {
  margin-top: 32px;
}
.ghost {
  position: absolute;
  pointer-events: none;
  width: 360px;
  top: 250px;
}
.ghost.left {
  left: calc(50% - 660px);
}
.ghost.right {
  right: calc(50% - 660px);
}
.promo-stage {
  position: relative;
  width: min(700px, calc(100% - 150px));
  margin: 60px auto 0;
}
.promo-panel {
  position: relative;
  min-height: 275px;
  border-radius: 12px;
  background: linear-gradient(105deg, #bc4f00 45%, #ffb06b);
  padding: 24px;
  isolation: isolate;
}
.promo-panel::before,
.tournament-panel::before {
  content: "";
  position: absolute;
  inset: 9px -15px -10px;
  border: 2px solid #d86800;
  transform: rotate(-2deg);
  border-radius: 12px;
  z-index: -1;
}
.promo-copy {
  max-width: 370px;
}
.promo-copy .promo-offer {
  font-size: 16px;
  margin-bottom: 6px;
}
.promo-offer {
  font-size: 25px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--yellow);
}
.offer-details {
  margin-top: 12px;
  background: #813600;
  padding: 10px 15px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.8;
}
.offer-details div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.promo-character {
  position: absolute;
  height: 285px;
  width: 225px;
  object-fit: contain;
  object-position: bottom;
  right: 45px;
  bottom: -20px;
}
.promo-action {
  margin: 15px 20px 0 auto;
  display: flex;
  width: 300px;
  position: relative;
}
.promo-stage .carousel-arrow {
  top: 120px;
}
.promotions .carousel-arrow {
  color: #70acab;
}
.tournaments {
  position: relative;
  padding: 95px 0 200px;
  background: linear-gradient(to top, var(--night), transparent 30%);
  min-height: 850px;
}
.tournament-stage {
  position: relative;
  width: min(700px, calc(100% - 150px));
  margin: 55px auto 0;
}
.tournament-panel {
  position: relative;
  min-height: 300px;
  border-radius: 10px;
  background: #2c080d;
  padding: 24px 30px 24px 330px;
}
.tournament-panel::before {
  border-color: #a32b2a;
  transform: rotate(2deg);
}
.tournament-character {
  position: absolute;
  width: 330px;
  height: 360px;
  object-fit: contain;
  left: 0;
  top: -35px;
}
.tournament-copy {
  text-align: center;
  position: relative;
}
.tournament-copy h3 {
  font-size: 22px;
  color: var(--yellow);
}
.countdown {
  display: flex;
  gap: 18px;
  justify-content: center;
  margin: 16px 0;
}
.countdown span {
  font-size: 28px;
  line-height: 1.4;
  font-weight: 800;
}
.countdown small {
  display: block;
  font-size: 11px;
  color: #a89aa2;
  font-weight: 400;
}
.prize {
  border-top: 1px solid #ffffff0a;
  padding-top: 14px;
  margin-bottom: 15px;
  font-weight: 800;
  line-height: 1.35;
}
.prize strong {
  font-size: 38px;
  color: var(--yellow);
  display: block;
}
.tournament-copy .button {
  width: 100%;
  white-space: nowrap;
}
.vip {
  position: relative;
  background: #a71d1d;
  padding: 85px 0 0;
  margin-top: 100px;
}
.vip::before,
.vip::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  height: 200px;
  background: #a71d1d;
  mask: url("../images/flame-bg.svg") repeat-x;
  mask-size: auto 100%;
  pointer-events: none;
}
.vip::after {
  height: 150px;
  background: #ffa800;
  bottom: calc(100% + 2px);
  mask-position: 130px 0;
  z-index: -1;
}
.vip .intro {
  max-width: 760px;
  margin: 26px auto 35px;
  text-align: center;
  line-height: 1.7;
  font-size: 18px;
}
.vip .intro p + p {
  margin-top: 12px;
}
.vip-carousel {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.vip-track {
  display: flex;
  gap: 25px;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  padding: 25px calc(50% - 70px) 5px;
}
.vip-carousel .carousel-arrow.prev {
  left: 15px;
}
.vip-carousel .carousel-arrow.next {
  right: 15px;
}
.vip-card {
  position: relative;
  flex: 0 0 140px;
  height: 235px;
  scroll-snap-align: center;
  padding: 0;
  background: transparent;
  color: var(--yellow);
  transition: transform 0.2s;
}
.vip-card:hover {
  transform: translateY(-8px);
}
.vip-card .card-frame {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
}
.vip-number {
  position: absolute;
  font-size: 48px;
  line-height: 1;
  font-weight: 400;
  top: 42%;
  left: 0;
  width: 100%;
}
.vip-card .card-reward {
  display: none;
  position: absolute;
  inset: 0;
  text-align: center;
  padding-top: 55px;
  font-size: 13px;
  color: white;
}
.vip-card .card-reward strong {
  display: block;
  font-size: 47px;
  color: var(--yellow);
  line-height: 1.15;
  margin-top: 20px;
}
.vip-card .card-reward small {
  display: block;
}
.vip-card.selected .card-reward {
  display: block;
}
.vip-card.selected .vip-number {
  display: none;
}
.vip-card .card-avatar {
  display: none;
  width: 65px;
  height: 65px;
  object-fit: contain;
  position: absolute;
  top: -22px;
  left: 38px;
}
.vip-card.selected .card-avatar {
  display: block;
}
.vip .learn {
  margin: 35px auto 20px;
  width: 280px;
}
.vip-art {
  position: relative;
  width: min(1000px, 95%);
  margin: 0 auto;
}
.vip-art > img {
  width: 100%;
  height: auto;
}
.vip-art .jackpot {
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
}
.vip-bottom {
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 65px;
  background: var(--night);
  mask: url("../images/rocks.svg") repeat-x;
  mask-size: auto 100%;
  transform: rotate(180deg);
}
.footer-nav {
  padding: 110px 40px 125px;
}
.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px 40px;
  max-width: 1200px;
  margin: auto;
  padding: 20px 45px;
  border: 3px solid var(--surface);
  border-radius: 25px;
  color: #8390a7;
  font-size: 12px;
}
.footer-links a:hover {
  color: var(--yellow);
}
.footer-bottom {
  position: relative;
  background: var(--surface);
  min-height: 190px;
  padding: 40px 0;
  color: #8390a7;
  font-size: 14px;
}
.footer-bottom::before {
  position: absolute;
  content: "";
  bottom: 100%;
  left: 0;
  right: 0;
  height: 100px;
  background: var(--surface);
  mask: url("../images/flame-bg.svg") repeat-x;
  mask-size: auto 100%;
}
.footer-bottom .section-inner {
  display: flex;
  justify-content: space-between;
}
.age {
  background: var(--red);
  color: white;
  font-weight: 800;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.prototype-note {
  margin-top: 14px;
  font-size: 12px;
  color: #a6adba;
}
.chat-toggle {
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #f7d816;
  color: #514b71;
  z-index: 60;
  display: grid;
  place-items: center;
}
.chat-toggle svg {
  width: 30px;
}
dialog {
  width: min(640px, calc(100% - 32px));
  max-height: 85dvh;
  background: var(--surface);
  color: white;
  border: 1px solid #42434a;
  border-radius: 20px;
  padding: 36px;
}
dialog::backdrop {
  background: #05071acc;
  backdrop-filter: blur(7px);
}
dialog h2 {
  text-align: left;
  font-size: 30px;
  padding-right: 30px;
}
.dialog-close {
  position: absolute;
  right: 14px;
  top: 10px;
  background: transparent;
  font-size: 32px;
  color: #bfc5d1;
}
.dialog-copy {
  color: #c8ced7;
  margin-top: 20px;
}
.dialog-art {
  margin: 22px auto;
  border-radius: 12px;
  max-height: 260px;
}
@media (max-width: 1919px) {
  .games-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .live-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .game-info {
    min-height: 70px;
  }
  .hero-copy {
    width: 550px;
    max-width: 48%;
  }
  .hero-description {
    font-size: 36px;
  }
  .winners {
    width: 240px;
  }
  .hero .jackpot {
    left: 48%;
    width: 320px;
  }
  .top-nav {
    gap: 35px;
  }
  .topbar {
    gap: 30px;
    padding-right: 20px;
  }
  .account-actions .button {
    min-width: 110px;
  }
}
@media (max-width: 1500px) {
  .top-nav {
    gap: 25px;
  }
  .top-nav a:nth-child(2),
  .top-nav a:last-child {
    display: none;
  }
  .hero-copy h1 {
    font-size: 46px;
  }
  .hero-description {
    font-size: 30px;
  }
  .hero .jackpot {
    width: 280px;
    left: 49%;
  }
  .jackpot strong {
    font-size: 43px;
  }
  .winners {
    width: 190px;
  }
  .winners img {
    width: 60px;
    height: 45px;
  }
  .winners h2 {
    font-size: 27px;
  }
  .recommended h2 {
    font-size: 60px;
  }
  .carousel-arrow.prev {
    left: -60px;
  }
  .carousel-arrow.next {
    right: -60px;
  }
  .new-games .carousel-frame {
    width: calc(100% - 70px);
  }
}
@media (max-width: 1150px) {
  :root {
    --aside: 170px;
  }
  .brand {
    padding: 0 15px;
  }
  .brand-wordmark {
    width: 86px;
  }
  .sidebar-special {
    margin: 8px;
    width: calc(100% - 16px);
    font-size: 14px;
  }
  .side-nav a,
  .side-nav button {
    font-size: 12px;
    gap: 7px;
  }
  .topbar {
    gap: 20px;
    padding-left: 25px;
  }
  .top-nav {
    gap: 20px;
    font-size: 12px;
  }
  .top-nav a:nth-child(1) {
    display: none;
  }
  .account-actions .button {
    min-width: 80px;
    padding: 8px 15px;
  }
  .hero {
    height: 540px;
  }
  .hero-copy {
    max-width: 58%;
    padding-top: 95px;
  }
  .hero-copy h1 {
    font-size: 38px;
  }
  .hero-description {
    font-size: 26px;
  }
  .winners {
    display: none;
  }
  .hero .jackpot {
    left: auto;
    right: 0;
    bottom: 10px;
    width: 245px;
  }
  .jackpot strong {
    font-size: 37px;
  }
  .recommended h2 {
    font-size: 46px;
  }
  h2 {
    font-size: 42px;
  }
  .games-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .live-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .game-info {
    min-height: 90px;
    padding: 10px;
  }
  .game-name {
    font-size: 12px;
  }
  .provider-icon {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
  }
  .carousel-track .game-card {
    flex-basis: calc((100% - 20px) / 3);
  }
  .promo-stage,
  .tournament-stage {
    width: calc(100% - 70px);
  }
  .promo-copy {
    max-width: 62%;
  }
  .promo-character {
    right: 0;
    width: 190px;
  }
  .promo-offer {
    font-size: 21px;
  }
  .tournament-panel {
    padding-left: 45%;
  }
  .tournament-character {
    width: 48%;
  }
  .ghost {
    opacity: 0.65;
  }
}
@media (max-width: 760px) {
  :root {
    --aside: 0px;
    --header: 64px;
  }
  html {
    scroll-padding-top: 105px;
  }
  .sidebar {
    width: 200px;
    transform: translateX(-205px);
    transition: transform 0.2s;
  }
  body.mobile-menu-open .sidebar {
    transform: translateX(0);
  }
  .topbar {
    padding: 0 16px;
    gap: 12px;
  }
  .topbar::after {
    top: 63px;
    height: 45px;
  }
  .mobile-menu {
    display: block;
    width: 32px;
    padding: 0;
    background: transparent;
    font-size: 24px;
  }
  .top-nav {
    display: none;
  }
  .account-actions {
    gap: 7px;
  }
  .account-actions .button {
    min-width: 70px;
    font-size: 12px;
    min-height: 36px;
    padding: 7px 12px;
  }
  .language {
    padding: 5px;
  }
  .hero {
    height: 660px;
  }
  .hero-art {
    background-position: 63% top;
    background-size: auto 420px;
  }
  .hero-art::after {
    background: linear-gradient(to top, var(--night) 30%, transparent 80%);
  }
  .hero-inner {
    width: calc(100% - 30px);
  }
  .hero-copy {
    padding-top: 300px;
    max-width: 100%;
    width: 100%;
    position: relative;
  }
  .hero-copy h1 {
    font-size: 32px;
  }
  .hero-copy h1 span {
    display: inline;
  }
  .hero-description {
    font-size: 23px;
    margin-top: 16px;
  }
  .hero-copy .button {
    min-height: 44px;
    font-size: 16px;
    width: 220px;
    margin-top: 18px;
  }
  .hero .jackpot {
    top: 200px;
    bottom: auto;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: 230px;
  }
  .hero .jackpot small {
    font-size: 11px;
  }
  .hero .jackpot strong {
    font-size: 34px;
  }
  .hero .jackpot::before {
    height: 40px;
  }
  .hero-dots {
    margin-top: 22px;
  }
  .section-inner {
    width: calc(100% - 30px);
  }
  .recommended {
    padding-top: 0;
  }
  .recommended h2 {
    font-size: 32px;
    margin-bottom: 55px;
  }
  .cave-bg {
    top: 45px;
    background-size: auto 800px;
  }
  .games-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 8px;
  }
  .game-info {
    min-height: 75px;
    gap: 5px;
    padding: 8px;
  }
  .game-name {
    font-size: 11px;
  }
  .provider-icon {
    display: none;
  }
  .game-stat {
    padding: 3px 5px;
    font-size: 9px;
    right: 4px;
    top: 4px;
  }
  .game-stat small {
    font-size: 9px;
  }
  .hottest {
    margin-top: 35px;
    padding: 65px 0 60px;
    background-size: auto 650px;
  }
  h2 {
    font-size: 30px;
  }
  .section-subtitle {
    font-size: 14px;
    margin-top: 18px;
  }
  .hottest .games-grid {
    margin-top: 30px;
  }
  .rock-top::before {
    height: 35px;
  }
  .new-games {
    padding: 70px 0 150px;
  }
  .new-games .carousel-frame {
    width: calc(100% - 35px);
    margin-top: 28px;
  }
  .carousel-track .game-card {
    flex-basis: calc((100% - 10px) / 2);
  }
  .carousel-arrow {
    width: 35px;
    height: 38px;
  }
  .carousel-arrow.prev {
    left: -28px;
  }
  .carousel-arrow.next {
    right: -28px;
  }
  .new-games::after {
    height: 90px;
  }
  .flame-inset {
    height: 100px;
  }
  .button {
    font-size: 14px;
    min-height: 44px;
  }
  .live-games {
    padding: 20px 0 70px;
  }
  .live-games h3 {
    font-size: 19px;
    margin-top: 16px;
  }
  .live-games .register {
    margin-top: 25px;
  }
  .live-character {
    margin-top: 15px;
    width: min(480px, 100%);
  }
  .live-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
  }
  .live-grid .game-info {
    min-height: 55px;
  }
  .promotions {
    padding: 70px 0;
    min-height: 660px;
  }
  .promotions .section-subtitle {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  .promo-stage {
    width: calc(100% - 35px);
    margin-top: 40px;
  }
  .promo-panel {
    min-height: 330px;
    padding: 20px 15px;
  }
  .promo-copy {
    max-width: 73%;
  }
  .promo-copy .promo-offer {
    font-size: 13px;
  }
  .promo-offer {
    font-size: 19px;
  }
  .offer-details {
    font-size: 10px;
    padding: 8px;
  }
  .offer-details div {
    gap: 5px;
  }
  .promo-character {
    height: 180px;
    width: 125px;
    bottom: -15px;
    right: -12px;
  }
  .promo-action {
    width: 200px;
    margin: 20px auto 0;
  }
  .ghost {
    width: 180px;
    top: 380px;
    opacity: 0.5;
  }
  .ghost.left {
    left: -35px;
  }
  .ghost.right {
    right: -35px;
  }
  .tournaments {
    padding: 70px 0 120px;
    min-height: 700px;
  }
  .tournament-stage {
    width: calc(100% - 35px);
    margin-top: 40px;
  }
  .tournament-panel {
    padding: 20px 15px 20px 35%;
    min-height: 290px;
  }
  .tournament-character {
    width: 55%;
    height: 270px;
    top: 65px;
    left: -35px;
  }
  .tournament-copy h3 {
    font-size: 18px;
  }
  .countdown {
    gap: 8px;
  }
  .countdown span {
    font-size: 21px;
  }
  .countdown small {
    font-size: 8px;
  }
  .prize {
    font-size: 12px;
  }
  .prize strong {
    font-size: 31px;
  }
  .tournament-copy .button {
    padding: 10px;
    font-size: 12px;
  }
  .vip {
    padding-top: 50px;
    margin-top: 25px;
  }
  .vip::before {
    height: 95px;
  }
  .vip::after {
    height: 75px;
  }
  .vip .intro {
    font-size: 14px;
    padding: 0 15px;
    margin-bottom: 20px;
  }
  .vip-carousel {
    width: calc(100% - 70px);
  }
  .vip-track {
    gap: 18px;
    padding-left: calc(50% - 62px);
    padding-right: calc(50% - 62px);
  }
  .vip-carousel .carousel-arrow.prev {
    left: -28px;
  }
  .vip-carousel .carousel-arrow.next {
    right: -28px;
  }
  .vip-card {
    flex-basis: 125px;
    height: 210px;
  }
  .vip-number {
    font-size: 44px;
  }
  .vip .learn {
    margin-top: 24px;
  }
  .vip-art {
    width: 100%;
  }
  .vip-art .jackpot {
    width: 230px;
    bottom: -30px;
  }
  .vip-art .jackpot small {
    font-size: 11px;
  }
  .vip-art .jackpot strong {
    font-size: 32px;
  }
  .vip-art .jackpot::before {
    height: 45px;
  }
  .vip-bottom {
    height: 30px;
  }
  .footer-nav {
    padding: 90px 15px 100px;
  }
  .footer-links {
    padding: 20px 15px;
    gap: 16px 20px;
    font-size: 10px;
  }
  .footer-bottom::before {
    height: 65px;
  }
  .footer-bottom {
    font-size: 12px;
    padding-top: 25px;
  }
  .chat-toggle {
    width: 48px;
    height: 48px;
    right: 12px;
    bottom: 12px;
  }
  dialog {
    padding: 25px 20px;
  }
  dialog h2 {
    font-size: 24px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
  }
}

/* option-2.css */
:root {
  --night: #001505;
  --surface: #0b211b;
  --yellow: #f5e500;
  --green: #328b08;
  --red: #62bb0b;
  --cream: #f5f4de;
  --aside: 200px;
  --header: 68px;
}
html {
  scroll-padding-top: 88px;
  scrollbar-color: #8da80b #001505;
}
body {
  background: #001505;
  line-height: 1.45;
}
button,
a {
  touch-action: manipulation;
}
button:disabled {
  cursor: default;
}
button:focus-visible,
a:focus-visible,
summary:focus-visible,
input:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}
h2 {
  font-size: 44px;
  text-transform: none;
}
.button {
  border-radius: 7px;
  font-size: 17px;
  min-height: 43px;
  padding: 10px 24px;
  transition: background 0.15s;
}
.button:hover {
  transform: none;
}
.button.green {
  background: #318609;
  color: white;
}
.button.green:hover {
  background: #469d10;
}
.button.lime {
  background: #81d609;
  color: #092000;
}
.button.yellow {
  background: var(--yellow);
  color: #0b2100;
}
.button.yellow:hover {
  background: #fff452;
}
.button.outline {
  border-radius: 7px;
  border-width: 2px;
  min-height: 42px;
  padding: 8px 24px;
}
.button.compact {
  font-size: 15px;
  min-height: 36px;
  padding: 8px 16px;
}
.wordmark {
  font-family: Arial, sans-serif;
  font-size: 36px;
  font-weight: 900;
  font-style: italic;
  letter-spacing: -2px;
  white-space: nowrap;
  line-height: 1;
  color: #fff;
}
.wordmark span {
  color: var(--yellow);
}
.sidebar {
  top: 0;
  bottom: 0;
  max-height: 100dvh;
  border-radius: 0;
  background: linear-gradient(90deg, #001003, #022108 80%, #001705);
  padding: 0 8px 22px;
  box-shadow: none;
}
.brand.wordmark {
  height: 68px;
  padding: 0 10px;
}
.sidebar-special {
  height: 55px;
  margin: 8px 8px;
  width: calc(100% - 16px);
  border-radius: 6px;
  color: #192800;
  background: linear-gradient(#ffec13, #b1a100);
}
.sidebar-special.missions {
  color: #f7ffe7;
  background: linear-gradient(#629f21, #164e06);
}
.sidebar-special img {
  width: 42px;
  height: 48px;
}
.side-nav {
  padding: 0 2px 12px;
}
.side-nav a,
.side-nav button {
  font-size: 13px;
  min-height: 45px;
  margin-top: 7px;
  gap: 12px;
}
.side-nav .nav-icon {
  width: 27px;
  height: 27px;
  flex-basis: 27px;
}
.side-nav a:hover,
.side-nav button:hover {
  background: #153b11;
}
.sidebar-promo {
  background: linear-gradient(100deg, #36543a, #0b2718);
  border: 1px solid #42622b;
  height: 69px;
  padding: 7px;
}
.sidebar-promo img {
  width: 58px;
  height: 54px;
  object-fit: cover;
  border-radius: 3px;
}
.sidebar-promo span {
  font-size: 11px;
}
.sidebar-promo small {
  font-size: 10px;
  line-height: 1.35;
  color: #c8dbc0;
}
.topbar {
  padding: 0 24px;
  gap: 20px;
  background: #001304;
}
.topbar::after {
  top: 67px;
  height: 38px;
  background: #001304;
}
.top-nav {
  gap: 23px;
  font-size: 12px;
}
.account-actions {
  gap: 9px;
}
.account-actions .button {
  min-width: 80px;
  min-height: 33px;
  font-size: 12px;
  padding: 7px 13px;
  border-radius: 6px;
}
.account-actions .login {
  background: #24372e;
}
.account-actions .yellow {
  background: #8dd50d;
  box-shadow: none;
}
.language {
  font-size: 11px;
  font-weight: 700;
  padding: 0 0 0 5px;
}
.hero {
  height: 530px;
  background: #001505;
}
.hero-art {
  background-image: none;
  background-size: cover;
  background-position: center center;
}
.hero-art::after {
  background: linear-gradient(to top, #001505, transparent 24%);
}
.hero-inner {
  width: min(1240px, calc(100% - 64px));
}
.hero-copy {
  text-align: left;
  padding-top: 65px;
  width: 490px;
  max-width: 43%;
}
.hero-copy h1 {
  text-transform: none;
  font-size: 51px;
  line-height: 1.07;
  color: white;
  letter-spacing: -1.2px;
}
.hero-copy h1 span {
  color: var(--yellow);
  display: inline;
}
.byline {
  margin: 25px 0 18px;
  font-size: 13px;
  line-height: 1.6;
  color: #edf2e5;
}
.hero-description {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.45;
  margin: 0;
  max-width: 450px;
}
.hero-copy .button {
  margin-top: 21px;
  width: 220px;
}
.hero .jackpot {
  left: 49%;
  width: 270px;
  bottom: 35px;
  border: 2px solid #c7dc00;
  background: #071905;
  border-radius: 9px;
  padding: 6px 16px;
}
.hero .jackpot::before {
  height: 60px;
}
.jackpot strong {
  font-size: 48px;
}
.jackpot small {
  font-size: 13px;
}
.key-facts {
  position: absolute;
  right: 0;
  top: 58px;
  width: 238px;
  border: 1px solid #365900;
  background: #031b08ed;
  border-radius: 8px;
  padding: 19px 18px 15px;
}
.key-facts h2 {
  font-size: 18px;
  text-align: left;
  color: white;
  margin-bottom: 16px;
}
.key-facts dl {
  margin: 0;
}
.key-facts dl > div {
  position: relative;
  padding-left: 36px;
  margin: 13px 0;
}
.key-facts dt {
  font-size: 12px;
  color: #e2eadc;
}
.key-facts dt img {
  position: absolute;
  left: 0;
  top: 5px;
  width: 25px;
  height: 27px;
  object-fit: contain;
}
.key-facts dd {
  margin: 4px 0 0;
  color: #efea17;
  font-weight: 700;
  font-size: 14px;
}
.key-facts dd small {
  display: block;
  color: #c7d4be;
  font-weight: 400;
  font-size: 11px;
}
.key-facts .risk-value {
  color: #ff7867;
}
.fact-symbol {
  position: absolute;
  left: 0;
  top: 3px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 2px solid #ff7867;
  border-radius: 50%;
  color: #ff7867;
  font-size: 17px;
  font-weight: 700;
}
.fact-symbol.info {
  background: #00a5dc;
  border: 0;
  color: #001505;
}
.section-inner {
  width: min(1200px, calc(100% - 64px));
}
.recommended {
  padding: 30px 0 5px;
}
.recommended h2 {
  font-size: 45px;
  margin: 0;
}
.section-subtitle {
  font-size: 17px;
  margin-top: 14px;
  color: #e0e9d6;
}
.recommended .cave-bg {
  top: 0;
  background-size: 100% 100%;
  opacity: 0.5;
}
.cave-bg::before {
  background: #001505;
}
.games-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 15px 13px;
  margin-top: 36px;
}
.game-card {
  border-radius: 5px;
  background: #0b2226;
  transition: filter 0.15s;
}
.game-card:hover {
  transform: none;
  box-shadow: none;
  filter: brightness(1.13);
}
.game-image {
  aspect-ratio: 4/3;
}
.game-info {
  min-height: 62px;
  padding: 9px 10px;
  gap: 7px;
}
.game-name {
  font-size: 12px;
  line-height: 1.35;
}
.provider-icon {
  width: 21px;
  height: 21px;
  flex-basis: 21px;
}
.browse {
  margin-top: 20px;
}
.live-games {
  padding: 0 0 45px;
  margin-top: 0;
}
.live-games::before {
  inset: 0;
  height: auto;
  background:
    linear-gradient(to bottom, #001505, transparent 30%, #001505 97%),
    var(--scene, none) center top / cover no-repeat;
}
.live-character {
  height: 240px;
  width: 420px;
  object-fit: contain;
  object-position: center bottom;
  margin: 0 auto -62px;
}
.live-games h2 {
  position: relative;
  z-index: 2;
  text-shadow: 0 2px 10px #001505;
}
.live-grid {
  width: 100%;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 13px;
  margin-top: 32px;
}
.live-grid .game-info {
  min-height: 52px;
}
.live-games .browse {
  margin-top: 22px;
}
.promotions {
  padding: 0 0 72px;
  min-height: 650px;
  background:
    linear-gradient(#00150500, #00150522),
    #052408 var(--scene, none) center / cover no-repeat;
}
.promo-heading {
  position: relative;
  z-index: 3;
  padding: 43px 25px 38px;
  background: #f4e500;
  text-align: center;
  color: #101e00;
}
.promo-heading::before,
.promo-heading::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 35px;
  background: #f4e500;
  mask: url("../images/rocks.svg") repeat-x;
  mask-size: auto 100%;
  pointer-events: none;
}
.promo-heading::before {
  top: -34px;
  transform: rotate(180deg);
}
.promo-heading::after {
  bottom: -34px;
}
.promo-heading .promo-title {
  color: #102000;
  font-size: 46px;
}
.promo-heading p {
  font-size: 20px;
  margin-top: 14px;
  font-weight: 700;
}
.promo-stage {
  width: min(820px, calc(100% - 150px));
  margin-top: 72px;
}
.promo-panel {
  min-height: 330px;
  background: linear-gradient(105deg, #102f04 35%, #246602);
  border: 2px solid #c5df00;
  border-radius: 14px;
  padding: 30px;
  transform: rotate(-1deg);
}
.promo-panel::before {
  inset: -10px 8px 9px -15px;
  border: 2px solid #f4e500;
  transform: rotate(-1deg);
  border-radius: 15px;
}
.promo-copy {
  max-width: 66%;
  position: relative;
  z-index: 2;
  transform: rotate(1deg);
}
.promo-copy .promo-offer {
  font-size: 30px;
  margin-bottom: 18px;
}
.promo-copy .promo-offer span {
  font-size: 26px;
}
.offer-details {
  background: #071f0b;
  border: 1px solid #345a1a;
  border-radius: 5px;
  padding: 14px 17px;
  line-height: 1.9;
  margin: 0;
  font-size: 13px;
}
.offer-details div {
  gap: 18px;
}
.offer-details dt,
.offer-details dd {
  margin: 0;
}
.offer-details dd {
  text-align: right;
  white-space: nowrap;
}
.promo-character {
  height: 350px;
  width: 260px;
  right: 9px;
  bottom: -5px;
  transform: rotate(1deg);
}
.promo-action {
  width: 290px;
  margin: 5px 45px 0 auto;
  min-height: 48px;
  z-index: 4;
}
.ghost {
  width: 330px;
  top: 190px;
}
.ghost.left {
  left: calc(50% - 640px);
}
.ghost.right {
  right: calc(50% - 650px);
}
.promotions::after {
  height: 42px;
  background: #001505;
}
.editorial-sections {
  width: min(1280px, calc(100% - 56px));
}
.risk-section {
  min-height: 250px;
  display: flex;
  align-items: center;
  padding: 25px 25px 30px;
  background: var(--scene, none) right center/auto 100% no-repeat;
  border-bottom: 1px solid #36540b;
}
.risk-section > div {
  width: 78%;
  position: relative;
}
.risk-section h2 {
  font-size: 35px;
  text-align: left;
  margin-bottom: 15px;
}
.risk-section p {
  max-width: 820px;
  font-size: 16px;
  line-height: 1.4;
}
.risk-reminder {
  margin-top: 8px;
}
.risk-section .button {
  margin-top: 15px;
}
.editorial-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.editorial-card {
  position: relative;
  min-height: 265px;
  border-bottom: 1px solid #36540b;
  background-image:
    linear-gradient(90deg, #001505ed 0%, #001505be 42%, #00150500 76%),
    var(--scene, none);
  background-size: cover;
  background-position: center;
  padding: 20px 22px;
  display: flex;
  align-items: center;
}
.editorial-card.art-left {
  background-image:
    linear-gradient(90deg, #00150500 15%, #001505a8 44%, #001505ee 75%),
    var(--scene, none);
}
.editorial-card:nth-child(odd) {
  border-right: 1px solid #36540b;
}
.editorial-copy {
  position: relative;
  width: 67%;
}
.art-left .editorial-copy {
  margin-left: 36%;
  width: 64%;
}
.editorial-card h2 {
  font-size: 28px;
  text-align: left;
  margin-bottom: 13px;
}
.editorial-card p {
  font-size: 15px;
  line-height: 1.45;
  text-shadow: 0 1px 4px #001505;
}
.editorial-card .button {
  margin-top: 13px;
  font-size: 13px;
}
.faq {
  padding: 28px 25px 55px;
}
.faq h2 {
  text-align: left;
  font-size: 32px;
  margin-bottom: 22px;
}
.faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 30px;
  align-items: start;
}
.faq details {
  border: 1px solid #28440d;
  border-radius: 5px;
  background: #041d09;
}
.faq summary {
  cursor: pointer;
  padding: 13px 36px 13px 15px;
  font-size: 15px;
  font-weight: 600;
  list-style: none;
  position: relative;
}
.faq summary::-webkit-details-marker {
  display: none;
}
.faq summary::after {
  content: "›";
  position: absolute;
  right: 13px;
  top: 7px;
  color: var(--yellow);
  font-size: 26px;
}
.faq details[open] summary::after {
  transform: rotate(90deg);
}
.faq details > div {
  padding: 0 15px 16px;
  color: #cfdbc9;
  font-size: 14px;
  line-height: 1.6;
}
.faq .button {
  min-height: 47px;
}
.responsible {
  background: #f4e500;
  color: #142300;
  padding: 24px 0 30px;
  position: relative;
  margin-top: 55px;
}
.responsible::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  height: 95px;
  background: #f4e500;
  mask: url("../images/flame-bg.svg") repeat-x;
  mask-size: auto 100%;
}
.responsible::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 25px;
  background: #f4e500;
  mask: url("../images/rocks.svg") repeat-x;
  mask-size: auto 100%;
}
.responsible .section-inner {
  display: flex;
  align-items: center;
  gap: 20px;
}
.responsible .age {
  background: #e53b37;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  font-size: 20px;
}
.responsible strong,
.responsible p {
  font-size: 15px;
  line-height: 1.5;
}
.responsible a {
  text-decoration: underline;
  font-weight: bold;
}
.page-footer {
  padding: 60px 32px 40px;
  display: flex;
  align-items: start;
  gap: 34px;
  background: #001505;
  color: #97b58e;
  font-size: 12px;
}
.page-footer .wordmark {
  font-size: 32px;
}
.page-footer nav {
  display: flex;
  gap: 12px 20px;
  flex-wrap: wrap;
  max-width: 700px;
}
.page-footer button {
  background: none;
  padding: 0;
  font-size: inherit;
  color: inherit;
}
.page-footer p {
  margin-left: auto;
  text-align: right;
  font-size: 11px;
  white-space: nowrap;
}
.page-footer a:hover,
.page-footer button:hover {
  color: var(--yellow);
}
dialog {
  color: #f5f6ed;
  background: #061d0e;
  border: 1px solid #436b14;
  border-radius: 14px;
  padding: 0;
  width: min(1000px, calc(100% - 32px));
  max-height: 88dvh;
}
dialog::backdrop {
  background: #001007dd;
}
.reader-toolbar {
  position: sticky;
  top: 0;
  z-index: 5;
  padding: 18px 24px;
  background: #0a2811;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid #35551a;
}
.reader-toolbar h2 {
  text-align: left;
  font-size: 23px;
}
.dialog-close {
  position: static;
  background: #284e17;
  border: 1px solid #4e7529;
  padding: 9px 14px;
  border-radius: 6px;
  font-size: 13px;
  color: white;
  flex-shrink: 0;
}
.reader-body {
  padding: 30px 42px 50px;
  font-size: 17px;
  line-height: 1.75;
}
.reader-body h1 {
  font-size: 34px;
  margin-bottom: 22px;
  color: var(--yellow);
}
.reader-body h2 {
  text-align: left;
  font-size: 29px;
  margin: 42px 0 22px;
  scroll-margin-top: 100px;
}
.reader-body h3 {
  font-size: 21px;
  margin: 28px 0 15px;
  color: #dce78c;
}
.reader-body p {
  margin: 16px 0;
}
.reader-body a {
  color: #d5e847;
  text-decoration: underline;
  font-weight: 700;
}
.reader-body hr {
  border: 0;
  border-top: 1px solid #476327;
  margin: 35px 0;
}
.table-scroll {
  overflow: auto;
  margin: 25px 0;
}
.table-scroll table {
  border-collapse: collapse;
  width: 100%;
  min-width: 560px;
  font-size: 15px;
  line-height: 1.5;
}
.table-scroll caption {
  text-align: left;
  color: var(--yellow);
  font-weight: 700;
  margin-bottom: 12px;
}
.table-scroll th {
  background: #284523;
  font-size: 17px;
  text-align: left;
}
.table-scroll td,
.table-scroll th {
  padding: 12px 14px;
  border: 1px solid #38502d;
}
.table-scroll tbody tr:nth-child(even) {
  background: #102a17;
}
#game-dialog {
  width: min(520px, calc(100% - 32px));
  padding: 24px;
}
#game-dialog .dialog-close {
  display: block;
  margin: 0 0 18px auto;
}
#game-dialog img {
  margin: 0 auto 20px;
  border-radius: 8px;
}
#game-dialog h2 {
  font-size: 27px;
  text-align: left;
  margin-bottom: 12px;
}
#game-dialog p {
  margin: 12px 0;
  font-size: 15px;
  line-height: 1.6;
}
#game-dialog .button {
  margin-top: 15px;
}
body:has(dialog[open]) {
  overflow: hidden;
}
@media (min-width: 1700px) {
  .hero {
    height: 590px;
  }
  .hero-copy {
    padding-top: 90px;
  }
  .hero .jackpot {
    bottom: 40px;
  }
  .key-facts {
    top: 83px;
  }
}
@media (max-width: 1400px) and (min-width: 1001px) {
  :root {
    --aside: 180px;
  }
  .topbar {
    gap: 15px;
    padding: 0 16px;
  }
  .top-nav {
    gap: 14px;
    font-size: 10px;
  }
  .top-nav a:nth-child(1) {
    display: block;
  }
  .account-actions .button {
    font-size: 10px;
    min-width: 55px;
  }
  .hero-copy h1 {
    font-size: 42px;
  }
  .hero-copy {
    max-width: 41%;
  }
  .hero-description {
    font-size: 15px;
  }
  .key-facts {
    width: 195px;
    right: -10px;
    padding: 14px;
  }
  .key-facts dd {
    font-size: 12px;
  }
  .hero .jackpot {
    width: 220px;
    left: 48%;
  }
  .games-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .recommended h2 {
    font-size: 38px;
  }
  .promo-copy {
    max-width: 66%;
  }
  .promo-character {
    width: 225px;
    height: 320px;
  }
  .editorial-card h2 {
    font-size: 24px;
  }
  .editorial-card p {
    font-size: 14px;
  }
  .editorial-card .button {
    font-size: 12px;
    padding: 8px 10px;
  }
}
@media (max-width: 1000px) {
  :root {
    --aside: 0px;
    --header: 64px;
  }
  .sidebar {
    width: 200px;
    transform: translateX(-205px);
    z-index: 60;
  }
  body.mobile-menu-open .sidebar {
    transform: translateX(0);
  }
  .mobile-menu {
    display: block;
    font-size: 13px;
    width: auto;
    color: white;
    background: #18420d;
    border-radius: 5px;
    padding: 7px 10px;
  }
  .top-nav {
    display: none;
  }
  .topbar {
    padding: 0 20px;
    gap: 15px;
  }
  .topbar::after {
    top: 63px;
    height: 25px;
  }
  .hero-copy {
    max-width: 46%;
    padding-top: 55px;
  }
  .hero-copy h1 {
    font-size: 38px;
  }
  .key-facts {
    width: 180px;
    padding: 12px;
  }
  .key-facts dd {
    font-size: 12px;
  }
  .hero .jackpot {
    left: 48%;
    bottom: 30px;
    width: 220px;
  }
  .hero-description {
    font-size: 15px;
  }
  .recommended h2 {
    font-size: 34px;
  }
  .editorial-card h2 {
    font-size: 22px;
  }
  .editorial-card p {
    font-size: 13px;
  }
  .editorial-card .button {
    font-size: 11px;
  }
  .promo-stage {
    width: calc(100% - 100px);
  }
  .promo-character {
    width: 230px;
    height: 310px;
  }
  .promo-copy {
    max-width: 66%;
  }
  .promo-copy .promo-offer {
    font-size: 27px;
  }
  .promo-copy .promo-offer span {
    font-size: 23px;
  }
  .ghost.left {
    left: -100px;
  }
  .ghost.right {
    right: -100px;
  }
}
@media (min-width: 601px) and (max-width: 1000px) {
  .hero {
    height: auto;
    padding-bottom: 24px;
  }
  .hero-art {
    height: 540px;
    background-size: auto 540px;
    background-position: 65% top;
  }
  .hero-copy {
    min-height: 510px;
  }
  .hero .jackpot {
    top: 400px;
    bottom: auto;
    left: auto;
    right: 12px;
  }
  .key-facts {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    margin-top: 16px;
  }
  .key-facts dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .key-facts dl > div {
    margin: 4px 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
@media (max-width: 600px) {
  html {
    scroll-padding-top: 85px;
  }
  .topbar {
    padding: 0 12px;
    gap: 10px;
  }
  .account-actions .button {
    font-size: 10px;
    padding: 7px 9px;
    min-width: 0;
  }
  .section-inner,
  .hero-inner,
  .editorial-sections {
    width: calc(100% - 30px);
  }
  .hero {
    height: auto;
    padding-bottom: 20px;
  }
  .hero-art {
    height: 335px;
    background-position: 65% top;
    background-size: auto 335px;
  }
  .hero-art::after {
    background: linear-gradient(to top, #001505, transparent 40%);
  }
  .hero-copy {
    padding-top: 330px;
    width: 100%;
    max-width: none;
    text-align: left;
  }
  .hero-copy h1 {
    font-size: 36px;
    line-height: 1.08;
    letter-spacing: -0.7px;
  }
  .byline {
    margin: 18px 0 12px;
    font-size: 12px;
  }
  .hero-description {
    font-size: 15px;
    line-height: 1.55;
  }
  .hero-copy .button {
    width: auto;
    min-width: 190px;
    font-size: 15px;
  }
  .hero .jackpot {
    top: 228px;
    bottom: auto;
    left: auto;
    right: 0;
    transform: none;
    width: 185px;
    padding: 5px 10px;
  }
  .hero .jackpot strong {
    font-size: 34px;
  }
  .hero .jackpot small {
    font-size: 11px;
  }
  .hero .jackpot::before {
    height: 42px;
  }
  .key-facts {
    position: static;
    width: 100%;
    padding: 16px;
    margin-top: 24px;
  }
  .key-facts h2 {
    font-size: 18px;
  }
  .key-facts dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 10px;
  }
  .key-facts dl > div {
    margin: 5px 0;
    padding-left: 30px;
  }
  .key-facts dt {
    font-size: 11px;
  }
  .key-facts dd {
    font-size: 12px;
  }
  .key-facts dt img {
    width: 21px;
    height: 23px;
  }
  .recommended {
    padding-top: 25px;
  }
  .recommended h2,
  h2 {
    font-size: 30px;
    line-height: 1.1;
  }
  .section-subtitle {
    font-size: 14px;
    margin-top: 12px;
  }
  .games-grid,
  .live-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
  }
  .game-info,
  .live-grid .game-info {
    min-height: 54px;
    padding: 8px;
  }
  .game-name {
    font-size: 11px;
  }
  .provider-icon {
    display: block;
    width: 17px;
    height: 17px;
    flex-basis: 17px;
  }
  .browse {
    font-size: 14px;
  }
  .live-games {
    padding-bottom: 60px;
  }
  .live-character {
    height: 220px;
    width: 100%;
    margin-bottom: -35px;
  }
  .live-grid .game-card:last-child {
    grid-column: 1/-1;
    width: calc(50% - 6px);
    justify-self: center;
  }
  .promo-heading {
    padding: 28px 16px;
  }
  .promo-heading .promo-title {
    font-size: 30px;
  }
  .promo-heading p {
    font-size: 16px;
  }
  .promo-heading::before,
  .promo-heading::after {
    height: 24px;
  }
  .promo-heading::before {
    top: -23px;
  }
  .promo-heading::after {
    bottom: -23px;
  }
  .promotions {
    min-height: 0;
    padding-bottom: 70px;
  }
  .promo-stage {
    width: calc(100% - 24px);
    margin-top: 50px;
  }
  .promo-panel {
    min-height: 390px;
    padding: 20px 14px;
  }
  .promo-copy {
    max-width: none;
  }
  .promo-copy .promo-offer {
    font-size: 24px;
  }
  .promo-copy .promo-offer span {
    font-size: 18px;
  }
  .offer-details {
    width: 76%;
    padding: 10px;
    font-size: 11px;
    margin-top: 25px;
  }
  .offer-details div {
    gap: 8px;
    flex-wrap: wrap;
    border-bottom: 1px solid #ffffff12;
    padding: 3px 0;
  }
  .offer-details dd {
    margin-left: auto;
  }
  .promo-character {
    height: 200px;
    width: 145px;
    right: -20px;
    bottom: -10px;
  }
  .promo-action {
    width: 220px;
    margin: 12px auto 0;
    min-height: 44px;
  }
  .ghost {
    width: 150px;
    top: 210px;
    opacity: 0.8;
  }
  .ghost.left {
    left: -75px;
  }
  .ghost.right {
    right: -75px;
  }
  .risk-section {
    min-height: 345px;
    padding: 25px 4px;
    background-image:
      linear-gradient(90deg, #001505ee, #001505b8 65%, transparent),
      var(--scene, none);
    background-size:
      100% 100%,
      auto 260px;
    background-position: right bottom;
  }
  .risk-section > div {
    width: 100%;
  }
  .risk-section h2 {
    font-size: 28px;
  }
  .risk-section p {
    max-width: 82%;
    font-size: 14px;
    text-shadow: 0 1px 4px #001505;
  }
  .risk-section .button {
    max-width: 82%;
    font-size: 12px;
  }
  .editorial-grid {
    grid-template-columns: 1fr;
  }
  .editorial-card {
    min-height: 250px;
    padding: 20px 10px;
  }
  .editorial-card:nth-child(odd) {
    border-right: 0;
  }
  .editorial-card h2 {
    font-size: 25px;
  }
  .editorial-card p {
    font-size: 13px;
    line-height: 1.55;
  }
  .editorial-copy {
    width: 68%;
  }
  .art-left .editorial-copy {
    width: 66%;
    margin-left: 34%;
  }
  .editorial-card .button {
    font-size: 12px;
    padding: 8px 10px;
  }
  .faq {
    padding: 26px 0 38px;
  }
  .faq h2 {
    font-size: 29px;
  }
  .faq-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .faq summary {
    font-size: 14px;
    padding: 14px 30px 14px 12px;
  }
  .responsible {
    margin-top: 40px;
    padding: 20px 0;
  }
  .responsible::before {
    height: 65px;
  }
  .responsible .section-inner {
    gap: 12px;
    align-items: start;
  }
  .responsible strong,
  .responsible p {
    font-size: 12px;
  }
  .responsible .age {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    font-size: 16px;
  }
  .page-footer {
    padding: 50px 16px 30px;
    gap: 22px;
    flex-wrap: wrap;
  }
  .page-footer .wordmark {
    font-size: 30px;
  }
  .page-footer nav {
    font-size: 11px;
    gap: 14px 18px;
  }
  .page-footer p {
    text-align: left;
    margin-left: 0;
    white-space: normal;
  }
  dialog {
    max-height: 92dvh;
    width: calc(100% - 16px);
  }
  .reader-toolbar {
    padding: 12px;
  }
  .reader-toolbar h2 {
    font-size: 18px;
  }
  .dialog-close {
    font-size: 11px;
    padding: 8px 10px;
  }
  .reader-body {
    padding: 20px 18px 35px;
    font-size: 16px;
  }
  .reader-body h1 {
    font-size: 29px;
  }
  .reader-body h2 {
    font-size: 25px;
  }
  .reader-body h3 {
    font-size: 20px;
  }
}

/* typography.css */
/* Typography revision 03: compact geometric display type, clean reading type. */
:root {
  --font-body: "Inter", Arial, sans-serif;
  --font-display: "Montserrat", "Inter", Arial, sans-serif;
}
body {
  font-family: var(--font-body);
  font-weight: 400;
}
button,
input,
textarea,
select {
  font-family: inherit;
}
h1,
h2,
h3 {
  font-family: var(--font-display);
}
h1,
h2 {
  font-weight: 900;
}
h3 {
  font-weight: 900;
}
.hero-copy h1 {
  letter-spacing: -0.025em;
  line-height: 1.06;
}
.recommended h2,
.live-games h2,
.promo-heading .promo-title {
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.editorial-card h2,
.risk-section h2,
.faq h2 {
  letter-spacing: -0.018em;
  line-height: 1.12;
}
.hero-description {
  line-height: 1.55;
}
.editorial-card p,
.risk-section p {
  line-height: 1.55;
}
.byline {
  font-weight: 400;
}
.button {
  font-family: var(--font-body);
  font-weight: 800;
  letter-spacing: 0;
}
.top-nav,
.side-nav a,
.side-nav button {
  font-weight: 600;
}
.sidebar-special {
  font-family: var(--font-body);
  font-weight: 700;
}
.game-name {
  font-weight: 600;
}
.key-facts h2 {
  font-weight: 900;
  line-height: 1.2;
}
.key-facts dd {
  font-weight: 700;
}
.jackpot strong {
  font-family: var(--font-display);
  font-weight: 900;
  letter-spacing: -0.025em;
}
.promo-copy .promo-offer {
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.015em;
}
.promo-heading p {
  font-weight: 600;
}
.offer-details {
  font-weight: 400;
}
.offer-details dd {
  font-weight: 600;
}
.faq summary {
  font-weight: 600;
  line-height: 1.5;
}
.reader-body {
  line-height: 1.75;
}
.reader-body h1,
.reader-body h2 {
  font-weight: 900;
  letter-spacing: -0.02em;
}
.reader-body h3 {
  font-weight: 900;
}
.reader-body strong,
.reader-body b {
  font-weight: 700;
}
.reader-toolbar h2 {
  font-weight: 900;
}
.table-scroll th {
  font-family: var(--font-body);
  font-weight: 700;
}

/* Montserrat Black display sizes matched to the current composition. */
.hero-copy h1 {
  font-size: 48px;
  line-height: 1.08;
  letter-spacing: -0.025em;
}
.recommended h2,
.live-games h2 {
  font-size: 41px;
}
.promo-heading .promo-title {
  font-size: 43px;
}
.promo-copy .promo-offer {
  font-size: 25px;
}
.promo-copy .promo-offer span {
  font-size: 21px;
}
.editorial-card h2 {
  font-size: 23px;
  line-height: 1.22;
}
.risk-section h2 {
  font-size: 29px;
}
.faq h2 {
  font-size: 27px;
}
.key-facts h2,
.reader-toolbar h2 {
  font-family: var(--font-body);
  font-weight: 800;
}
.jackpot strong {
  font-size: 42px;
}
@media (max-width: 1400px) and (min-width: 1001px) {
  .hero-copy h1 {
    font-size: 39px;
  }
  .editorial-card h2 {
    font-size: 20px;
  }
  .recommended h2,
  .live-games h2 {
    font-size: 31px;
  }
}
@media (max-width: 1000px) and (min-width: 601px) {
  .hero-copy h1 {
    font-size: 34px;
  }
  .editorial-card h2 {
    font-size: 19px;
  }
  .recommended h2,
  .live-games h2 {
    font-size: 29px;
  }
}
@media (max-width: 600px) {
  .hero-copy h1 {
    font-size: 33px;
    line-height: 1.1;
  }
  .recommended h2,
  .live-games h2,
  .promo-heading .promo-title {
    font-size: 25px;
  }
  .promo-copy .promo-offer {
    font-size: 22px;
  }
  .promo-copy .promo-offer span {
    font-size: 17px;
  }
  .editorial-card h2 {
    font-size: 20px;
  }
  .risk-section h2,
  .faq h2 {
    font-size: 24px;
  }
  .reader-body h1 {
    font-size: 25px;
  }
  .reader-body h2 {
    font-size: 22px;
  }
  .reader-body h3 {
    font-size: 18px;
  }
}

/* header-sidebar.css */
/* First structural revision: permanent desktop navigation and facts strip. */
.sidebar-special {
  padding: 0 14px;
  gap: 12px;
}
.sidebar-special .ui-icon {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
}
.sidebar-special.missions {
  color: #fff;
}
.sidebar-promo {
  gap: 10px;
  padding: 10px;
  background: #10291c;
}
.sidebar-promo .ui-icon {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  color: #fff;
}
.sidebar-promo span {
  min-width: 0;
}
.topbar {
  padding-left: 28px;
}
.top-nav button,
.top-nav a {
  padding: 0;
  background: none;
  color: inherit;
  font: inherit;
  white-space: nowrap;
  min-height: 36px;
}
.top-nav button:hover,
.top-nav a:hover {
  color: var(--yellow);
}
.hero .jackpot {
  box-shadow:
    0 12px 32px -8px #ffe50055,
    0 0 18px #ffe5001a;
}
.locale-picker {
  position: relative;
}
.locale-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  min-height: 34px;
  border: 1px solid #395135;
  border-radius: 6px;
  background: #10251b;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
.locale-toggle > svg {
  width: 16px;
  height: 16px;
}
.locale-toggle > .locale-chevron {
  width: 12px;
  height: 12px;
  transition: transform 0.15s;
}
.locale-toggle[aria-expanded="true"] > .locale-chevron {
  transform: rotate(180deg);
}
.locale-options {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: 196px;
  max-height: calc(100dvh - 88px);
  overflow: auto;
  padding: 8px;
  border: 1px solid #41613c;
  border-radius: 9px;
  background: #10251b;
  box-shadow: 0 12px 30px #0007;
  z-index: 80;
}
.locale-options[hidden] {
  display: none;
}
.locale-options button,
.locale-options a {
  display: block;
  width: 100%;
  padding: 10px 12px;
  min-height: 36px;
  text-align: left;
  background: transparent;
  color: #dce5d7;
  border-radius: 5px;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 600;
}
.locale-options button[aria-current],
.locale-options a[aria-current] {
  color: #f5e500;
  background: #1b3420;
}
.locale-options button:not(:disabled):hover,
.locale-options a:hover {
  background: #27432b;
}
.locale-options button:disabled {
  color: #b6c4b7;
  cursor: default;
}
.facts-band {
  padding: 24px 0 10px;
}
.facts-band .key-facts {
  position: static;
  width: 100%;
  margin: 0;
  padding: 24px;
  background: #071e10;
  border: 1px solid #36532b;
  border-radius: 10px;
}
.facts-band .key-facts h2 {
  margin: 0 0 22px;
  font-size: 22px;
}
.facts-band .key-facts dl {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1.5fr 1fr;
  gap: 20px;
}
.facts-band .key-facts dl > div {
  margin: 0;
  padding: 0 0 0 36px;
  min-width: 0;
}
.facts-band .key-facts dt {
  font-size: 12px;
}
.facts-band .key-facts dd {
  font-size: 15px;
  margin-top: 8px;
}
.facts-band .key-facts dd small {
  display: inline;
  margin-left: 5px;
}
.catalog-body {
  padding: 24px;
}
.catalog-results {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
@media (min-width: 1001px) {
  .sidebar {
    transform: none;
  }
}
@media (min-width: 601px) and (max-width: 1000px) {
  .facts-band .key-facts dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }
}
@media (max-width: 600px) {
  .topbar {
    padding: 0 12px;
    gap: 8px;
  }
  .account-actions {
    gap: 7px;
  }
  .locale-toggle {
    padding: 8px;
    gap: 4px;
  }
  .facts-band {
    padding-top: 10px;
  }
  .facts-band .key-facts {
    padding: 18px;
  }
  .facts-band .key-facts h2 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .facts-band .key-facts dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 14px;
  }
  .facts-band .key-facts dl > div {
    padding-left: 28px;
  }
  .facts-band .key-facts dl > div:nth-child(4) {
    grid-column: 1/-1;
  }
  .facts-band .key-facts dt {
    font-size: 11px;
  }
  .facts-band .key-facts dd {
    font-size: 13px;
  }
  .catalog-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* frontend.css */
/* P01: editorial content and global controls, using the selected design tokens. */
.site-footer {
  margin-left: var(--aside);
}
.review-article {
  padding: 36px 0 54px;
  max-width: 1000px;
}
.review-article h2 {
  color: var(--yellow);
  padding-top: 12px;
}
.review-article h3 {
  scroll-margin-top: 110px;
}
.review-article a:not(.button) {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.review-article a:not(.button):hover,
.review-article a:not(.button):focus-visible {
  color: var(--yellow);
}
.text-emphasis {
  font-weight: 700;
}
.article-toc {
  margin: 30px 0 44px;
  padding: 22px 26px;
  border: 1px solid #36532b;
  border-radius: 10px;
  background: #071e10;
}
.article-toc summary {
  color: var(--yellow);
  font-weight: 800;
  cursor: pointer;
}
.article-toc ol {
  list-style: decimal;
  padding-left: 24px;
  margin: 14px 0;
}
.article-toc li {
  margin: 8px 0;
}
.article-toc ol ol {
  font-size: 0.9em;
}
.article-toc a {
  text-decoration: none !important;
  font-weight: 500 !important;
}
.table-scroll {
  border-radius: 8px;
}
.table-scroll caption {
  caption-side: top;
  padding: 12px 0;
}
.table-scroll th {
  font-weight: 700;
  font-size: 17px;
}
.table-scroll td,
.table-scroll tbody th {
  font-size: 15px;
  font-weight: 400;
}
.evidence-figure {
  margin: 30px 0;
}
figcaption {
  margin-top: 10px;
  font-size: 14px;
  color: #cedac4;
}
.article-faq-item {
  border-bottom: 1px solid #36532b;
  padding: 18px 0;
}
.article-faq-item summary {
  display: flex;
  align-items: baseline;
  gap: 16px;
  cursor: pointer;
}
.article-faq-item summary::before {
  content: "+";
  color: var(--yellow);
  font-size: 22px;
}
.article-faq-item[open] summary::before {
  content: "−";
}
.article-faq-item h3 {
  display: inline;
  margin: 0;
  font:
    700 18px/1.6 Inter,
    Arial,
    sans-serif;
  color: #fff;
}
.article-faq-item p {
  padding-left: 30px;
}
.access-trigger {
  display: inline-grid;
  place-items: center;
  background: #10251b;
  border: 1px solid #395135;
  border-radius: 6px;
  color: #fff;
  min-width: 36px;
  min-height: 36px;
  padding: 6px;
}
.assistant-trigger {
  position: fixed;
  z-index: 48;
  right: 20px;
  bottom: 20px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid var(--yellow);
  background: #153b11;
  color: #f5e500;
  font-weight: 800;
  box-shadow: 0 5px 20px #0007;
}
.utility-dialog {
  width: min(400px, calc(100vw - 32px));
  padding: 24px;
  background: #071e10;
  color: #fff;
  border: 1px solid #617c2c;
  border-radius: 12px;
  max-height: calc(100dvh - 32px);
  overflow: auto;
}
.utility-dialog::backdrop {
  background: #001505bb;
}
.utility-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.utility-toolbar p {
  font-weight: 800;
  font-size: 22px;
  margin: 0;
}
.utility-toolbar button {
  background: transparent;
  font-size: 28px;
  min-height: 40px;
  min-width: 40px;
}
.utility-dialog > button,
.size-controls button {
  background: #284523;
  color: white;
  border: 1px solid #617c2c;
  padding: 12px;
  border-radius: 6px;
  margin-top: 12px;
}
.utility-dialog > button {
  display: block;
  width: 100%;
}
.size-controls {
  display: flex;
  gap: 12px;
}
.size-controls button {
  flex: 1;
}
.utility-dialog button[aria-pressed="true"] {
  background: #f5e500;
  color: #001505;
}
.utility-dialog label {
  display: block;
  margin: 18px 0 10px;
}
.utility-dialog textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 100px;
  background: #001505;
  color: white;
  border: 1px solid #8c9e70;
  border-radius: 7px;
  padding: 12px;
  margin-bottom: 14px;
  font: inherit;
  resize: vertical;
}
.assistant-subtitle {
  color: #f5e500;
  font-size: 14px;
}
.assistant-status {
  font-size: 13px;
  line-height: 1.6;
  margin-top: 18px;
  color: #dce5d7;
}
.high-contrast,
.high-contrast main,
.high-contrast section,
.high-contrast article,
.high-contrast .sidebar,
.high-contrast .topbar,
.high-contrast footer,
.high-contrast .key-facts,
.high-contrast dialog {
  background-color: #000 !important;
  background-image: none !important;
  color: #fff !important;
}
.high-contrast p,
.high-contrast h3,
.high-contrast dd,
.high-contrast dt {
  color: #fff !important;
  text-shadow: none !important;
}
.high-contrast a {
  text-decoration: underline !important;
}
.wide-spacing {
  line-height: 1.5 !important;
  letter-spacing: 0.12em !important;
  word-spacing: 0.16em !important;
}
.wide-spacing p {
  margin-bottom: 2em !important;
  line-height: 1.5 !important;
}
.enhanced-reading .hero {
  height: auto;
  min-height: 600px;
}
.enhanced-reading .hero-copy {
  max-width: 70%;
  width: auto;
  padding-bottom: 160px;
}
.enhanced-reading .hero-copy .button {
  width: auto;
}
.enhanced-reading .hero .jackpot {
  left: auto;
  right: 25px;
  bottom: 30px;
}
.enhanced-reading .key-facts dl {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.enhanced-reading .key-facts dl > div {
  min-width: 180px;
  flex: 1;
}
.enhanced-reading .sidebar-special,
.enhanced-reading .sidebar-promo {
  height: auto;
  min-height: 70px;
  overflow: visible;
}
.enhanced-reading .sidebar span {
  overflow-wrap: anywhere;
}
.enhanced-reading .top-nav {
  display: none;
}
.enhanced-reading .account-actions {
  flex-wrap: wrap;
}
.enhanced-reading .topbar {
  position: relative;
  left: 0;
  margin-left: var(--aside);
  height: auto;
  min-height: 68px;
  flex-wrap: wrap;
  padding: 12px;
}
.enhanced-reading main {
  padding-top: 0;
}
.enhanced-reading .editorial-grid {
  grid-template-columns: 1fr;
}
.enhanced-reading .editorial-card {
  height: auto;
  min-height: 300px;
}
.enhanced-reading .editorial-copy {
  width: 100%;
  max-width: none;
  background: #001505dd;
  padding: 20px;
}
.enhanced-reading .game-info {
  height: auto;
}
.enhanced-reading .game-name {
  overflow-wrap: anywhere;
}
.enhanced-reading .page-footer {
  flex-wrap: wrap;
}
.enhanced-reading .page-footer nav {
  flex-wrap: wrap;
}
@media (max-width: 1200px) {
  .top-nav {
    gap: 14px;
  }
  .topbar {
    gap: 14px;
  }
}
@media (max-width: 1000px) {
  .site-footer {
    margin-left: 0;
  }
  .sidebar .access-trigger {
    margin: 18px 12px;
  }
  .enhanced-reading .topbar {
    margin-left: 0;
  }
}
@media (max-width: 600px) {
  .review-article {
    width: calc(100% - 32px);
    padding: 30px 0 44px;
    font-size: 16px;
  }
  .review-article h2 {
    font-size: 25px;
  }
  .review-article h3 {
    font-size: 19px;
  }
  .article-toc {
    padding: 18px;
  }
  .article-toc ol {
    padding-left: 20px;
  }
  .article-faq-item h3 {
    font-size: 17px;
  }
  .assistant-trigger {
    right: 12px;
    bottom: 12px;
    width: 44px;
    height: 44px;
  }
  .site-footer {
    padding-bottom: 80px;
  }
  .enhanced-reading .hero-copy {
    max-width: none;
    padding-bottom: 160px;
  }
  .enhanced-reading .hero .jackpot {
    right: 20px;
    width: auto;
  }
  .enhanced-reading .promo-panel {
    transform: none;
  }
  .enhanced-reading .promo-copy {
    width: 100%;
  }
  .enhanced-reading .promo-character {
    position: static;
  }
  .enhanced-reading .offer-details div {
    flex-wrap: wrap;
    gap: 10px;
  }
  .enhanced-reading .games-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .enhanced-reading .utility-dialog {
    width: calc(100% - 24px);
    padding: 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

.hero-art {
  background-image: none;
}
@media (max-width: 600px) {
  .hero-art {
    background-image: none;
  }
  .enhanced-reading .sidebar {
    width: min(360px, 90vw);
  }
  .enhanced-reading .sidebar .wordmark {
    font-size: 48px !important;
    height: auto;
    min-height: 80px;
  }
  .enhanced-reading .hero .jackpot {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    margin: 28px 0 0;
    max-width: 100%;
  }
  .enhanced-reading .hero-copy {
    padding-bottom: 0;
  }
  .enhanced-reading .account-actions {
    margin-left: 0;
    max-width: 100%;
  }
  .enhanced-reading .topbar {
    padding: 14px;
  }
  .enhanced-reading .hero-copy h1 {
    overflow-wrap: anywhere;
  }
}

.content-style-7 {
  text-align: right;
}
.content-style-8 {
  text-align: right;
}
.content-style-9 {
  text-align: right;
}
.content-style-10 {
  text-align: right;
}
.content-style-11 {
  text-align: right;
}
.content-style-12 {
  text-align: right;
}
.content-style-13 {
  text-align: right;
}
.content-style-14 {
  text-align: right;
}
.content-style-15 {
  text-align: right;
}
.content-style-16 {
  text-align: right;
}
.content-style-17 {
  text-align: right;
}
.content-style-18 {
  text-align: right;
}
.content-style-19 {
  text-align: right;
}
.content-style-20 {
  text-align: right;
}
.content-style-21 {
  text-align: right;
}
.content-style-22 {
  text-align: right;
}
/* Drawer offsets follow its actual width, including enlarged reading mode. */
@media (max-width: 1000px) {
  .sidebar {
    transform: translateX(-110%);
  }
  .mobile-menu-open .sidebar {
    transform: translateX(0);
  }
  .skip-link {
    left: 12px;
    max-width: calc(100vw - 24px);
  }
}
@media (min-width: 1001px) {
  .enhanced-reading {
    --aside: 320px;
  }
  .enhanced-reading .sidebar {
    width: 320px;
  }
}
.enhanced-reading .brand.wordmark {
  font-size: 48px !important;
}
.skip-link {
  top: 0;
  transform: translateY(-200%);
}
.skip-link:focus {
  top: 8px;
  transform: none;
}
.enhanced-reading .topbar::after {
  top: 100%;
}

/* Mobile hero: copy first, artwork below, rating at the lower right fade. */
@media (max-width: 600px) {
  .hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    padding-bottom: 20px;
  }
  .hero-inner {
    display: contents;
  }
  .hero .hero-copy {
    grid-column: 1;
    grid-row: 1;
    width: calc(100% - 30px);
    max-width: none;
    margin: 0 auto;
    padding: 28px 0 22px;
  }
  .hero-art {
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 2;
    height: clamp(360px, 100vw, 440px);
    background-size: auto 100%;
    background-position: 65% top;
  }
  .hero-art::after {
    background: linear-gradient(to bottom, #001505, transparent 12%, transparent 60%, #001505);
  }
  .hero .hero-inner .jackpot {
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 2;
    align-self: end;
    justify-self: end;
    z-index: 1;
    width: 185px;
    max-width: calc(100% - 30px);
    margin: 0 15px 12px 0;
    transform: none;
  }
}

.top-nav a {
  display: inline-flex;
  align-items: center;
}
/* Every planned navigation entry remains available at each breakpoint. */
@media (min-width:1001px) {
  .topbar .top-nav > a { display:inline-flex; }
}
@media (max-width:1000px) {
  .sidebar .top-nav { display:flex; flex-direction:column; align-items:stretch; gap:4px; margin-top:14px; padding:12px 8px; border-top:1px solid #36532b; }
  .sidebar .top-nav > a { display:flex; min-height:40px; padding:8px 6px; white-space:normal; font-size:13px; }
}


/* Shared hero template: a wide background and any centered square character.
   Replace only the character img src/alt/title in the page HTML. */
.hero-art {
  isolation: isolate;
  container-type: size;
  overflow: clip;
}
.hero-background {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero-character {
  --hero-character-size: min(calc(100cqh - 88px), calc(100cqw - 24px));
  position: absolute;
  z-index: 2;
  top: 64px;
  left: min(calc(50% + max(15cqw, 44.86cqh)), calc(100% - var(--hero-character-size) / 2 - 12px));
  width: var(--hero-character-size);
  height: var(--hero-character-size);
  max-width: none;
  object-fit: contain;
  transform: translateX(-50%);
}
.hero-art::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgb(0 0 0 / 25%);
  pointer-events: none;
}
.hero-art::after {
  z-index: 2;
  pointer-events: none;
}
/* Empty content wrappers must not block native image context menus. */
.hero-inner {
  pointer-events: none;
}
.hero-copy,
.hero .jackpot {
  pointer-events: auto;
}
@media (max-width: 1000px) {
  .hero-background {
    object-position: 65% top;
  }
  .hero-character {
    left: min(65%, calc(100% - var(--hero-character-size) / 2 - 12px));
  }
}
@media (max-width: 600px) {
  .hero-character {
    --hero-character-size: min(calc(100cqh - 48px), calc(100cqw - 24px));
    top: 20px;
  }
}

/* Home hero typography and paired actions. */
.hero-copy h1 {
  font-size: clamp(46px, 4.1vw, 66px);
  line-height: 1.03;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.hero-copy .hero-actions .button {
  flex: 1 1 180px;
  margin: 0;
  min-width: 0;
  width: auto;
  min-height: 48px;
  padding: 12px 16px;
  font-size: 15px;
  text-align: center;
}
.hero-actions .yellow {
  color: #071505;
  text-shadow: none;
  background: #f5e500;
  box-shadow: 0 5px 22px #f5e50020;
}
.facts-band .key-facts {
  border: 0;
  border-radius: 18px;
  padding: 28px;
  background: radial-gradient(ellipse at 50% 0%, #f5e50026, transparent 78%), #071e10;
  box-shadow: 0 0 40px #f5e50026, 0 12px 36px #0005;
}
@media (min-width: 1401px) {
  .hero-copy {
    width: 610px;
    max-width: 49%;
  }
}
@media (min-width: 601px) and (max-width: 1000px) {
  .hero-copy h1 {
    font-size: clamp(38px, 4.5vw, 45px);
  }
  .hero .jackpot {
    left: auto;
    right: 12px;
    transform: none;
  }
}
@media (max-width: 600px) {
  .hero-copy h1 {
    font-size: clamp(38px, 10vw, 48px);
  }
  .hero-copy .hero-actions .button {
    flex-basis: 145px;
    padding: 12px 10px;
    font-size: 14px;
  }
  .facts-band .key-facts {
    padding: 24px 20px;
  }
}

/* Temporary Invite page: no destination or automatic redirect until configured. */
.invite-main {
  min-height: 76vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 50px;
}
.invite-card {
  width: min(600px, calc(100% - 40px));
  margin: 50px auto 0;
  padding: clamp(24px, 5vw, 48px);
  border-radius: 20px;
  background: radial-gradient(ellipse at top, #25451980, transparent 75%), #071e10;
  box-shadow: 0 0 36px #81cb1420;
  text-align: center;
}
.invite-card h1 {
  font-family: var(--font-display);
  font-size: clamp(28px, 5vw, 42px);
  line-height: 1.1;
  color: #f5e500;
  margin-bottom: 24px;
}
.invite-card p { line-height: 1.6; margin-bottom: 28px; }
.invite-card .button { display: inline-flex; }

/* The cave overlaps the hero; facts sit above its solid, torn edge. */
main { container-type: inline-size; }
.home-page main { container-type: normal; }
.hero-art::after { background: none; }
.hero-inner { z-index: 3; }
.facts-scene {
  position: relative;
  z-index: 2;
  margin-top: -56px;
  padding: 56px 0 40px;
}
.facts-band { position: relative; z-index: 1; }
.catalog-scenery {
  position: fixed;
  z-index: 1;
  top: 0;
  left: var(--aside);
  right: 0;
  height: 100vh;
  height: 100lvh;
  transform: translateY(var(--scenery-top, 100vh));
  overflow: hidden;
  pointer-events: none;
  mask-image: url("../images/rocks.svg"), linear-gradient(#000, #000);
  mask-size: auto 32px, 100% 100%;
  mask-repeat: repeat-x, no-repeat;
  mask-position: top left;
  mask-composite: exclude;
}
.catalog-cave {
  position: absolute;
  inset: 0;
  background: url("../images/hottest-bg.webp?v=4476058364") center top / cover no-repeat;
}

.promotions { min-height: 0; padding-top: 1px; }
.promotions .ghost { top: 80px; }
.review-article .promo-heading {
  width: var(--page-width, 100cqw);
  left: 50%;
  transform: translateX(-50%);
  margin: 74px 0 66px;
  padding: 48px 25px 50px;
}
.promo-heading .promo-heading-terms {
  margin: 16px 0 26px;
  font-size: 16px;
  line-height: 1.5;
}
.promo-heading .bonus-claim,
.promo-heading .bonus-claim:hover {
  display: inline-flex;
  width: 300px;
  max-width: 100%;
  min-height: 64px;
  padding: 0;
  border: 0;
  border-radius: 26px 9px 26px 9px;
  background: transparent;
  color: #fff;
  text-decoration: none;
  box-shadow: none;
  transform: none;
}
.bonus-claim-surface {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  width: 100%;
  min-height: inherit;
  padding: 16px 24px;
  border-radius: inherit;
  background: linear-gradient(180deg, #629f21, #164e06);
  box-shadow: 0 5px 0 #103c06, inset 0 1px 0 #caff7859;
  color: #fff;
  font-family: var(--font-display);
  font-size: 17.25px;
  font-weight: 800;
  line-height: 1.4;
  pointer-events: none;
  animation: bonus-claim-pulse 2.6s ease-in-out infinite;
}
.bonus-claim:hover .bonus-claim-surface { animation-play-state: paused; }
.bonus-claim:focus-visible { outline: 3px solid #164e06; outline-offset: 8px; }
@keyframes bonus-claim-pulse {
  0%, 100% { transform: scale(.97); filter: brightness(1); }
  50% { transform: scale(1.03); filter: brightness(1.1); }
}
@media (prefers-reduced-motion: reduce) {
  .bonus-claim-surface { animation: none; }
}
.promo-heading .promo-title {
  font-family: var(--font-display);
  font-weight: 900;
  line-height: 1.1;
  margin: 0;
}
@media (max-width: 600px) {
  .hero-art::after { background: linear-gradient(to bottom, #001505, transparent 12%); }
  .hero .hero-inner .jackpot { z-index: 3; }
  .facts-scene { margin-top: -63px; padding-top: 63px; padding-bottom: 24px; }
  .catalog-scenery { mask-size: auto 24px, 100% 100%; }
  .review-article .promo-heading { margin: 58px 0 48px; padding: 34px 20px 38px; }
  .promo-heading .promo-heading-terms { font-size: 14px; margin-bottom: 24px; }
}

/* One viewport-sized backdrop persists behind all remaining Home content. */
.home-page .promotions,
.home-page .review-article,
.home-page .site-footer {
  position: relative;
  z-index: 2;
  background: transparent;
}
.home-page .promotions::after { display: none; }
.high-contrast .catalog-scenery { display: none; }
@media print {
  .catalog-scenery { display: none; }
}

/* Restore the approved yellow responsible-play strip above the footer. */
.home-page main { overflow-y: visible; }
.home-page .responsible {
  --flame-height: 95px;
  z-index: 2;
  margin-top: calc(var(--flame-height) + 40px);
}
.home-page .responsible::before,
.home-page .responsible::after {
  height: calc((var(--flame-height) + 25px) / 2);
  pointer-events: none;
}
.home-page .responsible::after {
  mask-image: url("../images/flame-bg.svg");
  transform: scaleY(-1);
}
@media (max-width: 600px) {
  .home-page .responsible { --flame-height: 65px; }
}

/* Approved article introduction, moved into the key-facts card. */
.facts-band .key-facts .facts-summary {
  margin: 24px 0 0;
  max-width: none;
  color: #f5f7f3;
  font-size: 16px;
  line-height: 1.65;
}

/* Compact bonus offer in the yellow-green navigation palette. */
.promotions .promo-stage {
  width: min(800px, calc(100% - 32px));
  margin-top: 44px;
}
.promotions .promo-panel {
  min-height: 390px;
  padding: 26px 30px 24px;
  border: 1px solid #e1e50075;
  border-radius: 21px;
  transform: none;
  background: radial-gradient(ellipse at 100% 15%, #80b91880, transparent 65%),
    linear-gradient(120deg, #102b08, #1b4108 58%, #387a09);
  box-shadow: 0 16px 40px #0005, inset 0 1px 0 #efff6a30;
}
.promotions .promo-panel::before {
  inset: -5px 8px 5px -7px;
  border: 1px solid #f5e50080;
  border-radius: 24px;
  transform: rotate(-1deg);
}
.promotions .promo-copy {
  width: 62%;
  max-width: none;
  transform: none;
  text-align: left;
}
.promotions .promo-eyebrow {
  margin: 0 0 9px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #daedac;
}
.promotions .promo-copy .promo-offer {
  display: flex;
  font-family: Montserrat, Inter, Arial, sans-serif;
  align-items: center;
  gap: 14px;
  margin: 0;
  text-align: left;
  line-height: 1;
  letter-spacing: -.045em;
}
.promotions .promo-copy .promo-offer .promo-rate {
  font-size: clamp(44px, 4vw, 58px);
  color: #f5e500;
  text-shadow: 0 4px 28px #d9f00025;
}
.promotions .promo-copy .promo-offer .promo-limit {
  max-width: 160px;
  font-family: Inter, sans-serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.025em;
  color: #f5ffe7;
}
.promotions .promo-limit strong { font-size: 26px; font-weight: 800; }
.promotions .promo-extras {
  margin: 12px 0 18px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: #e0edcf;
  font-size: 13px;
  font-weight: 500;
}
.promotions .promo-extras span {
  padding: 5px 8px;
  border-radius: 6px;
  color: #f5e500;
  background: #e6ef0020;
  font-weight: 800;
}
.promotions .offer-details {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 0;
  margin: 0;
  border: 0;
  background: none;
  line-height: 1.3;
}
.promotions .offer-details div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #d4e87925;
  border-radius: 10px;
  background: #071d0a99;
}
.promotions .offer-details dt {
  font-family: Inter, sans-serif;
  font-size: 11px;
  font-weight: 400;
  color: #c6dbb4;
}
.promotions .offer-details dd {
  margin: 0;
  text-align: left;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 800;
  color: #f5ffe7;
  white-space: normal;
  letter-spacing: -.025em;
}
.promotions .offer-details div:last-child {
  grid-column: 1 / -1;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: linear-gradient(100deg, #d5e90020, #b7d90008);
  border-color: #dfeb0040;
}
.promotions .offer-details div:last-child dd { color: #f5e500; white-space: nowrap; }
.promotions .promo-character {
  height: 365px;
  width: 34%;
  right: 0;
  bottom: -5px;
  transform: none;
  filter: drop-shadow(-12px 6px 16px #08230070);
}
.promotions .promo-action {
  width: 240px;
  min-height: 46px;
  margin: -3px 14px 0 auto;
  border-radius: 10px;
  background: linear-gradient(180deg, #fff10c, #c6c500);
  color: #122500;
  box-shadow: 0 8px 24px #dce90025;
  font-size: 14px;
  font-weight: 800;
  text-shadow: none;
  gap: 14px;
}
.promotions .promo-action::after { content: "→"; font-size: 20px; line-height: 1; }
.promotions .promo-action:hover { background: #ffff42; box-shadow: 0 12px 34px #dce90040; }
@media (min-width: 601px) and (max-width: 800px) {
  .promotions .promo-panel { padding: 24px; }
  .promotions .promo-copy { width: 68%; }
  .promotions .promo-copy .promo-offer { gap: 12px; }
  .promotions .promo-copy .promo-offer .promo-rate { font-size: 44px; }
  .promotions .promo-character { width: 30%; height: 300px; }
}
@media (max-width: 600px) {
  .promotions .promo-stage { width: calc(100% - 12px); margin-top: 30px; }
  .promotions .promo-panel { padding: 22px 16px 18px; min-height: 0; border-radius: 18px; }
  .promotions .promo-copy { width: 100%; }
  .promotions .promo-eyebrow { font-size: 9px; letter-spacing: .1em; }
  .promotions .promo-copy .promo-offer { width: 68%; display: block; }
  .promotions .promo-copy .promo-offer .promo-rate { display: block; font-size: 48px; }
  .promotions .promo-copy .promo-offer .promo-limit { display: block; margin-top: 7px; font-size: 16px; max-width: none; }
  .promotions .promo-limit strong { font-size: 23px; }
  .promotions .promo-extras { width: 65%; min-height: 44px; margin: 10px 0 18px; gap: 6px; font-size: 11px; }
  .promotions .promo-extras span { padding: 5px 8px; }
  .promotions .promo-character { top: 46px; right: -7px; bottom: auto; height: 158px; width: 40%; }
  .promotions .offer-details { gap: 8px; }
  .promotions .offer-details div { padding: 9px 10px; gap: 6px; border-radius: 10px; }
  .promotions .offer-details dt { font-size: 11px; }
  .promotions .offer-details dd { font-size: 16px; }
  .promotions .offer-details div:last-child { flex-direction: column; align-items: flex-start; gap: 6px; }
  .promotions .offer-details div:last-child dd { font-size: 18px; }
  .promotions .promo-action { width: calc(100% - 28px); margin: -3px auto 0; min-height: 44px; font-size: 13px; }
}

/* Asymmetric corners and solid extruded edges, with level surfaces. */
.promotions .promo-panel {
  border: 0;
  border-radius: 28px 7px 28px 7px;
  transform: none;
  box-shadow: 10px 12px 0 #e4df00, 0 16px 40px #0005;
}
.promotions .promo-panel::before { display: none; }
.promotions .promo-action {
  min-height: 46px;
  padding: 10px 16px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  isolation: isolate;
  box-shadow: none;
  transform: none;
  justify-content: center;
  gap: 14px;
  transition: none;
}
/* Only the visible surface moves; the pointer target stays in place. */
.promotions .promo-action::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(180deg, #fff10c, #c6c500);
  pointer-events: none;
  transition: transform .18s ease, filter .18s ease;
}
.promotions .promo-action > span,
.promotions .promo-action::after {
  pointer-events: none;
  transition: transform .18s ease;
}
.promotions .promo-action::after {
  content: "→";
  font-size: 20px;
  line-height: 1;
}
.promotions .promo-action:hover {
  background: transparent;
  transform: none;
  box-shadow: none;
}
.promotions .promo-action:active {
  background: transparent;
  transform: none;
  box-shadow: none;
}
.promotions .promo-action:hover::before,
.promotions .promo-action:hover::after,
.promotions .promo-action:hover > span { transform: translateY(-2px); }
.promotions .promo-action:hover::before { filter: brightness(1.08); }
.promotions .promo-action:active::before,
.promotions .promo-action:active::after,
.promotions .promo-action:active > span { transform: translateY(1px); }
.promotions .promo-action:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 6px;
}
@media (max-width: 600px) {
  .promotions .promo-panel { border-radius: 24px 6px 24px 6px; box-shadow: 8px 10px 0 #e4df00, 0 12px 30px #0005; }
  .promotions .promo-action { width: calc(100% - 28px); min-height: 44px; }
}

/* Key facts share the bonus-card palette, type hierarchy and solid edge. */
.facts-band .key-facts {
  padding: 26px 30px 24px;
  border: 0;
  border-radius: 28px 7px 28px 7px;
  background: radial-gradient(ellipse at 100% 15%, #80b91880, transparent 65%),
    linear-gradient(120deg, #102b08, #1b4108 58%, #387a09);
  box-shadow: 10px 12px 0 #e4df00;
}
.facts-band .key-facts h2 {
  margin: 0 0 20px;
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -.025em;
  color: #f5e500;
}
.facts-band .key-facts dl {
  grid-template-columns: 1fr 1fr 1.45fr 1.25fr;
  gap: 10px;
}
.facts-band .key-facts dl > div {
  padding: 13px 14px;
  margin: 0;
  border: 1px solid #d4e87925;
  border-radius: 10px;
  background: #071d0a99;
}
.facts-band .key-facts dt {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 19px;
  font-family: Inter, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  color: #e0edcf;
}
.facts-band .key-facts dt img,
.facts-band .key-facts .fact-symbol {
  position: static;
  flex: 0 0 16px;
  width: 16px;
  height: 18px;
  font-size: 11px;
}
.facts-band .key-facts .fact-symbol { height: 16px; border-width: 1px; }
.facts-band .key-facts dd {
  margin: 12px 0 0;
  font-family: Inter, sans-serif;
  font-size: clamp(13.2px, 1.08vw, 15.6px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
  color: #f5ffe7;
}
.facts-band .key-facts dl > div:first-child dd { color: #f5e500; font-size: 20.4px; }
.facts-band .key-facts .risk-value { color: #ff9984; }
.facts-band .key-facts dd small {
  display: block;
  margin: 3px 0 0;
  font-family: Inter, sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: normal;
  color: #e0edcf;
}
.facts-band .key-facts .facts-summary {
  margin: 20px 0 0;
  font-family: Inter, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  color: #f5ffe7;
}
@media (min-width: 601px) and (max-width: 1400px) {
  .facts-band .key-facts dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .facts-band .key-facts dl > div:nth-child(4) { grid-column: auto; }
}
@media (max-width: 600px) {
  .facts-band .key-facts {
    padding: 22px 16px 20px;
    border-radius: 24px 6px 24px 6px;
    box-shadow: 8px 10px 0 #e4df00;
  }
  .facts-band .key-facts h2 { font-size: 23px; margin-bottom: 16px; }
  .facts-band .key-facts dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .facts-band .key-facts dl > div { padding: 11px 10px; }
  .facts-band .key-facts dl > div:nth-child(4) { grid-column: auto; }
  .facts-band .key-facts dl > div:last-child { grid-column: auto; }
  .facts-band .key-facts dt { font-size: 12px; }
  .facts-band .key-facts dd { font-size: 12px; }
  .facts-band .key-facts dl > div:first-child dd { font-size: 17.4px; }
  .facts-band .key-facts dl > div:nth-child(3) dd { font-size: clamp(10.8px, 2.88vw, 13.2px); }
  .facts-band .key-facts .facts-summary { margin-top: 18px; font-size: 15px; }
}

@media (min-width: 601px) and (max-width: 800px) {
  .facts-band .key-facts dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Article navigation: one shared TOC, sticky beside desktop content. */
.reading-layout {
  position: relative;
  z-index: 2;
  width: min(1440px, calc(100% - 64px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 36px;
  align-items: start;
}
.reading-content { grid-column: 1; grid-row: 1; min-width: 0; }
.reading-content .promotions > .section-inner { width: 100%; }
.reading-content .promotions .promo-stage { margin-top: 14px; }
.reading-content .review-article { width: 100%; max-width: none; margin: 0; }
.reading-content .review-article > h2:first-child { margin-top: 0; }
.review-article .promotions {
  margin: 40px 0 48px;
  padding: 1px 0 0;
  line-height: 1.45;
}
.review-article .promotions .promo-stage { margin-top: 0; }
.review-article .promotions .promo-offer { padding-top: 0; }
.review-article .promotions .promo-action { text-decoration: none; }
.reading-content .review-article .promo-heading { width: 100%; left: auto; transform: none; }
.reading-layout > .article-toc {
  grid-column: 2;
  grid-row: 1;
  position: sticky;
  top: calc(var(--header) + 24px);
  z-index: 3;
  margin: 14px 0 0;
  padding: 18px 14px 14px;
  max-height: none;
  overflow: visible;
  border: 1px solid #dce90035;
  border-radius: 22px 6px 22px 6px;
  background: linear-gradient(150deg, #21430e, #0b2110 65%);
  box-shadow: 4px 5px 0 #c8cf00;
  font-family: Inter, sans-serif;
  font-size: 13px;
  line-height: 1.4;
}
.article-toc summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 900;
  color: #f5e500;
}
.article-toc summary::-webkit-details-marker { display: none; }
.toc-disclosure { transition: transform .18s ease; }
.article-toc details[open] .toc-disclosure { transform: rotate(180deg); }
.reading-layout .article-toc ol { padding: 0; margin: 14px 0 0; list-style: none; }
.reading-layout .article-toc > details > ol { counter-reset: section; }
.reading-layout .article-toc > details > ol > li {
  counter-increment: section;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  margin: 3px 0;
  border-radius: 8px;
}
.reading-layout .article-toc a {
  display: block;
  padding: 9px 7px;
  color: #e4eddc;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.reading-layout .article-toc > details > ol > li > a {
  position: relative;
  padding-left: 28px;
}
.reading-layout .article-toc > details > ol > li > a::before {
  content: counter(section, decimal-leading-zero);
  position: absolute;
  top: 10px;
  left: 5px;
  color: #a8bd6b;
  font-size: 10px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.reading-layout .article-toc > details > ol > li.is-active { background: #e3ed0012; }
.reading-layout .article-toc li.is-active > a { color: #f5e500; }
.reading-layout .article-toc a:hover,
.reading-layout .article-toc a[aria-current="location"] { color: #f5e500; background: #e3ed0010; border-radius: 6px; }
.reading-layout .article-toc ol ol {
  grid-column: 1 / -1;
  margin: 0 8px 8px 15px;
  padding-left: 10px;
  border-left: 1px solid #dce90035;
}
.reading-layout .article-toc ol ol li { margin: 0; }
.reading-layout .article-toc ol ol a { font-size: 12px; padding: 7px 5px; color: #c3d5b6; }
.toc-expand {
  width: 28px;
  height: 32px;
  margin-top: 2px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  color: #c4db76;
  background: transparent;
  cursor: pointer;
  font-size: 18px;
}
.toc-expand:hover { background: #dce90020; color: #f5e500; }
@media (max-width: 1200px) {
  .reading-layout { display: block; }
  .reading-layout > .article-toc { position: static; max-height: none; width: 100%; margin: 0 0 34px; }
  .reading-content .promotions .promo-stage { margin-top: 40px; }
  .reading-layout .article-toc > details > ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 18px; }
}
@media (max-width: 600px) {
  .reading-layout { width: calc(100% - 30px); }
  .reading-layout > .article-toc { padding: 18px 14px; margin-bottom: 30px; }
  .reading-layout .article-toc > details > ol { display: block; }
  .reading-layout .article-toc a { font-size: 14px; }
  .reading-layout .article-toc ol ol a { font-size: 13px; }
  .toc-expand { width: 36px; height: 36px; }
}
.enhanced-reading .reading-layout { display: block; }
.enhanced-reading .reading-layout > .article-toc { position: static; max-height: none; margin-bottom: 32px; }
@media print {
  .reading-layout { display: block; }
  .reading-layout > .article-toc { position: static; max-height: none; overflow: visible; }
}

/* Author details and operator licence notice. */
.review-article .author-card {
  margin: 40px 0 28px;
  padding: 28px;
  border: 1px solid #627c29;
  box-shadow: 10px 12px 0 var(--yellow);
  border-radius: 24px 8px 24px 8px;
  background: linear-gradient(125deg, #142d16, #071d13);
}
.author-card-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.review-article .author-card-name {
  margin: 0;
  color: var(--yellow);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}
.author-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 88px;
  width: 88px;
  height: 88px;
  border: 1px dashed #c9d965;
  border-radius: 18px 5px 18px 5px;
  background: #203d1a;
  color: var(--yellow);
  font-family: var(--font-display);
  font-size: 30px;
}
.author-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 15px;
  line-height: 1.6;
}
.author-table caption {
  padding: 16px 0 12px;
  color: #dae8bc;
  font-weight: 700;
  text-align: left;
}
.author-table th,
.author-table td {
  padding: 13px 16px;
  border: 1px solid #39542a;
  overflow-wrap: anywhere;
  text-align: left;
  vertical-align: top;
}
.author-table thead th {
  background: #2b471b;
  color: #f3f6df;
  font-size: 17px;
  font-weight: 700;
}
.author-table th:first-child { width: 26%; }
.author-table tbody th {
  color: #d6e5ae;
  font-weight: 400;
}
.author-table tbody tr:nth-child(even) { background: #c8e16a08; }
.review-article .license-warning {
  display: flex;
  gap: 18px;
  margin: 28px 0 0;
  padding: 26px;
  border: 1px solid #cd4946;
  box-shadow: 10px 12px 0 #ff5d51;
  border-radius: 18px 6px 18px 6px;
  background: linear-gradient(110deg, #501e22, #2a131c);
  color: #fff0ec;
}
.license-warning-icon {
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  height: 40px;
  border-radius: 50%;
  background: #ff6356;
  color: #290b10;
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
}
.review-article .license-warning p { margin: 0; }
.review-article .license-warning .license-warning-title {
  margin-bottom: 12px;
  font-size: 21px;
  line-height: 1.4;
}
.review-article .license-warning .license-warning-note {
  margin-top: 10px;
  color: #edc3bf;
  font-size: 15px;
}
@media (max-width: 600px) {
  .review-article .author-card { padding: 18px 14px; box-shadow: 8px 10px 0 var(--yellow); }
  .author-avatar { flex-basis: 64px; width: 64px; height: 64px; font-size: 24px; }
  .author-table th:first-child { width: 37%; }
  .author-table th,
  .author-table td { padding: 10px 9px; }
  .author-table { font-size: 14px; }
  .author-table thead th { font-size: 16px; }
  .review-article .license-warning { gap: 12px; padding: 20px 15px; box-shadow: 8px 10px 0 #ff5d51; }
  .license-warning-icon { flex-basis: 28px; height: 28px; font-size: 21px; }
  .review-article .license-warning .license-warning-title { font-size: 19px; }
}

/* Full footer navigation and locally hosted brand logos. */
.home-page .footer-directory {
  display: block;
  padding: 88px 32px 36px;
  color: #c2d0c5;
}
.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 44px;
}
.footer-brand .wordmark { display: inline-block; }
.footer-telegram {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #c2d0c5;
  font-size: 13px;
  line-height: 1.5;
}
.footer-telegram svg { flex: 0 0 20px; }
.page-footer .footer-nav {
  display: grid;
  padding: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  max-width: none;
  font-size: 14px;
}
.footer-link-group h2,
.footer-logo-section h2 {
  margin: 0 0 16px;
  padding: 0;
  color: #dce98c;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
}
.footer-link-group { margin: 0; padding: 0; min-height: 0; }
.footer-link-group ul,
.footer-logos { margin: 0; padding: 0; list-style: none; }
.footer-link-group li + li { margin-top: 12px; }
.footer-link-group a { display: inline-block; line-height: 1.6; text-underline-offset: 4px; }
.footer-link-group a:hover { text-decoration: underline; }
.footer-directory a:focus-visible { outline: 2px solid var(--yellow); outline-offset: 5px; border-radius: 2px; }
.footer-logo-section { margin: 34px 0 0; padding: 26px 0 0; min-height: 0; border-top: 1px solid #acc95828; }
.footer-logos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 20px 24px;
  align-items: center;
}
.footer-logos li { display: flex; align-items: center; justify-content: center; min-width: 0; height: 48px; }
.footer-logos img { display: block; width: 100%; max-width: 130px; height: 42px; object-fit: contain; }
.footer-logos-payments { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.footer-logos-payments img { max-width: 128px; height: 36px; }
.footer-copyright { margin-top: 34px; padding-top: 22px; border-top: 1px solid #acc95828; }
.page-footer .footer-copyright p {
  max-width: 1060px;
  margin: 8px 0 0;
  text-align: left;
  white-space: normal;
  font-size: 12px;
  line-height: 1.7;
  color: #a8bcb1;
}
.page-footer .footer-copyright .footer-rights-owner { margin-top: 0; color: #e9efda; font-size: 14px; font-weight: 700; }
@media (max-width: 1200px) {
  .page-footer .footer-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 22px; }
  .footer-logos-payments { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .home-page .footer-directory { padding: 72px 20px 88px; }
  .page-footer .footer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 18px; font-size: 13px; }
  .footer-link-group h2 { font-size: 13px; }
  .footer-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 18px; }
  .footer-logos img { height: 34px; }
  .footer-logos-payments { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
}

/* Original game cards, isolated from the existing site card styles. */
.showcase-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(163px, 1fr));
  gap: 30px 16px;
  max-width: 1040px;
  margin: 0 auto 36px;
  padding: 12px 0 8px;
  font-family: Inter, Arial, sans-serif;
}
.showcase-game-card {
  position: relative;
  flex: 0 0 163px;
  height: 219px;
  border-radius: calc(25px * var(--corner-scale, 1));
  isolation: isolate;
  box-shadow: 0 8px #362519;
  overflow: hidden;
  color: white;
}
.showcase-game-art {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.showcase-pre-release {
  position: absolute;
  top: 8.5px;
  left: 7px;
  background: #c21bdb;
  color: white;
  border-radius: calc(8px * var(--corner-scale, 1));
  padding: 6px 3px;
  font-size: calc(6.4px * var(--font-scale, 1));
  line-height: calc(7.619px * var(--font-scale, 1));
  text-transform: uppercase;
  font-weight: 900;
}
.showcase-game-card figcaption {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 110px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(transparent, #60422ce6 81.73%);
}
.showcase-game-line-one {
  font-size: calc(23px * var(--font-scale, 1));
  line-height: 0.9;
  font-weight: 900;
}
.showcase-game-line-two {
  font-size: calc(26px * var(--font-scale, 1));
  line-height: 0.9;
  font-weight: 900;
}
.showcase-game-provider {
  font-size: calc(7.8px * var(--font-scale, 1));
  line-height: calc(9.551px * var(--font-scale, 1));
  opacity: 0.8;
  padding: 6px 0 9px;
  font-weight: 500;
}
.showcase-game-jesterscointricks .showcase-game-line-one {
  font-size: calc(16px * var(--font-scale, 1));
}
.showcase-game-jesterscointricks .showcase-game-line-two {
  font-size: calc(23px * var(--font-scale, 1));
}
.showcase-game-arcticduel {
  box-shadow: 0 8px #28759c;
}
.showcase-game-arcticduel figcaption {
  background: linear-gradient(transparent, #3eb6f5e6 81.73%);
}
.showcase-game-zeusflip {
  box-shadow: 0 8px #56462c;
}
.showcase-game-zeusflip figcaption {
  background: linear-gradient(transparent, #856b42e6 81.73%);
}
.showcase-game-mineslothalloween {
  box-shadow: 0 8px #382342;
}
.showcase-game-mineslothalloween figcaption {
  background: linear-gradient(transparent, #5a366ae6 81.73%);
}
.showcase-game-mineslothalloween .showcase-game-line-one,
.showcase-game-mineslothalloween .showcase-game-line-two {
  font-size: calc(20px * var(--font-scale, 1));
}
.showcase-game-aztectotem {
  box-shadow: 0 8px #916a43;
}
.showcase-game-aztectotem figcaption {
  background: linear-gradient(transparent, #ffbd75e6 81.73%);
}
.showcase-game-5powerjoker {
  box-shadow: 0 8px #9c2c00;
}
.showcase-game-5powerjoker figcaption {
  background: linear-gradient(transparent, #ff4800e6 81.73%);
}
.showcase-game-5powerjoker .showcase-game-line-two {
  font-size: calc(15px * var(--font-scale, 1));
}
.showcase-game-doctordust {
  box-shadow: 0 8px #222f19;
}
.showcase-game-doctordust figcaption {
  background: linear-gradient(transparent, #3a4f2ae6 81.73%);
}
.showcase-game-card {
  transition: transform 240ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.showcase-game-play-link {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: grid;
  place-items: center;
  border-radius: inherit;
  text-decoration: none;
}
.showcase-game-play-button {
  display: grid;
  place-items: center;
  min-width: 76px;
  min-height: 52px;
  padding: 12px 18px;
  border-radius: calc(16px * var(--corner-scale, 1));
  background: linear-gradient(#66a61c, #205707);
  color: #fff;
  font-size: calc(16px * var(--font-scale, 1));
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 0 20px #589e2270, 0 6px 18px #07132155;
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 200ms ease, transform 240ms ease;
}
.showcase-game-card:focus-within {
  transform: translateY(-10px);
}
.showcase-game-card:focus-within .showcase-game-play-button {
  opacity: 1;
  transform: scale(1);
}
.showcase-game-play-link:focus-visible {
  outline: 2px solid #8bdfff;
  outline-offset: -3px;
}
@media (hover: hover) and (pointer: fine) {
  .showcase-game-card:hover {
    transform: translateY(-10px);
  }
  .showcase-game-card:hover .showcase-game-play-button {
    opacity: 1;
    transform: scale(1);
  }
}
@media (hover: none) {
  .showcase-game-play-button {
    opacity: 1;
    transform: none;
  }
}

.showcase-cards .showcase-game-card { width: 163px; margin: 0; justify-self: center; }
.review-article .showcase-game-play-link,
.review-article .showcase-game-play-link:hover,
.review-article .showcase-game-play-link:focus-visible { color: white; text-decoration: none; }
.showcase-game-art { display: block; }
@media (max-width: 600px) {
  .showcase-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 12px; }
  .showcase-cards .showcase-game-card { width: 100%; max-width: 163px; height: auto; aspect-ratio: 163 / 219; border-radius: 16.31px; }
}
@media (prefers-reduced-motion: reduce) {
  .showcase-game-card, .showcase-game-play-button { transition: none; }
  .showcase-game-card:hover, .showcase-game-card:focus-within { transform: none; }
}

.showcase-cards figcaption { color: #fff; font-family: Inter, Arial, sans-serif; }

.review-article .showcase-heading { text-align: left; }

/* New game artwork uses the same card structure and provider caption. */
.showcase-game-20-boost-hot { box-shadow: 0 8px #29103f; }
.showcase-game-20-boost-hot figcaption { background: linear-gradient(transparent, #471367e6 81.73%); }
.showcase-game-succubus-sins { box-shadow: 0 8px #26080c; }
.showcase-game-succubus-sins figcaption { background: linear-gradient(transparent, #38080de6 81.73%); }
.showcase-game-succubus-sins .showcase-game-line-one { font-size: calc(18px * var(--font-scale, 1)); }
.showcase-game-burning-chilli-x { box-shadow: 0 8px #923300; }
.showcase-game-burning-chilli-x figcaption { background: linear-gradient(transparent, #d85b08e6 81.73%); }
.showcase-game-burning-chilli-x .showcase-game-line-one { font-size: calc(18px * var(--font-scale, 1)); }
.showcase-game-burning-chilli-x .showcase-game-line-two { font-size: calc(23px * var(--font-scale, 1)); }
.showcase-game-20-boost-hot .showcase-game-line-two { font-size: calc(23px * var(--font-scale, 1)); }

/* A rotating tennis ball is the assistant trigger; its name stays accessible. */
.assistant-trigger {
  width: 64px;
  height: 64px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
}
.assistant-trigger:focus-visible { outline: 2px solid #e4f251; outline-offset: 5px; }
.assistant-tennis { display: block; position: relative; width: 100%; height: 100%; filter: drop-shadow(0 5px 5px #0008); }
.assistant-tennis-fallback, .assistant-tennis-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.assistant-tennis-canvas { visibility: hidden; }
.assistant-tennis.is-ready .assistant-tennis-canvas { visibility: visible; }
.assistant-tennis.is-ready .assistant-tennis-fallback { visibility: hidden; }
@media (max-width: 600px) { .assistant-trigger { width: 56px; height: 56px; } }

/* Anchor the assistant panel above its tennis-ball trigger. */
#assistant-dialog {
  position: fixed;
  inset: auto 20px 100px auto;
  margin: 0;
  max-height: calc(100dvh - 120px);
}
@media (max-width: 600px) {
  #assistant-dialog {
    right: 12px;
    bottom: 84px;
    width: min(400px, calc(100vw - 24px));
    max-height: calc(100dvh - 100px);
  }
}

/* Search shares the page palette and sits between the hero and key facts. */
.site-search { position: relative; padding-top: 32px; margin-bottom: 28px; }
#site-search-form { display: flex; gap: 12px; align-items: stretch; }
.search-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#site-search-query { flex: 1; min-width: 0; min-height: 50px; padding: 13px 18px; border: 1px solid #617c2c; border-radius: 12px 5px; background: #061e16; color: #fff; font: inherit; }
#site-search-query::placeholder { color: #c3d5b6; opacity: 1; }
#site-search-query:focus-visible { outline: 2px solid #f5e500; outline-offset: 3px; }
#site-search-form button { min-width: 160px; border: 0; cursor: pointer; }
#site-search-status { margin: 18px 0 0; color: #e4edc8; }
#site-search-results { margin: 16px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
#site-search-results[hidden] { display: none; }
#site-search-results li { padding: 16px 20px; background: #092b1bf2; border: 1px solid #526d2b; border-radius: 14px 5px; }
#site-search-results a { color: #f5e500; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
#site-search-results p { color: #e0e9db; margin: 8px 0 0; line-height: 1.5; }
@media (max-width: 600px) {
  .site-search { padding-top: 24px; margin-bottom: 24px; }
  #site-search-form { gap: 8px; }
  #site-search-form button { min-width: 76px; padding: 12px; }
  #site-search-query { padding: 12px; }
}

.mobile-wordmark { display: none; }
@media (max-width: 1000px) {
  .topbar { gap: 8px; }
  .topbar .mobile-menu { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 40px; padding: 0; background: transparent; }
  .topbar .mobile-wordmark { display: inline-block; flex: 0 0 auto; font-size: clamp(20px, 5.8vw, 28px); letter-spacing: -1.2px; }
  .topbar .account-actions { margin-left: auto; min-width: 0; gap: 6px; }
  .topbar .account-actions > .button { min-width: 0; white-space: normal; overflow-wrap: anywhere; text-align: center; }
  .topbar .locale-picker { flex-shrink: 0; }
}
@media (max-width: 600px) {
  .topbar { padding-inline: 10px; gap: 6px; }
  .topbar .account-actions { gap: 5px; }
  .topbar .account-actions > .button { padding: 7px 7px; font-size: 10px; }
  .topbar .locale-toggle { padding: 7px 6px; gap: 3px; }
}

.assistant-answer { margin-top: 18px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
#assistant-form button:disabled { opacity: .6; cursor: wait; }

.author-avatar { overflow: hidden; border: 0; }
.author-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }

.evidence-figure > img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  border-radius: 8px;
}
.locale-options [data-locale="ka"] { font-family: "Locale Georgian", sans-serif; } .locale-options [data-locale="hy"] { font-family: "Locale Armenian", sans-serif; font-weight: 700; }
.toc-disclosure { font-family: Inter, sans-serif; }
