:root {
  --vave-bg: #10171d;
  --vave-surface: #19232b;
  --vave-surface-raised: #1c252d;
  --vave-border: #35444e;
  --vave-border-accent: #22474f;
  --vave-primary: #2bc69d;
  --vave-primary-bright: #01dcba;
  --vave-primary-soft: #6bd7ba;
  --vave-text: #ffffff;
  --vave-muted: #94aeb4;
  --vave-purple: #7f30cb;
  --vave-gold: #f6c23c;
  --vave-danger: #ff4e4e;
}

html,
body {
  background: var(--vave-bg);
  color: var(--vave-text);
}
body::before {
  background: radial-gradient(
    circle at 50% -10%,
    rgb(43 198 157 / 12%),
    transparent 38rem
  );
}

.site-header,
.mobile-menu,
.article-sidebar,
.side-menu,
.article-nav-nav,
.registration-card,
.bet-slip,
.cookie,
.language-menu {
  background-color: var(--vave-surface);
  border-color: var(--vave-border);
}

.article-section,
.content-section,
.reviews-section,
.home-app-banner,
.bonus-banner-section,
.bonus-final-cta,
.review-card,
.faq-item {
  background: linear-gradient(145deg, rgb(28 37 45 / 98%), rgb(25 35 43 / 98%));
  border-color: var(--vave-border-accent);
  border-left-color: var(--vave-primary);
}

.article-section p,
.content-section p,
.article-section li,
.content-section li,
.hero-description,
.review-body {
  color: var(--vave-muted);
}

a {
  color: var(--vave-primary-soft);
}
a:hover {
  color: var(--vave-primary-bright);
}

.button-primary,
.registration-card .signup-button,
.bet-slip .signup-button,
.promo-banner-cta,
.section-bonus-cta,
.section-cta-link,
.app-banner-btn,
.app-download-btn,
.cookie button,
.scroll-top,
.slot-library-play,
.reviews-controls .reviews-control,
.reviews-controls .reviews-toggle {
  color: #071b17;
  background: linear-gradient(
    135deg,
    var(--vave-primary-bright),
    var(--vave-primary)
  );
  border-color: var(--vave-primary-soft);
  box-shadow: 0 8px 22px rgb(1 220 186 / 18%);
}

.button-primary:hover,
.promo-banner-cta:hover,
.app-banner-btn:hover,
.app-download-btn:hover {
  color: #071b17;
  background: var(--vave-primary-soft);
}

.app-download-btn:hover,
.app-download-btn:focus-visible,
.app-download-btn:active {
  color: #071b17 !important;
}

.app-download-btn:hover img,
.app-download-btn:focus-visible img,
.app-download-btn:active img {
  filter: brightness(0) saturate(100%);
}

.latest-winners {
  min-width: 0;
  margin: 0;
}

.hero + .latest-winners {
  margin-block-start: -14px !important;
}

.latest-winners h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(21px, 2.1vw, 25px);
  font-weight: 850;
  line-height: 1.15;
}

.latest-winners-viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
  outline: none;
  mask-image: linear-gradient(
    to right,
    transparent,
    #000 12px,
    #000 calc(100% - 12px),
    transparent
  );
}

.latest-winners-viewport:focus-visible {
  border-radius: 9px;
  outline: 2px solid var(--vave-primary);
  outline-offset: 3px;
}

.latest-winners-track {
  display: flex;
  width: max-content;
  gap: 10px;
  will-change: transform;
  animation: latest-winners-marquee 90s linear infinite;
}

.latest-winners-viewport:hover .latest-winners-track,
.latest-winners-viewport:focus-within .latest-winners-track {
  animation-play-state: paused;
}

.latest-winner-card {
  flex: 0 0 210px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
  height: 72px;
  padding: 7px;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  border: 1px solid rgb(53 68 78 / 45%);
  border-radius: 9px;
  background: rgb(9 20 28 / 92%);
  transition:
    border-color 160ms ease,
    background-color 160ms ease,
    transform 160ms ease;
}

.latest-winner-card:hover,
.latest-winner-card:focus-visible {
  color: #fff;
  border-color: rgb(43 198 157 / 72%);
  background: rgb(12 30 39 / 98%);
  transform: translateY(-1px);
}

.latest-winner-cover {
  width: 58px;
  height: 58px;
  object-fit: cover;
  border-radius: 7px;
}

.latest-winner-copy {
  display: grid;
  gap: 1px;
  min-width: 0;
  line-height: 1.1;
}

