* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
  list-style: none;
  list-style-type: none;
  border: none;
  outline: none;
  font-family: Google Sans;
}
html {
  overflow-x: hidden;
}
body {
  touch-action: manipulation;
}
body {
  background: #0f121b;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.25);
}
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
}
.logo {
  display: block;
}
.logo-online-wrapper {
  gap: 8px;
  .logo-mobile {
    img {
      width: 36px;
    }
  }
}
.btn-back {
  border-radius: 8px;
  background: linear-gradient(210.96deg, #141721 25.902%, #1a1f31 91.094%);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  display: none;
}
.chat-body {
  flex-grow: 1;
  overflow-y: auto;
  overflow-x: hidden;
  &::-webkit-scrollbar {
    height: 2px;
    width: 2px;
    border-radius: 39px;
  }
  &::-webkit-scrollbar-thumb {
    background: #f0f4ff66;
  }
}
.loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0f121b;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transition: opacity 0.25s ease;
}
.loader.fade-out {
  opacity: 0;
  pointer-events: none;
}
.loader-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.loader-wrapper img {
  width: 80px;
  height: 80px;
  animation: loaderSpin 0.9s cubic-bezier(0.5, 0, 0.5, 1) infinite;
}
.loading-progress {
  width: 160px;
  height: 4px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 2px;
  overflow: hidden;
}
.loader-value {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, #2c80ff, #6a5af9);
  border-radius: 2px;
  animation: loaderProgress 0.55s ease-out forwards;
}
@keyframes loaderSpin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes loaderProgress {
  0% { width: 0%; }
  60% { width: 70%; }
  100% { width: 100%; }
}
.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 16px 55px;
  gap: 20px;
  z-index: 100;
  background: rgba(15, 18, 27, 0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.header-left {
  display: flex;
  align-items: center;
  gap: 76px;
}
.header-right {
  display: flex;
  align-items: center;
  gap: 106px;
}

.header-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(100% - 370px);
  &.chat-open {
    width: calc(100% - 180px);
  }
}
.app-layout {
  display: flex;
  gap: 107px;
  padding-left: 55px;
}
.chat-box {
  width: 100%;
  height: calc(100dvh - 100px);
  max-width: 317px;
  margin-right: 40px;
  position: fixed;
  right: 0;
  top: 100px;
  z-index: 10;
  transition: all 0.3s ease-in-out;
  &.hidden {
    transform: translateX(380%);
  }
}
.chat-header .group-title,
.rules-btn,
.chat-main {
  transition: transform 0.3s ease, opacity 0.3s ease;
  &.hidden {
    transform: translateX(380%);
    opacity: 0;
  }
}
.chat-main {
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 178px);
}
.app-wrapper {
  width: 100%;
}
.nav {
  display: flex;
  align-items: center;
  gap: 24px;
  a {
    color: #f0f4ff66;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    transition: all 0.3s ease-in-out;
    &:hover {
      color: #fff;
    }
  }
}
.levels-grid {
  display: none;
}
.active-bonuses-card-question {
  width: 28px;
  height: 28px;
  img {
    width: 100%;
    height: 100%;
  }
}
.online-count {
  display: flex;
  align-items: center;
  gap: 8px;
  #onlineCount {
    display: inline-block;
    min-width: 3ch;
    text-align: center;
    font-variant-numeric: tabular-nums;
  }
  .online-outer {
    display: flex;
    align-items: center;
    justify-content: center;
    filter: blur(1px);
    background: #165d2c;
    border-radius: 50%;
    content: "";
    width: 15px;
    height: 15px;
    animation: pulse 1.5s infinite;
  }
  .online-inner {
    width: 7px;
    height: 7px;
    background: #1ebe3c;
    border-radius: 50%;
    content: "";
    animation: pulse-inner 1.5s infinite;
  }
  p {
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
  }
}
@keyframes pulse {
  0%,
  100% {
    transform: scale(1);
    filter: blur(1px);
  }
  50% {
    transform: scale(1.2);
    filter: blur(0);
  }
}

@keyframes pulse-inner {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.5);
  }
}
.logo-online-wrapper {
  display: flex;
  align-items: center;
  gap: 20px;
}
.sign-in-btn {
  border-radius: 15px;
  background: linear-gradient(210.96deg, #141721 28.365%, #1a1f31 82.653%);
  color: #f0f4ff66;
  font-size: 18px;
  font-weight: 500;
  line-height: 137%;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 14px 24px 14px 18px;
  cursor: pointer;
  &:hover {
    background: linear-gradient(203.23deg, #141721 -8.587%, #1a1f31 83.664%);
  }
  &:active {
    background: #1a2030;
  }
}
.sign-up-btn {
  border-radius: 15px;
  background: #3d7ce0;
  padding: 14px 24px 14px 18px;
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  line-height: 137%;
  display: flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  &:hover {
    background: #4185f2;
  }
  &:active {
    background: #3274dc;
  }
}

.mobile-slots-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #3d7ce0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: -25px;
  margin-bottom: 2px;
  .material-icons {
    font-size: 28px !important;
    color: #fff !important;
  }
}
.icon {
  max-width: 28px;
  max-height: 28px;
  width: 28px;
  height: 28px;
}
.auth-btns {
  display: flex;
  align-items: center;
  gap: 16px;
}
.sidebar {
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 60.97px);
  position: fixed;
  bottom: 0;
}
.sidebar-link-group {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 60px;
}
.sidebar-link {
  width: 68px;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: linear-gradient(210.96deg, #141721 25.902%, #1a1f31 91.094%);
  color: #fff;
  cursor: pointer;
  &.active {
    background: linear-gradient(210.96deg, #0f121b 6.094%, #4482e5 91.094%);
    color: #95beff;
  }
  &:active {
    background: linear-gradient(210.96deg, #0f121b 6.094%, #4482e5 91.094%);
    color: #95beff;
  }
}
.sidebar-material-icon {
  font-size: 26px;
  line-height: 1;
}

.sidebar-link[data-tooltip] {
  position: relative;
}
.sidebar-link[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  left: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%) translateX(-4px);
  background: rgba(20, 23, 33, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #f0f4ff;
  font-size: 13px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 8px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  z-index: 1000;
}
.sidebar-link[data-tooltip]:hover::after {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}
.sidebar-socials {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-bottom: 30px;
}
.container {
  max-width: 1212px;
  width: 100%;
  margin: 0 auto;
}
.main {
  padding-left: 88px;
}
.main-layout {
  min-height: calc(100dvh - 126px - 206px);
}
.main-app-wrapper {
  width: calc(100% - 425px);
  padding-top: 126px;
  overflow-x: hidden;
  &.chat-open {
    width: calc(100% - 95px);
  }
}
/* ===== Promo Slider Section ===== */
.promo-container {
  display: grid;
  grid-template-columns: 2fr 1fr 0fr;
  gap: 16px;
  height: 390px;
  margin-bottom: 20px;
}
.promo-slider-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
  background: rgba(30, 35, 50, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}
.custom-slider {
  width: 100%;
  height: 100%;
  position: relative;
}
.slider-track {
  width: 100%;
  height: 100%;
  position: relative;
}
.c-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  z-index: 1;
  display: flex;
  align-items: center;
  padding: 40px;
}
.c-slide.active {
  opacity: 1;
  z-index: 2;
}
.c-slide::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.2) 60%, rgba(0,0,0,0) 100%);
  z-index: -1;
}
.c-slide-content {
  position: relative;
  z-index: 3;
  max-width: 60%;
  color: #fff;
}
.c-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.c-title {
  font-size: 36px;
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.c-desc {
  font-size: 18px;
  opacity: 0.9;
  margin-bottom: 24px;
}
.c-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #3d7ce0;
  color: #fff;
  border: none;
  padding: 12px 24px;
  border-radius: 12px;
  font-weight: 700;
  cursor: pointer;
  font-size: 14px;
  transition: transform 0.2s, background 0.2s;
  text-decoration: none;
}
.c-btn:hover {
  transform: scale(1.05);
  background: #3570cc;
}
.slider-controls .slider-arrow {
  position: absolute;
  bottom: 30px;
  width: 40px;
  height: 40px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 50%;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s;
}
.slider-arrow:hover {
  background: rgba(255,255,255,0.3);
}
.slider-arrow.prev { right: 80px; }
.slider-arrow.next { right: 30px; }
.promo-static-card {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  height: 100%;
  background: rgba(30, 35, 50, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}
.static-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center bottom;
  transition: transform 0.5s;
  opacity: 0.8;
}
.promo-static-card:hover .static-bg {
  transform: scale(1.05);
}
.static-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  color: #fff;
  background: linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
}
.card-wheel .static-content {
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  padding-top: 30px;
  background: linear-gradient(180deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 50%);
}
.static-top-text { font-size: 12px; font-weight: bold; opacity: 0.9; }
.static-big-text { font-size: 24px; font-weight: 900; color: #40c4ff; margin: 4px 0; }
.static-sub-text { font-size: 12px; font-weight: bold; text-transform: uppercase; margin-bottom: 10px; }
.static-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #3d7ce0;
  color: #fff;
  border: none;
  padding: 8px 20px;
  border-radius: 8px;
  font-weight: 800;
  cursor: pointer;
  margin-top: auto;
  margin-bottom: 20px;
  text-decoration: none;
  font-size: 14px;
  transition: background 0.2s;
}
.static-btn:hover { background: #3570cc; }
.static-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 6px;
  opacity: 0.9;
}
.card-cashback .static-title {
  font-size: 28px;
  font-weight: 900;
  color: #3d7ce0;
  line-height: 1;
}
.card-cashback .static-desc {
  font-size: 13px;
  font-weight: bold;
  margin-top: 5px;
}
.card-cashback .icon-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-top: 15px;
  background: rgba(255,255,255,0.1);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.card-cashback .icon-btn:hover { background: rgba(255,255,255,0.2); }

