/*
  Source-asset integration
  ------------------------
  This layer intentionally comes last.  It maps the existing, working
  frontend markup to the measurements, typefaces and public artwork found in
  the supplied static archive.  Authentication and game behaviour stay in
  their own scripts/API.
*/

@font-face {
  font-family: "Olymp Display";
  src: url("../assets/original/fonts/olymp-display.woff2") format("woff2");
  font-display: swap;
  font-weight: 400 800;
}

/* Refined density: the source visual language stays intact, while the page
   occupies a calmer, more deliberate desktop measure. */
:root {
  --source-page: 1600px;
}

.page,
.topbar--authenticated + .page {
  padding-top: 24px;
  padding-bottom: 56px;
}

.page > .hero,
.topbar--authenticated + .page > .hero {
  height: clamp(282px, 16.3vw, 312px);
}

.slide,
.topbar--authenticated + .page .slide {
  padding-inline: 34px;
}

.slide__tag,
.topbar--authenticated + .page .slide__tag {
  margin-bottom: 52px;
}

.slide__title,
.topbar--authenticated + .page .slide__title {
  font-size: clamp(30px, 1.85vw, 34px);
}

.slide__sub,
.topbar--authenticated + .page .slide__sub {
  margin-bottom: 64px;
  font-size: 17px;
}

/* Fixed-size indicator buttons prevent active dots from stretching. */
.hero__dots,
.topbar--authenticated + .page .hero__dots {
  bottom: 14px;
  width: auto;
  height: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}

.hero__dots .dot,
.topbar--authenticated + .page .hero__dots .dot,
.hero__dots .dot.is-active,
.topbar--authenticated + .page .hero__dots .dot.is-active {
  display: block;
  box-sizing: border-box;
  flex: 0 0 8px;
  width: 8px;
  min-width: 8px;
  max-width: 8px;
  height: 8px;
  min-height: 8px;
  max-height: 8px;
  padding: 0;
  border-radius: 50%;
}

.cats,
.topbar--authenticated + .page .cats {
  margin-top: 34px;
  margin-bottom: 24px;
}

.cat,
.topbar--authenticated + .page .cat {
  min-height: 86px;
}

.cat__label,
.topbar--authenticated + .page .cat__label {
  font-size: 16px;
}

#rows .row,
.topbar--authenticated + .page #rows .row {
  margin-top: 24px;
  padding: 24px 26px 18px;
}

#rows .row__head,
.topbar--authenticated + .page .row__head {
  margin-bottom: 18px;
}

#rows .row__title,
.topbar--authenticated + .page .row__title {
  font-size: 23px;
}

/* Preserve wheel, touch and arrow-button scrolling without exposing a bar. */
#rows .scroller,
.topbar--authenticated + .page .scroller {
  padding-bottom: 2px;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

#rows .scroller::-webkit-scrollbar,
.topbar--authenticated + .page .scroller::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

/* Source artwork can carry its own corner marking; keep our NEW sticker
   compact and slightly left so the two never sit on top of each other. */
.card__badge--new,
.topbar--authenticated + .page .card__badge--new {
  top: 4px;
  left: 2px;
  padding: 3px 5px;
  border-radius: 4px;
  font-size: 8px;
  letter-spacing: .35px;
  line-height: 1.05;
}

/* Password recovery: use neutral CSS-drawn icons rather than text glyphs,
   so its layout is stable in every font and language. */
.auth-dialog--reset {
  width: min(calc(100vw - 32px), 440px);
  border-color: rgba(157, 181, 255, .42);
  border-radius: 14px;
  background: #111a59;
}

.auth-dialog--reset .auth-dialog__header {
  min-height: 58px;
  padding-inline: 20px 14px;
  background: #273675;
}

.auth-dialog--reset .auth-dialog__header h2 {
  font-size: 19px;
}

.auth-dialog--reset .auth-dialog__body {
  padding: 20px;
}

.auth-dialog--reset .auth-copy {
  margin: 0 0 16px;
  color: #d8e0ff;
  font-size: 13px;
  line-height: 1.45;
}

.auth-dialog--reset .auth-form {
  gap: 8px;
}

.auth-dialog--reset .auth-field {
  min-height: 50px;
  border-color: rgba(139, 164, 241, .64);
  border-radius: 9px;
  background: #1c2b70;
}

.auth-dialog--reset .auth-field input {
  height: 48px;
  font-size: 14px;
}

.auth-dialog--reset .auth-field__error {
  min-height: 0;
  margin: -4px 2px 0;
}

.auth-dialog--reset .auth-submit {
  min-height: 50px;
  margin-top: 4px;
  border-radius: 9px;
  font-size: 16px;
}

.auth-dialog--reset .auth-close {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  color: #c5d0ff;
  font-size: 26px;
  line-height: 1;
}

.auth-dialog--reset .auth-close:hover {
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

.auth-dialog--reset .auth-field__icon {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  color: #b9c8ff;
  font-size: 0;
}

.auth-dialog--reset .auth-field__icon--identifier::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 1px;
  width: 16px;
  height: 12px;
  box-sizing: border-box;
  border: 1.5px solid currentColor;
  border-radius: 3px;
}

.auth-dialog--reset .auth-field__icon--identifier::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 5px;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}