.latest-winner-game,
.latest-winner-copy small,
.latest-winner-amount {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.latest-winner-game {
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.latest-winner-copy small {
  color: var(--vave-muted);
  font-size: 9px;
  font-weight: 700;
}

.latest-winner-amount {
  margin-top: 2px;
  color: #39e4ae;
  font-size: 12px;
  font-weight: 850;
}

.latest-winner-amount b {
  color: #fff;
  font-weight: 800;
}

@keyframes latest-winners-marquee {
  to {
    transform: translateX(calc(-50% - 5px));
  }
}

html[dir="rtl"]
  :is(
    .hero-copy,
    .article-section,
    .content-section,
    .reviews-section,
    .faq-item,
    .bonus-banner-copy,
    .promo-banner-copy,
    .app-banner-copy,
    .registration-card,
    .bet-slip,
    .side-menu,
    .article-nav-nav,
    .cookie
  ) {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] :is(h1, h2, h3, h4, p, li, summary, th, td, figcaption) {
  unicode-bidi: plaintext;
}

html[dir="rtl"] .latest-winners {
  direction: ltr;
}

html[dir="rtl"]
  :is(.slots-lane, .slots-track, .slots-group, .vave-review-carousel__track) {
  direction: ltr;
}

html[dir="rtl"] .slots-lane--forward .slots-track {
  animation-name: vave-slots-reverse;
}

html[dir="rtl"] .slots-lane--reverse .slots-track {
  animation-name: vave-slots-forward;
}

html[dir="rtl"] .latest-winners-track {
  animation-direction: reverse;
}

html[dir="rtl"] .vave-review-carousel__card {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] .primary-nav {
  margin-right: 0;
  margin-left: auto;
}

html[dir="rtl"] .list-feature {
  direction: ltr;
}

html[dir="rtl"] .list-feature__content {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] .latest-winners > h2 {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] .language-menu {
  direction: ltr;
  text-align: left;
}

html[dir="rtl"] .hero :is(.hero-img, .hero-scene-image),
html[dir="rtl"] .hero-media-cycle img {
  transform: scaleX(-1);
}

html[dir="rtl"] .hero::after,
html[dir="rtl"] .hero:has(> .hero-media-cycle)::after,
html[dir="rtl"] .hero:not(:has(> .hero-media-cycle))::after {
  background:
    radial-gradient(ellipse at 80% 64%, rgb(34 201 157 / 26%), transparent 50%),
    linear-gradient(
      270deg,
      rgb(7 25 37 / 88%) 0%,
      rgb(7 25 37 / 72%) 30%,
      rgb(7 25 37 / 46%) 50%,
      rgb(7 25 37 / 16%) 70%,
      transparent 86%
    );
}

@media (max-width: 760px) {
  html[dir="rtl"] body .hero .hero-copy {
    width: 62%;
    max-width: 62%;
    padding: 16px 12px;
    background: rgb(8 31 43 / 82%);
  }
}

.winners-ledger {
  min-width: 0;
  padding: 0;
  overflow: hidden;
  color: #fff;
  border: 1px solid rgb(53 68 78 / 68%);
  border-radius: 10px;
  background: rgb(18 29 37 / 98%);
  box-shadow: 0 18px 42px rgb(0 0 0 / 18%);
}

.winners-ledger-toolbar {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) minmax(440px, 1fr);
  align-items: center;
  gap: 24px;
  padding: 16px 24px;
}

.winners-ledger-toolbar h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(19px, 2vw, 23px);
  font-weight: 850;
  line-height: 1.15;
}

.winners-ledger-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3px;
  padding: 4px;
  border-radius: 9px;
  background: rgb(35 77 84 / 88%);
}

.winners-ledger-tabs button {
  min-height: 38px;
  padding: 8px 12px;
  color: #fff;
  font: inherit;
  font-size: 13px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  transition:
    color 160ms ease,
    background-color 160ms ease,
    box-shadow 160ms ease;
}

.winners-ledger-tabs button:hover {
  background: rgb(43 198 157 / 16%);
}

.winners-ledger-tabs button[aria-selected="true"] {
  color: #071b17;
  font-weight: 800;
  background: var(--vave-primary);
  box-shadow: 0 5px 15px rgb(1 220 186 / 18%);
}

.winners-ledger-tabs button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -3px;
}

.winners-ledger-scroll {
  overflow-x: auto;
  border-block: 1px solid rgb(53 68 78 / 56%);
  border-inline: 0;
  border-radius: 0 0 8px 8px;
  scrollbar-color: var(--vave-primary) rgb(9 20 28 / 70%);
}

.winners-ledger-table {
  min-width: 850px;
}

.winners-ledger-head,
.winners-ledger-row {
  display: grid;
  grid-template-columns:
    minmax(310px, 2.25fr) minmax(150px, 1fr) minmax(170px, 1fr)
    minmax(210px, 1fr);
  align-items: center;
}