/* old promo compat */
.promo-main {
  display: none;
}
.participant-item {
  padding: 12px 42px 12px 40px;
  border-radius: 15px;
  background: #131622;
  display: flex;
  align-items: center;
  justify-content: space-between;
  p {
    color: #f1f6ff33;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
  }
}
.participants-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
}
.participants-list-title {
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  line-height: 23px;
}
.participants-list-wrapper {
  margin-top: 36px;
}
/* old .hover-slots removed — replaced by .slot-card-overlay */
.telegram-modal {
  border-radius: 31px;
  background: #151924;
  width: 468px;
  padding: 32px 36px 36px 36px;
  display: none;
  .simple-text {
    color: #f0f4ff66;
    margin-top: 32px;
    span {
      color: #fff;
    }
  }

  .group-icon {
    border-radius: 15px;
    background: #3d7ce0;
  }
  .btn-secondary {
    display: block;
    width: 100%;
  }
}
.profile-bonus-modal {
  width: 662px;
  padding: 34px 39px 38px 38px;
  border-radius: 33px;
  background: #151924;
  display: none;
  .group-icon {
    background: #18b146;
  }
  .btn-third {
    margin-top: 32px;
  }
}
.modal-wrapper {
  max-height: 100dvh;
  padding: 4px;
  overflow-y: auto;
  &::-webkit-scrollbar {
    height: 2px;
    width: 2px;
    border-radius: 39px;
    right: 10px;
  }
  &::-webkit-scrollbar-thumb {
    background: #f0f4ff66;
  }
}
.details-wrapper {
  display: flex;
  flex-direction: column;
  margin-top: 32px;
  gap: 8px;
}
.bonus-timer-wrapper {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 26px;
  p {
    color: #f1f6ff33;
    font-size: 18px;
    font-weight: 500;
    line-height: 135%;
  }
  .bonus-timer {
    color: #fabc38;
    font-size: 18px;
    font-weight: 500;
    line-height: 158%;
  }
}
.question-text {
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  line-height: 135%;
  margin-bottom: 8px;
  margin-top: 20px;
}
.bonus-detail-header {
  padding: 12px 20px 12px 22px;
  border-radius: 15px;
  cursor: pointer;
  background: #191d2c;
  display: flex;
  align-items: center;
  justify-content: space-between;
  h3 {
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    line-height: 135%;
  }
  p {
    color: #f1f6ff33;
    font-size: 18px;
    font-weight: 500;
    line-height: 140%;
  }
}
.question-answer {
  color: #f0f4ff66;
  font-size: 18px;
  font-weight: 500;
  line-height: 137%;
}
.bonus-detail-body {
  display: flex;
  gap: 12px;
  margin-top: 16px;
  margin-bottom: 20px;
  display: none;
  img {
    width: 85px;
    height: 112px;
  }
}
.tg-bind {
  color: #fabc38;
  display: inline-block;
  margin-bottom: 64px;
  margin-top: 24px;
  font-size: 18px;
  font-weight: 500;
  line-height: 158%;
}
.promo-main-card {
  border-radius: 15px;
  h3 {
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    line-height: 117.2%;
    letter-spacing: -1%;
  }
  p {
    color: #e5ebffb3;
    font-size: 19px;
    font-weight: 500;
    line-height: 137%;
    margin-top: 14px;
    margin-bottom: 42px;
  }
  &.wide {
    background-image: url("../assets/images/777img.jpeg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 62px 42px 60px 42px;
    width: 100%;
    border-radius: 17px;
    overflow: hidden;
    button {
      background: #7496e02e;
      color: #ffffff;
      font-size: 18px;
      font-weight: 500;
      line-height: 131.2%;
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 20px 26px 20px 22px;
      border-radius: 15px;
    }
  }
  &.fit {
    background-image: url("../assets/images/telegram-bg.jpeg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    max-width: 392px;
    width: 100%;
    padding: 62px 24px 60px 36px;
    border-radius: 17px;
    overflow: hidden;
    button {
      background: #4795ed;
      color: #ffffff;
      font-size: 18px;
      font-weight: 500;
      line-height: 131.2%;
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 17px 30px 17px 23px;
      border-radius: 15px;
    }
  }
}
.forgot-password-btn {
  color: #eff5ff29;
  font-size: 18px;
  font-weight: 500;
  line-height: 149.2%;
  background: transparent;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  cursor: pointer;
  &:hover {
    color: #fff;
  }
}
.original-games {
  margin-top: 53px;
}
.group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  .arrow-btn {
    display: none;
  }
}
.group-title {
  display: flex;
  align-items: center;
  gap: 12px;
  .group-icon {
    height: 56px;
    width: 56px;
    min-width: 56px;
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
  }
  h3 {
    color: #f9fbff;
    font-size: 20px;
    font-weight: 500;
    line-height: 25px;
  }
}
.original-games-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 24px;
}
.og-scroll-arrow { display: none; }
.original-games-card {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 26px 21px 22px 21px;
  width: 100%;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  &::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.5) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
    pointer-events: none;
  }
  &:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(100, 140, 255, 0.15);
    &::before {
      opacity: 1;
    }
  }
  p {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 31px;
    text-transform: uppercase;
    margin-bottom: 43px;
    position: relative;
    z-index: 2;
    transition: text-shadow 0.3s ease;
  }
  &:hover p {
    text-shadow: 0 2px 12px rgba(68, 130, 230, 0.5);
  }

  .original-games-btn-grad {
    display: inline-block;
    width: 44px;
    height: 44px;
    padding: 1.5px;
    border-radius: 13px;
    background: linear-gradient(225deg, #f1f6ff 0%, #1f61dd 100%);
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  &:hover .original-games-btn-grad {
    transform: scale(1.1);
    box-shadow: 0 0 16px rgba(68, 130, 230, 0.5);
  }
  button {
    backdrop-filter: blur(4px);
    background: #4482e6;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    img {
      transition: transform 0.3s ease;
    }
  }
  &:hover button img {
    transform: translateX(4px);
  }
}
.group-title {
  color: #ffffff;
  font-size: 20px;
  font-weight: 500;
  line-height: 117.2%;
}
.section-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
}
.section-heading-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  flex-shrink: 0;
}
.section-heading-icon .material-icons {
  font-size: 22px;
  color: #fff;
}
.section-heading-icon--purple {
  background: linear-gradient(135deg, #7c3aed, #a855f7);
  box-shadow: 0 4px 16px rgba(124, 58, 237, 0.35);
}
.section-heading-icon--orange {
  background: linear-gradient(135deg, #f97316, #fb923c);
  box-shadow: 0 4px 16px rgba(249, 115, 22, 0.35);
}
.section-heading-icon--blue {
  background: linear-gradient(135deg, #3d7ce0, #60a5fa);
  box-shadow: 0 4px 16px rgba(61, 124, 224, 0.35);
}
.section-heading-icon--green {
  background: linear-gradient(135deg, #16a34a, #4ade80);
  box-shadow: 0 4px 16px rgba(22, 163, 74, 0.35);
}
.section-heading-icon--red {
  background: linear-gradient(135deg, #ef4444, #f87171);
  box-shadow: 0 4px 16px rgba(239, 68, 68, 0.35);
}
.show-all-btn {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  background: linear-gradient(135deg, #3d7ce0, #60a5fa);
  border: none;
  padding: 10px 18px;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.25s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 4px 16px rgba(61, 124, 224, 0.35);
  &::after {
    content: '→';
    font-size: 14px;
    transition: transform 0.2s ease;
  }
  &:hover {
    box-shadow: 0 6px 24px rgba(61, 124, 224, 0.5);
    transform: translateY(-1px);
  }
  &:hover::after {
    transform: translateX(3px);
  }
  &:active {
    transform: translateY(0);
    box-shadow: 0 4px 16px rgba(61, 124, 224, 0.35);
  }
}
.game-history-table {
  margin: 36px 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.game-history-item {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  padding: 12px 28px;
  border-radius: 10px;
  background: #131622;
  p {
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    display: flex;
    align-items: center;
    gap: 4px;
    &:nth-child(3) {
      justify-self: center;
    }
    &:nth-child(4) {
      justify-self: center;
    }
    &:nth-child(5) {
      justify-self: end;
    }
  }
}
.game-feed-icon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  opacity: 0.7;
}
svg.game-feed-icon {
  fill: currentColor;
}
.providers {
  margin-top: 44px;
}
.providers-slider {
  margin-top: 16px;
  overflow: hidden;
  position: relative;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
}
.providers-track {
  display: flex;
  gap: 16px;
  animation: providersScroll 30s linear infinite;
  width: max-content;
}
.providers-track:hover {
  animation-play-state: paused;
}
@keyframes providersScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.provider-card {
  flex-shrink: 0;
  width: 160px;
  height: 80px;
  border-radius: 14px;
  background: linear-gradient(210.96deg, #141721 25%, #1a1f31 91%);
  border: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 24px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  cursor: default;
}
.provider-card:hover {
  border-color: rgba(61, 124, 224, 0.3);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.provider-card img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  opacity: 0.6;
  filter: grayscale(30%);
  transition: opacity 0.3s ease, filter 0.3s ease;
}
.provider-card:hover img {
  opacity: 1;
  filter: grayscale(0%);
}

/* ===== Site Footer ===== */
.site-footer {
  margin-top: 60px;
  padding: 50px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
  gap: 40px;
}
.footer-brand .footer-logo img {
  height: 32px;
}
.footer-desc {
  color: #8b949e;
  font-size: 13px;
  line-height: 1.6;
  margin-top: 16px;
}
.footer-socials {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}
.footer-social-btn {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8b949e;
  transition: all 0.25s ease;
}
.footer-social-btn:hover {
  background: #3d7ce0;
  color: #fff;
}
.footer-col-title {
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 20px;
}
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.footer-links a {
  color: #8b949e;
  font-size: 14px;
  font-weight: 400;
  transition: color 0.2s ease;
  text-decoration: none;
}
.footer-links a:hover {
  color: #fff;
}
.footer-license-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 14px;
  padding: 14px 16px;
}
.footer-license-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(0, 200, 83, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.footer-license-info {
  display: flex;
  flex-direction: column;
}
.footer-license-name {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
}
.footer-license-id {
  color: #8b949e;
  font-size: 12px;
  margin-top: 2px;
}
.footer-license-desc {
  color: #8b949e;
  font-size: 12px;
  line-height: 1.5;
  margin-top: 12px;
}
.footer-badges {
  display: flex;
  gap: 8px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.footer-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 8px;
  padding: 6px 12px;
  color: #8b949e;
  font-size: 12px;
}
.footer-age-badge {
  color: #ff5252;
  font-weight: 700;
  font-size: 13px;
}
.footer-bottom {
  margin-top: 40px;
  padding: 24px 0 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.footer-copyright {
  color: #8b949e;
  font-size: 13px;
  font-weight: 500;
}
.footer-company {
  color: rgba(139, 148, 158, 0.5);
  font-size: 11px;
  line-height: 1.6;
  margin-top: 10px;
  max-width: 700px;
}
/* old footer compat */
.footer-wrapper {
  display: none;
}
/* .slot-card styles moved into .slots-grid block below */
.popular-slots {
  padding: 52px 0;
}
.footer-nav {
  display: flex;
  align-items: center;
  gap: 27px;
  a {
    color: #eff5ff29;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    transition: all 0.3s ease-in-out;
    &:hover {
      color: #f0f4ff66;
    }
    &:active {
      color: #f0f4ffb3;
    }
  }
}

.dealer-slots-wrapper,
.popular-slots-wrapper {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  margin-top: 24px;
  a {
    display: inline-block;
  }
}
.input-search {
  width: 100%;
  height: 64px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 15px;
  background: linear-gradient(206.75deg, #141721 31.06%, #1a1f31 82.469%);
  padding-left: 22px;
  input {
    width: 100%;
    height: 100%;
    background: transparent;
    font-size: 18px;
    font-weight: 500;
    line-height: 131.2%;
    color: #fff;
    &::placeholder {
      color: #f0f4ff66;
    }
  }
}
.slots-toolbar {
  display: flex;
  gap: 16px;
  margin-top: 28px;
}
.custom-select-wrapper {
  position: relative;
  width: 100%;
}
.custom-select-header {
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 12px;
  background: linear-gradient(206.75deg, #141721 30.963%, #1a1f31 82.084%);
  padding: 10px 20px 10px 22px;
  cursor: pointer;
  input {
    cursor: pointer;
  }
  .value-wrapper {
    display: flex;
    align-items: center;
    gap: 7px;
    .select-value {
      color: #4d4f59;
      font-size: 18px;
      font-weight: 500;
      line-height: 127%;
    }
  }
}
.custom-select-body {
  position: absolute;
  top: 70px;
  width: 100%;
  max-height: 260px;
  z-index: 10;
  border-radius: 15px;
  background: #191b26;
  padding: 18px 24px 18px 24px;
  overflow: hidden;
}
.custom-select-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow-y: auto;
  height: 100%;
  max-height: 220px;

  &::-webkit-scrollbar {
    height: 2px;
    width: 2px;
    border-radius: 39px;
  }
  &::-webkit-scrollbar-thumb {
    background: #f0f4ff66;
  }
}
.custom-select-option {
  color: #f0f4ff66;
  font-size: 18px;
  font-weight: 500;
  line-height: 131.2%;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  &:hover {
    color: #fff;
  }
  &.active {
    color: #fff;
  }
}
.slots-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 16px;
  margin-top: 24px;
}
.slot-card {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: #151924;
  transition: transform 0.25s ease;
}
.slot-card:hover {
  transform: translateY(-4px);
}
.slot-card-img {
  position: relative;
  width: 100%;
  padding-top: 133%;
  background-size: cover;
  background-position: center;
  background-color: #1a1f31;
}
.slot-card-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(15, 18, 27, 0.85);
  backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity 0.25s ease;
}
.slot-card:hover .slot-card-overlay {
  opacity: 1;
}
.slot-play-real {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #18b146;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, transform 0.15s ease;
}
.slot-play-real img {
  width: 18px;
  height: 18px;
  filter: brightness(10);
}
.slot-play-real:hover {
  background: #20c752;
  transform: scale(1.1);
}
.slot-play-demo {
  background: none;
  border: 1px solid rgba(255,255,255,0.25);
  color: rgba(255,255,255,0.7);
  font-size: 13px;
  font-weight: 500;
  padding: 6px 18px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.slot-play-demo:hover {
  border-color: rgba(255,255,255,0.5);
  color: #fff;
}
.slot-provider-tag {
  position: absolute;
  bottom: 8px;
  left: 8px;
  background: rgba(15, 18, 27, 0.7);
  backdrop-filter: blur(4px);
  color: rgba(255,255,255,0.55);
  font-size: 11px;
  font-weight: 500;
  padding: 3px 8px;
  border-radius: 6px;
  pointer-events: none;
}
.slot-fav-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 18, 27, 0.7);
  backdrop-filter: blur(4px);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 2;
  transition: transform 0.2s ease, background 0.2s ease;
  padding: 0;
  opacity: 0;
}
.slot-card:hover .slot-fav-btn,
.slot-fav-btn.active {
  opacity: 1;
}
.slot-fav-btn:hover {
  transform: scale(1.15);
  background: rgba(15, 18, 27, 0.9);
}
.slot-fav-btn.active svg {
  filter: drop-shadow(0 0 4px rgba(231, 76, 60, 0.5));
}
.slot-fav-filter-btn {
  width: 56px;
  height: 56px;
  min-width: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  background: linear-gradient(206.75deg, #141721 30.963%, #1a1f31 82.084%);
  border: none;
  cursor: pointer;
  transition: all 0.25s ease;
  padding: 0;
}
.slot-fav-filter-btn:hover {
  background: linear-gradient(206.75deg, #1a1f31 30.963%, #232840 82.084%);
}
.slot-fav-filter-btn.active {
  background: linear-gradient(206.75deg, #2a1520 30.963%, #3a1525 82.084%);
}
.slot-fav-filter-btn.active svg {
  fill: #e74c3c;
  stroke: #e74c3c;
}
.slot-card-name {
  padding: 10px 12px;
  color: #f0f4ff;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.slots-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 60px 20px;
  color: #5a6280;
  font-size: 16px;
  font-weight: 500;
}
.slots-load-more {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 32px;
  padding-bottom: 20px;
}
.slots-load-more .btn-secondary {
  padding: 12px 36px;
  border-radius: 12px;
  font-size: 15px;
}
.slots-counter {
  color: #5a6280;
  font-size: 13px;
  font-weight: 500;
}
/* Slot Game Modal */
.slot-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.7);
  z-index: 1000;
}
.slot-modal-overlay.active {
  display: block;
}
.slot-modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90vw;
  height: 85vh;
  max-width: 1200px;
  background: #151924;
  border-radius: 16px;
  overflow: hidden;
  z-index: 1001;
  flex-direction: column;
}
.slot-modal.active {
  display: flex;
}
.slot-modal.fullscreen {
  width: 100vw;
  height: 100vh;
  max-width: none;
  border-radius: 0;
  top: 0;
  left: 0;
  transform: none;
}
.slot-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #131622;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  flex-shrink: 0;
}
.slot-modal-title {
  color: #f0f4ff;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 50%;
}
.slot-modal-btns {
  display: flex;
  align-items: center;
  gap: 8px;
}
.slot-modal-btns button {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: none;
  background: rgba(255,255,255,0.06);
  color: #8b94a0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, color 0.2s ease;
}
.slot-modal-btns button:hover {
  background: rgba(255,255,255,0.12);
  color: #fff;
}
.slot-modal-close-btn:hover {
  background: #e53935 !important;
  color: #fff !important;
}
.slot-modal-body {
  flex: 1;
  position: relative;
}
.slot-modal-body iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.slots-page {
  .group-icon {
    background: #3d7ce0;
  }
}
.footer-logo-wrapper {
  display: flex;
  align-items: center;
  gap: 26px;
}
.footer-left {
  p {
    color: #eff5ff29;
    font-size: 15px;
    font-weight: 500;
    line-height: 19px;
    margin-top: 19px;
  }
}
.wallet-select-body {
  padding: 26px 14px 26px 24px;
  border-radius: 15px;
  background: #22293f;
  display: none;
  position: absolute;
  width: 100%;
  top: 64px;
  z-index: 2;
  height: 168px;
  .wallet-select-body-wrapper {
    overflow-y: auto;
    padding-right: 10px;
    height: 100%;
    &::-webkit-scrollbar {
      height: 2px;
      width: 2px;
      border-radius: 39px;
    }
    &::-webkit-scrollbar-thumb {
      background: #f0f4ff66;
    }
  }
}
.amount-input {
  margin-top: 28px;
  margin-bottom: 20px;
  .custom-input {
    input {
      padding-right: 233px;
      background: #22293f;
    }
  }
}
.wallet-select-item {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  gap: 9px;
  cursor: pointer;
  &:last-child {
    margin: 0;
  }
  p {
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
  }
}
.profile-header-wrapper {
  position: relative;
}
.profile-menu-inner {
  width: 220px;
  padding: 8px;
  flex-direction: column;
  gap: 2px;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 200;
  border-radius: 14px;
  background: rgba(20, 23, 33, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.03);
  display: none;
  opacity: 0;
  transform: translateY(-8px) scale(0.97);
  transition: opacity 0.2s ease, transform 0.2s ease;
  &.open {
    display: flex;
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  .profile-menu-id {
    padding: 10px 12px 8px;
    font-size: 13px;
    font-weight: 600;
    color: #f0f4ff50;
    letter-spacing: 0.3px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    margin-bottom: 2px;
  }
  a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    color: #f0f4ffb3;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.15s ease;
    .material-icons {
      width: 20px;
      font-size: 18px;
      text-align: center;
      color: #f0f4ff40;
      transition: color 0.15s ease;
    }
    &:hover {
      background: rgba(255, 255, 255, 0.06);
      color: #fff;
      .material-icons {
        color: #3d7ce0;
      }
    }
    &.menu-logout {
      color: #e74c3c99;
      .material-icons {
        color: #e74c3c60;
      }
      &:hover {
        background: rgba(231, 76, 60, 0.08);
        color: #e74c3c;
        .material-icons {
          color: #e74c3c;
        }
      }
    }
  }
}
.profile-menu-btn {
  transition: transform 0.2s ease;
  &.active {
    transform: rotate(180deg);
  }
}
.wheel-of-draft {
  border-radius: 18px;
  background: #131622;
  min-width: 434px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 60px;
  .btn-secondary {
    width: 212px;
  }
}
.drafts-scores {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.wheel-of-drafts-main {
  width: 100%;
}
.profile-info {
  display: flex;
  align-items: center;
  gap: 12px;
  img {
    width: 36px;
    height: 36px;
    border-radius: 8px;
  }
  p {
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
  }
}
.drafts-score-item {
  border-radius: 16px;
  background: #131622;
  padding: 22px 40px 20px 40px;
  width: 100%;
  p {
    color: #f0f4ff66;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    margin-bottom: 8px;
  }
  span {
    color: #ffffff;
    font-size: 24px;
    font-weight: 500;
    line-height: 31px;
    text-transform: uppercase;
  }
  &.win-score {
    background: linear-gradient(
      201.31deg,
      #0f121b -1.261%,
      #274678 17.176%,
      #4482e5 57.955%
    );
  }
}
.wheel-of-drafts-wrapper {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  margin-top: 28px;
}
.wheel-wrapper {
  position: relative;
}
.draft-timer-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.timer {
  display: flex;
  gap: 9px;
  align-items: flex-start;
}
.draft-timer-label {
  color: #f0f4ff66;
  font-size: 16px;
  font-weight: 500;
  line-height: 20px;
  text-align: center;
  margin-bottom: 24px;
}
.timer-part {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15.43px;
  p {
    color: #fff;
    font-size: 34px;
    font-weight: 500;
  }
  span {
    color: #f1f6ff33;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
  }
}
.timer-separator {
  color: #f1f6ff33;
  font-size: 32px;
  font-weight: 700;
}
.copy-wheel-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 15px;
  background: linear-gradient(210.96deg, #141721 25.902%, #1a1f31 91.094%);
}
.payment-system-select {
  position: relative;
}
.wallet-select-header {
  border-radius: 15px;
  background: #22293f;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 56px;
  padding: 0 26px;
  div {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  p {
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
  }
}

.modal-layout {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(12px);
  background: #0b0e15d4;
  z-index: 10000;
  padding: 20px;
}
.referal-system-modal {
  width: 662px;
  display: none;
  border-radius: 33px;
  background: #151924;
  padding: 36px 41px 47px 40px;
  .group-icon {
    background: #3d7ce0;
  }
  .simple-text {
    margin-top: 24px;
  }
}
.level-card {
  .level-params {
    margin-top: 12px;
  }
  .level-params-item {
    display: flex;
    align-items: center;
    gap: 8px;
    p {
      color: #f1f6ff33;
      font-size: 16px;
      font-weight: 500;
      line-height: 149.2%;
      flex-shrink: 0;
    }
    span {
      color: #f0f4ff66;
      font-size: 16px;
      font-weight: 500;
      line-height: 149.2%;
      white-space: nowrap;
    }
  }
}
.modal-body {
  max-height: calc(90dvh - 56px - 36px - 36px);
  overflow-y: auto;
  margin-top: 24px;
  &::-webkit-scrollbar {
    height: 2px;
    width: 2px;
    border-radius: 39px;
  }
  &::-webkit-scrollbar-thumb {
    background: #f0f4ff66;
  }
}
.achievements-modal {
  width: 661px;
  border-radius: 33px;
  background: #151924;
  display: none;
  padding: 36px 40px;
  max-height: 90dvh;
  .levels-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    .legend-level {
      grid-column: span 3;
      .level-card-main-icon {
        right: 70px;
      }
    }
  }
  .group-icon {
    background: #3d7ce0;
  }
  .simple-text {
    margin-bottom: 24px;
  }
}
.auth-modal {
  width: 916px;
  border-radius: 41px;
  background: #151924;
  overflow: hidden;
  display: none;
  max-height: 90dvh;
}
.auth-wrapper {
  display: flex;
}
.auth-main {
  padding: 40px 40px 44px 40px;
  width: 50%;
}
.auth-bg {
  width: 50%;
  object-fit: cover;
}
.auth-hud {
  display: flex;
  gap: 18px;
  padding-bottom: 16px;
}
.create-raffle-modal {
  width: 535px;
  border-radius: 36px;
  max-height: 90dvh;
  background: #151924;
  padding: 36px 40px;
  overflow: hidden;
  display: none;
  .group-icon {
    background: #3d7ce0;
  }
  .simple-text {
    color: #eff5ff29;
    margin: 12px 0;
  }
  .btn-secondary {
    width: 100%;
    margin-top: 36px;
  }
}
.raffle-created-modal {
  border-radius: 36px;
  background: #151924;
  padding: 36px 40px;
  width: 535px;
  display: none;
  .group-icon {
    background: #3d7ce0;
  }
}
.btn-default {
  height: 56px;
  width: 100%;
  border-radius: 14px;
  background: #191d2c;
  color: #f0f4ff66;
  font-size: 18px;
  font-weight: 500;
  line-height: 149.2%;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  &:hover {
    background: #202639;
  }
  &:active {
    background: #3d7ce0;
    color: #fff;
  }
  &.active {
    background: #3d7ce0;
    color: #fff;
  }
}
.wallet-modal {
  width: 535px;
  display: none;
  border-radius: 36px;
  background: #151924;
  padding: 36px 40px 44px 40px;
  max-height: 90dvh;
  .btn-secondary {
    width: 100%;
  }
  .group-icon {
    background: #18b146;
  }
  .custom-select-header {
    height: 56px;
    background: #22293f;
    .select-value {
      color: #fff;
    }
  }
}
.custom-select-label {
  color: #eff5ff29;
  font-size: 18px;
  font-weight: 500;
  line-height: 23px;
  margin-bottom: 12px;
}
.win-modal {
  width: 339px;
  height: 302px;
  border-radius: 22px;
  background: linear-gradient(210.96deg, #141721 26.287%, #1a1f31 89.775%);
  display: none;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  h3 {
    color: #fabc38;
    font-size: 42px;
    font-weight: 700;
    line-height: 53px;
    text-align: center;
    text-transform: uppercase;
  }
  p {
    color: #ffffff;
    font-size: 20px;
    font-weight: 500;
    line-height: 131.2%;
    span {
      margin-left: 8px;
    }
  }
}
.wallet-variants-btns {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 32px;
  margin-bottom: 28px;
}
.chat-rule-modal {
  border-radius: 31px;
  background: #151924;
  padding: 32px 36px 46px 36px;
  width: 468px;
  display: none;
  .group-header {
    margin-bottom: 36px;
  }
  .group-icon {
    background: #3d7ce0;
    img {
      width: 22px;
      height: 22px;
    }
  }
  .simple-text {
    margin-bottom: 8px;
  }
  .btn-secondary {
    width: 100%;
    margin-top: 60px;
  }
}

.reset-password-modal {
  border-radius: 33px;
  background: #151924;
  width: 515px;
  display: none;
  margin: 0 16px;
  padding: 36px 40px 50px 40px;
  .group-header {
    padding-bottom: 20px;
  }
  .auth-field {
    background: #191d2c;
  }
  .btn-secondary {
    width: 100%;
    margin-top: 24px;
  }
}
.auth-field {
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 15px;
  background: #22293f;
  height: 56px;
  margin-top: 16px;
  input {
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 145.2%;
    width: 100%;
    height: 100%;
    background: transparent;
    &::placeholder {
      color: #f1f6ff33;
    }
  }
}
.register-block {
  & .simple-text {
    &.for-one-click {
      margin-top: 107px;
    }
  }
}
.auth-field-btn {
  background: none;
  cursor: pointer;
  color: #f1f6ff33;
  transition: all 0.3s ease-in-out;
  min-width: 28px;
  height: 28px;
  &:hover {
    color: #fff;
  }
}
.auth-field {
  padding: 0 18px;
}
.confirm-raffle-modal {
  border-radius: 36px;
  background: #151924;
  max-height: 90vh;
  padding: 36px 40px;
  width: 535px;
  display: none;
  .group-icon {
    background: #3d7ce0;
  }
  .simple-text {
    color: #eff5ff29;
    margin-bottom: 12px;
  }
  .deposite-types-btns {
    margin-bottom: 64px;
  }
}
.raffle-created-btns {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 44px;
}
.deposite-types-btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  .depposite-variant-btn {
    &:nth-child(3) {
      grid-column: span 2;
    }
  }
}
.login-block {
  display: none;
  .btn-secondary {
    width: 100%;
    display: block;
  }
  .forgot-password-btn {
    margin-top: 16px;
    margin-bottom: 24px;
  }
  .simple-text {
    color: #eff5ff29;
    text-align: center;
    margin-top: 35px;
    margin-bottom: 12px;
  }
}
.login-variants {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14.86px;
  a, button {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    cursor: pointer;
    img {
      width: 50%;
      height: auto;
    }
  }
  .vk-variant {
    background: #0077ff;
  }
  .tg-variant {
    background: #30aae9;
  }
  .yandex-variant {
    background: linear-gradient(180deg, #f72b2a, #ff4544 100%);
  }
  .google-variant {
    background: #ffffff;
  }
}
.register-block {
  .simple-text {
    color: #eff5ff29;
    &.agreements {
      font-size: 16px;
      margin-top: 16px;
    }
    &.another-methods {
      text-align: center;
      margin-top: 35px;
      margin-bottom: 12px;
    }
  }
  .btn-secondary {
    width: 100%;
    margin-top: 16px;
  }
  .custom-input {
    margin-top: 16px;
    input {
      background: #191d2c;
      &:-webkit-autofill,
      &:-webkit-autofill:hover,
      &:-webkit-autofill:focus,
      &:-webkit-autofill:active {
        -webkit-box-shadow: 0 0 0 1000px #191d2c inset !important;
        -webkit-text-fill-color: #ffffff !important;
        transition: background-color 5000s ease-in-out 0s;
        caret-color: #ffffff;
      }
    }
  }
}
.write-off-result {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  p {
    color: #eff5ff29;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    span {
      color: #fff;
    }
  }
}
.confirm-raffle-btns {
  display: flex;
  align-items: center;
  gap: 16px;
  .btn-secondary {
    width: 100%;
  }
}
.confirm-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 28px;
  margin-bottom: 24px;
  gap: 16px;
}
.confirm-stat {
  border-radius: 10px;
  background: #22293f;
  padding: 16px 16px 18px 16px;
  span {
    color: #f0f4ff66;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
  }
  p {
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    margin-top: 8px;
  }
}
.one-click-register {
  display: none;
}
.register-type-btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 32px;
  border-bottom: 1px solid #eff5ff1a;
  .register-type-btn {
    padding-bottom: 12px;
    color: #f0f4ff66;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    background: transparent;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
    &:hover {
      color: #fff;
    }
    &.active {
      position: relative;
      color: #fff;
      &::after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 3px;
        bottom: -2px;
        background: #3d7ce0;
        border-radius: 3px;
      }
    }
  }
}
.depposite-variant-btn {
  border-radius: 10px;
  background: #22293f;
  padding: 13px 0 12px 0;
  color: #f0f4ff66;
  font-size: 18px;
  font-weight: 500;
  line-height: 23px;
  cursor: pointer;
  &:nth-child(3) {
    width: span 2;
  }
  &.active {
    color: #fff;
  }
}
.close-btn {
  min-width: 56px;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #191d2c;
  color: #f1f6ff33;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  &:hover {
    color: #f0f4ff99;
  }
  &:active {
    color: #fff;
  }
}
.simple-text {
  color: #f1f6ff4d;
  font-size: 18px;
  font-weight: 500;
  line-height: 149.2%;
}
.age-alert {
  border-radius: 10px;
  background: #34343438;
  width: 37px;
  height: 37px;
  color: #ffffff1f;
  font-size: 18px;
  font-weight: 500;
  line-height: 23px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.open-slot-page {
  .group-icon {
    background: #3d7ce0;
  }
  .options-block {
    display: flex;
    align-items: center;
    gap: 12px;
    .reload-btn {
      display: none;
    }
    button {
      width: 52px;
      height: 52px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 15px;
      background: #151721;
      cursor: pointer;
      border: none;
      outline: none;
      transition: all 0.3s ease-in-out;
      &:hover {
        background: #1d1f2a;
      }
      &:active {
        color: #fff;
        background: #20222d;
      }
    }
  }
}

.game-placeholder {
  width: 100%;
  height: 693px;
  display: block;
  content: "";
  border-radius: 22px;
  background: #151721;
  margin-top: 24px;
}
.open-slot-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 28px;
}
.faq-item {
  transition: all 0.3s ease-in-out;
  .faq-body {
    display: none;
    margin-top: 20px;
    p {
      color: #fff;
    }
  }
}
.faq-item {
  padding: 23px 30px;
  border-radius: 15px;
  background: #131622;
  grid-row: span 1;
  will-change: grid-row;
  &.active {
    grid-row: span 2;
  }
  p {
    color: #f0f4ff66;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
  }
}
.faq-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}
.profile-balance {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  border-radius: 15px;
  background: linear-gradient(210.96deg, #141721 29.619%, #1a1f31 78.352%);
  color: rgb(255, 255, 255);
  font-size: 18px;
  font-weight: 500;
  line-height: 131.2%;
  height: 56px;
}
.profile-telegram,
.profile-level {
  border-radius: 16px;
  padding: 27px 35px 26px 35px;
  p {
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 25px;
    position: relative;
    z-index: 2;
  }
  a {
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 145.2%;
    border-radius: 15px;
    background: #ffffff1c;
    margin-top: 18px;
    padding: 15px 24px;
    display: inline-block;
    position: relative;
    z-index: 2;
  }
}
.profile-block {
  grid-row: span 6;
}
.profile-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  width: 100%;
  margin-top: 28px;
}
.profile-wrapper {
  display: flex;
  gap: 44px;
}
.profile-telegram {
  grid-column: span 2;
  background: linear-gradient(205.11deg, #0f121b -6.586%, #4482e5 64.449%);
  position: relative;
  overflow: hidden;
  img {
    position: absolute;
    right: -7px;
    top: 2px;
  }
}
.profile-level {
  grid-column: span 2;
  background: linear-gradient(208.96deg, #0f301a -0.529%, #2ab517 84.129%);
  position: relative;
  overflow: hidden;
  img {
    position: absolute;
    right: -21px;
    top: -45px;
  }
}
.profile-statistic {
  border-radius: 15px;
  background: #131622;
  padding: 24px 38px 26px 38px;
  span {
    color: #f1f6ff33;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
  }
  p {
    color: #ffffff;
    font-size: 24px;
    font-weight: 500;
    line-height: 31px;
    text-transform: uppercase;
    margin-top: 12px;
  }
}
.custom-input-wrapper {
  label {
    color: #eff5ff29;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    display: inline-block;
    margin-bottom: 12px;
  }
}
.custom-input {
  width: 100%;
  position: relative;

  input {
    width: 100%;
    height: 56px;
    border-radius: 15px;
    background: #0f121b;
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    padding-left: 28px;
    padding-right: 110px;
    &::placeholder {
      color: #f1f6ff33;
    }
    &:-webkit-autofill,
    &:-webkit-autofill:hover,
    &:-webkit-autofill:focus,
    &:-webkit-autofill:active {
      -webkit-box-shadow: 0 0 0 1000px #0f121b inset !important;
      -webkit-text-fill-color: #ffffff !important;
      transition: background-color 5000s ease-in-out 0s;
      caret-color: #ffffff;
    }
  }
  .inner-label {
    color: #eff5ff29;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 28px;
  }
}
.profile-data-change-title {
  color: #f1f6ff33;
  font-size: 18px;
  font-weight: 500;
  line-height: 23px;
  margin-bottom: 24px;
}
.profile-data-change {
  grid-column: span 2;
  border-radius: 15px;
  background: #131622;
  padding: 28px 34px;
  .custom-input {
    margin-bottom: 16px;
  }
}
.raffle-inputs-wrapper {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 20px;
  .custom-input {
    input {
      background: #191d2c;
      &:-webkit-autofill,
      &:-webkit-autofill:hover,
      &:-webkit-autofill:focus,
      &:-webkit-autofill:active {
        -webkit-box-shadow: 0 0 0 1000px #191d2c inset !important;
        -webkit-text-fill-color: #ffffff !important;
        transition: background-color 5000s ease-in-out 0s;
        caret-color: #ffffff;
      }
    }
  }
}
.btn-primary {
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  line-height: 23px;
  border-radius: 15px;
  background: #171b29;
  height: 56px;
  width: 100%;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  &:hover {
    background: #1e2336;
  }
  &:active {
    background: #242a40;
  }
}
.profile-gift {
  grid-column: span 2;
  background-image: url(../assets/images/profile-gift-bg.png);
  background-size: cover;
  background-position: center;
  overflow: hidden;
  border-radius: 15px;
  padding: 32px 36px;
}
.profile-gift-title {
  color: #ffffff;
  font-size: 20px;
  font-weight: 500;
  line-height: 159.2%;
  letter-spacing: -1%;
  text-transform: uppercase;
}
.progress-gift-wrapper {
  margin-top: 24px;
}
.progress-label-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
  width: 285px;
  span {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
  }
}
.gift-progress-bar {
  display: flex;
  gap: 4px;
  border-radius: 10px;
  overflow: hidden;
  width: 285px;
  span {
    background: #eff5ff29;
    width: 44px;
    height: 10px;
  }
}
.gift-value {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 91px;
  p {
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
  }
  span {
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 131.2%;
    display: flex;
    align-items: center;
    gap: 8px;
  }
}
.active-bonuses {
  grid-column: span 4;
}
.active-bonuses-title {
  color: #f0f4ff66;
  font-size: 20px;
  font-weight: 500;
  line-height: 25px;
  margin-top: 16px;
}
.active-bonuses-card {
  padding: 28px 32px;
  border-radius: 15px;
  background: #131622;
  width: 100%;
}
.active-bonuses-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 20px;
}
.active-bonuses-card-title {
  display: flex;
  align-items: center;
}
.active-bonuses-card-header {
  display: flex;
  justify-content: space-between;
  .active-bonuses-card-icon {
    border-radius: 15px;
    background: #18b146;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
  }
  p {
    margin-left: 12px;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 130%;
  }
}
.active-bonuses-card-subtitle {
  color: #f1f6ff33;
  font-size: 18px;
  font-weight: 500;
  line-height: 135%;
  margin-top: 12px;
  margin-bottom: 24px;
}
.deposite-block {
  .btn-secondary {
    margin-top: 32px;
  }
}
.profile-deposite-btn {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 145.2%;
  border-radius: 15px;
  background: #3d7ce0;
  width: 100%;
  height: 56px;
  margin-top: 16px;
}
.profile-image {
  width: 232px;
  height: 232px;
  border-radius: 20px;
  margin-bottom: 16px;
  object-fit: cover;
}
.policy-page {
  .group-header {
    margin-bottom: 32px;
  }
  .group-icon {
    background: #3d7ce0;
  }
}
.wallet-history-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border-bottom: 1px solid #1d1f2c;
  margin-top: 40px;
  margin-bottom: 34px;
  button {
    font-family: Google Sans;
    color: #4d4f59;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    width: fit-content;
    background: transparent;
    outline: none;
    border: none;
    position: relative;
    cursor: pointer;
    padding-bottom: 14px;
    &.active {
      color: #ffffff;
      &::after {
        content: "";
        display: block;
        width: 100%;
        height: 4px;
        border-radius: 18px;
        background: #3d7ce0;
        position: absolute;
        bottom: -1px;
      }
    }
  }
}
.deposite-main-part {
  display: none;
}
.check-part {
  display: none;
  .simple-text {
    margin-top: 12px;
    margin-bottom: 32px;
    color: #eff5ff29;
  }
}
.payments-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  .payments-btn {
    padding: 14px 18px 20px 18px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    border-radius: 15px;
    cursor: pointer;
    background: #20273b;
    transition: all 0.3s ease-in-out;
    &:hover {
      background: #242d47;
    }
    &:active {
      background: #242f4c;
    }
    span {
      width: 48px;
      height: 48px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 13px;
      background: #eff5ff0d;
    }
    p {
      color: #ffffff;
      font-size: 16px;
      font-weight: 500;
      line-height: 127.2%;
    }
  }
}
.requisites-list {
  border-radius: 12px;
  background: #22293f;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  p {
    color: #f1f6ff33;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    span {
      color: #fff;
      margin-left: 8px;
    }
  }
}
.custom-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  label {
    font-size: 18px;
    font-weight: 500;
    line-height: 131.2%;
    color: #eff5ff29;
    span {
      color: #fff;
    }
  }
}
.custom-checkbox input[type="checkbox"] {
  display: none; /* Скрываем стандартный чекбокс */
}