.auth-dialog--reset .auth-field__icon--code {
  border: 1.5px solid currentColor;
  border-radius: 5px;
  background:
    radial-gradient(circle, currentColor 1.25px, transparent 1.5px) 3px 3px / 6px 6px;
}

.auth-dialog--reset .auth-field__icon--password::before {
  content: "";
  position: absolute;
  right: 2px;
  bottom: 2px;
  left: 2px;
  height: 10px;
  box-sizing: border-box;
  border: 1.5px solid currentColor;
  border-radius: 3px;
}

.auth-dialog--reset .auth-field__icon--password::after {
  content: "";
  position: absolute;
  top: 0;
  left: 5px;
  width: 8px;
  height: 9px;
  box-sizing: border-box;
  border: 1.5px solid currentColor;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
}

@media (max-width: 680px) {
  .page,
  .topbar--authenticated + .page { padding-top: 18px; }

  .page > .hero,
  .topbar--authenticated + .page > .hero { height: 220px; }

  .slide__tag,
  .topbar--authenticated + .page .slide__tag { margin-bottom: 22px; }

  .slide__sub,
  .topbar--authenticated + .page .slide__sub { margin-bottom: 28px; font-size: 14px; }

  .cats,
  .topbar--authenticated + .page .cats { margin-top: 30px; }

  .cat,
  .topbar--authenticated + .page .cat { min-height: 74px; }

  #rows .row,
  .topbar--authenticated + .page #rows .row { padding: 18px 14px 14px; }

  .auth-dialog--reset { width: min(calc(100vw - 24px), 440px); }
  .auth-dialog--reset .auth-dialog__body { padding: 16px; }
}

@font-face {
  font-family: "Intro Black";
  src: url("../assets/original/fonts/intro-black.woff2") format("woff2");
  font-display: swap;
  font-weight: 400;
}

@font-face {
  font-family: "Currencies Font";
  src: url("../assets/original/fonts/currencies.woff2") format("woff2");
  font-display: swap;
  font-weight: 400;
}

:root {
  --source-page: 1750px;
  --source-offset: max(24px, calc((100vw - var(--source-page)) / 2));
  --source-ink: rgba(255, 255, 255, .92);
  --source-muted: rgba(255, 255, 255, .68);
  --source-deep: #030534;
  --source-bar: #131b62;
  --source-card: #1a286f;
  --source-card-light: #293778;
  --source-gold: #f6a913;
  --source-gold-bright: #ffc043;
  --maxw: var(--source-page);
}