.winners-ledger-head {
  min-height: 42px;
  color: var(--vave-muted);
  font-size: 12px;
  border-bottom: 1px solid var(--vave-border);
  background: rgb(13 23 30 / 82%);
}

.winners-ledger-head span {
  padding: 0 14px;
}

.winners-ledger-head span:first-child {
  padding-left: 24px;
  color: #fff;
  font-weight: 800;
}

.winners-ledger-row {
  min-height: 68px;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgb(53 68 78 / 64%);
  background: rgb(24 36 44 / 92%);
  animation: winners-ledger-row-in 220ms ease both;
  transition: background-color 160ms ease;
}

.winners-ledger-row:last-child {
  border-bottom: 0;
}

.winners-ledger-row:hover,
.winners-ledger-row:focus-visible {
  color: #fff;
  background: rgb(29 48 56 / 98%);
}

.winners-ledger-row:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid var(--vave-primary);
  outline-offset: -2px;
}

.winners-ledger-game,
.winners-ledger-player,
.winners-ledger-value,
.winners-ledger-payout {
  min-width: 0;
  margin: 0 10px;
}

.winners-ledger-game {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin-left: 24px;
}

.winners-ledger-game > img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 7px;
}

.winners-ledger-game strong,
.winners-ledger-player {
  overflow: hidden;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.winners-ledger-value {
  display: flex;
  align-items: center;
  gap: 7px;
}

.winners-ledger-value img,
.winners-ledger-payout img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.winners-ledger-value strong,
.winners-ledger-payout strong {
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.winners-ledger-payout {
  position: relative;
  display: flex;
  min-height: 56px;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 9px 10px;
  border-radius: 9px;
  background: rgb(8 19 26 / 78%);
  margin-right: 24px;
}

.winners-ledger-payout em {
  position: absolute;
  top: 6px;
  right: 9px;
  padding: 4px 7px;
  color: #dffbf3;
  font-size: 12px;
  font-style: normal;
  line-height: 1;
  border-radius: 5px;
  background: rgb(31 102 91 / 92%);
}

.winners-ledger-payout .winners-ledger-multiplier--high {
  color: #fff;
  background: linear-gradient(115deg, #18c8cf 0%, #6245cc 100%);
  box-shadow: 0 3px 12px rgb(36 112 190 / 28%);
}

.winners-ledger-payout > span {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #ffc21c;
}

.winners-ledger-payout strong {
  color: #ffc21c;
}

@keyframes winners-ledger-row-in {
  from {
    opacity: 0.45;
    transform: translateY(3px);
  }
}

@media (max-width: 760px) {
  .winners-ledger {
    padding: 12px;
  }

  .winners-ledger-toolbar {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 0 0 12px;
  }

  .winners-ledger-tabs button {
    min-height: 40px;
    padding-inline: 7px;
    font-size: 11px;
  }
}

.hot-cold-slots {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 28px;
}

.slot-temperature-panel {
  min-width: 0;
  padding: 16px;
  overflow: hidden;
  color: #fff;
  border: 1px solid var(--vave-border);
  border-radius: 10px;
  background-color: var(--vave-surface);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  box-shadow: 0 16px 36px rgb(0 0 0 / 18%);
}

.slot-temperature-panel--hot {
  border-color: rgb(156 68 76 / 58%);
  background-image:
    linear-gradient(120deg, rgb(32 24 29 / 87%), rgb(17 27 35 / 94%)),
    url("../img/vave/hot-cold-slots/hot-bg.webp");
}

.slot-temperature-panel--cold {
  border-color: rgb(57 166 199 / 60%);
  background-image:
    linear-gradient(120deg, rgb(17 65 87 / 84%), rgb(15 44 61 / 92%)),
    url("../img/vave/hot-cold-slots/cold-bg.webp");
}

.slot-temperature-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 50px;
  margin-bottom: 10px;
}

.slot-temperature-header h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #fff;
  font-size: clamp(19px, 2vw, 24px);
  line-height: 1.1;
}

.slot-temperature-header h2 img {
  width: 25px;
  height: 25px;
  object-fit: contain;
}

.slot-temperature-period {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 4px;
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
}

.slot-temperature-help {
  display: inline-grid;
  width: 21px;
  height: 21px;
  place-items: center;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.slot-temperature-list {
  display: grid;
  gap: 8px;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.hot-cold-slots.is-changing .slot-temperature-list {
  opacity: 0;
  transform: translateY(5px);
}

.temperature-slot-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-height: 70px;
  padding: 5px 10px 5px 5px;
  color: #fff;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 9px;
  background: rgb(9 23 33 / 78%);
  transition:
    border-color 160ms ease,
    background-color 160ms ease,
    transform 160ms ease;
}

.temperature-slot-card[hidden] {
  display: none;
}

.temperature-slot-card:hover,
.temperature-slot-card:focus-visible {
  color: #fff;
  border-color: rgb(107 215 186 / 72%);
  background: rgb(11 31 43 / 92%);
  transform: translateY(-1px);
}

.temperature-slot-cover {
  width: 58px;
  height: 58px;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 5px 13px rgb(0 0 0 / 28%);
}

.temperature-slot-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.temperature-slot-title,
.temperature-slot-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.temperature-slot-title {
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
}

.temperature-slot-copy small {
  color: var(--vave-muted);
  font-size: 11px;
  font-weight: 700;
}

.temperature-slot-rtp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 105px;
  min-height: 46px;
  padding: 8px 11px;
  color: #fff;
  border-radius: 9px;
}

.slot-temperature-panel--hot .temperature-slot-rtp {
  background: rgb(157 76 83 / 88%);
}

.slot-temperature-panel--cold .temperature-slot-rtp {
  background: rgb(66 158 191 / 88%);
}

.temperature-slot-rtp img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.temperature-slot-rtp strong {
  font-size: 14px;
  font-weight: 850;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .hot-cold-slots {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .latest-winners {
    margin-top: 0;
  }

  .latest-winners h2 {
    margin-bottom: 10px;
    font-size: 21px;
  }

  .latest-winner-card {
    flex-basis: 205px;
  }

  .slot-temperature-panel {
    padding: 12px;
  }

  .slot-temperature-header h2 {
    font-size: 20px;
  }

  .temperature-slot-card {
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 9px;
    min-height: 66px;
  }

  .temperature-slot-cover {
    width: 54px;
    height: 54px;
  }

  .temperature-slot-rtp {
    min-width: 88px;
    min-height: 43px;
    padding: 7px 8px;
  }

  .temperature-slot-rtp strong {
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .latest-winners-track {
    animation: none;
  }

  .slot-temperature-list,
  .temperature-slot-card,
  .winners-ledger-row {
    transition: none;
    animation: none;
  }
}

.button-secondary,
.language-switch {
  color: var(--vave-text);
  background: var(--vave-surface-raised);
  border-color: var(--vave-border);
}

.auth .button.button-primary,
.auth .button.button-secondary,
.tool-button,
.tool-button--live-casino,
.tool-button--slots {
  color: #071b17;
  background: linear-gradient(
    135deg,
    var(--vave-primary-bright),
    var(--vave-primary)
  );
  border-color: var(--vave-primary-soft);
  box-shadow: 0 6px 18px rgb(1 220 186 / 16%);
}
.auth .button.button-secondary,
.tool-button--slots {
  color: var(--vave-text);
  background: var(--vave-surface-raised);
  border-color: var(--vave-border);
}
.primary-nav a.state-active,
.primary-nav a[aria-current="page"] {
  color: var(--vave-primary-bright);
}
.primary-nav a.state-active::after,
.primary-nav a[aria-current="page"]::after {
  background: var(--vave-primary-bright);
}
.side-link--live,
.side-nav-heading,
.article-nav-nav-toggle {
  color: var(--vave-primary-soft);
}
.side-badge {
  background: var(--vave-purple);
}

.hero {
  aspect-ratio: 2 / 1;
  min-height: 0;
  background: var(--vave-surface);
  border-color: var(--vave-border-accent);
}

.hero-img,
.hero-scene-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: none;
}

.hero-media-cycle {
  width: 100%;
  filter: none;
  -webkit-mask-image: none;
  mask-image: none;
}
.hero-cycle-media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero::after,
.hero:not(:has(> .hero-media-cycle))::after {
  background: linear-gradient(
    90deg,
    rgb(16 23 29 / 74%) 0%,
    rgb(16 23 29 / 54%) 34%,
    rgb(16 23 29 / 15%) 62%,
    transparent 82%
  );
}

.hero-copy {
  max-width: min(54%, 680px);
}

.promo-banner-card::after {
  background: linear-gradient(
    90deg,
    rgb(16 23 29 / 76%) 0%,
    rgb(16 23 29 / 42%) 39%,
    transparent 67%
  );
}
.promo-banner-card.promo-copy-opposite::after {
  background: linear-gradient(
    270deg,
    rgb(16 23 29 / 76%) 0%,
    rgb(16 23 29 / 42%) 39%,
    transparent 67%
  );
}

.platform-banner-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.platform-banner-card::after {
  background: linear-gradient(
    90deg,
    rgb(16 23 29 / 60%),
    transparent 28%,
    transparent 72%,
    rgb(16 23 29 / 60%)
  );
}

@media (min-width: 761px) {
  .list-feature:has(img[src*="new-important-terms"]) .list-feature__media {
    background: #0a1117 url("../img/vave/mythic-media/new-important-terms.webp")
      center / cover no-repeat;
  }

  .list-feature:has(img[src*="new-important-terms"])
    .list-feature__media
    > img:not(.media-brand) {
    box-sizing: border-box;
    object-fit: contain;
    object-position: right center;
  }
}

.table-wrap thead,
.table-scroll thead,
.content-section thead {
  color: var(--vave-text);
  background: linear-gradient(90deg, #22474f, #1c3c42);
}
.table-wrap tbody tr:nth-child(even),
.table-scroll tbody tr:nth-child(even),
.content-section tbody tr:nth-child(even) {
  background: rgb(43 198 157 / 6%);
}

.language-option[aria-current="true"],
.language-option:not(:disabled):hover,
.language-option:not(:disabled):focus-visible {
  background: var(--vave-border-accent);
}
.language-option .language-option-code {
  color: var(--vave-primary-soft);
}

@media (max-width: 900px) {
  html[dir="rtl"] .site-nav > .brand-link {
    margin-right: 0;
    margin-left: auto;
  }

  html[dir="rtl"] .mobile-menu .mobile-drawer-brand {
    margin-right: 0;
    margin-left: 0;
  }

  body .hero {
    aspect-ratio: auto;
    min-height: clamp(430px, 68vw, 560px) !important;
  }
  .hero-img,
  .hero-scene-image {
    object-position: 72% center;
  }
  body .hero-copy {
    width: min(72%, 520px);
    max-width: min(72%, 520px);
    background: rgb(16 23 29 / 76%);
    border-color: rgb(107 215 186 / 38%);
  }
}

@media (max-width: 600px) {
  body .hero {
    min-height: 520px !important;
    padding: 28px 14px !important;
  }
  .hero-img,
  .hero-scene-image {
    object-position: 68% center;
  }
  body .hero-copy {
    width: 72%;
    max-width: 72%;
    padding: 18px 14px;
  }
  .hero h1 {
    font-size: clamp(22px, 6.4vw, 27px);
  }
  .hero-description {
    font-size: 13px;
    line-height: 1.42;
  }
  .promo-banner-image {
    object-position: center;
  }
}

/* Keep installation labels and icons readable on the green app buttons. */
.app-download-btn,
.app-download-btn:hover,
.app-download-btn:focus-visible,
.app-download-btn:active {
  color: #071b17 !important;
}
.platform-banner-card .app-banner-btn,
.platform-banner-card .app-banner-btn:hover,
.platform-banner-card .app-banner-btn:focus-visible {
  color: #071b17;
  background: var(--vave-primary-soft);
}
.app-download-btn img,
.platform-banner-card .app-banner-btn img {
  filter: brightness(0) saturate(100%);
}
.app-download-btn:focus-visible,
.platform-banner-card .app-banner-btn:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

/* Identical two-line label geometry for both app platforms in every locale. */
.platform-banner-card .app-banner-btn .app-button-label,
.app-download-btn .app-button-label {
  display: grid;
  grid-template-rows: repeat(2, 1.25em);
  align-content: center;
  justify-items: center;
  gap: 2px;
  min-width: 0;
  font-size: 14px;
  line-height: 1.25;
  text-align: center;
}
.platform-banner-card .app-banner-btn .app-button-label > *,
.app-download-btn .app-button-label > * {
  display: block;
  margin: 0;
  font-size: inherit;
  font-weight: 800;
  line-height: inherit;
  text-transform: none;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .platform-banner-card .app-banner-btn .app-button-label,
  .app-download-btn .app-button-label {
    font-size: 12px;
  }
}

/* The country selector visibly indicates its expandable menu. */
.language-picker > .language-switch::after {
  content: "";
  display: block;
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  margin-inline-start: 2px;
  margin-block-start: -4px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 160ms ease;
}
.language-picker > .language-switch[aria-expanded="true"]::after {
  margin-block-start: 3px;
  transform: rotate(225deg);
}
@media (prefers-reduced-motion: reduce) {
  .language-picker > .language-switch::after {
    transition: none;
  }
}

/* Alphabetical country options flow left to right across two columns. */
.language-menu:not([hidden]) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  width: 260px;
  max-width: calc(100vw - 24px);
}
.mobile-menu .language-menu:not([hidden]) {
  width: 100%;
}