.custom-checkbox label {
  position: relative;
  padding-left: 30px; /* Отступ для метки */
  cursor: pointer; /* Указатель при наведении */
}

.custom-checkbox label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background-color: #eff5ff1a;
  transition: background-color 0.3s, border-color 0.3s;
}

.custom-checkbox input[type="checkbox"]:checked + label::before {
  background-color: #007bff;
  background-image: url("../assets/icons/check_mark_icon.svg");
  background-size: 16px;
  background-position: center;
  background-repeat: no-repeat;
  border-color: #007bff;
}
.agreement-check-wrapper {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  label {
    font-size: 18px;
    font-weight: 500;
    line-height: 131.2%;
    color: #eff5ff29;
    span {
      color: #fff;
    }
  }
}
.deposite-history {
  display: block;
  .table-header {
    padding: 16px 51px 18px 24px;
    border-radius: 13px;
    background: #191b26;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    p {
      color: #33353e;
      font-size: 16px;
      font-weight: 500;
      line-height: 20px;
      &:nth-child(2) {
        margin-left: 10px;
      }
      &:nth-child(3) {
        justify-self: center;
      }
      &:nth-child(4) {
        justify-self: end;
      }
    }
  }
  .table-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 12px;
    .table-item {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      padding: 18px 24px 16px 24px;
      border-radius: 13px;
      background: #22293f;
      p {
        border-radius: 13px;
        color: #f0f4ff66;
        font-size: 16px;
        font-weight: 500;
        line-height: 20px;
        &:nth-child(3) {
          justify-self: center;
        }
        &:nth-child(4) {
          justify-self: end;
        }
      }
    }
  }
}
.withdraw-history {
  display: none;
  .table-header {
    padding: 16px 53px 18px 24px;
    border-radius: 13px;
    background: #191d2c;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    p {
      color: #eff5ff29;
      font-family: Google Sans;
      font-size: 16px;
      font-weight: 500;
      line-height: 20px;

      &:nth-child(3) {
        margin-left: 25px;
      }
    }
  }
  .table-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 12px;

    .table-item {
      background: #22293f;
      border-radius: 15px;
    }
    .status-wrapper {
      display: flex;
      align-items: center;
      gap: 18px;
    }
    .open-indicator {
      width: 28px;
      height: 28px;
    }
    .payment-system-info {
      display: flex;
      flex-direction: column;
      p {
        color: #eff5ff29;
        font-size: 13px;
        font-weight: 500;
        line-height: 17px;
      }
    }
    .table-item-header {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      align-items: center;
      padding: 18px 24px 16px 24px;
      cursor: pointer;
      gap: 10px;
      h3 {
        color: #ffffff;
        font-size: 16px;
        font-weight: 500;
        line-height: 20px;
      }
      p {
        border-radius: 13px;
        color: #f0f4ff66;
        font-size: 16px;
        font-weight: 500;
        line-height: 20px;
        &:nth-child(4) {
          justify-self: end;
          width: 87px;
          &.completed {
            background: linear-gradient(180deg, #12d356, #07a448);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
          }
          &.waiting {
            color: #767880;
          }
          &.canceled {
            background: linear-gradient(180deg, #ff6264, #cd2549);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
          }
        }
      }
    }
    .table-item-inner {
      border-top: 1px solid #eff5ff1a;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0px 24px 0px 24px;
      max-height: 0px;
      overflow: hidden;
      opacity: 0;
      transition: all 0.3s ease-in-out;
      visibility: hidden;
      &.open {
        max-height: 43px;
        opacity: 1;
        visibility: visible;
        padding: 12px 24px 11px 24px;
      }
      button {
        color: #eff5ff29;
        cursor: pointer;
        font-size: 16px;
        font-weight: 500;
        line-height: 20px;
        background: transparent;
        transition: all 0.3s ease-in-out;
        &:hover {
          color: #fff;
        }
      }
      p {
        color: #f0f4ff66;
        font-size: 16px;
        font-weight: 500;
        line-height: 20px;
      }
      span {
        color: #fff;
        margin-left: 8px;
      }
    }
  }
}
.table-history {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
}
.arrow-btn {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 11px;
  background: #191d2c;
  color: #4d4f59;
  &:hover {
    background: #1d1f2a;
  }
}
.withdraw-block {
  display: none;
  .custom-select-label {
    &:nth-child(2) {
      margin-top: 20px;
    }
  }
  .custom-input-wrapper {
    margin-top: 20px;
  }
  .custom-input {
    input {
      background: #191d2c;
    }
  }
  .btn-secondary {
    width: 100%;
  }
}

.wallet-amount-wrapper {
  margin-top: 32px;
  margin-bottom: 20px;
  p {
    color: #eff5ff29;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
  }
  span {
    color: #fff;
    margin-left: 8px;
  }
}
.agreement-title {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 23px;
  margin-bottom: 16px;
}
.agreement-text {
  color: #f0f4ff66;
  font-size: 18px;
  font-weight: 500;
  line-height: 28px;
  margin-bottom: 24px;
}
.agreement-page {
  .group-header {
    margin-bottom: 32px;
  }
  .group-icon {
    background: #3d7ce0;
  }
  .agreement-text {
    line-height: 20px;
  }
}