html,
body {
  min-height: 100%;
  background: var(--source-deep);
  color: var(--source-ink);
  font-family: "Olymp Display", "Segoe UI", sans-serif;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

/* Shared page geometry: logging in does not change its width. */
.page,
.topbar__inner,
.footer__inner {
  width: min(var(--source-page), calc(100vw - 48px));
  max-width: none;
}

.page,
.topbar--authenticated + .page {
  width: min(var(--source-page), calc(100vw - 48px));
  max-width: none;
  margin-inline: auto;
  padding: 30px 0 64px;
}

/* Header: source dimensions, without the removed campaign/loyalty links. */
.topbar {
  background: #03042d;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.topbar__logo-row,
.topbar--authenticated .topbar__logo-row {
  position: relative;
  display: block;
  height: 54px;
  padding: 0;
  background: #03042d;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.brand--center,
.topbar--authenticated .brand--center {
  position: absolute;
  left: var(--source-offset);
  top: 50%;
  width: auto;
  transform: translateY(-50%);
  justify-content: flex-start;
}

.brand__logo,
.topbar--authenticated .brand__logo {
  width: 148px;
  height: 30px;
  object-fit: contain;
}

.topbar__session-bar,
.topbar--authenticated .topbar__session-bar {
  position: absolute;
  top: 8px;
  right: calc(var(--source-offset) + 62px);
  min-width: 0;
  margin: 0;
}

.topbar__session-items,
.topbar--authenticated .topbar__session-items {
  display: flex;
  align-items: center;
  gap: 8px;
}

.topbar__profile-control,
.topbar__wallet-control,
.topbar__logout-control {
  min-height: 36px;
  border: 0;
  color: var(--source-ink);
  background: transparent;
  font-size: 15px;
  font-weight: 700;
}

.topbar__profile-control {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 240px;
  padding: 0 6px 0 0;
  cursor: pointer;
}

.topbar__olymp-avatar,
.topbar--authenticated .topbar__olymp-avatar {
  display: grid;
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 50%;
  background: linear-gradient(145deg, #a6b8ff, #5f77de);
  color: #070938;
  font-size: 15px;
  font-weight: 800;
}

.topbar__profile-name {
  max-width: 155px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.topbar__wallet-control {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 9px;
  border-left: 1px solid rgba(255, 255, 255, .16);
  border-right: 1px solid rgba(255, 255, 255, .16);
  cursor: pointer;
}

.topbar__wallet-icon {
  width: 17px;
  height: 17px;
  background: url("../assets/original/wallet-filled.svg") center / contain no-repeat;
}

.topbar__wallet-label {
  white-space: nowrap;
}

.topbar__logout-control {
  padding: 0 2px 0 6px;
  cursor: pointer;
}

.language-switcher {
  position: absolute;
  top: 9px;
  right: var(--source-offset);
  z-index: 4;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.topbar__lang,
.topbar--authenticated .topbar__lang {
  position: static;
  width: 48px;
  height: 34px;
  min-width: 48px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 5px;
  background: #12184f;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.topbar__language-menu {
  top: 39px;
  right: 0;
  left: auto;
  min-width: 138px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 7px;
  background: #151d5c;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .4);
}

.topbar__nav-row,
.topbar--authenticated .topbar__nav-row {
  height: 63px;
  background: var(--source-bar);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.topbar__inner,
.topbar--authenticated .topbar__inner {
  height: 63px;
  padding: 0;
  gap: 24px;
}

.topnav,
.topbar--authenticated .topnav {
  height: 100%;
  display: flex;
  align-items: stretch;
  gap: 23px;
  min-width: 0;
  margin: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.topnav::-webkit-scrollbar {
  display: none;
}

.topnav__link,
.topbar--authenticated .topnav__link {
  display: inline-flex;
  align-items: center;
  position: relative;
  padding: 0;
  border: 0;
  color: rgba(255, 255, 255, .9);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.topnav__link:hover,
.topnav__link.is-active,
.topbar--authenticated .topnav__link:hover,
.topbar--authenticated .topnav__link.is-active {
  color: #fff;
  background: transparent;
}

.topnav__link.is-active::after {
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--source-gold);
}

.topnav__link--accent { color: #ef7e9e; }
.topnav__link--jet { color: #fff; }
.topnav__link--gold { color: #ffc043; }

.topbar__actions,
.topbar--authenticated .topbar__actions {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 8px;
  margin-left: auto;
}

.topbar__cash-desk,
.topbar--authenticated .topbar__cash-desk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 174px;
  height: 48px;
  padding: 0 18px;
  border: 1px solid rgba(255, 207, 77, .72);
  border-radius: 9px;
  background: var(--source-gold);
  color: #141414;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  box-shadow: none;
  cursor: pointer;
}

.topbar__cash-desk:hover {
  background: var(--source-gold-bright);
  transform: none;
}

.topbar__cash-desk-icon {
  display: block;
  width: 23px;
  height: 23px;
  object-fit: contain;
  filter: brightness(.16) saturate(.5);
}

/* Original-style game home. */
.page > .hero,
.topbar--authenticated + .page > .hero {
  height: 342px;
  border: 0;
  border-radius: 16px;
  background: #07164a;
  box-shadow: none;
}

.hero__track,
.slide,
.topbar--authenticated + .page .hero__track,
.topbar--authenticated + .page .slide {
  height: 100%;
}

.slide,
.topbar--authenticated + .page .slide {
  padding: 0 40px;
  background:
    linear-gradient(90deg, rgba(4, 12, 62, .98) 0%, rgba(4, 12, 62, .9) 35%, rgba(4, 12, 62, .22) 67%, rgba(4, 12, 62, .03) 100%),
    url("../assets/original/hero-royal.webp") center / cover no-repeat !important;
}

.slide:nth-child(2),
.slide:nth-child(3),
.slide:nth-child(4) {
  background: linear-gradient(115deg, #0b1e64, #1b347f 54%, #07113f) !important;
}

.slide::before,
.topbar--authenticated + .page .slide::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, .04), transparent 45%);
}

.slide__content,
.topbar--authenticated + .page .slide__content {
  max-width: 40%;
}

.slide__tag,
.topbar--authenticated + .page .slide__tag {
  display: inline-flex;
  gap: 10px;
  margin-bottom: 72px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0;
}

.slide__tag span {
  padding: 4px 9px;
  border-radius: 8px;
  background: rgba(5, 9, 55, .68);
  color: #fff;
  font-size: 12px;
}

.slide__title,
.topbar--authenticated + .page .slide__title {
  margin-bottom: 5px;
  color: #f3f4ff;
  font-size: 36px;
  font-weight: 800;
  line-height: 1.08;
}

.slide__sub,
.topbar--authenticated + .page .slide__sub {
  margin-bottom: 88px;
  color: rgba(255, 255, 255, .8);
  font-size: 19px;
  line-height: 1.2;
}

.slide .btn,
.topbar--authenticated + .page .slide .btn {
  min-width: 146px;
  height: 51px;
  border: 0;
  border-radius: 10px;
  background: var(--source-gold);
  color: #121212;
  font-size: 19px;
  font-weight: 800;
}

.hero__dots,
.topbar--authenticated + .page .hero__dots {
  bottom: -30px;
}

.dot,
.topbar--authenticated + .page .dot {
  width: 10px;
  height: 10px;
  border: 1px solid rgba(255, 255, 255, .7);
  background: transparent;
}

.dot.is-active,
.topbar--authenticated + .page .dot.is-active {
  width: 10px;
  border-color: var(--source-gold);
  border-radius: 50%;
  background: var(--source-gold);
  box-shadow: 0 0 0 2px rgba(246, 169, 19, .2);
}

.cats,
.topbar--authenticated + .page .cats {
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 10px;
  margin: 44px 0 30px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cat,
.topbar--authenticated + .page .cat {
  min-height: 94px;
  gap: 9px;
  padding: 13px 8px;
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 10px;
  background: #18256e;
}

.cat:hover,
.topbar--authenticated + .page .cat:hover {
  background: #222f78;
  transform: none;
}

.cat.is-active,
.topbar--authenticated + .page .cat.is-active {
  border-color: var(--source-gold);
  background: #182267;
  box-shadow: none;
}

.cat__img,
.topbar--authenticated + .page .cat__img {
  width: 36px;
  height: 36px;
  filter: brightness(0) invert(1);
  opacity: .93;
}

.cat.is-active .cat__img {
  filter: brightness(0) saturate(100%) invert(74%) sepia(87%) saturate(1192%) hue-rotate(349deg) brightness(100%) contrast(94%);
}

.cat__label,
.topbar--authenticated + .page .cat__label {
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
}

#rows,
.topbar--authenticated + .page #rows {
  margin-top: 0;
}

#rows .row,
.topbar--authenticated + .page #rows .row {
  margin-top: 30px;
  padding: 28px 30px 22px;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(16, 27, 103, .68), rgba(3, 5, 52, 0) 90%);
  box-shadow: none;
}

#rows .row::before,
.topbar--authenticated + .page #rows .row::before {
  display: none;
}

#rows .row__head,
.topbar--authenticated + .page #rows .row__head {
  margin-bottom: 24px;
  padding-left: 0;
}

#rows .row__head::before {
  display: none;
}

#rows .row__title,
.topbar--authenticated + .page .row__title {
  font-size: 25px;
  font-weight: 800;
}

#rows .row__icon {
  min-width: 26px;
  width: 26px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #ff6a52;
  font-size: 20px;
}

#rows .row--hot .row__icon {
  background: url("../assets/original/hot.svg") center / contain no-repeat;
  color: transparent;
  font-size: 0;
}

#rows .row__all,
.topbar--authenticated + .page .row__all {
  color: #fff;
  font-size: 17px;
  font-weight: 700;
}

#rows .row__nav,
.topbar--authenticated + .page .row__nav {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 8px;
  background: #17215d;
  color: #c8d2ff;
}

#rows .scroller,
.topbar--authenticated + .page .scroller {
  grid-auto-flow: column;
  grid-template-columns: none;
  grid-auto-columns: calc((100% - 50px) / 6);
  gap: 12px 10px;
  padding: 0 0 12px;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
}

#rows .row--hot .scroller,
.topbar--authenticated + .page .row--hot .scroller {
  grid-template-rows: repeat(2, auto);
}

.card__art,
.topbar--authenticated + .page .card__art {
  border: 0;
  border-radius: 6px;
  box-shadow: none;
}

.card:hover .card__art {
  transform: translateY(-2px);
  border-color: transparent;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .35);
}