.chat-header {
  .group-icon {
    background: #3d7ce0;
  }
  .group-header {
    gap: 28px;
  }
}
.chat-header-btns {
  display: flex;
  gap: 8px;
  button {
    background: linear-gradient(210.96deg, #141721 28.537%, #1a1f31 82.063%);
  }
  .hide-btn {
    display: none;
  }
  .rules-btn {
    cursor: pointer;
    padding: 16px 26px;
    color: #f0f4ff66;
    font-size: 18px;
    font-weight: 500;
    line-height: 131.2%;
    border-radius: 15px;
  }
}
.hide-btn {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  cursor: pointer;
  background: linear-gradient(210.96deg, #141721 28.537%, #1a1f31 82.063%);
}
.header {
  .hide-btn {
    position: absolute;
    top: 20px;
    right: 40px;
  }
}
.chat-item {
  display: flex;
  gap: 12px;
  img {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 8px;
    object-fit: cover;
  }
}
.chat-body {
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding-right: 16px;
  margin-top: 60px;
  flex-grow: 1;
  overflow-y: auto;
  overflow-x: hidden;
}
.chat-nickname {
  color: #f0f4ff66;
  font-size: 14px;
  font-weight: 700;
  line-height: 120%;
  max-width: 90px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  &.vip-profile {
    color: #eb5b48;
  }
  &.premium-profile {
    color: #18b146;
  }
}
.chat-time {
  color: #ffffff21;
  font-size: 13px;
  font-weight: 500;
  line-height: 23px;
  flex-shrink: 0;
}
.message-value {
  color: #f0f4ff66;
  font-size: 16px;
  font-weight: 500;
  line-height: 137.2%;
  padding: 18px 34px 18px 18px;
  border-radius: 15px;
  background: #131622;
  width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}
.chat-item > div {
  overflow: hidden;
  min-width: 0;
}
.message-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.chat-ban-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin-left: -6px;
  display: flex;
  align-items: center;
  opacity: 0;
  transition: opacity 0.2s;
}
.chat-item:hover .chat-ban-btn {
  opacity: 0.5;
}
.chat-ban-btn:hover {
  opacity: 1 !important;
}
.chat-ban-btn .material-icons {
  font-size: 14px;
  color: #ef4444;
}
.ban-duration-btns {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.ban-duration-btn {
  padding: 8px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.6);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s;
}
.ban-duration-btn:hover {
  background: rgba(255,255,255,0.08);
  color: #fff;
}
.ban-duration-btn.active {
  background: rgba(59,130,246,0.2);
  border-color: rgba(59,130,246,0.4);
  color: #3b82f6;
}
.ban-duration-btn.ban-permanent.active {
  background: rgba(239,68,68,0.2);
  border-color: rgba(239,68,68,0.4);
  color: #ef4444;
}
.chat-ban-modal .btn-secondary {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  border: none;
}
.chat-ban-modal .btn-secondary:hover {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
}
.chat-input {
  width: 100%;
  height: 68px;
  border-radius: 17px;
  background: linear-gradient(
    203.79deg,
    rgb(20, 23, 33) 30.835%,
    rgb(26, 31, 49) 83.811%
  );
  display: flex;
  align-items: center;
  gap: 12px;
  padding-right: 12px;
  margin-top: 20px;
  input {
    height: 68px;
    width: 100%;
    padding-left: 20px;
    background: transparent;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    &::placeholder {
      color: #f0f4ff66;
    }
  }
}
.chat-input-btns {
  display: flex;
  align-items: center;
  gap: 12px;
}
.send-btn {
  width: 48px;
  height: 48px;
  border-radius: 13px;
  background: #3d7ce0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #fff;
}
.smile-btn {
  background: transparent;
  min-width: 28px;
}
.bonus-page {
  .group-icon {
    background: #3d7ce0;
  }
}
.bonuses-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  .group-icon {
    border-radius: 13px;
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
  }
  .group-title {
    h3 {
      font-size: 18px;
    }
  }
}
.activate-promo {
  border-radius: 17px;
  background: #131622;
  padding: 24px 27px 28px 27px;
  grid-column: span 2;
  .group-icon {
    background: #25a72e9c;
  }
}
.btn-secondary {
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  line-height: 145.2%;
  border-radius: 15px;
  background: #3d7ce0;
  padding: 15px 24px 15px 18px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  &:hover {
    background: #4185f2;
  }
  &:active {
    background: #3274dc;
  }
}
.activate-promo-input {
  display: flex;
  gap: 16px;
  margin-top: 20px;
  .custom-input {
    input {
      padding-right: 10px;
    }
  }
}
.daily-bonus {
  border-radius: 17px;
  background: linear-gradient(
    209.46deg,
    #141823 6.245%,
    #223b65 19.727%,
    #347ae9 89.972%
  );
  padding: 22px 28px 28px 28px;
  .group-icon {
    background: #4a8ee8;
  }
}
.btn-fouth {
  border-radius: 15px;
  background: rgba(133, 180, 255, 0.24);
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  line-height: 145.2%;
  width: 100%;
  height: 56px;
  margin-top: 22px;
  cursor: pointer;
}
.bonus-count {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  line-height: 23px;
}
.cash-back,
.subscribe-tg,
.subscribe-vk {
  border-radius: 17px;
  background: #131622;
  padding: 24px 28px 28px 28px;
  .btn-primary {
    margin-top: 20px;
  }
}
.cash-back {
  .group-icon {
    background: #a63114;
  }
}
.subscribe-tg {
  .group-icon {
    background: #67a7fcc9;
  }
}
.subscribe-vk {
  .group-icon {
    background: #2961b4;
  }
}
.wager-reset-card {
  border-radius: 17px;
  background: #131622;
  padding: 24px 28px 28px 28px;
  .group-icon {
    background: linear-gradient(135deg, #ef4444, #f87171);
  }
  .group-icon .material-icons {
    font-size: 24px;
    color: #fff;
  }
  .btn-primary {
    margin-top: 16px;
  }
}
.wager-reset-info {
  margin-top: 14px;
  p {
    color: #f0f4ffb3;
    font-size: 14px;
    strong {
      color: #fff;
    }
  }
}
.wager-reset-conditions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  span {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #f0f4ff60;
    background: rgba(255, 255, 255, 0.04);
    padding: 5px 10px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    .material-icons {
      font-size: 14px;
    }
  }
}
.wager-loader {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 24px 0;
  span {
    color: #f0f4ff60;
    font-size: 13px;
  }
}
.wager-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid rgba(255, 255, 255, 0.08);
  border-top-color: #3d7ce0;
  border-radius: 50%;
  animation: wagerSpin 0.7s linear infinite;
}
@keyframes wagerSpin {
  to { transform: rotate(360deg); }
}
.wager-modal-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wager-modal-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
  span {
    color: #f0f4ff80;
    font-size: 13px;
  }
  strong {
    color: #fff;
    font-size: 13px;
  }
}
.level-card {
  padding: 18px 24px 16px 24px;
  border-radius: 17px;
  position: relative;
  overflow: hidden;
  h3 {
    color: #ffffff;
    font-size: 24px;
    font-weight: 500;
    line-height: 31px;
    letter-spacing: -1%;
  }
  p {
    margin-top: 2px;
    color: #f0f4ff66;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
  }
}
.level-required {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  margin-top: 44px;
  span {
    border-radius: 10px;
    background: #ffffff17;
    display: flex;
    align-items: center;
    gap: 1px;
    padding: 4px 5px 4px 7px;
    border-radius: 10px;
  }
}
.level-card-progress {
  width: 100%;
  height: 7px;
  border-radius: 27px;
  background: #0f121b;
  overflow: hidden;
  margin-top: 50px;
}
.level-card-progress-inner {
  background: linear-gradient(6.84deg, #4b91ff -0.994%, #5d8edc 110.967%);
  height: 7px;
  width: 20%;
}
.labels-card-progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 9px;
  span {
    color: #f0f4ff66;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: -1%;
  }
}
.levels-slider {
  margin-top: 28px;
  margin-bottom: 64px;
}
.wolf-level {
  background: linear-gradient(210.96deg, #151824 10.437%, #22273c 87.964%);
  .level-card-main-icon {
    position: absolute;
    top: -2px;
    right: -39px;
  }
}
.wild-level {
  background: linear-gradient(207.23deg, #10361d 12.448%, #2ab517 82.68%);
  .level-card-main-icon {
    position: absolute;
    top: -13px;
    right: -45px;
  }
}
.premium-level {
  background: linear-gradient(205.17deg, #2d0f3e 16.326%, #cf16cc 88.357%);
  .level-card-main-icon {
    position: absolute;
    top: 2px;
    right: -57px;
  }
}
.alfa-level {
  background: linear-gradient(210.96deg, #161e3d 11.099%, #1044b6 86.927%);
  .level-card-main-icon {
    position: absolute;
    top: 0px;
    right: -45px;
  }
}
.vip-level {
  background: linear-gradient(210.96deg, #321008 11.066%, #d53e19 86.978%);
  .level-card-main-icon {
    position: absolute;
    top: -6px;
    right: -43px;
  }
}
.profi-level {
  background: linear-gradient(210.96deg, #37110c 11.099%, #c91c16 86.927%);
  .level-card-main-icon {
    position: absolute;
    top: -11px;
    right: -66px;
  }
}
.legend-level {
  background: linear-gradient(210.96deg, #20163d 11.099%, #7141e2 86.927%);
  .level-card-main-icon {
    position: absolute;
    top: 9px;
    right: -32px;
  }
}
.levels-slider-btn {
  width: 56px;
  height: 56px;
  border-radius: 15px;
  background: linear-gradient(210.96deg, #becaf00f 25.902%, #f7e0e00f 91.094%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  cursor: pointer;
  &.swiper-button-disabled {
    display: none;
  }
}
.levels-slider-btn-next {
  right: -13.5px;
}
.levels-slider-btn-prev {
  left: -13.5px;
}
.levels-slider-wrapper {
  position: relative;
}
.dice-page {
  .group-icon {
    background: #3d7ce0;
  }
}
.coeff-list {
  display: flex;
  align-items: center;
  gap: 16px;
  overflow-x: hidden;
}
.coef-list-gradient-border {
  padding: 1px;
  border-radius: 17px;
  min-width: 115px;
  height: 60px;
  &.active {
    background: linear-gradient(225deg, #0f121b 0%, #4482e5 100%);
  }
}
.coeff-list-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: #151826;
  span {
    color: #eff5ff29;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
  }
  p {
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
  }
}
.btn-third {
  border-radius: 15px;
  background: #18b146;
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  line-height: 23px;
  height: 60px;
  width: 100%;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  &:hover {
    background: #2eb356;
  }
  &:active {
    background: #1fae4a;
  }
}
.dice-btns {
  display: flex;
  align-items: center;
  gap: 16px;
  .btn-secondary {
    padding: 0;
    width: 100%;
    height: 60px;
  }
}
.optional-input {
  border-radius: 15px;
  background: #131622;
  width: 100%;
  height: 60px;
  padding: 12px 16px 12px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  input {
    background: transparent;
    height: 100%;
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    width: 100%;
    padding-right: 10px;
  }
  .optional-input-btns {
    display: flex;
    align-items: center;
    button {
      color: #eff5ff29;
      font-size: 18px;
      font-weight: 500;
      line-height: 23px;
      padding: 7px 11px 6px 11px;
      cursor: pointer;
      background: transparent;
      transition: all 0.3s ease-in-out;
      border-radius: 10px;
      &:hover {
        color: #fff;
        background: #171b29;
      }
    }
  }
}
.optional-input-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
  img {
    width: 18px;
    flex-shrink: 0;
  }
}
.dice-parameters,
.mines-parameters,
.coinflip-parameters {
  width: 320px;
  min-width: 320px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.game-input {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 15px;
  background: #131622;
  padding: 18px 36px 19px 52px;

  input {
    width: 60px;
    height: 100%;
    background: transparent;
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    text-align: center;
    &::placeholder {
      color: rgba(239, 245, 255, 0.16);
    }
  }
  p {
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
  }
}
.dice-wrapper {
  margin-top: 28px;
  display: flex;
  gap: 52px;
}
.coinflip-wrapper {
  margin-top: 28px;
  display: flex;
  gap: 40px;
}
.coinflip-game {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  border-radius: 22px;
  background: linear-gradient(210.96deg, #141721 22.364%, #1a1f31 74.728%);
  padding: 28px 20px;
}
.cf-coin-area {
  width: 180px;
  height: 180px;
  perspective: 800px;
  margin: 20px 0;
}
.cf-coin {
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.3s ease;
}
.cf-coin-front,
.cf-coin-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cf-coin-front img,
.cf-coin-back img {
  width: 160px;
  height: 160px;
  filter: drop-shadow(0 4px 20px rgba(0,0,0,0.4));
}
.cf-coin-back {
  transform: rotateY(180deg);
}
.cf-coin.cf-show-front {
  transform: rotateY(0deg);
}
.cf-coin.cf-show-back {
  transform: rotateY(180deg);
}
.cf-coin.cf-flipping {
  animation: coinFlip 1.2s ease-in-out;
}
@keyframes coinFlip {
  0% { transform: rotateY(0deg); }
  100% { transform: rotateY(1800deg); }
}
.cf-sides {
  text-align: center;
}
.cf-side-hint {
  font-size: 14px;
  color: rgba(240, 244, 255, 0.5);
  margin-bottom: 12px;
}
.cf-side-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
}
.cf-side-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 28px;
  border-radius: 14px;
  background: #151924;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  color: rgba(240, 244, 255, 0.7);
  font-size: 13px;
}
.cf-side-btn img {
  width: 48px;
  height: 48px;
}
.cf-side-btn:hover:not(:disabled) {
  border-color: rgba(61, 124, 224, 0.4);
  background: #1a2035;
}
.cf-side-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.cf-side-orange:hover:not(:disabled) {
  border-color: rgba(255, 165, 0, 0.5);
}
.cf-side-blue:hover:not(:disabled) {
  border-color: rgba(59, 130, 246, 0.5);
}
.cf-history {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  max-width: 100%;
  padding: 8px 0;
  scrollbar-width: none;
}
.cf-history::-webkit-scrollbar { display: none; }
.cf-history-item {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid transparent;
}
.cf-history-item img {
  width: 28px;
  height: 28px;
}
.cf-history-win {
  border-color: #18b146;
  background: rgba(24, 177, 70, 0.15);
}
.cf-history-lose {
  border-color: #e04444;
  background: rgba(224, 68, 68, 0.15);
}
.cf-game-info {
  background: #131622;
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cf-info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cf-info-label {
  font-size: 13px;
  color: rgba(240, 244, 255, 0.5);
}
.cf-info-value {
  font-size: 14px;
  font-weight: 600;
  color: #f0f4ff;
}
.cf-info-win {
  color: #18b146;
}
.cf-btn-start,
.cf-btn-cashout {
  width: 100%;
  padding: 14px;
  font-size: 15px;
  font-weight: 600;
}
.cf-btn-cashout {
  background: linear-gradient(135deg, #18b146, #0d8a34);
}
.cf-btn-cashout:hover:not(:disabled) {
  background: linear-gradient(135deg, #1dc955, #18b146);
}
.cf-btn-cashout:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.cf-result {
  border-radius: 12px;
  padding: 16px;
  text-align: center;
}
.cf-result--win {
  background: rgba(24, 177, 70, 0.15);
  border: 1px solid rgba(24, 177, 70, 0.3);
}
.cf-result--lose {
  background: rgba(224, 68, 68, 0.15);
  border: 1px solid rgba(224, 68, 68, 0.3);
}
.cf-result-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cf-result-amount {
  font-size: 20px;
  font-weight: 700;
}
.cf-result--win .cf-result-amount {
  color: #18b146;
}
.cf-result--lose .cf-result-amount {
  color: #e04444;
}
.cf-result-coeff {
  font-size: 14px;
  color: rgba(240, 244, 255, 0.6);
}
.cf-coeffs-strip {
  width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}
.cf-coeffs-strip::-webkit-scrollbar { display: none; }
.cf-coeffs-list {
  display: flex;
  gap: 6px;
  justify-content: center;
}
.cf-coeff-item {
  padding: 8px 14px;
  border-radius: 10px;
  background: #131622;
  color: rgba(240, 244, 255, 0.4);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.cf-coeff-passed {
  background: rgba(24, 177, 70, 0.15);
  color: #18b146;
}
.cf-coeff-active {
  background: #18b146;
  color: #fff;
  box-shadow: 0 0 12px rgba(24, 177, 70, 0.4);
}
.mines-wrapper {
  margin-top: 28px;
  display: grid;
  grid-template-columns: 376px 1fr;
  gap: 16px 40px;
}
.dice-game {
  width: 100%;
  min-width: 0;
  overflow: visible;
}
.dice-result {
  border-radius: 22px;
  background: linear-gradient(207.65deg, #15204a 15.92%, #3d7ce0 76.702%);
  width: 100%;
  height: 201px;
  min-height: 201px;
  max-height: 201px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f0f4ffb3;
  font-weight: 500;
  transition: background 0.4s ease;
  overflow: hidden;
  box-sizing: border-box;
}
.dice-result span {
  display: inline-block;
  white-space: nowrap;
  font-family: 'Courier New', monospace;
  font-size: 120px;
  letter-spacing: 0.4em;
  margin-left: 0.4em;
}
.dice-result-win {
  background: linear-gradient(207.65deg, #0a3d1a 15.92%, #18b146 76.702%) !important;
}
.dice-result-lose {
  background: linear-gradient(207.65deg, #3d0a0a 15.92%, #e04444 76.702%) !important;
}
.dice-slider-wrap {
  position: relative;
  padding: 8px 0;
}
.dice-slider-wrap input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 8px;
  border-radius: 4px;
  background: linear-gradient(90deg, #18b146 0%, #3d7ce0 50%, #e04444 100%);
  outline: none;
  cursor: pointer;
}
.dice-slider-wrap input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #3d7ce0;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.dice-slider-wrap input[type="range"]::-moz-range-thumb {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #3d7ce0;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.dice-ranges {
  display: flex;
  gap: 16px;
  margin-top: 12px;
}
.dice-range-item {
  flex: 1;
  background: #131622;
  border-radius: 12px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
}
.dice-range-label {
  color: #f0f4ff80;
  font-size: 12px;
  font-weight: 400;
  white-space: nowrap;
}
.dice-range-value {
  color: #f0f4ff;
  font-size: 14px;
  font-weight: 600;
  font-family: 'Courier New', monospace;
  letter-spacing: 0.5px;
  white-space: nowrap;
  flex-shrink: 0;
}
/* === KENO === */
.keno-wrapper {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.keno-parameters {
  width: 320px;
  min-width: 320px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.keno-game {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.keno-risk-selector {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.keno-risk-label {
  color: #f0f4ff80;
  font-size: 14px;
  font-weight: 500;
}
.keno-risk-btns {
  display: flex;
  gap: 8px;
}
.keno-risk-btn {
  flex: 1;
  padding: 10px;
  border-radius: 12px;
  background: #131622;
  border: 1px solid #1e2336;
  color: #f0f4ff80;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
}
.keno-risk-btn:hover {
  background: #1a1f33;
  color: #f0f4ff;
}
.keno-risk-btn--active {
  background: rgba(61, 124, 224, 0.15);
  border-color: #3d7ce0;
  color: #3d7ce0;
}
.keno-action-btns {
  display: flex;
  gap: 8px;
}
.keno-auto-btn,
.keno-clear-btn {
  flex: 1;
  padding: 10px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
}
.keno-auto-btn {
  background: rgba(61, 124, 224, 0.15);
  border: 1px solid #3d7ce0;
  color: #3d7ce0;
}
.keno-auto-btn:hover { background: rgba(61, 124, 224, 0.25); }
.keno-clear-btn {
  background: #131622;
  border: 1px solid #1e2336;
  color: #f0f4ff80;
}
.keno-clear-btn:hover { background: #1a1f33; color: #f0f4ff; }
.keno-grid-wrapper {
  background: #131622;
  border-radius: 20px;
  padding: 20px;
  position: relative;
}
.keno-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 8px;
}
.keno-number {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1a1f33;
  border: 2px solid #252b42;
  border-radius: 10px;
  color: #f0f4ffb3;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}
.keno-number:hover:not(.keno-number--selected):not(.keno-number--drawn):not(.keno-number--blocked) {
  background: #252b42;
  border-color: #3a4260;
  color: #fff;
  transform: translateY(-1px);
}
.keno-number--selected {
  background: #7c3aed;
  border-color: #9333ea;
  color: #fff;
  box-shadow: 0 4px 12px rgba(124, 58, 237, 0.4);
}
.keno-number--drawn {
  background: #1a3a2a;
  border-color: #18b14680;
  color: #18b146;
}
.keno-number--match {
  background: #18b146;
  border-color: #22c55e;
  color: #fff;
  box-shadow: 0 4px 12px rgba(24, 177, 70, 0.5);
  animation: kenoPulse 0.4s ease;
}
@keyframes kenoPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.12); }
}
.keno-number--blocked {
  cursor: not-allowed;
  opacity: 0.7;
}
.keno-number--blocked.keno-number--selected {
  background: #7c3aed;
  border-color: #9333ea;
  opacity: 0.85;
}
.keno-number--blocked.keno-number--match {
  background: #18b146;
  border-color: #22c55e;
  opacity: 1;
}
.keno-number--blocked.keno-number--drawn {
  opacity: 1;
}
.keno-selected-count {
  text-align: center;
  color: #f0f4ff80;
  font-size: 13px;
  padding: 10px 0 0;
}
.keno-selected-count strong {
  color: #3d7ce0;
  font-weight: 700;
}
.keno-win-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  animation: kenoFadeIn 0.3s ease;
  overflow: hidden;
}
@keyframes kenoFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.keno-win-content {
  background: linear-gradient(135deg, rgba(24, 177, 70, 0.95), rgba(14, 166, 110, 0.95));
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 20px;
  padding: 32px 48px;
  text-align: center;
  box-shadow: 0 16px 48px rgba(24, 177, 70, 0.5);
  animation: kenoWinPop 0.5s ease-out;
}
@keyframes kenoWinPop {
  0% { transform: scale(0.7); opacity: 0; }
  60% { transform: scale(1.05); }
  100% { transform: scale(1); opacity: 1; }
}
.keno-win-title {
  font-size: 24px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 12px;
}
.keno-win-amount {
  font-size: 36px;
  font-weight: 900;
  color: #fff;
  margin-bottom: 8px;
}
.keno-win-multiplier {
  display: inline-block;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50px;
  padding: 6px 20px;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
}
.keno-result-info {
  background: #131622;
  border-radius: 15px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.keno-result-row {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: #f0f4ff80;
}
.keno-result-row span:last-child {
  font-weight: 700;
  color: #18b146;
}
.keno-payouts {
  background: #131622;
  border-radius: 15px;
  padding: 16px;
}
.keno-payouts-empty {
  text-align: center;
  color: #f0f4ff40;
  font-size: 14px;
  padding: 8px;
}
.keno-payouts-title {
  font-size: 14px;
  font-weight: 600;
  color: #f0f4ffb3;
  margin-bottom: 12px;
  text-align: center;
}
.keno-payouts-grid {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}
.keno-payout-item {
  flex: 1;
  min-width: 65px;
  padding: 10px 8px;
  background: #1a1f33;
  border: 1px solid #252b42;
  border-radius: 8px;
  text-align: center;
  transition: all 0.3s ease;
}
.keno-payout-mult {
  font-size: 15px;
  font-weight: 700;
  color: #3d7ce0;
  margin-bottom: 2px;
}
.keno-payout-hits {
  font-size: 11px;
  color: #f0f4ff60;
}
.keno-payout-item--highlight {
  background: rgba(24, 177, 70, 0.15);
  border-color: #18b146;
}
.keno-payout-item--highlight .keno-payout-mult {
  color: #18b146;
}
/* === END KENO === */
.mines-game {
  width: 100%;
  border-radius: 20px;
  background: #131622;
  padding: 32px;
  display: flex;
  gap: 32px;
}
.mines-grid {
  display: grid;
  grid-template-columns: repeat(5, 72px);
  gap: 6px;
}
.mines-field {
  width: 100%;
  height: 72px;
  border-radius: 20px;
  background: #171b29;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s, background 0.3s;
  cursor: default;
  user-select: none;
  .bomb-icon {
    width: 60%;
    display: none;
  }
  .gem-icon {
    width: 60%;
    display: none;
  }
  &:not(.gem):not(.bomb):hover {
    transform: scale(1.05);
    background: #1e2338;
  }
  &.gem {
    background: linear-gradient(
      207.12deg,
      #18203d 8.336%,
      #1b2e59 34.685%,
      #2a74eb 108.104%
    );
    animation: minesReveal 0.3s ease;
    .gem-icon {
      display: block;
    }
  }
  &.bomb {
    background: linear-gradient(
      201.88deg,
      #131623b0 -0.363%,
      #321924b0 21.459%,
      #581d26b0 46.071%,
      #f32d2db0 104.346%
    );
    animation: minesReveal 0.3s ease;
    .bomb-icon {
      display: block;
    }
  }
}
@keyframes minesReveal {
  0% { transform: scale(0.8); opacity: 0.5; }
  50% { transform: scale(1.1); }
  100% { transform: scale(1); opacity: 1; }
}
.entities-counters {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.bombs-value,
.crystal-value {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  width: 100%;
  background: #171b29;
  padding: 32px 38px 25px 32px;
  h3 {
    color: #ffffff;
    font-size: 20px;
    font-weight: 500;
    line-height: 25px;
    text-transform: uppercase;
  }
  span {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    color: #ffffff;
    font-size: 20px;
    font-weight: 500;
    line-height: 25px;
    text-transform: uppercase;
  }
  .radial-grad {
    position: absolute;
    right: -33px;
    bottom: -121px;
    filter: blur(154px);
    width: 169.15px;
    height: 184px;
  }
}
.crystal-value {
  span {
    background: #3971cb36;
  }
  .radial-grad {
    background: #1968e7;
  }
}
.bombs-value {
  span {
    background: #8c313940;
  }
  .radial-grad {
    background: #ee2f29;
    width: 187.11px;
    height: 171.31px;
  }
}
.entitie-value-wrapper {
  display: flex;
  align-items: end;
  justify-content: space-between;
}
.mines-page {
  .group-icon {
    background: #3d7ce0;
  }
}
.coinflip-page {
  .group-icon {
    background: #3d7ce0;
  }
}
.raffle-wheel-page {
  .group-icon {
    background: #3d7ce0;
  }
}
.raffle-create-block {
  background-image: url("../assets/images/raffle-bg.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 28px 36px 24px 36px;
  border-radius: 16px;
  margin-top: 28px;
  margin-bottom: 40px;
  p {
    color: #eff5ff;
    font-size: 20px;
    font-weight: 500;
    line-height: 25px;
  }
  .btn-fouth {
    width: 172px;
  }
}
.raffle-table-nav {
  display: flex;
  align-items: center;
  gap: 20px;
  button {
    color: #f0f4ff66;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    background: transparent;
    &.active {
      color: #fff;
    }
  }
}
.referal-person-table {
  margin-top: 65px;
  margin-bottom: 28px;
}
.referal-person-table-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.referal-person-table-header {
  padding: 21px 48px 20px 48px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-radius: 15px;
  background: #131622;
  margin-bottom: 16px;
  p {
    color: #f1f6ff33;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    &:nth-child(5) {
      justify-self: center;
    }
  }
}
.referal-person-table-item {
  border-radius: 15px;
  background: #131622;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  padding: 21px 48px 20px 48px;
  p {
    color: #f0f4ff66;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    &:nth-child(5) {
      justify-self: end;
    }
  }
}
.referal-table-row {
  display: grid;
  grid-template-columns: 0.4fr 0.4fr 0.4fr 0.4fr 1fr;
  border-radius: 15px;
  background: #131622;
  padding: 12px 36px 16px 36px;
  div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    span {
      color: #eff5ff29;
      font-size: 18px;
      font-weight: 500;
      line-height: 23px;
    }
    p {
      color: #ffffff;
      font-size: 18px;
      font-weight: 500;
      line-height: 23px;
      display: flex;
      align-items: center;
      gap: 6px;
      &.from-nickname {
        color: #18b146;
      }
    }
  }
  .referal-table-row-left {
    flex-direction: row;
    align-items: center;
    gap: 32px;
  }
  .referal-table-row-right {
    justify-self: end;
    flex-direction: row;
    align-items: center;
    gap: 24px;
    button {
      color: #ffffff;
      font-size: 18px;
      font-weight: 500;
      line-height: 131.2%;
      border-radius: 15px;
      background: linear-gradient(207.39deg, #0f121b -18.518%, #4482e5 63.227%);
      padding: 14px 22px 14px 21px;
    }
  }
}

.referal-table {
  margin-top: 24px;
  margin-bottom: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.referal-table-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.full-mobile-menu {
  display: none;
}
.mobile-nav {
  display: none;
}
.pagination-button {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  background: #131622;
  width: 56px;
  height: 56px;
  color: #f0f4ff66;
  font-size: 18px;
  font-weight: 500;
  line-height: 23px;
  &.active {
    background: linear-gradient(214.22deg, #141721 3.259%, #1e2438 60.955%);
    color: #ffffff;
  }
}
.referal-page {
  .group-icon {
    background: #3d7ce0;
  }
}
.graph {
  padding: 26px 31px 42px;
  border-radius: 23px;
  background: linear-gradient(199.29deg, #131622 29.97%, #1a1f31 84.501%);
  height: 325px;
  p {
    color: rgb(255, 255, 255);
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    margin-bottom: 10px;
  }
}
.chart-container {
  flex: 1;
  height: 304px;

  #myChart {
    width: 100% !important;
    max-height: 256px;
  }
}

.referal-award {
  border-radius: 17px;
  background: #131622;
  padding: 20px 30px 24px 30px;
  margin-top: 16px;
  .group-title {
    font-size: 18px;
  }
  .group-icon {
    background: #18b146ab;
    width: 48px;
    height: 48px;
  }
  .custom-input {
    input {
      background: #171b29;
    }
  }
}
/* Mines status block */
.mines-status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 14px 20px;
  border-radius: 15px;
  background: linear-gradient(135deg, #1a2240, #1e2b4a);
  border: 1px solid rgba(61, 124, 224, 0.2);
  animation: minesStatusPulse 2s ease-in-out infinite;
}
.mines-status .mines-status-icon {
  font-size: 20px;
  animation: minesStatusBounce 1.5s ease-in-out infinite;
}
.mines-status span {
  color: #7db3ff;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.5px;
}
@keyframes minesStatusPulse {
  0%, 100% { border-color: rgba(61, 124, 224, 0.2); }
  50% { border-color: rgba(61, 124, 224, 0.45); }
}
@keyframes minesStatusBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

/* Mines cashout button */
#minesCashoutBtn {
  background: linear-gradient(135deg, #00c853, #00a844);
}

/* Mines coefficient strip */
.mines-coeff-strip {
  grid-column: span 2;
  display: flex;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: 14px;
  background: #131622;
  padding: 10px 12px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  &::-webkit-scrollbar { display: none; }
}
.coeff-chip {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  height: 48px;
  border-radius: 10px;
  background: #1a2035;
  padding: 4px 8px;
  transition: all 0.25s ease;
  cursor: default;
}
.coeff-chip-step {
  font-size: 10px;
  color: #5a6280;
  font-weight: 600;
  line-height: 1;
}
.coeff-chip-val {
  font-size: 14px;
  color: #8b94b0;
  font-weight: 700;
  line-height: 1.3;
}
.coeff-chip.passed {
  background: rgba(61, 124, 224, 0.15);
}
.coeff-chip.passed .coeff-chip-step { color: #5e9aed; }
.coeff-chip.passed .coeff-chip-val { color: #7db3ff; }
.coeff-chip.current {
  background: linear-gradient(135deg, #3d7ce0, #2a5fb8);
  box-shadow: 0 0 12px rgba(61, 124, 224, 0.4);
  transform: scale(1.08);
}
.coeff-chip.current .coeff-chip-step { color: rgba(255,255,255,0.7); }
.coeff-chip.current .coeff-chip-val { color: #fff; }
.irs--flat .irs-bar {
  background: #18b146 !important;
  height: 8px !important;
}

.irs--flat .irs-line {
  background: #3d7ce0 !important;
  height: 8px !important;
}
.irs--flat .irs-min,
.irs--flat .irs-max {
  display: none;
}
.irs-grid-pol {
  display: none;
}
.irs-grid-text {
  color: #f1f6ff33 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 23px !important;
  top: 14px !important;
}
.irs-grid {
  width: 96.2609% !important;
}
.irs--flat .irs-from,
.irs--flat .irs-to,
.irs--flat .irs-single {
  display: none;
}
.irs--flat .irs-handle {
  width: 16px !important;
  height: 16px !important;
  border-radius: 4px !important;
  background: #d9d9d9 !important;
  color: transparent !important;
}
.irs--flat .irs-handle > i:first-child {
  display: none !important;
}
.referal-award-wrapper {
  display: flex;
  align-items: center;
  margin-top: 16px;
  gap: 16px;
  .btn-secondary {
    max-width: 213px;
    width: 100%;
  }
}
.referal-statistic-wrapper {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  margin-top: 28px;
  position: relative;
}
.referal-scores {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  min-width: 487px;
  gap: 16px;
  .custom-input {
    height: 64px;
    grid-column: span 2;
    input {
      color: #f1f6ff33;
      height: 100%;
      background: #131622;
    }
  }
  .telegram-link {
    border-radius: 15px;
    background-image: url("../assets/images/telegram-bg.jpeg");
    background-position: right;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 20px 26px 23px 26px;
    p {
      color: #fff;
      font-size: 18px;
      font-weight: 500;
      line-height: 23px;
      margin-bottom: 16px;
    }
    button {
      border-radius: 10px;
      background: #4795ed;
      width: 104px;
      height: 42px;
      color: #ffffff;
      font-size: 16px;
      font-weight: 700;
      line-height: 20px;
    }
  }
}
.referal-score {
  border-radius: 15px;
  background: #131622;
  padding: 20px 30px 38px 30px;
  p {
    color: #f1f6ff33;
    font-size: 18px;
    font-weight: 500;
    line-height: 23px;
    margin-bottom: 12px;
  }
  span {
    color: #ffffff;
    font-size: 24px;
    font-weight: 500;
    line-height: 31px;
    text-transform: uppercase;
  }
}
.copy-btn {
  width: 48px;
  height: 48px;
  border-radius: 15px;
  background: #3d7ce0;
  cursor: pointer;
  position: absolute;
  right: 12px;
  top: 8px;
  img {
    width: 28px;
  }
}
.profile-header-wrapper {
  display: flex;
  align-items: center;
}
.profile-balance-wrapper {
  border-radius: 15px;
  display: flex;
  align-items: center;
  padding-left: 23px;
  gap: 16px;
  background: #131622;
  p {
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    line-height: 131.2%;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .btn-third {
    width: 156px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 56px;
  }
}
.profile-header-info {
  display: flex;
  align-items: center;
  gap: 16px;
}
.profile-header-wrapper {
  position: relative;
  border-radius: 15px;
  background: #131622;
  display: flex;
  gap: 5px;
  padding-right: 11px;
}
.header-profile-img {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  object-fit: cover;
}
.profile-header-wrapper {
  height: 56px;
  align-items: center;
  padding-left: 5px;
}
.profile-menu-btn {
  background: transparent;
  cursor: pointer;
}
.toast-message {
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  line-height: 15px;
  display: flex;
  align-items: center;
  gap: 4px;
  img {
    width: 12px;
  }
}
#toast-container > div {
  opacity: 1;
}

.toast-close-button {
  font-size: 16px;
  font-weight: 100;
  height: 18px;
  width: 18px;
  border-radius: 50%;
  background: #f0f4ff66 !important;
  top: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: normal;
}
.toast-success {
  padding: 20px !important;
  border-radius: 15px !important;
  background-position: center !important;
  box-shadow: 0px 0px 54.4px 0px #0f121b !important;
  background: linear-gradient(203.96deg, #0f121b 1.885%, #18b146 91.07%);
  .toast-progress {
    background: #124128;
    margin: 0 20px;
  }
  .icon-notif {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 5.2px;
    background: #18b146;
    margin-right: 12px;
    img {
      width: 16px;
      height: 16px;
    }
  }
}
.select-icon {
  transition: transform 0.3s ease;
}

.select-icon.rotate {
  transform: rotate(180deg);
}
#toast-container > .toast-success {
  background-image: linear-gradient(
    203.96deg,
    #0f121b 1.885%,
    #18b146 91.07%
  ) !important;
}
.full-menu-layout {
  left: 0;
  top: 0;
  width: 100%;
  position: fixed;
  height: 100%;
  display: none;
  background: #0f121baf;
  z-index: 10000;
  backdrop-filter: blur(10px);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.full-menu-layout.visible {
  opacity: 1;
}
.toast-error {
  padding: 20px !important;
  border-radius: 15px !important;
  background-position: center !important;
  box-shadow: 0px 0px 54.4px 0px #0f121b !important;
  background: linear-gradient(203.96deg, #0f121b 1.885%, #ca2727 91.07%);

  .toast-progress {
    background: #3a1016;
    margin: 0 20px;
  }
  .icon-notif {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 5.2px;
    background: #ca2727;
    margin-right: 12px;
    img {
      width: 16px;
      height: 16px;
    }
  }
}
.question-btn {
  width: 28px;
  height: 28px;
  background: transparent;
  color: #f0f4ff66;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  &:hover {
    color: #f0f4ffb3;
  }
  &:active {
    color: #fff;
  }
}
.logo-mobile {
  display: none;
}
#toast-container > .toast-error {
  background-image: linear-gradient(
    203.96deg,
    #0f121b 1.885%,
    #ca2727 91.07%
  ) !important;
}
@media (max-width: 1720px) {
  .original-games-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
  .drafts-scores {
    grid-template-columns: repeat(2, 1fr);
  }
  .container {
    max-width: 920px;
  }

  .coinflip-wrapper {
    flex-direction: column;
  }
  .cf-coeffs-list {
    justify-content: flex-start;
  }
  .dice-wrapper {
    flex-direction: column-reverse;
    gap: 50px;
  }
  .mines-wrapper {
    grid-template-columns: 1fr;
  }
  .mines-coeff-strip {
    grid-column: span 1;
    order: 2;
  }
  .mines-parameters {
    order: 3;
  }
  .mines-parameters {
    .btn-secondary {
      order: -1;
    }
  }
  .mines-game {
    order: 1;
  }
  .profile-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .profile-block {
    grid-row: span 2;
  }
  .profile-telegram {
    grid-column: span 3;
  }
  .profile-level {
    grid-column: span 3;
  }
}

@media (max-width: 1545px) {
  .original-games-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
  .drafts-scores {
    grid-template-columns: repeat(1, 1fr);
  }
  .container {
    max-width: 800px;
  }
  .promo-container {
    height: 300px;
  }
  .c-title { font-size: 28px; }
  .promo-main {
    flex-wrap: wrap;
  }
  .promo-main-card {
    &.wide {
      width: 100%;
    }
    &.fit {
      max-width: 100%;
    }
  }
  .bonuses-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .referal-statistic-wrapper {
    flex-direction: column;
  }
  .referal-scores {
    width: 100%;
  }
  .chat-box {
    &.hidden {
      transform: translateX(380%);
    }
  }
  .chat-header .group-title,
  .rules-btn,
  .chat-main {
    transition: transform 0.3s ease, opacity 0.3s ease;
    &.hidden {
      transform: translateX(380%);
      opacity: 0;
    }
  }
}
@media (max-width: 1545px) {
  .container {
    max-width: 920px;
  }
  .slots-grid {
    grid-template-columns: repeat(5, 1fr);
  }
  .header-left {
    gap: 20px;
  }
  .header-wrapper {
    width: calc(100% - 30px);
    &.chat-open {
      width: calc(100% - 30px);
    }
  }
  .main-app-wrapper {
    width: 100%;
    &.chat-open {
      width: 100%;
    }
  }
  .dealer-slots-wrapper,
  .popular-slots-wrapper {
    grid-template-columns: repeat(4, 1fr);
  }

  .chat-header {
    .hide-btn {
      transform: rotate(180deg);
    }
  }
  .hide-btn {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    cursor: pointer;
    background: linear-gradient(210.96deg, #141721 28.537%, #1a1f31 82.063%);
  }
  .chat-box {
    background: #0f121b;
    width: 360px;
    max-width: none;
    padding: 0 16px;
    margin-right: 0;
  }
  .header {
    .hide-btn {
      right: 10px;
      transform: rotate(180deg);
    }
  }
  .main {
    width: 100%;
    padding-left: 68px;
  }
  .referal-table-row {
    grid-template-columns: 0.6fr 0.6fr 0.6fr 0.6fr 1fr;
  }
}
@media (max-width: 1348px) {
  .sign-in-btn {
    display: none;
  }
  .profile-balance-wrapper {
    .btn-third {
      width: 56px;
      height: 56px;
      span {
        display: none;
      }
    }
  }
}

@media (max-width: 1180px) {
  .keno-wrapper {
    flex-direction: column;
  }
  .keno-parameters {
    width: 100%;
    min-width: unset;
    order: 2;
  }
  .keno-game {
    width: 100%;
    min-width: 0;
    order: 1;
  }
  .keno-grid {
    grid-template-columns: repeat(8, 1fr);
    gap: 6px;
  }
  .keno-number {
    font-size: 13px;
    border-radius: 8px;
  }
  .chat-box {
    &.hidden {
      transform: translateX(380%);
      opacity: 0;
    }
  }
  .close-btn {
    min-width: 40px;
    min-height: 40px;
    border-radius: 10px;
    svg {
      width: 20px;
      height: 20px;
    }
  }
  .referal-award-wrapper {
    flex-direction: column;
    .btn-secondary {
      max-width: 100%;
    }
  }
  .login-block {
    .forgot-password-btn {
      margin-top: 12px;
      margin-bottom: 20px;
      font-size: 12px;
    }
  }
  .chat-box {
    margin-top: 16px;
  }
  .header-wrapper {
    width: 100%;
    &.chat-open {
      width: 100%;
    }
  }
  .register-block {
    .custom-input {
      height: 44px;
      input {
        height: 44px;
        font-size: 12px;
      }
    }
  }
  .chat-body {
    overflow-y: auto;
    /* height: calc(100vh - 68px - 235px); */
  }
  .full-mobile-menu {
    display: flex;
    transform: translateX(-300%);
    opacity: 0;
    transition: all 0.3s ease-in-out;
    flex-direction: column;
    width: 291px;
    max-height: 100dvh;
    height: 100%;
    background: #0f121b;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10;
    padding: 24px 20px 36px 20px;

    &.opened {
      opacity: 1;
      transform: translateX(0);
    }
    .group-icon {
      background: #3d7ce0;
      width: 40px;
      height: 40px;
      border-radius: 8px;
      img {
        width: 20px;
        height: 20px;
      }
    }
  }
  .full-menu {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 60px;
    a {
      display: flex;
      align-items: center;
      gap: 10px;
      svg {
        width: 20px;
        height: 20px;
      }
      p {
        color: #ffffff;
        font-size: 16px;
        font-weight: 500;
        line-height: 159.2%;
        letter-spacing: -1%;
        text-transform: capitalize;
      }
      span {
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        background: linear-gradient(
          210.96deg,
          #141721 25.902%,
          #1a1f31 91.094%
        );
        color: #f0f4ff66;
      }
    }
  }
  .full-mobile-menu-wrapper {
    flex-grow: 1;
    max-height: calc(100dvh - 110px);
    margin-top: 43px;
    overflow-y: auto;
    &::-webkit-scrollbar {
      height: 2px;
      width: 2px;
      border-radius: 39px;
      right: 10px;
    }
    &::-webkit-scrollbar-thumb {
      background: #f0f4ff66;
    }
  }
  .sub-menu {
    display: flex;
    flex-direction: column;
    gap: 24px;

    .icon {
      width: 20px;
      height: 20px;
    }
    a {
      display: flex;
      align-items: center;
      gap: 10px;
      color: #f0f4ff66;
      &.exit-link {
        color: #ca2727;
        p {
          color: #ca2727;
        }
      }
      &:active {
        color: #fff;
        p {
          color: #fff;
        }
      }
      p {
        color: #f0f4ff66;
        font-size: 16px;
        font-weight: 500;
      }
    }
  }
  .slots-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .slots-grid > .slot-card:nth-child(3n+1):last-child {
    display: none;
  }
  .slot-card-overlay {
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  .slot-card:active .slot-card-overlay,
  .slot-card:focus-within .slot-card-overlay {
    opacity: 1;
  }
  .slot-play-demo {
    display: none;
  }
  .slot-play-real {
    width: 44px;
    height: 44px;
  }
  .slot-modal {
    width: 100vw;
    height: 100vh;
    max-width: none;
    border-radius: 0;
    top: 0;
    left: 0;
    transform: none;
  }
  .full-menu-socials {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 20px;
    .sidebar-link {
      width: 44px;
      height: 44px;
      svg {
        width: 20px;
        height: 20px;
        border-radius: 11.65px;
      }
    }
  }

  body {
    padding-bottom: 80px;
  }
  .auth-modal {
    width: 328px;
    padding: 28px 24px;
    border-radius: 16px;
    .simple-text {
      font-size: 12px !important;
      &.another-methods {
        margin-top: 34px;
      }
    }
    .auth-bg {
      display: none;
    }
  }
  .btn-default {
    font-size: 12px;
    height: 44px;
  }
  .auth-main {
    width: 100%;
    padding: 0;
  }
  .auth-hud {
    gap: 8px;
    padding-bottom: 0;
  }
  .login-variants {
    a, button {
      width: 44px;
      height: 44px;
      border-radius: 10px;
      img {
        width: 50%;
      }
    }
  }
  .promo-container {
    display: block;
    height: auto;
    margin-top: 16px;
  }
  .promo-slider-wrapper {
    height: 200px;
  }
  .promo-static-card {
    display: none !important;
  }
  .c-title { font-size: 20px; }
  .c-desc { font-size: 13px; margin-bottom: 12px; }
  .c-slide { padding: 20px; }
  .c-slide-content { max-width: 80%; }
  .slider-arrow {
    bottom: 20px;
    width: 36px;
    height: 36px;
  }
  .header {
    .hide-btn {
      display: none;
    }
  }
  .chat-box {
    z-index: 9999;
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-top: 0;
    padding: 0 16px;
    background: #0f121b;
    top: 0;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  }
  .chat-box.hidden {
    transform: translateX(100%);
    opacity: 0;
  }
  .chat-header .btn-back {
    display: flex;
    cursor: pointer;
  }
  .chat-main {
    flex: 1;
    height: 0;
    display: flex;
    flex-direction: column;
  }
  .chat-body {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
  }
  .chat-input {
    flex-shrink: 0;
    margin-bottom: 24px;
  }
  .mobile-nav {
    position: fixed;
    bottom: -1px;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 70px;
    background: #151924;
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 0;
    a {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      flex: 1;
      color: #f0f4ff50;
      text-decoration: none;
      transition: color 0.2s ease;
      .material-icons {
        font-size: 22px;
        line-height: 1;
      }
      span:last-child {
        font-size: 10px;
        font-weight: 500;
        line-height: 1;
      }
      &:active, &.active {
        color: #fff;
      }
    }
  }
  .auth-field {
    height: 44px;
    img,
    svg {
      width: 18px;
      height: 18px;
    }
    input {
      font-size: 12px;
    }
  }
  .auth-field-btn {
    width: 18px;
    height: 18px;
  }
  .register-type-btns {
    margin-top: 0;
    .register-type-btn {
      font-size: 14px;
    }
  }
  .sidebar {
    display: none;
  }
  .nav {
    display: none;
  }
  .main {
    padding-left: 0;
  }
  .app-layout {
    padding: 0 16px;
  }
  .header {
    padding: 16px;
  }
  .btn-back {
    border-radius: 8px;
    background: linear-gradient(210.96deg, #141721 25.902%, #1a1f31 91.094%);
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .chat-header {
    .btn-back {
      display: none;
    }
  }
  .profile-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .profile-data-change {
    grid-column: span 3;
  }
  .profile-gift {
    grid-column: span 3;
  }
  .profile-statistic {
    grid-column: span 1;
  }
  .profile-telegram {
    grid-column: span 2;
  }
  .profile-level {
    grid-column: span 2;
  }
  .active-bonuses {
    grid-column: span 3;
  }
  .active-bonuses-wrapper {
    grid-template-columns: 1fr 1fr;
  }
  .profile-telegram {
    img {
      width: 120px;
      height: 120px;
      position: absolute;
      right: -13px;
      top: 65px;
    }
  }

  .dice-result {
    height: 126px;
    min-height: 126px;
    max-height: 126px;
  }
  .dice-result span {
    font-size: 36px;
    letter-spacing: 0.4em;
    margin-left: 0.4em;
  }
  .provider-card {
    width: 130px;
    height: 65px;
    padding: 12px 18px;
    border-radius: 10px;
  }
  .providers-track { gap: 12px; }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  .footer-nav {
    flex-direction: column;
    align-items: baseline;
    gap: 8px;
  }
  .footer-wrapper {
    flex-direction: column;
    gap: 16px;
  }
  .sign-in-btn {
    display: none;
  }
  .logo-online-wrapper {
    img {
      width: 105px;
    }
  }
  .modal-body {
    margin-top: 24px;
    overflow-y: auto;
    max-height: calc(90dvh - 64px - 28px - 28px);
  }

  .achievements-modal {
    width: 661px;
    border-radius: 33px;
    background: #151924;
    display: none;
    padding: 36px 40px;
    max-height: 90dvh;
    .levels-grid {
      display: grid !important;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 16px;
      .legend-level {
        grid-column: span 3;
        .level-card-main-icon {
          right: 70px;
        }
      }
    }
    .group-icon {
      background: #3d7ce0;
    }
    .simple-text {
      margin-bottom: 24px;
    }
  }
  .container {
    width: 100%;
  }
  .login-block,
  .register-block {
    .btn-secondary {
      font-size: 12px;
    }
  }
}
@media (max-width: 800px) {
  .sidebar-link[data-tooltip]::after {
    display: none;
  }
  .slots-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }
  .slot-card-name {
    font-size: 12px;
    padding: 8px 8px;
  }
  .profile-header-wrapper {
    height: 36px;
    border-radius: 8px;
  }
  .show-all-btn {
    font-size: 12px;
  }

  .profile-balance-wrapper {
    border-radius: 8px;
    height: 36px;
    .btn-third {
      height: 36px;
      width: 36px;
      border-radius: 7.2px;
      img {
        width: 20px;
      }
    }
    p {
      font-size: 12px;
    }
  }
  .group-title {
    font-size: 14px;
  }
  .section-heading {
    font-size: 16px;
    gap: 10px;
  }
  .section-heading-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }
  .section-heading-icon .material-icons {
    font-size: 18px;
  }
  .popular-slots {
    padding: 28px 0;
  }
  .original-games {
    margin-top: 28px;
  }
  .loader {
    img {
      width: 70px;
      height: 70px;
    }
  }
  .btn-back {
    width: 40px;
    height: 40px;
  }
  .slots-toolbar {
    position: relative;
    gap: 8px;
    .select-value {
      display: none;
    }
    span {
      display: none;
    }
    .custom-select-wrapper {
      width: 40px;
      position: static;
    }
    .custom-select-header {
      width: 40px;
      height: 40px;
      justify-content: center;
      border-radius: 8px;
    }
    .custom-select-body {
      width: 100%;
      left: 0;
      top: 48px;
    }
    .input-search {
      height: 40px;
      border-radius: 8px;
      img {
        width: 20px;
        height: 20px;
      }
      input {
        font-size: 12px;
      }
    }
    .slot-fav-filter-btn {
      width: 40px;
      height: 40px;
      min-width: 40px;
      border-radius: 8px;
    }
    .slot-fav-filter-btn svg {
      width: 18px;
      height: 18px;
    }
  }
  .referal-table-row {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 20px;
    padding: 9px 16px 12px 16px;
    position: relative;
    &::before {
      height: 1px;
      width: calc(100% - 32px);
      content: "";
      position: absolute;
      background: #eff5ff1a;
      left: 50%;
      transform: translateX(-50%);
      top: 68px;
    }
    div {
      span {
        font-size: 12px;
      }
      p {
        font-size: 12px;
        img {
          width: 14px;
        }
      }
      &:nth-child(1) {
        order: 4;
        flex-direction: row-reverse;
        align-items: center;
        gap: 4px;
        grid-column: span 2;
        justify-content: flex-end;
      }
    }
  }
  .footer-nav {
    a {
      font-size: 12px;
    }
  }
  .referal-scores {
    min-width: 100%;
    padding-bottom: 225px;
  }
  .referal-score {
    padding: 22px 24px 26px 24px;
    p {
      font-size: 12px;
    }
    span {
      font-size: 16px;
    }
  }
  .referal-scores {
    .telegram-link {
      padding: 16px;
      p {
        font-size: 12px;
      }
      button {
        font-size: 12px;
        padding: 8px 23px;
      }
    }
  }
  .raffle-table-nav {
    button {
      font-size: 12px;
    }
  }
  .wheel-of-drafts-wrapper {
    flex-direction: column;
    align-items: normal;
    gap: 16px;
  }
  .wheel-of-draft {
    min-width: 100%;
    background: none;
    padding-bottom: 0;
    .btn-secondary {
      margin-top: 16px;
      width: 100%;
    }
  }
  .raffle-create-block {
    p {
      font-size: 14px;
    }
    .btn-fouth {
      font-size: 12px;
      width: 96px;
      margin-top: 16px;
    }
  }
  .referal-table {
    margin-top: 20px;
    margin-bottom: 16px;
    gap: 12px;
  }
  .referal-table-pagination {
    gap: 8px;
  }
  .pagination-button {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    img {
      width: 13px;
    }
  }
  .referal-table-row {
    .referal-table-row-right {
      grid-column: span 1;
      order: 5;
      p {
        display: none;
      }
      button {
        padding: 8px 12px;
        font-size: 12px;
        border-radius: 8px;
      }
    }
  }
  .dice-btns {
    order: -1;
  }
  .provider-card {
    width: 110px;
    height: 56px;
    padding: 10px 14px;
    border-radius: 8px;
  }
  .providers-track { gap: 10px; }
  .referal-system-modal {
    width: 100%;
    padding: 28px 24px;
    border-radius: 15px;
    .group-icon {
      img {
        width: 22px;
        height: 22px;
      }
    }
    .simple-text {
      font-size: 12px;
    }
  }
  .wallet-history-menu {
    & button {
      font-size: 14px;
    }
  }
  .original-games-card {
    padding: 14px 16px 16px 16px;
    display: flex;
    flex-direction: column;
    min-height: 100px;
    p {
      margin-bottom: 0;
      font-size: 16px;
    }
    .original-games-btn-grad {
      margin-top: auto;
    }
  }
  .withdraw-history {
    & .table-body {
      .open-indicator {
        width: 16px;
        height: 16px;
        img {
          width: 100%;
          height: 100%;
        }
      }
    }
  }
  .wheel-wrapper {
    border-radius: 16px;
    background: rgb(19, 22, 34);
  }
  .bonuses-cards {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 32px;
  }
  .dealer-slots-wrapper,
  .popular-slots-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
  .activate-promo {
    grid-column: span 1;
  }
  .entities-counters {
    display: none;
  }
  .levels-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-top: 28px;
  }
  .legend-level {
    grid-column: span 2;
  }
  .mines-wrapper {
    .btn-secondary {
      order: -1;
    }
  }
  .win-modal {
    width: 232px;
    height: 243px;
    border-radius: 12px;
    display: none;
    img {
      width: 113px;
    }
    h3 {
      color: #fabc38;
      font-size: 32px;
      font-weight: 700;
      line-height: 53px;
      text-align: center;
      text-transform: uppercase;
    }
    p {
      color: #ffffff;
      font-size: 16px;
      font-weight: 500;
      line-height: 131.2%;
      span {
        margin-left: 8px;
      }
    }
  }
  .chat-header-btns {
    .rules-btn {
      font-size: 12px;
      padding: 12.5px 26px;
      border-radius: 8px;
    }
  }
  .logo-online-wrapper {
    gap: 12px;
  }
  .hide-btn {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    img {
      width: 24px;
      height: 24px;
    }
  }
  .group-title {
    h3 {
      span {
        display: none;
      }
    }
  }
  .question-text {
    font-size: 12px;
    margin-top: 12px;
  }
  .details-wrapper {
    margin-top: 20px;
  }
  .profile-bonus-modal {
    padding: 28px 24px;
    .btn-third {
      font-size: 14px;
      height: 45px;
      margin-top: 24px;
    }
  }
  .bonus-timer-wrapper {
    p {
      color: #f1f6ff33;
      font-size: 12px;
      font-weight: 500;
      line-height: 135%;
    }
    .bonus-timer {
      font-size: 16px;
    }
  }
  .question-answer {
    font-size: 12px;
  }
  .bonus-detail-header {
    padding: 9px 16px;
    h3 {
      font-size: 12px;
      margin-bottom: 4px;
    }
    p {
      font-size: 12px;
    }
  }
  .bonus-detail-body {
    margin-bottom: 12px;
    img {
      width: 41px;
      height: 52px;
    }
  }
  .achievements-modal {
    padding: 28px 24px;
    .simple-text {
      font-size: 12px;
    }
    .levels-grid {
      display: grid !important;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      .level-card {
        padding: 12px;
        .level-params-item {
          gap: 6px;
        }
        h3 {
          font-size: 14px;
        }
        p {
          font-size: 11px;
        }
        span {
          font-size: 11px;
          white-space: nowrap;
        }
      }
      .legend-level {
        grid-column: span 2;
        .level-card-main-icon {
          right: 10px;
          top: -8px;
        }
      }
    }
  }
  .level-card {
    h3 {
      font-size: 18px;
    }
    p {
      font-size: 12px;
    }
  }
  .bonuses-cards {
    & .group-title {
      h3 {
        font-size: 12px;
      }
    }
  }
  .main-app-wrapper {
    padding-top: 80px;
  }
  .open-slot-page {
    .options-block {
      button {
        width: 40px;
        height: 40px;
        border-radius: 8px;
        img {
          width: 21px;
          height: 21px;
        }
      }
      .reload-btn {
        display: none;
      }
    }
  }
  .bonus-count {
    font-size: 12px;
    img {
      width: 12px;
      height: 12px;
    }
  }
  .custom-input-wrapper {
    label {
      font-size: 12px;
    }
  }
  .wallet-amount-wrapper {
    margin-top: 20px;
    margin-bottom: 12px;
    p {
      font-size: 12px;
    }
  }
  .withdraw-block {
    .custom-input-wrapper {
      margin-top: 12px;
    }
  }

  .telegram-modal {
    border-radius: 16px;
    background: #151924;
    width: 328px;
    padding: 28px 24px;
    .simple-text {
      color: #f0f4ff66;
      font-size: 12px;
      margin-top: 32px;
      span {
        color: #fff;
      }
    }
    .group-icon {
      border-radius: 15px;
      background: #3d7ce0;
    }
    .btn-secondary {
      display: block;
      width: 100%;
    }
  }
  .register-block {
    .custom-input {
      margin-top: 16px;
      input {
        background: #191d2c;
        font-size: 12px;
      }
    }
  }
  .tg-bind {
    margin-top: 12px;
    font-size: 12px;
    margin-bottom: 40px;
  }
  .btn-fouth {
    font-size: 12px;
    height: 44px;
  }
  .level-required {
    font-size: 12px;
    flex-direction: column;
    align-items: baseline;
    gap: 4px;
    margin-top: 16px;
    img {
      width: 21px;
      height: 21px;
    }
  }

  .activate-promo {
    padding: 20px 24px;
    .group-icon {
      img {
        width: 15px;
        height: 15px;
      }
    }
  }
  .confirm-raffle-modal {
    width: 100%;
    border-radius: 16px;
    margin: 0 16px;
    padding: 32px 16px;
    .simple-text {
      font-size: 12px;
    }
    .deposite-types-btns {
      margin-bottom: 28px;
    }
  }
  .btn-primary {
    font-size: 12px;
    height: 44px;
  }
  .reset-password-modal {
    width: 100%;
    margin: 0 16px;
    padding: 28px 24px;
    border-radius: 16px;
  }
  .confirm-stats {
    grid-template-columns: 1fr 1fr;
    margin-top: 24px;
    margin-bottom: 16px;
    .confirm-stat {
      padding: 12px 16px;
      span {
        font-size: 12px;
      }
      p {
        font-size: 14px;
      }
      &:nth-child(3) {
        grid-column: span 2;
      }
    }
  }
  .write-off-result {
    p {
      font-size: 12px;
    }
  }
  .promo-main {
    margin-top: 0;
  }
  .wallet-modal {
    width: 100%;
    border-radius: 10px;
    background: #151924;
    padding: 28px 24px;
    .btn-secondary {
      width: 100%;
    }
    .group-icon {
      background: #18b146;
      img {
        width: 22px;
        border-radius: 8px;
      }
    }
    .custom-select-header {
      height: 56px;
      background: #22293f;
      .select-value {
        color: #fff;
      }
    }
  }
  .activate-promo-input {
    flex-direction: column;
  }
  .profile-menu-inner {
    top: calc(100% + 8px);
    width: 200px;
    padding: 6px;
    a {
      font-size: 13px;
      padding: 9px 10px;
    }
    .profile-menu-id {
      font-size: 12px;
      padding: 8px 10px 6px;
    }
  }
  .amount-input {
    & .custom-input {
      input {
        padding-right: 150px;
      }
    }
  }
  .wallet-variants-btns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 20px;
    .btn-default {
      font-size: 14px;
    }
  }
  .withdraw-history {
    .table-header {
      padding: 14px 37px;
      p {
        font-size: 12px;
      }
    }
    & .table-body {
      .table-item-inner {
        padding: 0 12px;
        &.open {
          padding: 10px 12px 8px 12px;
        }
        p {
          font-size: 12px;
        }
        button {
          font-size: 12px;
        }
      }
      .table-item-header {
        padding: 8px 13px 7px 12px;
        h3 {
          font-size: 12px;
        }
        p {
          font-size: 12px;
        }
        .payment-system-info {
          p {
            font-size: 12px;
          }
        }
      }
    }
  }
  .withdraw-block {
    & .custom-input {
      input {
        padding-right: 150px;
      }
    }
  }
  .deposite-history {
    .table-header {
      padding: 14px 26px;
      p {
        font-size: 12px;
      }
    }
    .table-body {
      .table-item {
        padding: 14px 12px;
        p {
          font-size: 12px;
        }
      }
    }
  }
  .profile-header-info {
    gap: 8px;
  }
  .profile-header-wrapper {
    padding-right: 5px;
  }
  .profile-balance-wrapper {
    padding-left: 15px;
    p {
      img {
        width: 14px;
      }
    }
  }
  .wallet-select-body {
    padding: 20px 24px;
    top: 50px;
  }
  .requisites-list {
    padding: 28px 20px;
    gap: 12px;
    p {
      font-size: 12px;
    }
  }
  .referal-statistic-wrapper {
    margin-top: 1px;
  }
  .check-part {
    .simple-text {
      font-size: 12px;
    }
  }
  .custom-checkbox {
    label {
      font-size: 12px;
    }
  }

  .referal-person-table {
    margin-top: 28px;
    margin-bottom: 28px;
  }
  .graph {
    padding: 16px 16px 29px 16px;
  }
  .referal-person-table-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .referal-person-table-header {
    padding: 12px 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-radius: 15px;
    background: #131622;
    margin-bottom: 16px;
    p {
      color: #f1f6ff33;
      font-size: 12px;
      font-weight: 500;
      line-height: 23px;
      &:nth-child(2) {
        display: none;
      }
      &:nth-child(5) {
        display: none;
      }
    }
  }
  .referal-person-table-item {
    border-radius: 15px;
    background: #131622;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 12px 24px;
    p {
      font-size: 12px;
      &:nth-child(2) {
        display: none;
      }
      &:nth-child(5) {
        display: none;
      }
    }
  }
  .custom-checkbox label::before {
    width: 16px;
    height: 16px;
    border-radius: 4px;
  }
  .custom-checkbox input[type="checkbox"]:checked + label::before {
    background-size: 10px;
  }
  .wallet-select-item {
    p {
      font-size: 12px;
    }
    img {
      width: 19px;
    }
  }
  .wallet-select-header {
    height: 44px;
    img {
      width: 17px;
    }
    p {
      font-size: 12px;
    }
  }
  .custom-select-label {
    font-size: 12px;
    margin-bottom: 8px;
  }
  .amount-input {
    margin-top: 12px;
    label {
      font-size: 12px;
      margin-bottom: 8px;
    }
  }
  .wallet-history-btn {
    grid-column: span 2;
  }
  .payments-grid {
    grid-template-columns: 1fr 1fr;
    .payments-btn {
      span {
        width: 38px;
        height: 38px;
        padding: 12px 16px;
        img {
          width: 22px;
          height: 22px;
        }
      }
      p {
        font-size: 14px;
      }
    }
  }

  .original-games-wrapper {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 12px;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .original-games-wrapper::-webkit-scrollbar {
    display: none;
  }
  .original-games-wrapper .original-games-card {
    width: calc(50% - 6px);
    min-width: calc(50% - 6px);
    flex-shrink: 0;
    scroll-snap-align: start;
  }
  .original-games-scroll-wrap {
    position: relative;
  }
  .og-scroll-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(15, 18, 27, 0.75);
    border: 1px solid rgba(255,255,255,0.12);
    color: #fff;
    cursor: pointer;
    z-index: 5;
    backdrop-filter: blur(4px);
    transition: all 0.2s;
  }
  .og-scroll-arrow:hover {
    background: rgba(61,124,224,0.4);
    border-color: rgba(61,124,224,0.5);
  }
  .og-scroll-arrow .material-icons { font-size: 20px; }
  .original-games-card .original-games-btn-grad { display: none; }
  .og-scroll-left { left: 6px; }
  .og-scroll-right { right: 6px; }
  .level-card-progress {
    margin-top: 34px;
  }
  .levels-slider-wrapper {
    display: none;
  }
  .faq-grid {
    grid-template-columns: repeat(1, 1fr);
  }
  .faq-item {
    padding: 15px 16px;
    p {
      font-size: 12px;
    }
    img {
      width: 15px;
    }
  }
  .promo-main-card {
    &.wide {
      height: 175px;
      padding: 28px 20px;
      button {
        font-size: 12px;
        padding: 12px 23px 12px 22px;
        img {
          width: 10px;
        }
      }
    }
    &.fit {
      height: 109px;
      padding: 20px;
      background-position: bottom;
      p {
        display: none;
      }
      button {
        margin-top: 12px;
        font-size: 12px;
        padding: 12px 18px 12px 14px;
        img {
          width: 13px;
        }
      }
    }
  }
  .coeff-chip {
    min-width: 40px;
    height: 38px;
    padding: 2px 6px;
  }
  .coeff-chip-val {
    font-size: 12px;
  }
  .coeff-chip-step {
    font-size: 9px;
  }
  .game-history-table {
    margin: 20px 0;
    gap: 4px;
  }
  .site-footer {
    margin-top: 40px;
    padding: 30px 0 0;
  }
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .footer-desc {
    font-size: 12px;
  }
  .footer-col-title {
    font-size: 14px;
    margin-bottom: 14px;
  }
  .footer-links a {
    font-size: 13px;
  }
  .footer-bottom {
    margin-top: 28px;
    padding: 20px 0 90px;
  }
  .footer-company {
    font-size: 10px;
  }
  .promo-main-card {
    h3 {
      font-size: 14px;
    }
    p {
      font-size: 12px;
      margin-bottom: 20px;
    }
  }
  .mines-wrapper {
    margin-top: 10px;
    gap: 8px 0;
  }
  .mines-game {
    justify-content: center;
    padding: 0;
    background: none;
  }
  .mines-field {
    height: 52px;
    border-radius: 12px;
  }
  .mines-grid {
    grid-template-columns: repeat(5, 52px);
    gap: 4px;
    margin: 0 auto;
  }
  .mines-parameters {
    gap: 6px;
  }
  .mines-coeff-strip {
    margin-top: 0;
  }
  .keno-wrapper {
    gap: 12px;
  }
  .keno-parameters {
    gap: 10px;
  }
  .keno-risk-btn {
    padding: 8px;
    font-size: 12px;
    border-radius: 10px;
  }
  .keno-risk-label {
    font-size: 12px;
  }
  .keno-risk-selector {
    gap: 6px;
  }
  .keno-action-btns {
    gap: 6px;
  }
  .keno-auto-btn,
  .keno-clear-btn {
    padding: 8px;
    font-size: 12px;
    border-radius: 10px;
  }
  .keno-grid-wrapper {
    padding: 14px;
    border-radius: 14px;
  }
  .keno-grid {
    gap: 5px;
  }
  .keno-number {
    font-size: 12px;
    border-radius: 8px;
  }
  .keno-selected-count {
    font-size: 12px;
    margin-top: 8px;
  }
  .keno-result-info {
    padding: 10px 14px;
    gap: 6px;
    font-size: 13px;
  }
  .keno-payouts {
    padding: 12px;
    border-radius: 12px;
  }
  .keno-payouts-title {
    font-size: 12px;
    margin-bottom: 8px;
  }
  .keno-payouts-grid {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    gap: 6px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .keno-payouts-grid::-webkit-scrollbar { display: none; }
  .keno-payout-item {
    padding: 6px 8px;
    min-width: 55px;
    flex: 0 0 auto;
  }
  .keno-payout-mult {
    font-size: 12px;
  }
  .keno-payout-hits {
    font-size: 10px;
  }
  .game-history-item {
    grid-template-columns: repeat(3, 1fr);
    p {
      &:nth-child(2),
      &:nth-child(3) {
        display: none;
      }
    }
  }
  .raffle-created-modal {
    width: 100%;
    border-radius: 16px;
    margin: 0 16px;
    padding: 28px 24px;
  }
  .sign-up-btn {
    font-size: 12px;
    .icon {
      width: 16px;
      height: 16px;
    }
  }
  .header {
    gap: 0;
  }
  .profile-telegram {
    padding: 16px;
  }
  .profi-level {
    padding: 16px;
  }
  .profile-telegram,
  .profile-level {
    p {
      font-size: 12px;
    }
    a {
      font-size: 12px;
    }
  }
  .profile-image {
    width: 100%;
    max-width: 232px;
    height: auto;
    max-height: 232px;
  }
  .create-raffle-modal {
    padding: 32px 24px;
    width: 100%;

    margin: 0 16px;
    border-radius: 16px;
    .simple-text {
      font-size: 12px;
    }
    .btn-secondary {
      margin-top: 28px;
    }
  }
  .depposite-variant-btn {
    font-size: 12px;
  }
  .dice-parameters,
  .mines-parameters,
  .coinflip-parameters {
    width: 100%;
    min-width: 100%;
  }
  .optional-input {
    padding: 12px 12px 12px 16px;
  }
  .optional-input .optional-input-btns button {
    padding: 5px 7px;
  }
  .game-history-item {
    padding: 10px 16px;
    border-radius: 8px;
    p {
      font-size: 12px;
    }
  }
  .btn-secondary {
    font-size: 12px;
  }
  .chat-rule-modal {
    width: 100%;
    margin: 0 16px;
    border-radius: 16px;
    padding: 28px 24px 32px 24px;
    .group-header {
      margin-bottom: 16px;
    }
    .simple-text {
      font-size: 12px;
    }
    .btn-secondary {
      margin-top: 40px;
    }
  }
  .optional-input {
    height: 44px;
    input {
      font-size: 12px;
    }
  }
  .custom-input {
    label {
      font-size: 12px;
      margin-bottom: 8px;
    }
    input {
      height: 44px;
      font-size: 12px;
      padding-right: 77px;
    }
    .inner-label {
      font-size: 12px;
    }
  }

  .optional-input {
    & .optional-input-btns {
      button {
        font-size: 12px;
      }
    }
  }
  .online-count {
    p {
      font-size: 12px;
    }
  }
  .original-games-card {
    .original-games-btn-grad {
      display: none;
    }

    button {
      backdrop-filter: blur(4px);
      background: #4482e6;
      width: 100%;
      height: 100%;
      border-radius: 7.64px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      img {
        width: 12.5px;
        transition: all 0.3s ease-in-out;
      }
      &:hover {
        img {
          transform: translateX(5px);
        }
      }
    }
  }
  .dealer-slots-wrapper,
  .popular-slots-wrapper {
    a {
      display: none;
      &:nth-child(-n + 6) {
        display: inline-block;
      }
    }
  }
  .referal-award {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
  }
  .group-title {
    .group-icon {
      width: 40px;
      height: 40px;
      min-width: 40px;
      min-height: 40px;
      border-radius: 8px;
      img {
        width: 18px;
        height: 18px;
      }
      .icon {
        width: 16px;
        height: 16px;
      }
    }
    h3 {
      font-size: 14px;
    }
  }
  .bonus-page .group-header {
    align-items: center;
  }
  .btn-default {
    font-size: 12px;
    height: 44px;
  }
  .dice-btns {
    margin-top: 28px;
    .btn-secondary {
      height: 44px;
      font-size: 12px;
    }
    .btn-third {
      font-size: 12px;
      height: 44px;
    }
  }
  .dice-ranges {
    gap: 10px;
    margin-top: 8px;
  }
  .dice-range-item {
    padding: 8px 12px;
    border-radius: 8px;
  }
  .dice-range-label {
    font-size: 11px;
  }
  .dice-range-value {
    font-size: 13px;
  }
  .game-input {
    padding: 11.5px 24px 11.5px 24px;
    img {
      width: 14px;
    }
    input {
      font-size: 12px;
    }
    p {
      font-size: 12px;
    }
  }
  .optional-input-wrapper {
    img {
      width: 14px;
    }
  }
  .daily-bonus {
    padding: 20px 24px;
    .group-icon {
      img {
        width: 15px;
        height: 15px;
      }
    }
  }
  .dice-wrapper {
    margin-top: 12px;
    gap: 12px;
  }
  .dice-result {
    height: 90px;
    min-height: 90px;
    max-height: 90px;
    border-radius: 14px;
  }
  .dice-result span {
    font-size: 28px;
    letter-spacing: 0.3em;
    margin-left: 0.3em;
  }
  .dice-slider-wrap {
    margin-top: 10px !important;
  }
  .dice-parameters {
    gap: 8px;
  }
  .dice-btns {
    margin-top: 4px;
  }
  .dice-ranges {
    margin-top: 4px;
  }
  .cash-back,
  .subscribe-tg,
  .subscribe-vk {
    padding: 20px 24px;
    .group-icon {
      img {
        width: 15px;
        height: 15px;
      }
    }
  }
  .wager-reset-card {
    padding: 20px 24px;
  }
  .wager-reset-conditions {
    gap: 6px;
    span {
      font-size: 11px;
      padding: 4px 8px;
    }
  }
  .agreement-text {
    font-size: 12px;
  }
  .irs-grid-text {
    font-size: 12px !important;
    padding: 0 !important;
  }
  .agreement-title {
    font-size: 14px;
  }
  .policy-page {
    .group-icon {
      img {
        width: 19px;
        height: 19px;
      }
    }
  }
  .coinflip-wrapper { margin-top: 12px; gap: 12px; }
  .coinflip-game { padding: 16px 14px; gap: 12px; border-radius: 16px; }
  .coinflip-parameters { gap: 8px; }
  .cf-coin-area { width: 110px; height: 110px; margin: 8px 0; }
  .cf-coin-front img, .cf-coin-back img { width: 100px; height: 100px; }
  .cf-side-hint { font-size: 13px; margin-bottom: 8px; }
  .cf-side-btn { padding: 10px 18px; border-radius: 12px; }
  .cf-side-btn img { width: 32px; height: 32px; }
  .cf-coeff-item { padding: 5px 8px; font-size: 11px; border-radius: 8px; }
  .cf-coeffs-list { gap: 4px; }
  .cf-history { padding: 4px 0; }
  .cf-game-info { padding: 10px 14px; gap: 6px; }
  .cf-btn-start, .cf-btn-cashout { padding: 12px; font-size: 14px; }
  .cf-result { padding: 12px; }
  .profile-deposite-btn {
    font-size: 12px;
  }
  .profile-gift-title {
    font-size: 16px;
  }
  .profile-gift {
    background-position: right;
  }
  .progress-label-wrapper {
    width: 224px;
  }
  .progress-label-wrapper {
    span {
      font-size: 12px;
    }
  }
  .gift-value {
    margin-top: 56px;
    p {
      font-size: 12px;
    }
    span {
      font-size: 12px;
    }
    img {
      width: 13px;
    }
  }
  .profile-statistic {
    span {
      font-size: 16px;
    }
    p {
      font-size: 12px;
    }
  }
  .active-bonuses-title {
    font-size: 12px;
  }
  .profile-data-change-title {
    font-size: 12px;
  }
  .profile-statistic {
    padding: 20px 24px 24px 24px;
    p {
      line-height: 13px;
    }
    span {
      font-size: 12px;
    }
  }
  .gift-progress-bar {
    width: 224px;
    span {
      width: 35px;
    }
  }
  .active-bonuses-card {
    padding: 24px;
  }
  .active-bonuses-card-header {
    .active-bonuses-card-icon {
      width: 40px;
      height: 40px;
    }
  }
  .active-bonuses-card-question {
    width: 24px;
    height: 24px;
  }
  .active-bonuses-card-subtitle {
    font-size: 12px;
  }
  .profile-balance {
    font-size: 12px;
    height: 44px;
    img {
      width: 14px;
    }
  }
  .profile-deposite-btn {
    height: 44px;
  }
  .profile-level {
    padding: 20px 16px 18px 16px;
    img {
      width: 117px;
      height: 117px;
      right: -38px;
      top: 5px;
    }
  }
  .chat-input {
    height: 52px;
    input {
      height: 52px;
      font-size: 12px;
    }
  }
  .send-btn {
    height: 40px;
    width: 40px;
    .icon {
      width: 19px;
      height: 19px;
    }
  }
  .smile-btn {
    min-width: 20px;
  }

  .chat-body {
    margin-top: 15px;
    /* height: calc(100vh - 68px - 158px); */
  }
  .message-value {
    font-size: 12px;
  }
  .chat-item {
    img {
      width: 48px;
      height: 48px;
    }
  }
  .active-bonuses-card-icon {
    img {
      width: 20px;
      height: 20px;
    }
  }
  .active-bonuses-card-header {
    p {
      font-size: 12px;
    }
  }
  .raffle-create-block {
    padding: 24px 20px 20px 20px;
    margin-bottom: 28px;
    background-image: url("../assets/images/wheel-bg-little.png");
  }
  .timer-part {
    p {
      font-size: 26px;
    }
  }
  .drafts-scores {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
  }

  .drafts-score-item {
    padding: 14px 26px 17px 13px;
    p {
      font-size: 12px;
    }
    span {
      font-size: 14px;
      line-height: 0;
    }
  }
  .participants-list-title {
    font-size: 12px;
  }
  .timer-separator {
    font-size: 24px;
  }
  .participant-item {
    border-radius: 10px;
    padding: 6px 20px;
    p {
      font-size: 12px;
    }
  }
  .participants-list-wrapper {
    margin-top: 28px;
  }
  .profile-info {
    p {
      font-size: 12px;
    }
    img {
      width: 28px;
      height: 28px;
    }
  }
  .header-profile-img {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    object-fit: cover;
  }
  .profile-menu-btn {
    img {
      width: 20px;
    }
  }
  .graph {
    position: absolute;
    top: 112px;
  }
  .referal-scores {
    .custom-input {
      margin-bottom: 340px;
    }
  }
  .chat-main {
    height: calc(100dvh - 70px);
  }
}
@media (max-width: 730px) {
  .active-bonuses-wrapper {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .chat-box {
    width: 100%;
    margin-top: 0;
  }
  .chat-main {
    height: calc(100dvh - 130px);
  }
}
@media (max-width: 490px) {
  .keno-game {
    width: 100%;
  }
  .keno-grid {
    grid-template-columns: repeat(8, 1fr);
    gap: 4px;
  }
  .keno-number {
    font-size: 11px;
    border-radius: 6px;
    border-width: 1.5px;
  }
  .keno-grid-wrapper {
    padding: 12px;
    border-radius: 12px;
  }
  .keno-win-overlay {
    position: fixed;
    inset: 0;
    bottom: 70px;
    background: rgba(0, 0, 0, 0.5);
  }
  .keno-win-content {
    padding: 20px 28px;
  }
  .keno-win-title { font-size: 18px; }
  .keno-win-amount { font-size: 28px; }
  .keno-win-multiplier { font-size: 14px; padding: 4px 14px; }
  .keno-payout-item { min-width: 50px; padding: 6px 4px; }
  .keno-payout-mult { font-size: 12px; }
  .keno-payout-hits { font-size: 10px; }
  .slots-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
  }
  .slot-card {
    border-radius: 8px;
  }
  .slot-card-name {
    font-size: 10px;
    padding: 5px 6px;
  }
  .slot-provider-tag {
    font-size: 8px;
    padding: 2px 5px;
  }
  .slot-fav-btn {
    opacity: 1;
    width: 26px;
    height: 26px;
    top: 5px;
    right: 5px;
  }
  .slot-fav-btn svg {
    width: 14px;
    height: 14px;
  }
  .slot-play-real {
    width: 34px;
    height: 34px;
  }
  .chat-header {
    .btn-back {
      display: flex;
    }
  }
  .wheel-of-draft {
    img {
      width: 100%;
    }
  }
  .active-bonuses-wrapper {
    grid-template-columns: 1fr;
  }
  .profile-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .profile-data-change {
    grid-column: span 2;
  }
  .profile-gift {
    grid-column: span 2;
  }
  .profile-statistic {
    grid-column: span 1;
  }
  .profile-telegram {
    grid-column: span 1;
    max-height: 133px;
  }
  .profile-level {
    grid-column: span 1;
    max-height: 133px;
  }
  .active-bonuses {
    grid-column: span 2;
  }
  .logo {
    display: none;
  }
  .logo-mobile {
    display: block;
  }
}

/* Bonus page enhancements */
.level-progress-badge {
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: linear-gradient(210.96deg, #141721 25%, #1a1f31 91%);
  border: 1px solid rgba(255, 255, 255, 0.06);
  padding: 10px 16px;
  border-radius: 12px;
  min-width: 200px;
}
.level-progress-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.level-progress-level {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
}
.level-progress-xp {
  font-size: 12px;
  color: #f0f4ff50;
  white-space: nowrap;
}
.level-progress-track {
  width: 100%;
  height: 4px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
  overflow: hidden;
}
.level-progress-fill {
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(90deg, #3d7ce0, #5d8edc);
  transition: width 0.5s ease;
}
.level-completed-badge {
  margin-top: 8px;
  font-size: 12px;
  color: #00d285;
  font-weight: 600;
}
.level-card.level-unlocked {
  opacity: 1;
}
.level-card.level-current {
  border: 2px solid #2c80ff;
  box-shadow: 0 0 12px rgba(44, 128, 255, 0.3);
}

/* Twingo modals */
.tw-modal-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  backdrop-filter: blur(4px);
}
.tw-modal {
  background: #1a1e2e;
  border-radius: 16px;
  max-width: 440px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.tw-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.tw-modal-header h3 {
  color: #f0f4ff;
  font-size: 18px;
  margin: 0;
}
.tw-modal-close {
  background: rgba(255, 255, 255, 0.1);
  border: none;
  color: #f0f4ff;
  font-size: 22px;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tw-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
}
.tw-modal-body {
  padding: 24px;
}
.tw-modal-steps {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.tw-step {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.tw-step-num {
  width: 28px;
  height: 28px;
  background: #2c80ff;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
  flex-shrink: 0;
}
.tw-step p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  margin-bottom: 10px;
}
.tw-step-btn {
  display: block;
  width: 100%;
  text-align: center;
  padding: 10px 16px;
  font-size: 13px;
  margin-bottom: 8px;
}
.tw-bind-code {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 4px;
  margin-bottom: 10px;
}
.tw-bind-code code {
  flex: 1;
  padding: 10px 12px;
  font-family: monospace;
  font-size: 14px;
  color: #2c80ff;
  word-break: break-all;
}
.tw-copy-btn {
  background: #2c80ff;
  color: #fff;
  border: none;
  padding: 8px 14px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
  flex-shrink: 0;
}
.tw-copy-btn:hover {
  background: #1a6ce6;
}
.tw-warning {
  background: rgba(255, 107, 107, 0.1);
  border: 1px solid rgba(255, 107, 107, 0.3);
  border-radius: 8px;
  padding: 12px 16px;
  color: #ff6868;
  font-size: 13px;
}
.tw-warning strong {
  display: block;
  margin-bottom: 4px;
}
#wagerResetStatus p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  margin-bottom: 6px;
}
#wagerResetStatus strong {
  color: #f0f4ff;
}

/* Autofill override — flat selectors for all browsers including Yandex */
.custom-input input:-webkit-autofill,
.custom-input input:-webkit-autofill:hover,
.custom-input input:-webkit-autofill:focus,
.custom-input input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #0f121b inset !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 0 0 1000px #0f121b inset !important;
  transition: background-color 5000s ease-in-out 0s !important;
  caret-color: #ffffff !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}
.register-block .custom-input input:-webkit-autofill,
.register-block .custom-input input:-webkit-autofill:hover,
.register-block .custom-input input:-webkit-autofill:focus,
.register-block .custom-input input:-webkit-autofill:active,
.raffle-inputs-wrapper .custom-input input:-webkit-autofill,
.raffle-inputs-wrapper .custom-input input:-webkit-autofill:hover,
.raffle-inputs-wrapper .custom-input input:-webkit-autofill:focus,
.raffle-inputs-wrapper .custom-input input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #191d2c inset !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 0 0 1000px #191d2c inset !important;
  transition: background-color 5000s ease-in-out 0s !important;
  caret-color: #ffffff !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

/* ===== Support / Tickets ===== */

.support-page {
  max-width: 800px;
  margin: 0 auto;
  padding-bottom: 40px;
}

.support-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 16px;
}

.support-create-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  font-size: 14px;
  border-radius: 12px;
  white-space: nowrap;
}

.support-create-btn .material-icons {
  font-size: 18px;
}

/* Telegram banner */
.support-tg-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: linear-gradient(135deg, rgba(0, 136, 204, 0.15) 0%, rgba(0, 162, 232, 0.08) 100%);
  border: 1px solid rgba(0, 136, 204, 0.2);
  border-radius: 14px;
  margin-bottom: 20px;
}

.support-tg-icon {
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, #0088cc, #00a2e8);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.support-tg-icon .material-icons {
  font-size: 22px;
  color: #fff;
}

.support-tg-content {
  flex: 1;
  min-width: 0;
}

.support-tg-title {
  font-weight: 600;
  font-size: 14px;
  color: #f0f4ff;
  margin-bottom: 2px;
}

.support-tg-text {
  font-size: 12px;
  color: #f0f4ff80;
}

.support-tg-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: linear-gradient(135deg, #0088cc, #00a2e8);
  color: #fff;
  border-radius: 10px;
  font-weight: 600;
  font-size: 13px;
  text-decoration: none;
  transition: all 0.2s;
  white-space: nowrap;
  flex-shrink: 0;
}

.support-tg-btn .material-icons {
  font-size: 16px;
}

.support-tg-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0, 136, 204, 0.3);
}

/* Create ticket card */
.support-card {
  background: #141721;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  margin-bottom: 20px;
  overflow: hidden;
}

.support-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.support-card-header h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 600;
  color: #f0f4ff;
  margin: 0;
}

.support-card-header h4 .material-icons {
  font-size: 20px;
  color: #3d7ce0;
}

.support-card-close {
  background: none;
  border: none;
  color: #f0f4ff50;
  cursor: pointer;
  padding: 4px;
  border-radius: 8px;
  transition: all 0.2s;
  display: flex;
}

.support-card-close:hover {
  color: #f0f4ff;
  background: rgba(255, 255, 255, 0.06);
}

.support-card-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Form fields */
.support-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.support-field label {
  font-size: 13px;
  font-weight: 500;
  color: #f0f4ff90;
}

.support-label-hint {
  font-weight: 400;
  color: #f0f4ff40;
}

.support-field input,
.support-field textarea {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 12px 14px;
  color: #f0f4ff;
  font-size: 14px;
  font-family: inherit;
  transition: border-color 0.2s;
  resize: none;
  outline: none;
  width: 100%;
  box-sizing: border-box;
}

.support-field input::placeholder,
.support-field textarea::placeholder {
  color: #f0f4ff30;
}

.support-field input:focus,
.support-field textarea:focus {
  border-color: #3d7ce0;
}

.support-select-wrap {
  position: relative;
}

.support-select-wrap select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 12px 40px 12px 14px;
  color: #f0f4ff;
  font-size: 14px;
  font-family: inherit;
  cursor: pointer;
  outline: none;
  transition: border-color 0.2s;
}

.support-select-wrap select:focus {
  border-color: #3d7ce0;
}

.support-select-wrap select option {
  background: #1a1f31;
  color: #f0f4ff;
}

.support-select-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #f0f4ff50;
  pointer-events: none;
  font-size: 20px;
}

/* File upload zone */
.support-file-zone {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 20px;
  border: 1px dashed rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s;
  color: #f0f4ff40;
  font-size: 13px;
}

.support-file-zone:hover {
  border-color: #3d7ce0;
  color: #3d7ce0;
  background: rgba(61, 124, 224, 0.04);
}

.support-file-zone .material-icons {
  font-size: 28px;
}

.support-file-selected {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: rgba(61, 124, 224, 0.1);
  border: 1px solid rgba(61, 124, 224, 0.2);
  border-radius: 10px;
  color: #f0f4ff;
  font-size: 13px;
}

.support-file-selected .material-icons:first-child {
  color: #3d7ce0;
  font-size: 18px;
}

.support-file-selected span:nth-child(2) {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.support-file-selected button {
  background: none;
  border: none;
  color: #f0f4ff50;
  cursor: pointer;
  padding: 2px;
  display: flex;
  transition: color 0.2s;
}

.support-file-selected button:hover {
  color: #ff6868;
}

.support-file-selected button .material-icons {
  font-size: 16px;
}

/* Notice & error */
.support-notice {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: rgba(61, 124, 224, 0.08);
  border-radius: 10px;
  color: #60a5fa;
  font-size: 13px;
}

.support-notice .material-icons {
  font-size: 18px;
  flex-shrink: 0;
}

.support-error {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: rgba(255, 104, 104, 0.08);
  border-radius: 10px;
  color: #ff6868;
  font-size: 13px;
}

.support-error .material-icons {
  font-size: 18px;
  flex-shrink: 0;
}

/* Submit button */
.support-submit-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: 12px;
  font-size: 14px;
  width: 100%;
}

.support-submit-btn .material-icons {
  font-size: 18px;
}

.support-btn-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-top-color: #fff;
  border-radius: 50%;
  animation: wagerSpin 0.6s linear infinite;
  display: inline-block;
}

/* Empty state */
.support-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 48px 20px;
  text-align: center;
}

.support-empty .material-icons {
  font-size: 52px;
  color: #f0f4ff15;
  margin-bottom: 16px;
}

.support-empty p {
  font-size: 16px;
  font-weight: 500;
  color: #f0f4ff;
  margin: 0 0 6px;
}

.support-empty span {
  font-size: 13px;
  color: #f0f4ff50;
}

/* Ticket list */
.support-tickets-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.support-ticket-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  background: #141721;
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 14px;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
  gap: 12px;
}

.support-ticket-item:hover {
  background: #1a1f31;
  border-color: rgba(255, 255, 255, 0.08);
  transform: translateY(-1px);
}

.support-ticket-left {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  min-width: 0;
}

.support-ticket-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.support-ticket-icon .material-icons {
  font-size: 20px;
  color: #f0f4ff50;
}

.support-ticket-info {
  flex: 1;
  min-width: 0;
}

.support-ticket-subject {
  font-size: 14px;
  font-weight: 500;
  color: #f0f4ff;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.support-ticket-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #f0f4ff40;
}

.support-ticket-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #f0f4ff25;
}

/* Ticket status badges */
.support-ticket-status {
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}

.support-ticket-status--open {
  background: rgba(61, 124, 224, 0.12);
  color: #60a5fa;
}

.support-ticket-status--answered {
  background: rgba(0, 210, 133, 0.12);
  color: #00d285;
}

.support-ticket-status--closed {
  background: rgba(255, 255, 255, 0.06);
  color: #f0f4ff40;
}

/* ===== Ticket show page ===== */

.support-ticket-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
  padding: 16px 20px;
  background: #141721;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.support-back-btn {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f0f4ff70;
  text-decoration: none;
  transition: all 0.2s;
  flex-shrink: 0;
}

.support-back-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #f0f4ff;
}

.support-ticket-header-info {
  flex: 1;
  min-width: 0;
}

.support-ticket-header-info h3 {
  font-size: 16px;
  font-weight: 600;
  color: #f0f4ff;
  margin: 0 0 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.support-ticket-header-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.support-ticket-header-cat {
  font-size: 12px;
  color: #f0f4ff40;
}

.support-ticket-header-id {
  font-size: 12px;
  color: #f0f4ff25;
  font-weight: 500;
}

.support-close-ticket-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: rgba(255, 104, 104, 0.08);
  border: 1px solid rgba(255, 104, 104, 0.15);
  border-radius: 10px;
  color: #ff6868;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
  flex-shrink: 0;
}

.support-close-ticket-btn .material-icons {
  font-size: 16px;
}

.support-close-ticket-btn:hover {
  background: rgba(255, 104, 104, 0.15);
}

/* Chat container */
.support-chat {
  background: #141721;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  padding: 20px;
  margin-bottom: 12px;
  max-height: 500px;
  overflow-y: auto;
}

.support-chat::-webkit-scrollbar {
  width: 4px;
}

.support-chat::-webkit-scrollbar-track {
  background: transparent;
}

.support-chat::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}

.support-chat-messages {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Messages */
.support-msg {
  display: flex;
  gap: 10px;
  max-width: 80%;
}

.support-msg--user {
  margin-left: auto;
  flex-direction: row-reverse;
}

.support-msg-avatar {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}

.support-msg--admin .support-msg-avatar {
  background: linear-gradient(135deg, #3d7ce0, #60a5fa);
  color: #fff;
}

.support-msg--admin .support-msg-avatar .material-icons {
  font-size: 18px;
}

.support-msg--user .support-msg-avatar {
  background: rgba(255, 255, 255, 0.06);
  color: #f0f4ff70;
}

.support-msg-bubble {
  padding: 12px 16px;
  border-radius: 14px;
  min-width: 0;
}

.support-msg--admin .support-msg-bubble {
  background: rgba(255, 255, 255, 0.04);
  border-bottom-left-radius: 4px;
}

.support-msg--user .support-msg-bubble {
  background: linear-gradient(135deg, #3d7ce0, #2a63b8);
  border-bottom-right-radius: 4px;
}

.support-msg-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}

.support-msg-author {
  font-size: 12px;
  font-weight: 600;
}

.support-msg--admin .support-msg-author {
  color: #60a5fa;
}

.support-msg--user .support-msg-author {
  color: rgba(255, 255, 255, 0.85);
}

.support-msg-time {
  font-size: 11px;
  color: #f0f4ff30;
  white-space: nowrap;
}

.support-msg--user .support-msg-time {
  color: rgba(255, 255, 255, 0.4);
}

.support-msg-text {
  font-size: 14px;
  line-height: 1.5;
  color: #f0f4ffcc;
  word-break: break-word;
}

.support-msg--user .support-msg-text {
  color: #fff;
}

/* Attachment in message */
.support-msg-file {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  margin-top: 8px;
  border-radius: 8px;
  text-decoration: none;
  font-size: 13px;
  transition: background 0.2s;
}

.support-msg--admin .support-msg-file {
  background: rgba(255, 255, 255, 0.04);
  color: #f0f4ffaa;
}

.support-msg--admin .support-msg-file:hover {
  background: rgba(255, 255, 255, 0.08);
}

.support-msg--user .support-msg-file {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}

.support-msg--user .support-msg-file:hover {
  background: rgba(255, 255, 255, 0.25);
}

.support-msg-file .material-icons {
  font-size: 16px;
}

.support-msg-file-dl {
  opacity: 0.5;
  font-size: 14px !important;
}

.support-msg-file span:nth-child(2) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 150px;
}

/* Reply form */
.support-reply {
  background: #141721;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  padding: 16px;
  overflow: hidden;
}

.support-reply-wrap {
  display: flex;
  gap: 12px;
  align-items: flex-end;
}

.support-reply-wrap textarea {
  flex: 1;
  min-width: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 12px 14px;
  color: #f0f4ff;
  font-size: 14px;
  font-family: inherit;
  resize: none;
  outline: none;
  transition: border-color 0.2s;
  min-height: 48px;
  box-sizing: border-box;
}

.support-reply-wrap textarea::placeholder {
  color: #f0f4ff30;
}

.support-reply-wrap textarea:focus {
  border-color: #3d7ce0;
}

.support-reply-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.support-reply-attach {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  color: #f0f4ff50;
}

.support-reply-attach:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #3d7ce0;
}

.support-reply-attach .material-icons {
  font-size: 20px;
}

.support-reply-send {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.support-reply-send .material-icons {
  font-size: 20px;
}

.support-reply-file {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: rgba(61, 124, 224, 0.1);
  border-radius: 8px;
  font-size: 12px;
  color: #f0f4ff;
  max-width: 160px;
}

.support-reply-file .material-icons:first-child {
  font-size: 16px;
  color: #3d7ce0;
}

.support-reply-file span:nth-child(2) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}

.support-reply-file button {
  background: none;
  border: none;
  color: #f0f4ff50;
  cursor: pointer;
  padding: 0;
  display: flex;
}

.support-reply-file button .material-icons {
  font-size: 14px;
}

.support-reply-file button:hover {
  color: #ff6868;
}

/* Closed notice */
.support-closed-notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 20px;
  background: #141721;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: #f0f4ff40;
  font-size: 14px;
}

.support-closed-notice .material-icons {
  font-size: 18px;
}

.support-closed-notice a {
  color: #3d7ce0;
  text-decoration: none;
}

.support-closed-notice a:hover {
  text-decoration: underline;
}

/* Mobile */
@media (max-width: 768px) {
  .support-page {
    padding-bottom: 100px;
  }

  .support-header {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .support-create-btn {
    justify-content: center;
  }

  .support-tg-banner {
    flex-direction: column;
    text-align: center;
    gap: 12px;
    padding: 16px;
  }

  .support-ticket-header {
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px 16px;
  }

  .support-ticket-header-info h3 {
    font-size: 14px;
    white-space: normal;
  }

  .support-close-ticket-btn span:last-child {
    display: none;
  }

  .support-msg {
    max-width: 90%;
  }

  .support-chat {
    padding: 14px;
    max-height: 400px;
  }

  .support-reply-wrap {
    flex-direction: column;
    gap: 10px;
  }

  .support-reply-actions {
    width: 100%;
    justify-content: flex-end;
  }

  .support-reply-file {
    flex: 1;
    max-width: none;
  }

  .support-card-body {
    padding: 16px;
  }

  .support-ticket-item {
    padding: 12px 14px;
  }

  .support-ticket-icon {
    display: none;
  }
}

/* =============================================
   TOURNAMENTS
   ============================================= */

/* --- List page --- */
.tournaments-wrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 40px 20px 100px;
}

.tournaments-header h1 {
  font-size: 30px;
  font-weight: 700;
  color: #f0f4ff;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}

.tournaments-header h1 .material-icons {
  font-size: 32px;
  color: #3d7ce0;
}

/* Info button (question mark) */
.tournaments-info-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  margin-left: 8px;
  vertical-align: middle;
  color: #8b949e;
}

.tournaments-info-btn:hover {
  background: rgba(61, 124, 224, 0.15);
  border-color: rgba(61, 124, 224, 0.3);
  color: #3d7ce0;
}

.tournaments-info-btn .material-icons {
  font-size: 20px;
  color: inherit;
}

/* Info popup */
.tournaments-info-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

.tournaments-info-popup.active {
  display: flex;
}

.tournaments-info-popup__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.tournaments-info-popup__content {
  position: relative;
  background: #1a1e2e;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  width: 90%;
  max-width: 440px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  z-index: 1;
}

.tournaments-info-popup__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.tournaments-info-popup__header h3 {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.tournaments-info-popup__header h3 .material-icons {
  font-size: 20px;
  color: #3d7ce0;
}

.tournaments-info-popup__close {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #8b949e;
  transition: all 0.2s;
}

.tournaments-info-popup__close:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.tournaments-info-popup__close .material-icons {
  font-size: 18px;
}

.tournaments-info-popup__body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.tournaments-info-popup__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
}

.tournaments-info-popup__item .material-icons {
  font-size: 20px;
  color: #3d7ce0;
  flex-shrink: 0;
  margin-top: 1px;
}

.tournaments-info-popup__item p {
  color: #c0c8d8;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

.tournaments-info-popup__item strong {
  color: #fff;
}

.tournaments-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.tournament-card {
  background: transparent;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 14px;
  padding: 28px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.tournament-card--active {
  background: none;
  min-height: 280px;
}

.tournament-card--active::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('/banners/3.png') center/cover no-repeat;
  z-index: 0;
  animation: tournament-bg-zoom 20s ease-in-out infinite alternate;
}

@keyframes tournament-bg-zoom {
  0% { transform: scale(1); }
  100% { transform: scale(1.08); }
}

.tournament-card--active::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(10, 13, 20, 0.82) 0%, rgba(15, 18, 27, 0.7) 50%, rgba(10, 13, 20, 0.6) 100%);
  z-index: 1;
}

.tournament-card--active .tournament-card__left,
.tournament-card--active .tournament-card__right {
  position: relative;
  z-index: 2;
}

.tournament-card:hover {
  border-color: rgba(61, 124, 224, 0.25);
  box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
}

.tournament-card__left {
  flex: 1;
  min-width: 0;
}

.tournament-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  background: rgba(61, 124, 224, 0.12);
  border: 1px solid rgba(61, 124, 224, 0.25);
  border-radius: 20px;
  color: #3d7ce0;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 10px;
}

.tournament-card__badge .material-icons {
  font-size: 14px;
}

.tournament-card__badge--finished {
  background: rgba(139, 148, 158, 0.1);
  border-color: rgba(139, 148, 158, 0.2);
  color: #8b949e;
}

.tournament-card__title {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px 0;
}

.tournament-card--active .tournament-card__title {
  font-size: 28px;
  font-weight: 800;
}

.tournament-card--active {
  padding: 36px 40px;
}

.tournament-card__desc {
  color: #8b949e;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 10px;
}

.tournament-card__meta {
  display: flex;
  gap: 20px;
  color: #6b7a99;
  font-size: 14px;
}

.tournament-card__meta span {
  display: flex;
  align-items: center;
  gap: 4px;
}

.tournament-card__meta .material-icons {
  font-size: 16px;
}

.tournament-card__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  flex-shrink: 0;
}

.tournament-card__prize {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(61, 124, 224, 0.12);
  border: 1px solid rgba(61, 124, 224, 0.25);
  border-radius: 10px;
  padding: 10px 18px;
  color: #fff;
  font-size: 22px;
  font-weight: 800;
}

.tournament-card__prize .material-icons {
  font-size: 20px;
  color: #3d7ce0;
}

.tournament-card--active .tournament-card__prize {
  font-size: 28px;
  padding: 12px 22px;
  background: rgba(61, 124, 224, 0.15);
  border-color: rgba(61, 124, 224, 0.35);
  box-shadow: 0 4px 16px rgba(61, 124, 224, 0.15);
}

.tournament-card--active .tournament-card__prize .material-icons {
  font-size: 24px;
}

.tournament-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 28px;
  background: #3d7ce0;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.tournament-card__btn:hover {
  background: #2d6ad0;
  transform: translateY(-2px);
}

.tournament-card__btn .material-icons {
  font-size: 18px;
}

.tournament-card__btn--secondary {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.tournament-card__btn--secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}

/* Empty state */
.tournament-empty {
  text-align: center;
  padding: 60px 20px;
}

.tournament-empty .material-icons {
  font-size: 64px;
  color: #3a3f50;
  margin-bottom: 16px;
}

.tournament-empty__title {
  font-size: 20px;
  font-weight: 700;
  color: #f0f4ff;
  margin-bottom: 8px;
}

.tournament-empty__text {
  color: #6b7a99;
  font-size: 15px;
}

/* Finished tournaments */
.tournaments-finished {
  margin-top: 32px;
}

.tournaments-finished__title {
  font-size: 18px;
  font-weight: 700;
  color: #f0f4ff;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.tournaments-finished__title .material-icons {
  color: #6b7a99;
  font-size: 22px;
}

/* --- Show page (smoky-style two-column layout) --- */
.tournier-page-wrapper {
  padding: 30px 20px;
  min-height: calc(100vh - 70px);
  background: transparent;
  overflow-x: hidden;
  max-width: 100%;
  box-sizing: border-box;
}

.tournier-page-container {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  overflow: hidden;
}

.tournier-info-panel {
  background: transparent;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  padding: 32px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  max-height: 1000px;
  overflow-y: auto;
  min-width: 0;
  box-sizing: border-box;
}

.tournier-info-panel::-webkit-scrollbar {
  width: 6px;
}

.tournier-info-panel::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 3px;
}

.tournier-info-panel::-webkit-scrollbar-thumb {
  background: rgba(61, 124, 224, 0.3);
  border-radius: 3px;
}

.tournier-info-panel::-webkit-scrollbar-thumb:hover {
  background: rgba(61, 124, 224, 0.5);
}

.tournier-title {
  font-size: 28px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.tournier-prize-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(61, 124, 224, 0.1);
  border: 1px solid rgba(61, 124, 224, 0.2);
  border-radius: 10px;
  padding: 10px 16px;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 24px;
}

.tournier-prize-badge .material-icons {
  font-size: 18px;
  color: #3d7ce0;
}

.tournier-description {
  color: #8b949e;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 24px;
}

.tournier-prizes-breakdown {
  background: rgba(61, 124, 224, 0.06);
  border: 1px solid rgba(61, 124, 224, 0.15);
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 24px;
}

.tournier-prizes-breakdown__title {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 12px;
}

.tournier-prizes-breakdown__title .material-icons {
  font-size: 18px;
  color: #3d7ce0;
}

.tournier-prizes-breakdown__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tournier-prizes-breakdown__item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 8px;
}

.tournier-prizes-breakdown__item::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3d7ce0;
  flex-shrink: 0;
}

.tournier-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-bottom: 24px;
}

.tournier-stat-item {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  padding: 16px;
  text-align: center;
  transition: all 0.2s ease;
}

.tournier-stat-item:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.1);
}

.tournier-stat-label {
  color: #8b949e;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 8px;
}

.tournier-stat-value {
  color: #fff;
  font-size: 18px;
  font-weight: 800;
}

/* Timer */
.tournier-timer {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  margin-bottom: 24px;
}

.tournier-timer-label {
  color: #8b949e;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 12px;
}

.tournier-timer-display {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2px;
  font-size: 32px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.tournier-timer-digit {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  padding: 8px 12px;
  width: 48px;
  min-width: 48px;
  text-align: center;
  color: #fff;
  font-size: 32px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  box-sizing: border-box;
}

.tournier-timer-separator {
  color: #fff;
  font-weight: 700;
  font-size: 32px;
  padding: 0 4px;
}

.tournier-timer-label-small {
  color: #8b949e;
  font-size: 14px;
  font-weight: 600;
  margin-left: 2px;
  margin-right: 8px;
}

/* Finished tournament message */
.tournier-finished-message {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  margin-bottom: 24px;
}

.tournier-finished-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(61, 124, 224, 0.1);
  border: 2px solid rgba(61, 124, 224, 0.2);
  border-radius: 50%;
  color: #fff;
}