.card__label,
.topbar--authenticated + .page .card__label {
  min-height: 21px;
  margin-top: 8px;
  color: #d7ddff;
  font-size: 17px;
  font-weight: 400;
  line-height: 20px;
  -webkit-line-clamp: 1;
}

.card__favourite {
  color: #d7ddff;
  font-size: 22px;
}

/* The account panel retains the existing safe actions but adopts source layout. */
.auth-modal__backdrop--dashboard {
  display: block;
  overflow: auto;
  padding: 0;
  background: rgba(3, 5, 52, .98);
}

.auth-dashboard {
  width: min(var(--source-page), calc(100vw - 48px));
  max-width: none;
  min-height: min(100dvh, 940px);
  margin: 0 auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--source-ink);
}

.auth-dashboard__header {
  min-height: 108px;
  padding: 20px 0 16px;
  border: 0;
  background: transparent;
}

.auth-dashboard__identity {
  gap: 12px;
}

.auth-dashboard__avatar {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(145deg, #9ec1ff, #5673d6);
  color: #061044;
  font-size: 25px;
  font-weight: 800;
}

.auth-dashboard__identity-copy strong {
  max-width: 390px;
  color: #fff;
  font-size: 21px;
  font-weight: 800;
}

.auth-dashboard__identity-copy small {
  color: #c5ceff;
  font-size: 14px;
}

.auth-dashboard__header-actions {
  gap: 24px;
}

.auth-dashboard__promo {
  min-height: 50px;
  padding: 0 20px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 12px;
  background: #11184e;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  opacity: 1;
}

.auth-dashboard__promo-icon {
  width: 23px;
  height: 23px;
  background: url("../assets/original/gift.svg") center / contain no-repeat;
}

.auth-dashboard__exit {
  min-height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
}

.auth-dashboard__close {
  width: 42px;
  min-height: 42px;
  border: 0;
  background: transparent;
}

.auth-dashboard__layout {
  grid-template-columns: minmax(280px, 320px) minmax(430px, 1fr) minmax(350px, .86fr);
  gap: 16px;
  padding: 0 0 36px;
}

.auth-dashboard__sidebar {
  overflow: hidden;
  border: 0;
  border-radius: 10px;
  background: #172465;
}

.auth-dashboard__nav-item {
  min-height: 61px;
  padding: 0 18px;
  border: 0;
  border-bottom: 1px solid rgba(3, 5, 52, .7);
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
}

.auth-dashboard__nav-item.is-active {
  background: #283777;
}

.auth-dashboard__nav-item i {
  border-color: #cbd4ff;
}

.auth-dashboard__nav-icon {
  width: 26px;
  height: 26px;
}

.auth-dashboard__balances {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.auth-dashboard__balances > h2,
.auth-dashboard__history h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: 27px;
  font-weight: 800;
}

.auth-dashboard__balance-row {
  min-height: 54px;
  margin-bottom: 10px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  background: #293778;
}

.auth-dashboard__balance-row strong {
  color: #fff;
  font-size: 20px;
}

.auth-dashboard__balance-icon {
  width: 52px;
  height: 52px;
  border-right: 1px solid rgba(255, 255, 255, .12);
  background-color: rgba(255, 255, 255, .04);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 25px;
}

.auth-dashboard__balance-icon--wallet {
  background-image: url("../assets/original/wallet-filled.svg");
}

.auth-dashboard__balance-icon--gift {
  background-image: url("../assets/original/gift.svg");
}

.auth-dashboard__choice {
  width: 31px;
  height: 31px;
  margin-right: 14px;
  border-color: #9eb1ff;
}

.auth-dashboard__choice.is-selected::after {
  width: 17px;
  height: 17px;
  background: var(--source-gold);
}

.auth-dashboard__deposit {
  min-height: 51px;
  margin: 5px 0 20px;
  border: 0;
  border-radius: 10px;
  background: var(--source-gold);
  color: #121212;
  font-size: 20px;
  font-weight: 800;
}

.auth-dashboard__cashback {
  min-height: 54px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 8px;
  background: #293778;
}

.auth-dashboard__cashback-icon {
  width: 28px;
  height: 28px;
  background: url("../assets/original/cashback.svg") center / contain no-repeat;
}

.auth-dashboard__cashback strong {
  font-size: 20px;
}

.auth-dashboard__cashback button {
  min-height: 46px;
  margin: 10px 0 0;
  border-radius: 8px;
  background: #293778;
  color: #fff;
  font-size: 18px;
  opacity: 1;
}

.auth-dashboard__security {
  margin-top: 28px;
  padding: 19px 20px;
  border: 1px solid rgba(128, 111, 255, .45);
  border-radius: 12px;
  background: #31328a;
}

.auth-dashboard__security-title h3 {
  color: #fff;
  font-size: 19px;
}

.auth-dashboard__security-icon {
  background-image: url("../assets/original/profile.svg");
}

.auth-dashboard__contact {
  border-color: rgba(255, 255, 255, .15);
}

.auth-dashboard__contact > div > span,
.auth-dashboard__contact em,
.auth-dashboard__legal,
.auth-dashboard__legal a {
  color: #d4dbff;
}

.auth-dashboard__contact strong {
  color: #fff;
}

.auth-dashboard__contact-actions button,
.auth-dashboard__security-actions button,
.auth-dashboard__google {
  border-color: rgba(255, 255, 255, .25);
  background: rgba(5, 8, 56, .36);
  color: #fff;
}

.auth-dashboard__history {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 0;
  background: transparent;
}

.auth-dashboard__history header {
  min-height: 47px;
  padding: 0;
}

.auth-dashboard__history header button {
  color: #fff;
  font-size: 17px;
  font-weight: 700;
}

.auth-dashboard__filter {
  min-height: 70px;
  margin: 0;
  padding: 0 32px;
  border: 0;
  border-radius: 12px 12px 0 0;
  background: #293778;
  color: #fff;
  font-size: 19px;
  font-weight: 700;
}

.auth-dashboard__empty {
  min-height: 550px;
  flex: 1 1 auto;
  gap: 28px;
  border: 0;
  border-radius: 0 0 12px 12px;
  background: #172465;
}

.auth-dashboard__empty-art {
  width: 128px;
  height: 128px;
  border: 0;
  border-radius: 0;
  background: url("../assets/original/cas-empty.webp") center / contain no-repeat;
}

.auth-dashboard__empty-art::before,
.auth-dashboard__empty-art::after {
  display: none;
}

.auth-dashboard__empty strong {
  max-width: 400px;
  color: #fff;
  font-size: 20px;
  font-weight: 800;
}

@media (max-width: 1250px) {
  :root { --source-offset: 24px; }

  .topnav,
  .topbar--authenticated .topnav { gap: 16px; }

  .topnav__link,
  .topbar--authenticated .topnav__link { font-size: 16px; }

  .auth-dashboard__layout {
    grid-template-columns: 250px minmax(400px, 1fr) minmax(310px, .8fr);
  }
}

@media (max-width: 980px) {
  .topbar__profile-name,
  .topbar__logout-control { display: none; }

  .topbar__session-bar,
  .topbar--authenticated .topbar__session-bar { right: calc(var(--source-offset) + 58px); }

  .topbar__wallet-control { padding-inline: 7px; }
  .topbar__wallet-label { font-size: 0; }
  .topbar__wallet-label::after { content: "0 USDT"; font-size: 13px; }

  .topbar__cash-desk,
  .topbar--authenticated .topbar__cash-desk { min-width: 136px; padding-inline: 12px; font-size: 16px; }

  .topnav,
  .topbar--authenticated .topnav { gap: 14px; }

  .cats,
  .topbar--authenticated + .page .cats { grid-template-columns: repeat(5, minmax(0, 1fr)); }

  #rows .scroller,
  .topbar--authenticated + .page .scroller { grid-auto-columns: calc((100% - 30px) / 4); }

  .auth-dashboard__layout { grid-template-columns: 230px minmax(0, 1fr); }
  .auth-dashboard__history { grid-column: 1 / -1; }
  .auth-dashboard__empty { min-height: 300px; }
}

@media (max-width: 680px) {
  :root { --source-offset: 12px; }

  .page,
  .topbar__inner,
  .footer__inner,
  .page,
  .topbar--authenticated + .page,
  .auth-dashboard { width: calc(100vw - 24px); }

  .topbar__logo-row,
  .topbar--authenticated .topbar__logo-row { height: 50px; }

  .brand__logo,
  .topbar--authenticated .brand__logo { width: 122px; height: 25px; }

  .topbar__session-bar,
  .topbar--authenticated .topbar__session-bar { top: 8px; right: 59px; }

  .topbar__olymp-avatar,
  .topbar--authenticated .topbar__olymp-avatar { width: 30px; height: 30px; font-size: 13px; }
  .topbar__wallet-control { min-height: 31px; }
  .topbar__wallet-icon { width: 15px; height: 15px; }
  .topbar__wallet-label::after { font-size: 11px; }

  .language-switcher {
    position: fixed;
    top: 8px;
    right: 12px;
    z-index: 100;
  }
  .topbar__lang,
  .topbar--authenticated .topbar__lang { width: 43px; min-width: 43px; height: 31px; font-size: 11px; }

  .topbar__nav-row,
  .topbar--authenticated .topbar__nav-row { height: 48px; }

  .topbar__inner,
  .topbar--authenticated .topbar__inner { height: 48px; gap: 10px; }

  .topnav,
  .topbar--authenticated .topnav { gap: 13px; }

  .topnav__link,
  .topbar--authenticated .topnav__link { font-size: 14px; }

  .topbar__cash-desk,
  .topbar--authenticated .topbar__cash-desk { min-width: 43px; width: 43px; height: 36px; padding: 0; border-radius: 7px; }
  .topbar__cash-desk-label { display: none; }
  .topbar__cash-desk-icon { width: 20px; height: 20px; }

  .page,
  .topbar--authenticated + .page { padding-top: 18px; }

  .page > .hero,
  .topbar--authenticated + .page > .hero { height: 220px; border-radius: 12px; }

  .slide,
  .topbar--authenticated + .page .slide { padding: 0 18px; }

  .slide__content,
  .topbar--authenticated + .page .slide__content { max-width: 82%; }

  .slide__tag,
  .topbar--authenticated + .page .slide__tag { margin-bottom: 22px; font-size: 11px; }
  .slide__title,
  .topbar--authenticated + .page .slide__title { font-size: 25px; }
  .slide__sub,
  .topbar--authenticated + .page .slide__sub { margin-bottom: 28px; font-size: 14px; }
  .slide .btn,
  .topbar--authenticated + .page .slide .btn { min-width: 126px; height: 40px; font-size: 15px; }

  .cats,
  .topbar--authenticated + .page .cats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 34px 0 20px; }
  .cat,
  .topbar--authenticated + .page .cat { min-height: 74px; border-radius: 8px; }
  .cat__img,
  .topbar--authenticated + .page .cat__img { width: 28px; height: 28px; }
  .cat__label,
  .topbar--authenticated + .page .cat__label { font-size: 13px; }

  #rows .row,
  .topbar--authenticated + .page #rows .row { margin-top: 16px; padding: 18px 14px 16px; }
  #rows .row__title,
  .topbar--authenticated + .page .row__title { font-size: 20px; }
  #rows .scroller,
  .topbar--authenticated + .page .scroller { grid-auto-columns: calc((100% - 12px) / 2); gap: 12px; }
  .card__label,
  .topbar--authenticated + .page .card__label { font-size: 14px; line-height: 17px; }

  .auth-dashboard__header { min-height: 78px; padding: 12px 0; }
  .auth-dashboard__avatar { width: 43px; height: 43px; font-size: 18px; }
  .auth-dashboard__identity-copy strong { max-width: 155px; font-size: 15px; }
  .auth-dashboard__identity-copy small { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
  .auth-dashboard__header-actions { gap: 4px; }
  .auth-dashboard__promo { display: none; }
  .auth-dashboard__exit { display: none; }
  .auth-dashboard__close { width: 34px; min-height: 34px; }
  .auth-dashboard__layout { grid-template-columns: 1fr; gap: 14px; padding-bottom: 24px; }
  .auth-dashboard__sidebar { display: grid; grid-template-columns: repeat(5, minmax(100px, 1fr)); overflow-x: auto; }
  .auth-dashboard__nav-item { min-height: 75px; padding: 8px 5px; grid-template-columns: 1fr; gap: 4px; border-right: 1px solid rgba(3, 5, 52, .7); border-bottom: 0; text-align: center; font-size: 11px; }
  .auth-dashboard__nav-item i { display: none; }
  .auth-dashboard__nav-icon { width: 19px; height: 19px; }
  .auth-dashboard__balances > h2,
  .auth-dashboard__history h2 { font-size: 21px; }
  .auth-dashboard__balance-row strong,
  .auth-dashboard__cashback strong { font-size: 15px; }
  .auth-dashboard__deposit { min-height: 46px; font-size: 16px; }
  .auth-dashboard__security { margin-top: 18px; padding: 14px; }
  .auth-dashboard__history { grid-column: auto; }
  .auth-dashboard__filter { min-height: 55px; padding: 0 18px; font-size: 16px; }
  .auth-dashboard__empty { min-height: 240px; gap: 16px; }
  .auth-dashboard__empty-art { width: 86px; height: 86px; }
  .auth-dashboard__empty strong { font-size: 15px; }
}