.tournier-finished-icon .material-icons {
  font-size: 32px;
}

.tournier-finished-title {
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 12px;
}

.tournier-finished-text {
  color: #8b949e;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 6px;
}

/* Action button */
.tournier-action-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #3d7ce0;
  border: 1px solid rgba(61, 124, 224, 0.25);
  border-radius: 10px;
  padding: 14px 24px;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}

.tournier-action-btn:hover {
  background: #2d6ad0;
  transform: translateY(-2px);
}

.tournier-action-btn:active {
  transform: scale(0.98);
}

.tournier-action-btn .material-icons {
  font-size: 20px;
}

/* Right column */
.tournier-right-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}

/* User stats */
.tournier-user-stats {
  background: transparent;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.tournier-user-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.tournier-user-stat-item {
  text-align: center;
  padding: 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  transition: all 0.2s ease;
}

.tournier-user-stat-item:hover {
  background: rgba(255, 255, 255, 0.05);
}

.tournier-user-stat-icon {
  width: 36px;
  height: 36px;
  margin: 0 auto 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(61, 124, 224, 0.1);
  border: 1px solid rgba(61, 124, 224, 0.2);
  border-radius: 10px;
  color: #fff;
}

.tournier-user-stat-icon .material-icons {
  font-size: 18px;
  color: #3d7ce0;
}

.tournier-user-stat-value {
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 4px;
}

.tournier-user-stat-label {
  color: #8b949e;
  font-size: 13px;
  font-weight: 600;
}

/* Top-3 players */
.tournier-top-players {
  background: transparent;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.tournier-top-players-title {
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}

.tournier-top-players-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.tournier-top-player-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  padding: 16px;
  text-align: center;
  transition: all 0.3s ease;
}

.tournier-top-player-card:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.1);
  transform: translateY(-2px);
}

.tournier-top-player-avatar {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  margin: 0 auto 10px;
  background-size: cover;
  background-position: center;
  border: 2px solid rgba(61, 124, 224, 0.5);
}

.tournier-top-player-name {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tournier-top-player-stats {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tournier-top-player-stat {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 13px;
}

.tournier-top-player-stat .material-icons {
  font-size: 14px;
  color: #3d7ce0;
}

.tournier-top-player-points {
  color: #fff;
  font-weight: 700;
}

.tournier-top-player-prize {
  color: #8b949e;
  font-weight: 600;
}

/* Image Banner */
.tournier-image-banner {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  min-height: 340px;
}

.tournier-banner-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center top;
  opacity: 0.5;
  transition: transform 0.5s, opacity 0.5s;
}

.tournier-image-banner:hover .tournier-banner-bg {
  transform: scale(1.03);
  opacity: 0.6;
}

.tournier-banner-overlay {
  position: relative;
  z-index: 2;
  background: linear-gradient(0deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 60%, rgba(0,0,0,0.05) 100%);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 340px;
}

.tournier-banner-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  color: #fff;
  margin-bottom: 14px;
}

.tournier-banner-icon .material-icons {
  font-size: 24px;
}

.tournier-banner-title {
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 8px;
}

.tournier-banner-text {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 16px;
}

.tournier-banner-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #252a3b;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 10px 20px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  width: fit-content;
}

.tournier-banner-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
}

.tournier-banner-btn .material-icons {
  font-size: 16px;
}

/* Leaderboard */
.tournier-leaderboard {
  background: transparent;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.tournier-leaderboard-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.tournier-leaderboard-title {
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  margin: 0;
  letter-spacing: -0.01em;
}

.tournier-refresh-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 6px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  color: #fff;
}

.tournier-refresh-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}

.tournier-refresh-btn .material-icons {
  font-size: 20px;
  color: #3d7ce0;
}

@keyframes tournier-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.tournier-leaderboard-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}

.tournier-leaderboard-table th:nth-child(1),
.tournier-leaderboard-table td:nth-child(1) {
  width: 15%;
  min-width: 60px;
}

.tournier-leaderboard-table th:nth-child(2),
.tournier-leaderboard-table td:nth-child(2) {
  width: 40%;
  min-width: 120px;
}

.tournier-leaderboard-table th:nth-child(3),
.tournier-leaderboard-table td:nth-child(3) {
  width: 22.5%;
  min-width: 90px;
  white-space: nowrap;
}

.tournier-leaderboard-table th:nth-child(4),
.tournier-leaderboard-table td:nth-child(4) {
  width: 22.5%;
  min-width: 70px;
  white-space: nowrap;
}

.tournier-leaderboard-table thead {
  background: rgba(255, 255, 255, 0.03);
}

.tournier-leaderboard-table th {
  padding: 12px 16px;
  text-align: left;
  color: #8b949e;
  font-size: 13px;
  font-weight: 700;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.tournier-leaderboard-table td {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.03);
}

.tournier-leaderboard-table tbody tr {
  transition: all 0.2s ease;
}

.tournier-leaderboard-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.05);
}

.tournier-row--me {
  background: rgba(61, 124, 224, 0.08) !important;
}

.tournier-leaderboard-position {
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.tournier-medal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
}

.tournier-medal--gold {
  background: linear-gradient(135deg, #ffd700, #daa520);
  box-shadow: 0 2px 8px rgba(255, 215, 0, 0.3);
}

.tournier-medal--silver {
  background: linear-gradient(135deg, #c0c0c0, #a0a0a0);
  box-shadow: 0 2px 8px rgba(192, 192, 192, 0.3);
}

.tournier-medal--bronze {
  background: linear-gradient(135deg, #cd7f32, #b5651d);
  box-shadow: 0 2px 8px rgba(205, 127, 50, 0.3);
}

.tournier-leaderboard-user {
  display: flex;
  align-items: center;
  gap: 10px;
}

.tournier-leaderboard-avatar {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.tournier-leaderboard-name {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
}

.tournier-leaderboard-points {
  color: #fff;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.tournier-leaderboard-points .material-icons {
  font-size: 14px;
  color: #3d7ce0;
  flex-shrink: 0;
}

.tournier-leaderboard-games {
  color: #8b949e;
  font-weight: 600;
  font-size: 14px;
}

.tournier-leaderboard-empty {
  text-align: center;
  padding: 40px 20px;
  color: #8b949e;
}

.tournier-leaderboard-empty .material-icons {
  font-size: 48px;
  color: #3a3f50;
  margin-bottom: 12px;
  display: block;
}

.tournier-leaderboard-empty p {
  font-size: 15px;
}

/* --- Responsive --- */
@media (max-width: 1200px) {
  .tournier-page-container {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .tournaments-wrapper {
    padding: 16px 10px 60px;
  }

  .tournaments-header h1 {
    font-size: 22px;
  }

  .tournament-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
  }

  .tournament-card--active {
    padding: 24px 20px;
  }

  .tournament-card--active .tournament-card__title {
    font-size: 22px;
  }

  .tournament-card__prize {
    font-size: 16px;
    padding: 6px 10px;
    gap: 5px;
    white-space: nowrap;
  }

  .tournament-card__prize .material-icons {
    font-size: 16px;
  }

  .tournament-card--active .tournament-card__prize {
    font-size: 18px;
    padding: 8px 12px;
  }

  .tournament-card--active .tournament-card__prize .material-icons {
    font-size: 18px;
  }

  .tournament-card__right {
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }

  .tournier-top-players {
    display: none;
  }

  .tournier-page-wrapper {
    padding: 16px 10px;
  }

  .tournier-info-panel {
    padding: 20px 16px;
    max-height: none;
    overflow-y: visible;
    overflow-x: hidden;
  }

  .tournier-title {
    font-size: 22px;
    margin-bottom: 12px;
  }

  .tournier-prize-badge {
    font-size: 14px;
    padding: 8px 12px;
    margin-bottom: 16px;
  }

  .tournier-description {
    font-size: 14px;
    margin-bottom: 20px;
  }

  .tournier-stats-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 20px;
  }

  .tournier-stat-item {
    padding: 12px;
  }

  .tournier-stat-label {
    font-size: 12px;
    margin-bottom: 6px;
  }

  .tournier-stat-value {
    font-size: 16px;
  }

  .tournier-timer {
    padding: 16px;
    margin-bottom: 20px;
  }

  .tournier-timer-label {
    font-size: 12px;
    margin-bottom: 10px;
  }

  .tournier-timer-display {
    font-size: 16px;
    gap: 1px;
    flex-wrap: nowrap;
  }

  .tournier-timer-digit {
    font-size: 16px;
    padding: 4px 5px;
    width: 26px;
    min-width: 26px;
    border-radius: 6px;
  }

  .tournier-timer-separator {
    font-size: 16px;
    padding: 0 1px;
  }

  .tournier-timer-label-small {
    font-size: 10px;
    margin-left: 1px;
    margin-right: 4px;
  }

  .tournier-action-btn {
    font-size: 14px;
    padding: 12px 20px;
  }

  .tournier-user-stats {
    padding: 16px;
  }

  .tournier-user-stats-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .tournier-user-stat-icon {
    width: 32px;
    height: 32px;
    margin-bottom: 8px;
  }

  .tournier-user-stat-icon .material-icons {
    font-size: 16px;
  }

  .tournier-user-stat-value {
    font-size: 20px;
  }

  .tournier-user-stat-label {
    font-size: 12px;
  }

  .tournier-leaderboard {
    padding: 16px;
  }

  .tournier-leaderboard-title {
    font-size: 16px;
  }

  .tournier-leaderboard-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .tournier-leaderboard-table thead,
  .tournier-leaderboard-table tbody,
  .tournier-leaderboard-table tr {
    display: table;
    width: 100%;
  }

  .tournier-leaderboard-table th {
    padding: 10px 8px;
    font-size: 11px;
  }

  .tournier-leaderboard-table td {
    padding: 10px 8px;
    font-size: 11px;
  }

  .tournier-leaderboard-table th:nth-child(1),
  .tournier-leaderboard-table td:nth-child(1) {
    width: 50px;
    min-width: 50px;
  }

  .tournier-leaderboard-table th:nth-child(2),
  .tournier-leaderboard-table td:nth-child(2) {
    width: auto;
    min-width: 100px;
  }

  .tournier-leaderboard-table th:nth-child(3),
  .tournier-leaderboard-table td:nth-child(3) {
    width: 100px;
    min-width: 100px;
  }

  .tournier-leaderboard-table th:nth-child(4),
  .tournier-leaderboard-table td:nth-child(4) {
    width: 70px;
    min-width: 70px;
  }

  .tournier-leaderboard-position {
    font-size: 13px;
  }

  .tournier-leaderboard-avatar {
    width: 32px;
    height: 32px;
  }

  .tournier-leaderboard-name {
    font-size: 13px;
    max-width: 90px;
  }

  .tournier-leaderboard-points {
    font-size: 13px;
  }

  .tournier-leaderboard-points .material-icons {
    font-size: 12px;
  }

  .tournier-medal {
    width: 24px;
    height: 24px;
    font-size: 11px;
  }

  .tournier-image-banner {
    min-height: 280px;
  }

  .tournier-banner-overlay {
    min-height: 280px;
    padding: 20px 16px;
  }

  .tournier-banner-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 10px;
  }

  .tournier-banner-icon .material-icons {
    font-size: 20px;
  }

  .tournier-banner-title {
    font-size: 17px;
  }

  .tournier-banner-text {
    font-size: 13px;
    margin-bottom: 12px;
  }

  .tournier-banner-btn {
    font-size: 13px;
    padding: 8px 16px;
  }
}

@media (max-width: 480px) {
  .tournier-page-wrapper {
    padding: 12px 8px;
  }

  .tournier-info-panel {
    padding: 16px 12px;
  }

  .tournier-title {
    font-size: 20px;
  }

  .tournier-prize-badge {
    font-size: 13px;
    padding: 6px 10px;
  }

  .tournier-description {
    font-size: 13px;
  }

  .tournier-timer-display {
    font-size: 14px;
    gap: 1px;
  }

  .tournier-timer-digit {
    font-size: 14px;
    padding: 4px 4px;
    width: 24px;
    min-width: 24px;
    border-radius: 5px;
  }

  .tournier-timer-separator {
    font-size: 14px;
    padding: 0 1px;
  }

  .tournier-timer-label-small {
    font-size: 9px;
    margin-left: 1px;
    margin-right: 4px;
  }

  .tournier-stat-value {
    font-size: 15px;
  }

  .tournier-user-stat-value {
    font-size: 18px;
  }

  .tournier-leaderboard-table th,
  .tournier-leaderboard-table td {
    padding: 8px 6px;
    font-size: 10px;
  }

  .tournier-leaderboard-position,
  .tournier-leaderboard-name,
  .tournier-leaderboard-points,
  .tournier-leaderboard-games {
    font-size: 11px;
  }

  .tournier-leaderboard-name {
    max-width: 70px;
  }

  .tournier-leaderboard-points .material-icons {
    font-size: 11px;
  }

  .tournier-image-banner {
    min-height: 240px;
  }

  .tournier-banner-overlay {
    min-height: 240px;
    padding: 16px 14px;
  }

  .tournier-banner-icon {
    width: 36px;
    height: 36px;
    margin-bottom: 8px;
    border-radius: 10px;
  }

  .tournier-banner-icon .material-icons {
    font-size: 18px;
  }

  .tournier-banner-title {
    font-size: 15px;
    margin-bottom: 6px;
  }

  .tournier-banner-text {
    font-size: 12px;
    margin-bottom: 10px;
  }

  .tournier-banner-btn {
    font-size: 12px;
    padding: 8px 14px;
  }

  .tournier-finished-message {
    padding: 32px 24px;
  }

  .tournier-finished-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
  }

  .tournier-finished-icon .material-icons {
    font-size: 32px;
  }

  .tournier-finished-title {
    font-size: 20px;
    margin-bottom: 14px;
  }

  .tournier-finished-text {
    font-size: 14px;
    margin-bottom: 6px;
  }
}

/* =============================================
   GIVEAWAYS
   ============================================= */

/* --- Index page --- */
.giveaways-page {
  max-width: 900px;
  margin: 0 auto;
  padding: 24px 0;
}

.giveaways-page__header h1 {
  font-size: 28px;
  font-weight: 700;
  color: #f0f4ff;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}

.giveaways-page__header h1 .material-icons {
  font-size: 32px;
  color: #3d7ce0;
}

.giveaways-page__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.giveaway-card {
  background: #141721;
  border: 1px solid rgba(61, 124, 224, 0.15);
  border-radius: 14px;
  padding: 20px;
  transition: border-color 0.2s;
}

.giveaway-card:hover {
  border-color: rgba(61, 124, 224, 0.35);
}

.giveaway-card__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}

.giveaway-card__title {
  font-size: 20px;
  font-weight: 700;
  color: #f0f4ff;
  margin: 0;
}

.giveaway-card__id {
  font-size: 13px;
  color: #6b7a99;
  margin-top: 4px;
}

.giveaway-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  background: rgba(61, 124, 224, 0.12);
  border: 1px solid rgba(61, 124, 224, 0.25);
  border-radius: 20px;
  color: #3d7ce0;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.giveaway-card__badge .material-icons {
  font-size: 14px;
}

.giveaway-card__desc {
  color: #8a95aa;
  font-size: 14px;
  margin-bottom: 14px;
  line-height: 1.5;
}

.giveaway-card__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}

.giveaway-card__stat {
  padding: 10px;
  background: rgba(15, 18, 27, 0.5);
  border-radius: 10px;
  border: 1px solid rgba(61, 124, 224, 0.1);
}

.giveaway-card__stat-label {
  font-size: 11px;
  color: #6b7a99;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
  margin-bottom: 4px;
}

.giveaway-card__stat-value {
  font-size: 16px;
  font-weight: 700;
  color: #f0f4ff;
}

.giveaway-card__stat-value--prize {
  color: #3d7ce0;
}

.giveaway-card__prize-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  background: rgba(61, 124, 224, 0.08);
  border: 1px solid rgba(61, 124, 224, 0.15);
  border-radius: 10px;
  color: #3d7ce0;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 14px;
}

.giveaway-card__prize-banner .material-icons {
  font-size: 20px;
}

.giveaway-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.giveaway-card__time {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #6b7a99;
  font-size: 13px;
}

.giveaway-card__time .material-icons {
  font-size: 16px;
}

.giveaway-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: #3d7ce0;
  color: #fff;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s;
  white-space: nowrap;
}

.giveaway-card__btn:hover {
  background: #2d6ad0;
  color: #fff;
}

.giveaway-card__btn .material-icons {
  font-size: 16px;
}

/* Empty state */
.giveaways-page__empty {
  text-align: center;
  padding: 80px 20px;
}

.giveaways-page__empty .material-icons {
  font-size: 56px;
  color: #2a3040;
  margin-bottom: 16px;
}

.giveaways-page__empty-title {
  font-size: 22px;
  font-weight: 700;
  color: #f0f4ff;
  margin-bottom: 8px;
}

.giveaways-page__empty-text {
  color: #6b7a99;
  font-size: 15px;
}

/* --- Show page --- */
.giveaway-page {
  max-width: 900px;
  margin: 0 auto;
  padding: 24px 0;
}

.giveaway-page__header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.giveaway-page__back {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #141721;
  border: 1px solid rgba(61, 124, 224, 0.15);
  border-radius: 10px;
  color: #f0f4ff;
  text-decoration: none;
  transition: border-color 0.2s;
}

.giveaway-page__back:hover {
  border-color: #3d7ce0;
  color: #f0f4ff;
}

.giveaway-page__badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 14px;
  background: rgba(61, 124, 224, 0.12);
  border: 1px solid rgba(61, 124, 224, 0.25);
  border-radius: 20px;
  color: #3d7ce0;
  font-size: 13px;
  font-weight: 600;
}

.giveaway-page__badge .material-icons {
  font-size: 16px;
}

.giveaway-page__badge--finished {
  background: rgba(76, 175, 80, 0.12);
  border-color: rgba(76, 175, 80, 0.3);
  color: #4caf50;
}

.giveaway-page__title-block {
  text-align: center;
  margin-bottom: 28px;
  padding: 32px 20px;
  background: #141721;
  border: 1px solid rgba(61, 124, 224, 0.15);
  border-radius: 16px;
}

.giveaway-page__title {
  font-size: 32px;
  font-weight: 700;
  color: #f0f4ff;
  margin-bottom: 8px;
}

.giveaway-page__id {
  font-size: 14px;
  color: #6b7a99;
  margin-bottom: 8px;
}

.giveaway-page__desc {
  color: #8a95aa;
  font-size: 16px;
  line-height: 1.6;
  margin-top: 12px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* Conditions */
.giveaway-page__conditions {
  background: rgba(61, 124, 224, 0.06);
  border: 1px solid rgba(61, 124, 224, 0.2);
  border-radius: 14px;
  padding: 18px 22px;
  margin-bottom: 20px;
}

.giveaway-page__conditions-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
  color: #3d7ce0;
  margin-bottom: 10px;
}

.giveaway-page__conditions-header .material-icons {
  font-size: 20px;
}

.giveaway-page__conditions-body {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #8a95aa;
  font-size: 14px;
  padding-left: 28px;
}

.giveaway-page__conditions-body .material-icons {
  font-size: 20px;
  color: #3d7ce0;
}

/* Timer */
.giveaway-page__timer {
  text-align: center;
  padding: 32px 24px;
  background: #141721;
  border: 1px solid rgba(61, 124, 224, 0.2);
  border-radius: 16px;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
}

.giveaway-page__timer::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 16px;
  background: radial-gradient(circle at 50% 50%, rgba(61, 124, 224, 0.15), transparent 70%);
  animation: giveaway-pulse 2s ease-in-out infinite;
  pointer-events: none;
}

@keyframes giveaway-pulse {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 0.6; }
}

.giveaway-page__timer-label {
  font-size: 14px;
  color: #6b7a99;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.giveaway-page__timer-label .material-icons {
  font-size: 18px;
}

.giveaway-page__timer-display {
  font-size: 48px;
  font-weight: 700;
  color: #3d7ce0;
  font-family: 'Courier New', monospace;
  letter-spacing: 4px;
  position: relative;
  z-index: 1;
  text-shadow: 0 0 20px rgba(61, 124, 224, 0.4);
}

.giveaway-page__timer-finished {
  font-size: 24px;
  font-weight: 700;
  color: #4caf50;
  position: relative;
  z-index: 1;
}

/* Rules */
.giveaway-page__rules {
  background: #141721;
  border: 1px solid rgba(61, 124, 224, 0.15);
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 24px;
}

.giveaway-page__rules-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 18px;
  font-weight: 700;
  color: #f0f4ff;
  margin-bottom: 20px;
}

.giveaway-page__rules-title .material-icons {
  font-size: 22px;
  color: #3d7ce0;
}

.giveaway-page__rules-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.giveaway-page__rule {
  display: flex;
  gap: 14px;
  padding: 16px;
  background: rgba(15, 18, 27, 0.5);
  border-radius: 12px;
  border: 1px solid rgba(61, 124, 224, 0.08);
  transition: border-color 0.2s;
}

.giveaway-page__rule:hover {
  border-color: rgba(61, 124, 224, 0.2);
}

.giveaway-page__rule-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(61, 124, 224, 0.1);
  border-radius: 10px;
  border: 1px solid rgba(61, 124, 224, 0.15);
}

.giveaway-page__rule-icon .material-icons {
  font-size: 22px;
  color: #3d7ce0;
}

.giveaway-page__rule-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.giveaway-page__rule-text strong {
  color: #f0f4ff;
  font-size: 15px;
}

.giveaway-page__rule-text span {
  color: #6b7a99;
  font-size: 13px;
  line-height: 1.4;
}

/* Info grid */
.giveaway-page__info {
  background: #141721;
  border: 1px solid rgba(61, 124, 224, 0.15);
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 24px;
}

.giveaway-page__info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
}

.giveaway-page__info-item {
  text-align: center;
  padding: 14px;
  background: rgba(15, 18, 27, 0.5);
  border-radius: 10px;
  border: 1px solid rgba(61, 124, 224, 0.08);
}

.giveaway-page__info-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 11px;
  color: #6b7a99;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
  margin-bottom: 8px;
}

.giveaway-page__info-label .material-icons {
  font-size: 14px;
}

.giveaway-page__info-value {
  font-size: 22px;
  font-weight: 700;
  color: #f0f4ff;
}

.giveaway-page__info-value--prize {
  color: #3d7ce0;
  font-size: 24px;
}

/* Action button */
.giveaway-page__action {
  text-align: center;
  margin-bottom: 32px;
}

.giveaway-page__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 48px;
  background: #3d7ce0;
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}

.giveaway-page__btn:hover {
  background: #2d6ad0;
  color: #fff;
  transform: translateY(-1px);
}

.giveaway-page__btn:active {
  transform: scale(0.98);
}

.giveaway-page__btn:disabled {
  background: #2a3040;
  color: #6b7a99;
  cursor: not-allowed;
  transform: none;
}

.giveaway-page__btn--participated {
  background: rgba(76, 175, 80, 0.15);
  color: #4caf50;
  border: 1px solid rgba(76, 175, 80, 0.3);
}

/* Drawing animation */
.giveaway-page__drawing {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 48px;
  font-size: 22px;
  font-weight: 700;
  color: #3d7ce0;
}

.giveaway-page__spin {
  animation: giveaway-spin 1s linear infinite;
}

@keyframes giveaway-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.giveaway-page__drawing .material-icons {
  font-size: 44px;
}

/* Winners */
.giveaway-page__winners {
  margin-top: 32px;
}

.giveaway-page__winners-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 24px;
  font-weight: 700;
  color: #f0f4ff;
  margin-bottom: 24px;
}

.giveaway-page__winners-title .material-icons {
  font-size: 28px;
  color: #3d7ce0;
}

.giveaway-page__winners-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
}

.giveaway-page__winner-card {
  background: #141721;
  border: 1px solid rgba(61, 124, 224, 0.2);
  border-radius: 14px;
  padding: 20px;
  text-align: center;
  transition: border-color 0.2s;
}

.giveaway-page__winner-card:hover {
  border-color: rgba(61, 124, 224, 0.4);
}

.giveaway-page__winner-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  margin: 0 auto 12px;
  background: rgba(61, 124, 224, 0.15);
  border: 2px solid #3d7ce0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  color: #3d7ce0;
}

.giveaway-page__winner-name {
  font-size: 15px;
  font-weight: 600;
  color: #f0f4ff;
  margin-bottom: 8px;
  word-break: break-word;
}

.giveaway-page__winner-prize {
  font-size: 18px;
  font-weight: 700;
  color: #3d7ce0;
}

/* --- Mobile --- */
@media (max-width: 768px) {
  .giveaways-page,
  .giveaway-page {
    padding: 16px 0;
  }

  .giveaways-page__header h1 {
    font-size: 22px;
  }

  .giveaway-card {
    padding: 14px;
  }

  .giveaway-card__top {
    flex-direction: column;
    gap: 8px;
  }

  .giveaway-card__title {
    font-size: 16px;
  }

  .giveaway-card__id {
    display: none;
  }

  .giveaway-card__desc {
    display: none;
  }

  .giveaway-card__stats {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
  }

  .giveaway-card__stat {
    padding: 6px;
  }

  .giveaway-card__stat-label {
    font-size: 9px;
  }

  .giveaway-card__stat-value {
    font-size: 13px;
  }

  .giveaway-card__prize-banner {
    display: none;
  }

  .giveaway-card__footer {
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }

  .giveaway-card__time {
    font-size: 12px;
  }

  .giveaway-card__btn {
    justify-content: center;
    padding: 8px 16px;
    font-size: 13px;
  }

  .giveaway-page__title {
    font-size: 24px;
  }

  .giveaway-page__title-block {
    padding: 20px 14px;
  }

  .giveaway-page__timer-display {
    font-size: 32px;
    letter-spacing: 2px;
  }

  .giveaway-page__rules-grid {
    grid-template-columns: 1fr;
  }

  .giveaway-page__rule {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .giveaway-page__info-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .giveaway-page__info-value {
    font-size: 18px;
  }

  .giveaway-page__info-value--prize {
    font-size: 20px;
  }

  .giveaway-page__btn {
    padding: 12px 36px;
    font-size: 15px;
  }

  .giveaway-page__winners-list {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
}

/* ===== Install Banner ===== */
.install-banner {
  display: flex;
  padding: 0 16px;
  margin: 24px 0;
}
.install-banner__inner {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px 28px;
  background: linear-gradient(135deg, #141721 0%, #1a2035 50%, #0f121b 100%);
  border-radius: 16px;
  border: 1px solid rgba(61, 124, 224, 0.2);
}
.install-banner__close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  border: none;
  color: rgba(240, 244, 255, 0.3);
  cursor: pointer;
  padding: 2px;
  line-height: 1;
}
.install-banner__close:hover {
  color: #f0f4ff;
}
.install-banner__close .material-icons {
  font-size: 18px;
}
.install-banner__icon img {
  border-radius: 14px;
  display: block;
}
.install-banner__text h4 {
  color: #f0f4ff;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
}
.install-banner__text p {
  color: rgba(240, 244, 255, 0.55);
  font-size: 13px;
  line-height: 1.4;
}
.install-banner__text {
  flex: 1;
}
.install-banner__btn {
  flex-shrink: 0;
  margin-left: auto;
  padding: 10px 28px;
  background: #3d7ce0;
  color: #fff;
  border-radius: 10px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: background 0.2s;
  white-space: nowrap;
}
.install-banner__btn:hover {
  background: #2d6bd4;
}
@media (max-width: 640px) {
  .install-banner__inner {
    flex-direction: column;
    text-align: center;
    padding: 20px 16px;
    gap: 12px;
  }
  .install-banner__btn {
    width: 100%;
    text-align: center;
  }
}
