/* ============================================================
   AK Poker — Lobby (Hold'em tab) polish
   Loaded after liquid-glass.css; overrides only lobby pieces.
   ============================================================ */

/* ---------- List starts exactly under our 256px head ----------
   (1.85rem scaled with the viewport width and overlapped on narrow phones) */
._top_gaint_1h46z_1 ~ * ._tab_lbsni_18,
._tab_lbsni_18 {
  margin-top: 256px !important;
}

/* ---------- Sticky MTT / Hold'em / Casino ----------
   The app pins this bar with position:fixed at an offset that was meant for
   its own (now hidden) cover row, leaving a see-through gap under the
   Telegram row. Use native sticky instead: it sticks right at the top of the
   page, which already starts below the Telegram buttons. */
._tab_lbsni_18 > :has(> .rv-sticky) {
  position: sticky !important;
  top: 0 !important;
  z-index: 99;
  height: auto !important;
}

._tab_lbsni_18 .rv-sticky,
._tab_lbsni_18 .rv-sticky--fixed {
  position: relative !important;
  top: auto !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
}

._tab_lbsni_18 .rv-sticky .rv-tabs__wrap {
  background: var(--lg-chrome) !important;
  -webkit-backdrop-filter: var(--lg-blur);
  backdrop-filter: var(--lg-blur);
}

/* ---------- Filter chips: All / NLH / 6+ / AOF ----------
   selected = solid accent capsule, others = light capsule */
html ._twoLevelTabs_ealz5_34 .rv-tabs__wrap {
  height: 48px !important;
  background: var(--lg-canvas) !important;
}

html ._twoLevelTabs_ealz5_34 .rv-tabs__wrap::after,
html ._twoLevelTabs_ealz5_34 .rv-hairline--top-bottom::after {
  display: none !important;
  border: 0 !important;
}

html ._twoLevelTabs_ealz5_34 .rv-tabs__nav {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 8px;
  height: 48px !important;
  padding: 0 16px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

html ._twoLevelTabs_ealz5_34 .rv-tab {
  flex: 0 0 auto !important;
  height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

html ._twoLevelTabs_ealz5_34 .rv-tab .rv-tab__text {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 32px !important;
  min-width: 56px;
  padding: 0 16px !important;
  border-radius: 999px !important;
  line-height: 1 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0;
  color: var(--lg-text-2) !important;
  background: var(--lg-surface-strong) !important;
  box-shadow: inset 0 0 0 0.5px var(--lg-line) !important;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

html ._twoLevelTabs_ealz5_34 .rv-tab:active .rv-tab__text {
  transform: scale(0.95);
}

html ._twoLevelTabs_ealz5_34 .rv-tab--active .rv-tab__text {
  background: var(--lg-accent) !important;
  color: #fff !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 12px rgba(107, 91, 214, 0.16) !important;
}

html ._twoLevelTabs_ealz5_34 ._hiddenTab_ealz5_63 {
  display: none !important;
}

/* ---------- Total pool strip ---------- */
._jackpot_1tya3_50 {
  background-image: none !important;
  background:
    linear-gradient(100deg, var(--lg-accent-soft), transparent 70%),
    var(--lg-surface-strong) !important;
  border-radius: var(--lg-r-card) !important;
  box-shadow: inset 0 0 0 0.5px var(--lg-glass-border), 0 4px 14px var(--lg-glass-shadow) !important;
  box-sizing: border-box;
}

._jackpot_1tya3_50 {
  padding: 0 6px 0 16px !important;
}

._jackpot_1tya3_50 ._recommendAreaItemContent_1tya3_82 {
  padding: 0 !important;
  gap: 2px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

._jackpot_1tya3_50 ._recommendAreaItemTextContainer_1tya3_19 {
  display: flex !important;
  align-items: baseline;
  gap: 8px;
}

html ._jackpot_1tya3_50 ._recommendAreaItemText_1tya3_19 {
  color: var(--lg-text) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

._jackpot_1tya3_50 ._recommendAreaItemValue_1tya3_38,
._jackpot_1tya3_50 ._recommendAreaItemValue_1tya3_38 span {
  color: var(--lg-accent) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums;
}

._jackpot_1tya3_50 ._recommendAreaItemDesc_1tya3_43 {
  color: var(--lg-text-2) !important;
  font-size: 12px !important;
}

/* ---------- Table card ---------- */
._tableItem_1m8og_1.lg-card {
  background: var(--lg-surface-strong) !important;
  background-image: var(--lg-sheen) !important;
  border-radius: var(--lg-r-card) !important;
  box-shadow: inset 0 0 0 0.5px var(--lg-glass-border), 0 4px 14px var(--lg-glass-shadow) !important;
  border: 0 !important;
  padding: 11px 14px 11px !important;
  row-gap: 9px !important;
  column-gap: 8px !important;
  grid-template-columns: auto minmax(0, 1fr) 0 auto !important;
}

.lg-card > ._flexitem1_1m8og_25 {
  overflow: hidden;
}

.lg-card > ._flexitem1_1m8og_25 ._text14_1m8og_73 {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: -0.2px;
}

.lg-card > ._flexitem3_1m8og_45 ._text14_1m8og_73 {
  font-size: 16px !important;
  font-weight: 700 !important;
}

.lg-card > .lg-row2 {
  gap: 6px;
  height: 32px;
  overflow: hidden;
}

/* seat cells: one cell per seat, clearly separated; cells shrink a little on
   9/10-max tables but never merge into a line */
.lg-bar {
  display: inline-flex !important;
  align-items: center;
  gap: 4px !important;
  flex: 0 1 auto !important;
  /* min-width is set inline: seats x 6px + gaps, so cells shrink but never overlap */
}

.lg-bar i {
  flex: 0 1 14px;
  width: 14px !important;
  min-width: 6px;
  height: 8px !important;
  border-radius: 3px !important;
  box-sizing: border-box;
  background: var(--lg-fill) !important;
  box-shadow: inset 0 0 0 0.5px var(--lg-line);
}

:root[data-lg-theme="dark"] .lg-bar i {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.22);
}

.lg-bar i.on,
:root[data-lg-theme="dark"] .lg-bar i.on {
  background: linear-gradient(135deg, var(--lg-accent), var(--lg-accent-2)) !important;
  box-shadow: none;
}

.lg-seat {
  font-size: 13px;
  font-weight: 500;
  color: var(--lg-text-2);
}

.lg-clock {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  flex: 0 0 auto;
  font-size: 13px;
  color: var(--lg-text-3) !important;
}

.lg-clock::before {
  content: "";
  width: 11px;
  height: 11px;
  flex: 0 0 11px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat;
}

.lg-many .lg-clock::before {
  display: none;
}

.lg-badge {
  flex: 0 0 auto;
  height: 20px !important;
  border-radius: 6px !important;
  background: var(--lg-fill) !important;
}

.lg-badge.lg-jp {
  color: #b7791f !important;
  background: rgba(245, 180, 40, 0.16) !important;
}

:root[data-lg-theme="dark"] .lg-badge.lg-jp {
  color: #f5c451 !important;
}

.lg-join {
  flex: 0 0 auto;
  height: 32px !important;
  min-width: 68px !important;
  padding: 0 18px !important;
  font-size: 15px !important;
  border-radius: 999px !important;
  background: var(--lg-accent) !important;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0)) !important;
  box-shadow: 0 4px 12px rgba(107, 91, 214, 0.15) !important;
  transition: transform 0.15s ease;
}

/* ---------- Telegram row (#ak-topbar): brand at rest, user + deposit on scroll ---------- */
#ak-topbar .ak-brand {
  font-size: 17px;
  letter-spacing: -0.2px;
}

#ak-topbar .ak-pill {
  height: 38px !important;
  padding: 0 3px 0 3px !important;
  gap: 8px !important;
  transform: translate(-50%, 10%) scale(0.94);
  transition: opacity 0.3s ease, transform 0.45s cubic-bezier(0.2, 0.9, 0.25, 1.1) !important;
}

#ak-topbar .ak-av {
  cursor: pointer;
}

#ak-topbar .ak-id {
  cursor: pointer;
  max-width: 92px;
}

#ak-topbar .ak-name {
  max-width: 92px !important;
}

#ak-topbar .ak-dep {
  height: 32px !important;
  padding: 0 14px !important;
  background: var(--lg-accent) !important;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0)) !important;
}

#ak-topbar .ak-brand {
  transition: opacity 0.25s ease, transform 0.45s cubic-bezier(0.2, 0.9, 0.25, 1.1) !important;
}

html.band-in #ak-topbar .ak-brand {
  transform: translate(-50%, -110%) scale(0.92) !important;
}

/* our head row hands over with the same rhythm as the band */
#lg-head .lgh-row {
  transition: opacity 0.25s ease;
}

html.band-in #lg-head .lgh-row {
  opacity: 0 !important;
  pointer-events: none;
}

/* ---------- Splash / room loader: no Telegram row, fully opaque ---------- */
html.lg-is-loading #ak-topbar {
  display: none !important;
}

/* Dark: the selected MTT / Hold'em / Casino segment needs a visible lift */
:root[data-lg-theme="dark"] .rv-sticky .rv-tabs__nav--line .rv-tab--active {
  background: rgba(255, 255, 255, 0.14) !important;
  box-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.18), 0 4px 12px rgba(0, 0, 0, 0.35) !important;
}

/* ---------- Lobby head scrolls with the page ----------
   The app pins the head (position:fixed, parallax top) and lets the list slide
   over it; with a short list (MTT) the page can't scroll far enough and the tab
   bar stops halfway across the banner. Let the head scroll away instead: the
   sticky tab bar then always reaches the top, nothing is cut in half. */
._top_gaint_1h46z_1 {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  z-index: 1 !important;
}

/* always enough scroll range for the tab bar to reach the top */
._tab_lbsni_18 {
  min-height: calc(100vh - var(--top-inset)) !important;
  position: relative;
  z-index: 2;
}

/* ---------- Buy-in: caption + amount, no coin icon ---------- */
.lg-card > ._flexitem3_1m8og_45 {
  align-items: baseline !important;
  gap: 4px !important;
}

.lg-card > ._flexitem3_1m8og_45 ._icon_label_1m8og_55 {
  display: flex !important;
  align-items: center;
  gap: 0 !important;
}

/* long blinds shrink with an ellipsis instead of being cut */
.lg-card > ._flexitem1_1m8og_25,
.lg-card > ._flexitem1_1m8og_25 * {
  min-width: 0 !important;
  max-width: 100%;
}

.lg-card > ._flexitem1_1m8og_25 ._icon_label_1m8og_55 {
  display: flex !important;
  overflow: hidden;
}

.lg-card > ._flexitem3_1m8og_45 ._icon_label_1m8og_55 svg {
  display: none !important;
}

.lg-card > ._flexitem3_1m8og_45 ._text9_1m8og_66 {
  display: inline !important;
  order: -1;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--lg-text-2) !important;
  white-space: nowrap;
  transform: none !important;
  line-height: 19px !important;
}

.lg-card > ._flexitem3_1m8og_45 ._text9_1m8og_66:empty::before {
  content: attr(data-def);
}

.lg-card > ._flexitem3_1m8og_45 ._text14_1m8og_73 {
  color: var(--lg-accent) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.lg-card > ._flexitem1_1m8og_25 ._text14_1m8og_73 {
  font-size: 15px !important;
}

/* ---------- App marquee (🔊 congrats …): slim glass capsule ---------- */
._topTipArea_1gloh_1 {
  top: calc(var(--top-inset) + 6px) !important;
  pointer-events: none !important;
}

.marquee-container {
  pointer-events: none;
  height: 26px !important;
  padding: 0 12px 0 10px !important;
  box-sizing: border-box;
  border-radius: 999px !important;
  background: var(--lg-chrome) !important;
  -webkit-backdrop-filter: var(--lg-blur);
  backdrop-filter: var(--lg-blur);
  box-shadow: inset 0 0 0 0.5px var(--lg-glass-border), 0 4px 14px var(--lg-glass-shadow) !important;
  opacity: 0.96;
}

.marquee-container img,
.marquee-container svg {
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 14px;
}

.marqueebg {
  height: 26px !important;
}

.marqueeitem1,
.marqueeitem2 {
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 26px;
}

.marqueeitem1 {
  color: var(--lg-text-2) !important;
}

.marqueeitem2 {
  color: #c27a00 !important;
  font-weight: 600 !important;
}

:root[data-lg-theme="dark"] .marqueeitem2 {
  color: #f5c451 !important;
}

/* Brand mark: the purple round AK logo (/logo.svg) */
#ak-topbar img.ak-logo {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px;
  border-radius: 50% !important;
  background: none !important;
  box-shadow: none !important;
  display: block;
}

#ak-topbar .ak-brand {
  gap: 8px !important;
  line-height: 28px;
}

/* ============================================================
   Bottom navigation (iOS 26 style liquid-glass capsule)
   Only the real bottom nav (.tabber_container), never other rv-tabbars.
   ============================================================ */
:root {
  --tabbar-h: 62px;
}

.tabber_container.rv-tabbar {
  height: var(--tabbar-h) !important;
  padding: 6px !important;
  gap: 2px;
  border-radius: 31px !important;
  background: var(--lg-surface-strong) !important;
  background-image: none !important;
  border: 0.5px solid var(--lg-glass-border) !important;
  box-shadow: 0 10px 30px var(--lg-glass-shadow), 0 1px 3px rgba(0, 0, 0, 0.06) !important;
  align-items: stretch !important;
}

.tabber_container.rv-tabbar::after {
  display: none !important;
}

.tabber_container .rv-tabbar-item {
  position: relative;
  flex: 1 1 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 25px !important;
  color: var(--lg-text-2) !important;
  background: transparent !important;
  transition: background-color 0.25s ease, color 0.2s ease;
}

.tabber_container .rv-tabbar-item--active {
  color: var(--lg-accent) !important;
  background: var(--lg-accent-soft) !important;
}

.tabber_container .rv-tabbar-item__icon {
  margin: 0 !important;
  height: 24px !important;
  width: 24px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 24px !important;
}

.tabber_container .rv-tabbar-item__icon svg {
  width: 24px !important;
  height: 24px !important;
  display: block;
}

.tabber_container .rv-tabbar-item__text {
  font-size: 11px !important;
  line-height: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0;
  white-space: nowrap;
  text-align: center;
}

.tabber_container .rv-tabbar-item--active .rv-tabbar-item__text {
  font-weight: 600 !important;
}

/* outline sprites take the item colour */
symbol[id^="home-"] g[fill],
symbol[id^="home-"] path[fill]:not([fill="none"]) {
  fill: currentColor !important;
}

symbol[id^="home-"] [stroke]:not([stroke="none"]) {
  stroke: currentColor !important;
}

/* fallback if an "-active" sprite stays: drop its solid disc */
symbol[id^="home-"][id$="-active"] circle {
  fill: transparent !important;
}

/* red dot hugs the icon's top-right corner */
.tabber_container .rv-badge--dot,
.tabber_container .rv-badge {
  top: 1px !important;
  right: 1px !important;
  transform: translate(50%, -50%) !important;
}

/* Segmented control: state change is instant (a background transition could
   leave the old segment looking selected when frames are throttled) */
.rv-sticky .rv-tabs__nav--line .rv-tab {
  transition: color 0.15s ease !important;
}

/* ---------- Card type tag: one capsule style, calm colours ----------
   Label comes from data-lg-label (set by liquid-shell.js, re-applied after
   React re-renders): 长牌 / 短牌 / 全押或弃 in Chinese, NLH / 6+ / AOF otherwise */
.lg-card > ._leftTagsContainer_1m8og_151[data-lg-label] > * {
  display: none !important;
}

.lg-card > ._leftTagsContainer_1m8og_151[data-lg-label]::before {
  content: attr(data-lg-label);
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 8px;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  color: var(--lg-accent);
  background: var(--lg-accent-soft);
}

.lg-card > ._leftTagsContainer_1m8og_151[data-lg-type="six"]::before {
  color: #2e8a50;
  background: rgba(52, 168, 83, 0.13);
}

.lg-card > ._leftTagsContainer_1m8og_151[data-lg-type="aof"]::before {
  color: #b5651d;
  background: rgba(230, 140, 40, 0.14);
}

:root[data-lg-theme="dark"] .lg-card > ._leftTagsContainer_1m8og_151[data-lg-type="six"]::before {
  color: #6fd394;
  background: rgba(52, 168, 83, 0.18);
}

:root[data-lg-theme="dark"] .lg-card > ._leftTagsContainer_1m8og_151[data-lg-type="aof"]::before {
  color: #f0a860;
  background: rgba(230, 140, 40, 0.18);
}

/* ---------- Card type scale: 15 / 13, weights 400-500-600-700 only ---------- */
.lg-card > ._flexitem1_1m8og_25 ._text14_1m8og_73 {
  font-size: 15px !important;
  font-weight: 600 !important;
}

.lg-card > ._flexitem3_1m8og_45 ._text14_1m8og_73 {
  font-size: 15px !important;
  font-weight: 700 !important;
}

.lg-seat {
  font-size: 13px !important;
  font-weight: 500 !important;
}

.lg-clock {
  font-size: 13px !important;
  font-weight: 400 !important;
}

.lg-join {
  font-size: 15px !important;
  font-weight: 600 !important;
  min-width: 64px !important;
  padding: 0 16px !important;
  box-shadow: none !important;
}

/* ============================================================
   Casino tab: category capsules + section titles
   ============================================================ */
html ._games_tabs_uvosp_1 .rv-tabs__wrap {
  height: 52px !important;
  background: transparent !important;
}

html ._games_tabs_uvosp_1 .rv-tabs__wrap::after {
  display: none !important;
}

html ._games_tabs_uvosp_1 .rv-tabs__nav {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  height: 52px !important;
  padding: 0 16px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html ._games_tabs_uvosp_1 .rv-tabs__line {
  display: none !important;
}

html ._games_tabs_uvosp_1 .rv-tab {
  flex: 0 0 auto !important;
  height: 44px !important;
  padding: 0 !important;
  background: transparent !important;
}

html ._games_tabs_uvosp_1 .rv-tab .rv-tab__text {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 34px;
  padding: 0 14px;
  box-sizing: border-box;
  border-radius: 999px;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: var(--lg-text-2) !important;
  background: var(--lg-surface-strong) !important;
  box-shadow: inset 0 0 0 0.5px var(--lg-line) !important;
  white-space: nowrap;
}

html ._games_tabs_uvosp_1 .rv-tab .rv-tab__text svg {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px;
  margin: 0 !important;
  color: currentColor;
}

html ._games_tabs_uvosp_1 .rv-tab--active .rv-tab__text {
  color: #fff !important;
  font-weight: 600 !important;
  background: var(--lg-accent) !important;
  box-shadow: none !important;
}

/* category icons follow the text colour */
html ._games_tabs_uvosp_1 .rv-tab .rv-tab__text svg [fill]:not([fill="none"]) {
  fill: currentColor !important;
}

html ._games_tabs_uvosp_1 .rv-tab .rv-tab__text svg [stroke]:not([stroke="none"]) {
  stroke: currentColor !important;
}

/* Section title row: [icon] Slots ............ More › */
[class*="_recentGamesSection_"] > .rv-flexbox:first-child {
  height: 44px;
  align-items: center !important;
  padding: 0 4px;
}

[class*="_recentGamesTitleLeft_"] {
  gap: 8px;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
  color: var(--lg-text) !important;
}

[class*="_recentGamesTitleLeft_"] svg {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px;
  margin: 0 !important;
  color: var(--lg-accent);
}

[class*="_moreButton_"] {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  min-height: 44px;
  display: flex;
  align-items: center;
}

[class*="_recentGamesTitleRight_"] {
  gap: 2px;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  color: var(--lg-text-2) !important;
}

[class*="_recentGamesTitleRight_"] svg {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  color: var(--lg-text-3);
}

[class*="_recentGamesTitleRight_"] svg [fill]:not([fill="none"]) {
  fill: currentColor !important;
}

/* Centring: segments were 40px tall inside a 34px track (3px padding), so the
   pill and its label sat low */
.rv-sticky .rv-tabs__nav--line {
  align-items: center !important;
  box-sizing: border-box !important;
}

.rv-sticky .rv-tabs__nav--line .rv-tab {
  height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.rv-sticky .rv-tabs__nav--line .rv-tab .rv-tab__text {
  line-height: 1 !important;
  margin: 0 !important; /* app adds margin-bottom: -.04rem */
}

.lg-join {
  line-height: 1 !important;
  text-align: center;
}

/* ============================================================
   USDT (Tether) balance mark: green disc + white ₮, drawn inline
   ============================================================ */
:root {
  --lg-usdt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%2326A17B'/%3E%3Cpath fill='%23fff' d='M9 8.6h14v3.3h-5.2v3.1c3.6.2 6.3 1 6.3 1.9s-2.7 1.7-6.3 1.9v6.6h-3.6v-6.6c-3.6-.2-6.3-1-6.3-1.9s2.7-1.7 6.3-1.9v-3.1H9zm5.2 7.4c-2.6.1-4.5.5-4.5.9 0 .5 2.6.9 6.3.9s6.3-.4 6.3-.9c0-.4-1.9-.8-4.5-.9v1.4c-.6 0-1.2.1-1.8.1s-1.2 0-1.8-.1z'/%3E%3C/svg%3E");
}

#lg-head .lgh-coin {
  width: 26px !important;
  height: 26px !important;
  flex: 0 0 26px;
  font-size: 0 !important;
  background: var(--lg-usdt) center / contain no-repeat !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 0 0.5px rgba(255, 255, 255, 0.25);
  border-radius: 50%;
}

#ak-topbar .ak-bal {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
}

#ak-topbar .ak-bal::before {
  content: "";
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border-radius: 50%;
  background: var(--lg-usdt) center / contain no-repeat;
}

/* ---------- Marquee: back in the app's own spot (top of each page, under
   the Telegram row), just restyled ---------- */
.marquee-container {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: calc(100% - 32px) !important;
  margin: 4px auto 0 !important;
}


/* ---------- Bottom nav: no hairlines, clearer glass ---------- */
.tabber_container.rv-tabbar::before,
.tabber_container.rv-tabbar::after,
.tabber_container.rv-hairline--top-bottom::after {
  display: none !important;
  border: 0 !important;
  content: none !important;
}

.tabber_container.rv-tabbar {
  background: rgba(255, 255, 255, 0.42) !important;
  -webkit-backdrop-filter: blur(28px) saturate(190%) !important;
  backdrop-filter: blur(28px) saturate(190%) !important;
  border: 0.5px solid rgba(255, 255, 255, 0.7) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    inset 0 -0.5px 0 rgba(255, 255, 255, 0.35),
    0 10px 30px rgba(20, 20, 40, 0.10) !important;
}

:root[data-lg-theme="dark"] .tabber_container.rv-tabbar {
  background: rgba(38, 38, 46, 0.42) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 10px 30px rgba(0, 0, 0, 0.45) !important;
}

/* ============================================================
   Motion (transform + opacity only). The app's CSSTransition timeout is
   300ms, so every transition here finishes within 0.3s.
   ============================================================ */
:root {
  --lg-ease-ios: cubic-bezier(0.32, 0.72, 0, 1);
}

/* Sub-page push / pop: slide from the right */
.popup-wrapper.popup-enter {
  transform: translate3d(100%, 0, 0) !important;
}

.popup-wrapper.popup-enter-active {
  transform: translate3d(0, 0, 0) !important;
  transition: transform 0.3s var(--lg-ease-ios) !important;
}

.popup-wrapper.popup-exit {
  transform: translate3d(0, 0, 0) !important;
}

.popup-wrapper.popup-exit-active {
  transform: translate3d(100%, 0, 0) !important;
  transition: transform 0.28s var(--lg-ease-ios) !important;
}

/* page underneath shifts left a little and dims while a sub-page is on top */
#layouts {
  transition: transform 0.3s var(--lg-ease-ios), opacity 0.3s var(--lg-ease-ios);
}

html:has(.popup-wrapper):not(:has(.popup-wrapper.popup-exit-active)) #layouts {
  transform: translate3d(-22%, 0, 0);
  opacity: 0.6;
}

/* Bottom tab switch: content fades in. Opacity only: a transform here would
   make this (0px tall) wrapper the containing block of the pages' fixed
   containers and collapse them. */
@keyframes lg-tab-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

._container_1d5lf_12 > div:not(.rv-tabbar__placeholder):not([style*="height: 0px"]) {
  animation: lg-tab-in 0.25s var(--lg-ease-ios);
}

/* Bottom sheets: slide up on the iOS curve */
.rv-popup-slide-bottom-enter-active,
.rv-popup-slide-bottom-appear-active,
.rv-popup-slide-bottom-exit-active {
  transition-timing-function: var(--lg-ease-ios) !important;
  transition-duration: 0.3s !important;
}

/* Centre dialogs: scale + fade */
@keyframes lg-pop-in {
  from { opacity: 0; transform: translate3d(-50%, -50%, 0) scale(0.92); }
  to { opacity: 1; transform: translate3d(-50%, -50%, 0) scale(1); }
}

.rv-dialog-bounce-enter-active,
.rv-dialog-bounce-appear-active,
.rv-popup--center.rv-fade-enter-active,
.rv-popup--center.rv-fade-appear-active {
  animation: lg-pop-in 0.26s var(--lg-ease-ios) both !important;
}

@media (prefers-reduced-motion: reduce) {
  .popup-wrapper.popup-enter,
  .popup-wrapper.popup-exit-active {
    transform: none !important;
  }

  html:has(.popup-wrapper) #layouts {
    transform: translateZ(0) !important;
    opacity: 1 !important;
  }

  ._container_1d5lf_12 > div,
  .rv-dialog-bounce-enter-active,
  .rv-popup--center.rv-fade-enter-active {
    animation: none !important;
  }
}

/* ---------- Casino (round 2): one 16px gutter, calm mono icons ---------- */
[class*="_recentGamesSection_"] {
  padding: 0 6px !important;
  margin-top: 8px !important;
  box-sizing: border-box;
}

[class*="_recentGamesSection_"] > .rv-flexbox:first-child {
  padding: 0 !important;
  margin-bottom: 4px;
}

/* section icon: 28px tinted tile with a single-colour glyph */
[class*="_recentGamesTitleLeft_"] {
  gap: 10px !important;
}

[class*="_recentGamesTitleLeft_"] svg {
  box-sizing: border-box;
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px;
  padding: 5px;
  border-radius: 8px;
  background: var(--lg-accent-soft);
  color: var(--lg-accent) !important;
}

[class*="_recentGamesTitleLeft_"] svg [fill]:not([fill="none"]) {
  fill: currentColor !important;
}

[class*="_recentGamesTitleLeft_"] svg [stroke]:not([stroke="none"]) {
  stroke: currentColor !important;
}

/* category capsules: icon and label share one optical centre */
html ._games_tabs_uvosp_1 .rv-tab .rv-tab__text > span {
  line-height: 18px;
}

html ._games_tabs_uvosp_1 .rv-tabs__wrap {
  margin-bottom: 4px;
}

/* sprite glyphs live in <symbol>s: recolour there (use-clones inherit color) */
symbol[id^="home-discover_"] [fill]:not([fill="none"]) {
  fill: currentColor !important;
}

symbol[id^="home-discover_"] [stroke]:not([stroke="none"]) {
  stroke: currentColor !important;
}

[class*="_recentGamesTitleLeft_"] img {
  box-sizing: border-box;
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px;
  padding: 4px;
  border-radius: 8px;
  background: var(--lg-accent-soft);
  object-fit: contain;
}

[class*="_recentGamesTitleLeft_"] {
  white-space: nowrap;
  min-width: 0;
}

/* Live Casino | Sports share one row of 112px columns: compact titles */
[class*="_liveSportsCombinedColumn_"] [class*="_recentGamesTitleLeft_"] {
  gap: 6px !important;
  font-size: 15px !important;
  overflow: hidden;
  text-overflow: ellipsis;
}

[class*="_liveSportsCombinedColumn_"] [class*="_recentGamesTitleLeft_"] svg,
[class*="_liveSportsCombinedColumn_"] [class*="_recentGamesTitleLeft_"] img {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px;
  padding: 4px;
  border-radius: 7px;
}

/* ---------- Lobby head buttons: clearly tappable ---------- */
#lg-head .lgh-plus {
  background: var(--lg-accent) !important;
  background-image: none !important;
  box-shadow: 0 2px 6px rgba(40, 30, 110, 0.22) !important;
  opacity: 1 !important;
}

#lg-head .lgh-plus::before,
#lg-head .lgh-plus::after {
  background: #fff !important;
}

#lg-head .lgh-gift {
  background: var(--lg-surface-strong) !important;
  -webkit-backdrop-filter: var(--lg-blur);
  backdrop-filter: var(--lg-blur);
  border: 0.5px solid var(--lg-line) !important;
  box-shadow: inset 0 1px 0 var(--lg-glass-hi), 0 2px 8px var(--lg-glass-shadow) !important;
}

#lg-head .lgh-gift::before {
  inset: 9px !important;
  background: var(--lg-accent) !important;
}

/* ---------- Total pool strip: 12px above and below, art clipped inside ---------- */
._jackpotContainer_ealz5_116 {
  margin: 12px 10.4px 12px !important;
}

._jackpot_1tya3_50 {
  height: 60px !important;
  min-height: 60px !important;
  overflow: hidden !important;
  position: relative;
  isolation: isolate;
}

._jackpot_1tya3_50 ._recommendAreaItemLottie_1tya3_29 {
  height: 100% !important;
  width: 96px !important;
  flex: 0 0 96px;
  padding: 6px 0;
  box-sizing: border-box;
  overflow: hidden !important;
  border-radius: 12px;
  align-self: center;
}

._jackpot_1tya3_50 ._recommendAreaItemLottie_1tya3_29 > div {
  overflow: hidden !important;
}

._jackpot_1tya3_50 ._recommendAreaItemLottie_1tya3_29 canvas {
  object-fit: contain;
}

/* ---------- Long blinds stay whole (set by liquid-shell.js) ---------- */
.lg-card.lg-long > ._flexitem1_1m8og_25 ._text14_1m8og_73 {
  font-size: 13px !important;
  letter-spacing: -0.2px;
}

.lg-card.lg-xlong > ._flexitem3_1m8og_45 ._text9_1m8og_66 {
  display: none !important;
}



/* ============================================================
   Round: header rhythm (banner 12 → segmented 10 → categories 8 → brands 12 → content)
   ============================================================ */
._tab_lbsni_18 {
  margin-top: 248px !important;
}

/* Segmented control: 16px gutters like the banner, 36px tall, raised selection */
._tab_lbsni_18 .rv-sticky .rv-tabs__wrap {
  height: auto !important;
  padding: 6px 16px 5px !important;
  box-sizing: content-box;
}

._tab_lbsni_18 .rv-sticky .rv-tabs__nav--line {
  height: 36px !important;
  padding: 3px !important;
  border-radius: 12px !important;
  margin: 0 !important;
}

._tab_lbsni_18 .rv-sticky .rv-tabs__nav--line .rv-tab {
  height: 30px !important;
  border-radius: 9px !important;
}

._tab_lbsni_18 .rv-sticky .rv-tabs__nav--line .rv-tab--active {
  background: var(--lg-surface-strong) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.10), 0 0 0 0.5px rgba(0, 0, 0, 0.04) !important;
}

:root[data-lg-theme="dark"] ._tab_lbsni_18 .rv-sticky .rv-tabs__nav--line .rv-tab--active {
  background: rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
}

/* Hold'em filters: 42px row (chips 32) */
html ._twoLevelTabs_ealz5_34 .rv-tabs__wrap,
html ._twoLevelTabs_ealz5_34 .rv-tabs__nav {
  height: 42px !important;
}

html ._twoLevelTabs_ealz5_34 .rv-tab {
  height: 42px !important;
}

._jackpotContainer_ealz5_116 {
  margin-top: 7px !important;
}

/* Casino categories: 42px row (chips 34) */
html ._games_tabs_uvosp_1 .rv-tabs__wrap,
html ._games_tabs_uvosp_1 .rv-tabs__nav {
  height: 42px !important;
  margin-bottom: 0 !important;
}

html ._games_tabs_uvosp_1 .rv-tab {
  height: 42px !important;
}

[class*="_discoverContent_"] > [class*="_recentGamesSection_"]:first-child {
  margin-top: 8px !important;
}

/* ---------- Casino brand filter (3rd level): small capsules ---------- */
[class*="_casinoSearchHeader_"] {
  height: 44px !important;
  min-height: 0 !important;
  padding: 0 16px !important;
  margin: 0 0 8px !important;
  gap: 8px;
  box-sizing: border-box;
  background: transparent !important;
}

[class*="_casinoSearchHeaderLeft_"] {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

[class*="_brandFilterWrap_"] {
  justify-content: flex-start !important;
  width: 100%;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

[class*="_brandFilterTabs_"] {
  width: 100%;
}

[class*="_brandFilterTabs_"] .rv-tabs__wrap {
  height: 40px !important;
  background: transparent !important;
  overflow-x: auto;
  scrollbar-width: none;
}

[class*="_brandFilterTabs_"] .rv-tabs__wrap::after,
[class*="_brandFilterTabs_"] .rv-tabs__content {
  display: none !important;
}

[class*="_brandFilterTabs_"] .rv-tabs__nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px;
  height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* the blank grey block was an empty, disabled 4th tab */
[class*="_brandFilterTabs_"] .rv-tab--disabled,
[class*="_brandFilterTabs_"] .rv-tab:has(.rv-tab__text:empty) {
  display: none !important;
}

[class*="_brandFilterTabs_"] .rv-tab {
  flex: 0 0 auto !important;
  height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

[class*="_brandFilterTabs_"] .rv-tab .rv-tab__text {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 12px 0 7px;
  box-sizing: border-box;
  border-radius: 999px;
  overflow: visible !important;
  background: var(--lg-surface-strong) !important;
  box-shadow: inset 0 0 0 0.5px var(--lg-line) !important;
  color: var(--lg-text-2) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap;
}

[class*="_brandFilterTabs_"] .rv-tab .rv-tab__text > span {
  display: none !important;
}

[class*="_brandFilterTabs_"] .rv-tab .rv-tab__text[data-mono]::before {
  content: attr(data-mono);
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: -0.2px;
  color: #fff;
  background: var(--lg-accent);
}

[class*="_brandFilterTabs_"] .rv-tab .rv-tab__text[data-name]::after {
  content: attr(data-name);
}

[class*="_brandFilterTabs_"] .rv-tab--active .rv-tab__text {
  background: var(--lg-accent) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-weight: 600 !important;
}

[class*="_brandFilterTabs_"] .rv-tab--active .rv-tab__text[data-mono]::before {
  color: var(--lg-accent);
  background: #fff;
}

/* search: same-size round capsule */
[class*="_casinoSearchAction_"] {
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 32px;
  padding: 0 !important;
  border-radius: 50% !important;
  background: var(--lg-surface-strong) !important;
  box-shadow: inset 0 0 0 0.5px var(--lg-line) !important;
  color: var(--lg-text-2);
}

[class*="_casinoSearchAction_"] svg {
  width: 16px !important;
  height: 16px !important;
  color: currentColor;
}

[class*="_casinoSearchAction_"] svg [fill]:not([fill="none"]) {
  fill: currentColor !important;
}

[class*="_casinoSearchAction_"] svg [stroke]:not([stroke="none"]) {
  stroke: currentColor !important;
}

[class*="_casinoGameListWrap_"] [class*="_casinoGameList_"] {
  margin-top: 0 !important;
  padding-top: 4px !important;
}

/* brand row: beat the capsule-nav defaults (16px nav padding, -4px text margin) */
html body [class*="_brandFilterTabs_"] .rv-tabs__nav.rv-tabs__nav--capsule {
  padding: 0 !important;
  height: 44px !important;
}

html body [class*="_brandFilterTabs_"] .rv-tabs__wrap,
html body [class*="_brandFilterTabs_"] .rv-tab {
  height: 44px !important;
}

html body [class*="_brandFilterTabs_"] .rv-tab .rv-tab__text {
  margin: 0 !important;
  padding: 0 12px 0 7px !important;
  height: 32px !important;
}


html body [class*="_brandFilterTabs_"] .rv-tab,
html body [class*="_brandFilterTabs_"] .rv-tab--active {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

html body [class*="_brandFilterTabs_"] .rv-tab:not(.rv-tab--active) .rv-tab__text {
  background: var(--lg-surface-strong) !important;
  box-shadow: inset 0 0 0 0.5px var(--lg-line), 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  color: var(--lg-text-2) !important;
}

html body ._brandFilterTabs_g10mu_23 .rv-tab,
html body ._brandFilterTabs_g10mu_23 .rv-tab.rv-tab--active {
  width: auto !important;
  background: transparent !important;
  border-radius: 0 !important;
}

/* ============================================================
   Jackpot banner figure (overlay drawn by liquid-shell.js on b1-jackpot.svg)
   Position/size follow the 716x344 artwork scaled to the slide width.
   ============================================================ */
.lgh-slide {
  position: relative;
  container-type: inline-size;
  overflow: hidden;
}

.lgh-counter {
  position: absolute;
  left: 6.15cqw;
  /* artwork baseline y=196 of 344, cover-scaled to the slide width */
  top: calc(50% + (152 - 172) * 100cqw / 716);
  font: 900 calc(58 * 100cqw / 716) / 1 -apple-system, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: -0.5px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: #ffcf5a;
  background: linear-gradient(100deg, #fff3c4 0%, #ffcf5a 35%, #e9961c 60%, #ffcf5a 75%, #fff3c4 100%);
  background-size: 100% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transform-origin: left center;
  animation: lg-breathe-n 2.4s ease-in-out infinite;
  filter: drop-shadow(0 2px 6px rgba(233, 150, 28, 0.35));
  pointer-events: none;
}

/* shine sweep: a light band clipped to the glyphs */
.lgh-counter {
  background-image:
    linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.95) 50%, transparent 60%),
    linear-gradient(180deg, #fff3c4 0%, #ffcf5a 50%, #e9961c 100%);
  background-size: 250% 100%, 100% 100%;
  background-repeat: no-repeat;
  animation: lg-breathe-n 2.4s ease-in-out infinite, lg-shine 3s ease-in-out infinite;
}

@keyframes lg-breathe-n {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.045); }
}

@keyframes lg-shine {
  0% { background-position: 160% 0, 0 0; }
  60%, 100% { background-position: -60% 0, 0 0; }
}

@media (prefers-reduced-motion: reduce) {
  .lgh-counter { animation: none !important; }
}

/* ============================================================
   Item 49: every main tab shares the lobby's top logic
   ============================================================ */
/* band: page title at rest (brand on the lobby) */
#ak-topbar .ak-title {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: calc(100% - 2 * var(--band-pad));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 17px;
  font-weight: 600;
  color: var(--lg-text);
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.45s cubic-bezier(0.2, 0.9, 0.25, 1.1);
  pointer-events: none;
}

html.lg-is-titled:not(.band-in) #ak-topbar .ak-title {
  opacity: 1;
}

html.lg-is-titled.band-in #ak-topbar .ak-title {
  transform: translate(-50%, -110%) scale(0.92);
}

html.lg-is-titled #ak-topbar .ak-brand {
  opacity: 0 !important;
}

/* the pages' own title bars: hidden (title text lives in the band now);
   the user row takes their place: 64px = 56px row + 8px */
.lg-tabpage.lg-tab-private,
.lg-tabpage.lg-tab-wallet,
.lg-tabpage.lg-tab-promo {
  --pg-title-h: 64px !important;
}

.lg-tab-wallet ._blueTop_1orhv_34 ._headerText_1orhv_43,
.lg-tab-profile ._blueTop_huab8_34 ._headerText_huab8_43,
.lg-tab-private ._gameName_11y92_70 {
  visibility: hidden !important;
}

.lg-tab-promo > .page-header {
  visibility: hidden !important;
}

/* user row (same component as the lobby head row) */
.lg-urow {
  position: absolute !important;
  top: 4px;
  left: 16px;
  right: 16px;
  height: 56px;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 10px;
  will-change: transform, opacity;
}

.lg-urow button {
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* same look as #lg-head (those rules are scoped to #lg-head / .lgh-*) */
.lg-urow .lgh-plus {
  background: var(--lg-accent) !important;
  box-shadow: 0 2px 6px rgba(40, 30, 110, 0.22) !important;
}

.lg-urow .lgh-plus::before,
.lg-urow .lgh-plus::after {
  background: #fff !important;
}

.lg-urow .lgh-gift {
  background: var(--lg-surface-strong) !important;
  border: 0.5px solid var(--lg-line) !important;
  box-shadow: inset 0 1px 0 var(--lg-glass-hi), 0 2px 8px var(--lg-glass-shadow) !important;
}

.lg-urow .lgh-gift::before {
  inset: 9px !important;
  background: var(--lg-accent) !important;
}

.lg-urow .lgh-coin {
  width: 26px !important;
  height: 26px !important;
  flex: 0 0 26px;
  font-size: 0 !important;
  background: var(--lg-usdt) center / contain no-repeat !important;
  border-radius: 50%;
}

/* Private: the pages session hides the old title row and moved its icons into
   the content; content top = max(8px, var(--pg-title-h) - 40px) = 64px,
   i.e. right under the 56px user row (+4 top, +4 gap) */
.lg-tabpage.lg-tab-private {
  --pg-title-h: 104px !important;
}

/* Profile: its avatar card is the user row; no extra title space */
.lg-tabpage.lg-tab-profile {
  --pg-title-h: 0px !important;
}

.lg-tab-profile ._player_huab8_62 {
  will-change: transform, opacity;
}

.lg-tabpage.lg-tab-promo {
  position: relative;
}

/* ============================================================
   Item 54: marquee slot under the Telegram row, on every page.
   The page area (#layouts, sub-pages) moves down 34px while it shows.
   ============================================================ */
:root {
  --lg-tip-slot: 34px;
}

._topTipArea_1gloh_1 {
  top: calc(var(--top-inset) + 4px) !important;
}

._topTipArea_1gloh_1 .marquee-container {
  margin: 0 auto !important;
}

html.lg-is-tip-anim #layouts,
html.lg-is-tip-anim #root > .page {
  transition: top 0.3s var(--lg-ease-ios, ease), transform 0.3s var(--lg-ease-ios, ease), opacity 0.3s var(--lg-ease-ios, ease);
}

html.lg-is-tip:not(.in-room) #layouts {
  top: calc(var(--top-inset) + var(--lg-tip-slot)) !important;
}

html.lg-is-tip:not(.in-room) #root > .page {
  top: calc(var(--top-inset) + var(--lg-tip-slot)) !important;
}

/* ============================================================
   Item 55: Total pool strip — slot reels, gold shine, burst
   ============================================================ */
.lg-pool-on ._recommendAreaItemValue_1tya3_38 > span:not(.lg-pool) {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none;
}

.lg-pool {
  display: inline-flex;
  align-items: flex-end;
  position: relative;
  font-size: 17px;
  font-weight: 700;
  line-height: 20px;
  font-variant-numeric: tabular-nums;
  color: #c98a12;
}

:root[data-lg-theme="dark"] .lg-pool {
  color: #f1c050;
}

.lg-reel {
  display: inline-block;
  height: 20px;
  overflow: hidden;
  vertical-align: bottom;
}

.lg-reel-s {
  display: flex;
  flex-direction: column;
  will-change: transform;
}

.lg-reel-s i {
  font-style: normal;
  height: 20px;
  line-height: 20px;
  text-align: center;
}

.lg-reel-c {
  display: inline-block;
  height: 20px;
  line-height: 20px;
}

/* a fine gold light sweeping across the amount */
.lg-pool::after {
  content: "";
  position: absolute;
  inset: -2px -6px;
  background: linear-gradient(100deg, transparent 35%, rgba(255, 240, 190, 0.55) 50%, transparent 65%);
  background-size: 300% 100%;
  mix-blend-mode: soft-light;
  animation: lg-pool-shine 4s ease-in-out infinite;
  pointer-events: none;
}

:root[data-lg-theme="dark"] .lg-pool::after {
  mix-blend-mode: screen;
  background-image: linear-gradient(100deg, transparent 40%, rgba(255, 230, 160, 0.35) 50%, transparent 60%);
}

@keyframes lg-pool-shine {
  0% { background-position: 120% 0; }
  55%, 100% { background-position: -20% 0; }
}

/* burst particles (spawned every other spin) */
._jackpot_1tya3_50 .lg-burst {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  pointer-events: none;
  z-index: 3;
}

.lg-burst .lg-p {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  animation: lg-burst 1.3s cubic-bezier(.15, .7, .3, 1) both;
}

.lg-burst .coin {
  width: 9px;
  height: 9px;
  margin: -4.5px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #fff3c4, #f0b43c 60%, #c98a12);
  box-shadow: 0 0 4px rgba(240, 180, 60, 0.6);
}

.lg-burst .conf0,
.lg-burst .conf1 {
  width: 4px;
  height: 8px;
  margin: -4px -2px;
  border-radius: 1px;
  background: #f0b43c;
}

.lg-burst .conf1 {
  background: var(--lg-accent);
}

@keyframes lg-burst {
  0% { opacity: 0; transform: translate(0, 0) rotate(0) scale(.4); }
  12% { opacity: 1; }
  70% { opacity: 1; }
  100% { opacity: 0; transform: translate(var(--dx), calc(var(--dy) + 14px)) rotate(var(--r)) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .lg-pool::after,
  .lg-burst .lg-p { animation: none !important; display: none; }
}

._jackpot_1tya3_50 ._recommendAreaItemValue_1tya3_38 .lg-pool,
._jackpot_1tya3_50 ._recommendAreaItemValue_1tya3_38 .lg-pool span {
  color: #c98a12 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

:root[data-lg-theme="dark"] ._jackpot_1tya3_50 ._recommendAreaItemValue_1tya3_38 .lg-pool,
:root[data-lg-theme="dark"] ._jackpot_1tya3_50 ._recommendAreaItemValue_1tya3_38 .lg-pool span {
  color: #f1c050 !important;
}

._jackpot_1tya3_50 ._recommendAreaItemValue_1tya3_38 {
  position: relative;
  display: inline-flex !important;
  align-items: flex-end;
}

/* ============================================================
   Item 56: closer to a real iOS / Telegram app
   - neutral surfaces, no sheen/glow, solid accent (tokens in liquid-glass.css)
   - shapes per element: cards 14, tags 5, segmented 9, chips stay capsules
   - accent only on tappables and key numbers; hierarchy by weight and size
   ============================================================ */

/* table cards: flat white / #1c1c1e cells, no border+shadow stack */
._tableItem_1m8og_1.lg-card {
  border-radius: 14px !important;
  background: var(--lg-surface-strong) !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* type tags: one neutral shape, text tells the type */
.lg-card > ._leftTagsContainer_1m8og_151[data-lg-label]::before,
.lg-card > ._leftTagsContainer_1m8og_151[data-lg-type]::before {
  height: 20px !important;
  padding: 0 6px !important;
  border-radius: 5px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--lg-text-2) !important;
  background: var(--lg-fill) !important;
}

/* badges: neutral, no gold block */
.lg-badge,
.lg-badge.lg-jp,
:root[data-lg-theme="dark"] .lg-badge.lg-jp {
  color: var(--lg-text-2) !important;
  background: var(--lg-fill) !important;
  border-radius: 5px !important;
}

/* seat cells: solid accent for taken seats */
.lg-bar i.on,
:root[data-lg-theme="dark"] .lg-bar i.on {
  background: var(--lg-accent) !important;
}

/* Join: plain filled button */
.lg-join {
  background: var(--lg-accent) !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* lobby head */
#lg-head .lgh-av,
.lg-urow .lgh-av {
  box-shadow: none !important;
}

.lgh-vip {
  background: var(--lg-fill) !important;
  color: var(--lg-text-2) !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  padding: 0 5px !important;
}

#lg-head .lgh-bal,
.lg-urow .lgh-bal {
  background: var(--lg-surface-strong) !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

#lg-head .lgh-gift,
.lg-urow .lgh-gift {
  border: 0 !important;
  box-shadow: none !important;
}

#lg-head .lgh-plus,
.lg-urow .lgh-plus {
  box-shadow: none !important;
}

.lgh-banner {
  border-radius: 16px !important;
  box-shadow: none !important;
}

.lgh-banner::after {
  border-radius: 16px !important;
}

/* segmented control: iOS proportions, selected label in text colour */
._tab_lbsni_18 .rv-sticky .rv-tabs__nav--line {
  border-radius: 9px !important;
  padding: 2px !important;
  height: 34px !important;
}

._tab_lbsni_18 .rv-sticky .rv-tabs__nav--line .rv-tab {
  height: 30px !important;
  border-radius: 7px !important;
  font-weight: 500 !important;
}

._tab_lbsni_18 .rv-sticky .rv-tabs__nav--line .rv-tab--active {
  color: var(--lg-text) !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
}

._tab_lbsni_18 .rv-sticky .rv-tabs__nav--line .rv-tab[style*="color"] {
  color: var(--lg-text-2) !important;
}

._tab_lbsni_18 .rv-sticky .rv-tabs__nav--line .rv-tab.rv-tab--active[style*="color"] {
  color: var(--lg-text) !important;
}

/* total pool strip: flat cell; the gold lives in the number only */
._jackpot_1tya3_50 {
  border-radius: 14px !important;
  background: var(--lg-surface-strong) !important;
  box-shadow: none !important;
}

/* casino section icons: plain monochrome glyphs, no tinted tiles */
[class*="_recentGamesTitleLeft_"] svg,
[class*="_recentGamesTitleLeft_"] img {
  background: none !important;
  padding: 0 !important;
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px !important;
  color: var(--lg-text) !important;
}

[class*="_liveSportsCombinedColumn_"] [class*="_recentGamesTitleLeft_"] svg,
[class*="_liveSportsCombinedColumn_"] [class*="_recentGamesTitleLeft_"] img {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
}

/* chips: no hairline + shadow stacking */
html ._twoLevelTabs_ealz5_34 .rv-tab .rv-tab__text,
html ._games_tabs_uvosp_1 .rv-tab .rv-tab__text,
html body [class*="_brandFilterTabs_"] .rv-tab:not(.rv-tab--active) .rv-tab__text,
[class*="_casinoSearchAction_"] {
  box-shadow: none !important;
  background: var(--lg-fill) !important;
}

html ._twoLevelTabs_ealz5_34 .rv-tab--active .rv-tab__text {
  box-shadow: none !important;
  background: var(--lg-text) !important;
  color: var(--lg-canvas) !important;
}

html ._games_tabs_uvosp_1 .rv-tab--active .rv-tab__text,
html body [class*="_brandFilterTabs_"] .rv-tab--active .rv-tab__text {
  background: var(--lg-text) !important;
  color: var(--lg-canvas) !important;
}

html body [class*="_brandFilterTabs_"] .rv-tab .rv-tab__text[data-mono]::before {
  background: var(--lg-text-3);
  color: var(--lg-canvas);
}

html body [class*="_brandFilterTabs_"] .rv-tab--active .rv-tab__text[data-mono]::before {
  background: var(--lg-canvas);
  color: var(--lg-text);
}

/* bottom nav: selected = accent glyph + label, no tinted pill */
.tabber_container .rv-tabbar-item--active {
  background: transparent !important;
}

/* top band pill */
#ak-topbar .ak-pill {
  border: 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
  background: var(--lg-surface-strong) !important;
  background-image: none !important;
}

#ak-topbar .ak-dep {
  background-image: none !important;
  box-shadow: none !important;
}

/* ============================================================
   Item 57: sub-pages put their title in the Telegram row
   ============================================================ */
/* The in-page title bars are hidden by lg-pages.css while html.lg-is-subhead
   is set (that session keeps right-side action buttons as a slim toolbar). */

/* band title on sub-pages: same slot and fade as the tab-page title */
html.lg-is-sub.lg-is-titled #ak-topbar .ak-brand {
  opacity: 0 !important;
}

/* ============================================================
   Item 58: some colour back, still restrained
   ============================================================ */
/* selected chips / segments: brand purple, solid */
html ._twoLevelTabs_ealz5_34 .rv-tab--active .rv-tab__text,
html ._games_tabs_uvosp_1 .rv-tab--active .rv-tab__text,
html body [class*="_brandFilterTabs_"] .rv-tab--active .rv-tab__text {
  background: var(--lg-accent) !important;
  color: #fff !important;
}

html body [class*="_brandFilterTabs_"] .rv-tab--active .rv-tab__text[data-mono]::before {
  background: #fff;
  color: var(--lg-accent);
}

html body [class*="_brandFilterTabs_"] .rv-tab .rv-tab__text[data-mono]::before {
  background: var(--lg-accent-soft);
  color: var(--lg-accent);
}

._tab_lbsni_18 .rv-sticky .rv-tabs__nav--line .rv-tab--active,
._tab_lbsni_18 .rv-sticky .rv-tabs__nav--line .rv-tab.rv-tab--active[style*="color"] {
  color: var(--lg-accent) !important;
}

/* key amounts */
#lg-head .lgh-amt,
.lg-urow .lgh-amt {
  color: var(--lg-text) !important;
}

/* ============================================================
   Item 60: game-type tags in colour (light tint + same-hue text)
   ============================================================ */
.lg-card > ._leftTagsContainer_1m8og_151[data-lg-type="nlh"]::before {
  color: #2f6fd6 !important;
  background: rgba(47, 111, 214, 0.12) !important;
}

.lg-card > ._leftTagsContainer_1m8og_151[data-lg-type="six"]::before {
  color: #23894f !important;
  background: rgba(35, 137, 79, 0.12) !important;
}

.lg-card > ._leftTagsContainer_1m8og_151[data-lg-type="aof"]::before {
  color: #d4542a !important;
  background: rgba(212, 84, 42, 0.12) !important;
}

:root[data-lg-theme="dark"] .lg-card > ._leftTagsContainer_1m8og_151[data-lg-type="nlh"]::before {
  color: #7fb0ff !important;
  background: rgba(90, 150, 255, 0.16) !important;
}

:root[data-lg-theme="dark"] .lg-card > ._leftTagsContainer_1m8og_151[data-lg-type="six"]::before {
  color: #6fd394 !important;
  background: rgba(70, 200, 120, 0.15) !important;
}

:root[data-lg-theme="dark"] .lg-card > ._leftTagsContainer_1m8og_151[data-lg-type="aof"]::before {
  color: #ff9a70 !important;
  background: rgba(255, 120, 80, 0.16) !important;
}

/* JP badge: a touch of gold again (it marks the jackpot) */
.lg-badge.lg-jp {
  color: #b7791f !important;
  background: rgba(240, 180, 60, 0.14) !important;
}

:root[data-lg-theme="dark"] .lg-badge.lg-jp {
  color: #f1c050 !important;
  background: rgba(240, 180, 60, 0.16) !important;
}

/* Casino: each category glyph keeps a hue of its own (unselected chips and
   section titles); selected chips stay white on purple */
html ._games_tabs_uvosp_1 .rv-tab:not(.rv-tab--active):nth-child(1) .rv-tab__text svg,
[class*="_recentGamesTitleLeft_"] svg:has(use[href*="discover_discover"]) { color: #7a6ce6 !important; }
html ._games_tabs_uvosp_1 .rv-tab:not(.rv-tab--active):nth-child(2) .rv-tab__text svg { color: #5b6ee8 !important; }
html ._games_tabs_uvosp_1 .rv-tab:not(.rv-tab--active):nth-child(3) .rv-tab__text svg { color: #e08a1e !important; }
html ._games_tabs_uvosp_1 .rv-tab:not(.rv-tab--active):nth-child(4) .rv-tab__text svg { color: #2fa56a !important; }
html ._games_tabs_uvosp_1 .rv-tab:not(.rv-tab--active):nth-child(5) .rv-tab__text svg { color: #e0574f !important; }
html ._games_tabs_uvosp_1 .rv-tab:not(.rv-tab--active):nth-child(6) .rv-tab__text svg { color: #2f94d6 !important; }

[class*="_recentGamesTitleLeft_"] svg:has(use[*|href="#home-discover_slots"]) { color: #e08a1e !important; }
[class*="_recentGamesTitleLeft_"] svg:has(use[*|href="#home-discover_live_casino"]) { color: #e0574f !important; }
[class*="_recentGamesTitleLeft_"] svg:has(use[*|href="#home-discover_sports"]) { color: #2fa56a !important; }
[class*="_recentGamesTitleLeft_"] svg:has(use[*|href="#home-discover_fishing"]) { color: #2f94d6 !important; }

/* ============================================================
   Item 59: slimmer banner (136px; artwork 716x272)
   banner 105+4+56+10 → 175..311, segmented bar 12px below
   ============================================================ */
._top_gaint_1h46z_1 {
  height: 220px !important;
}

._tab_lbsni_18 {
  margin-top: 212px !important;
}

#lg-head .lgh-banner {
  height: 136px !important;
}

/* prize figure overlay follows the new artwork: baseline y=150, 44px / 700 */
.lgh-counter {
  top: calc(50% + (114 - 136) * 100cqw / 716) !important;
  font: 700 calc(44 * 100cqw / 716) / 1 -apple-system, "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -0.3px !important;
  left: calc(40 * 100cqw / 716) !important;
  filter: drop-shadow(0 1px 3px rgba(233, 150, 28, 0.25)) !important;
}

@keyframes lg-breathe-n {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.025); }
}

.lgh-dots {
  bottom: 8px !important;
  right: 10px !important;
  padding: 4px 6px !important;
}

/* ============================================================
   Item 61: Apple feel — capsules where iOS uses them, continuous
   rounded rects elsewhere, glass only on chrome, springy press
   ============================================================ */
:root {
  --lg-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* content cards: solid surface, 16px continuous corners */
._tableItem_1m8og_1.lg-card,
._jackpot_1tya3_50 {
  border-radius: 16px !important;
}

/* bottom nav (iOS 26): the selected tab sits in a soft glass highlight */
.tabber_container .rv-tabbar-item--active {
  background: var(--lg-accent-soft) !important;
}

/* chrome = translucent glass material */
html.band-in #ak-topbar {
  background: color-mix(in srgb, var(--lg-canvas) 72%, transparent) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
}

._tab_lbsni_18 .rv-sticky .rv-tabs__wrap {
  background: color-mix(in srgb, var(--lg-canvas) 78%, transparent) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
}

/* secondary actions: tinted capsules */
.lgh-gift,
[class*="_casinoSearchAction_"] {
  background: var(--lg-accent-soft) !important;
  color: var(--lg-accent) !important;
}

/* press: scale 0.97 on a spring */
.lg-join,
.lgh-plus,
.lgh-gift,
.lgh-av,
#ak-topbar .ak-dep,
.tabber_container .rv-tabbar-item,
html ._twoLevelTabs_ealz5_34 .rv-tab__text,
html ._games_tabs_uvosp_1 .rv-tab__text,
[class*="_brandFilterTabs_"] .rv-tab__text,
[class*="_casinoSearchAction_"],
.lgh-slide {
  transition: transform 0.35s var(--lg-spring), background-color 0.2s ease, color 0.2s ease !important;
}

.lg-join:active,
.lgh-plus:active,
.lgh-gift:active,
.lgh-av:active,
#ak-topbar .ak-dep:active,
.tabber_container .rv-tabbar-item:active,
html ._twoLevelTabs_ealz5_34 .rv-tab:active .rv-tab__text,
html ._games_tabs_uvosp_1 .rv-tab:active .rv-tab__text,
[class*="_brandFilterTabs_"] .rv-tab:active .rv-tab__text,
[class*="_casinoSearchAction_"]:active,
._tableItem_1m8og_1.lg-card:active {
  transform: scale(0.97) !important;
  transition-duration: 0.12s !important;
}

._tableItem_1m8og_1.lg-card {
  transition: transform 0.35s var(--lg-spring) !important;
}

@media (prefers-reduced-motion: reduce) {
  .lg-join:active,
  .lgh-plus:active,
  .tabber_container .rv-tabbar-item:active,
  ._tableItem_1m8og_1.lg-card:active {
    transform: none !important;
  }
}

/* ============================================================
   Casino hierarchy: level-1 segmented 34 > level-2 chips 32/14 > level-3 30/13
   ============================================================ */
html ._games_tabs_uvosp_1 .rv-tabs__wrap,
html ._games_tabs_uvosp_1 .rv-tabs__nav,
html ._games_tabs_uvosp_1 .rv-tab {
  height: 40px !important;
}

html ._games_tabs_uvosp_1 .rv-tab .rv-tab__text {
  height: 32px !important;
  padding: 0 12px 0 10px !important;
  gap: 5px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

html ._games_tabs_uvosp_1 .rv-tab--active .rv-tab__text {
  font-weight: 600 !important;
}

html ._games_tabs_uvosp_1 .rv-tab .rv-tab__text svg {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
}

/* level 3: brand capsules with the real brand logos (the app's own <img>s) */
html body [class*="_brandFilterTabs_"] .rv-tabs__nav.rv-tabs__nav--capsule,
html body [class*="_brandFilterTabs_"] .rv-tabs__wrap,
html body [class*="_brandFilterTabs_"] .rv-tab,
[class*="_casinoSearchHeader_"] {
  height: 40px !important;
}

html body [class*="_brandFilterTabs_"] .rv-tab .rv-tab__text {
  height: 30px !important;
  padding: 0 11px 0 5px !important;
  gap: 6px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

html body [class*="_brandFilterTabs_"] .rv-tab--active .rv-tab__text {
  font-weight: 600 !important;
}

html body [class*="_brandFilterTabs_"] .rv-tab .rv-tab__text[data-mono]::before {
  display: none !important;
  content: none !important;
}

html body [class*="_brandFilterTabs_"] .rv-tab .rv-tab__text > span {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border-radius: 6px;
  background: #ffffff;
  box-shadow: inset 0 0 0 0.5px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

html body [class*="_brandFilterTabs_"] .rv-tab .rv-tab__text > span img {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: contain !important;
  position: static !important;
  transform: none !important;
}

[class*="_casinoSearchAction_"] {
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
}

/* ---------- Marquee slot also moves the sub-page layers ---------- */
html.lg-is-tip:not(.in-room) .popup-wrapper:has(.page-header),
html.lg-is-tip:not(.in-room) .pg-sub {
  top: calc(var(--top-inset) + var(--lg-tip-slot)) !important;
}

html.lg-is-tip-anim .popup-wrapper:has(.page-header),
html.lg-is-tip-anim .pg-sub {
  transition: top 0.3s var(--lg-ease-ios, ease), transform 0.3s var(--lg-ease-ios, ease) !important;
}

/* PG's logo is white artwork: give it a dark tile */
html body [class*="_brandFilterTabs_"] .rv-tab .rv-tab__text > span:has(img[class*="_pgLogo_"]) {
  background: #24222e;
  box-shadow: none;
}

/* ============================================================
   Scroll fix: the tab container is a flex item in a fixed-height column,
   so it was squashed to its min-height while the list overflowed it.
   Content outside its parent's box breaks touch scrolling on iOS and ends
   the sticky bar's run early. Let it (and its column) grow with the list.
   ============================================================ */
._base_lbsni_1 {
  height: auto !important;
  min-height: 100% !important;
}

._tab_lbsni_18 {
  flex-shrink: 0 !important;
}

/* ============================================================
   Filter / category chips match the MTT page: 32 high, 0 14px, 14/500,
   selected = purple + white, unselected = fill + secondary text
   ============================================================ */
html body ._twoLevelTabs_ealz5_34 .rv-tab .rv-tab__text,
html body ._games_tabs_uvosp_1 .rv-tab .rv-tab__text {
  height: 32px !important;
  padding: 0 14px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  background: var(--lg-fill) !important;
  color: var(--lg-text-2) !important;
  box-shadow: none !important;
}

html body ._twoLevelTabs_ealz5_34 .rv-tab--active .rv-tab__text,
html body ._games_tabs_uvosp_1 .rv-tab--active .rv-tab__text {
  background: var(--lg-accent) !important;
  color: #fff !important;
  font-weight: 500 !important;
}

/* Chinese filter names (set by liquid-shell.js): hide the app's text, draw ours */
html body ._twoLevelTabs_ealz5_34 .rv-tab .rv-tab__text[data-lg-label] {
  font-size: 0 !important;
}

html body ._twoLevelTabs_ealz5_34 .rv-tab .rv-tab__text[data-lg-label]::before {
  content: attr(data-lg-label);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}

/* ============================================================
   Item 63: toasts / notifications below the Telegram row, glass capsules
   ============================================================ */
html body .rv-toast.rv-toast--top {
  top: calc(var(--top-inset) + 8px) !important;
  transform: translate3d(-50%, 0, 0) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 8px;
  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 32px) !important;
  min-height: 0 !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--lg-surface-strong) 82%, transparent) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  backdrop-filter: blur(24px) saturate(180%);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14) !important;
  color: var(--lg-text) !important;
  font-size: 15px !important;
  line-height: 20px !important;
  text-align: center;
}

html body .rv-toast.rv-toast--top .rv-toast__icon {
  font-size: 18px !important;
  margin: 0 !important;
}

html body .rv-toast.rv-toast--top .rv-toast__text {
  margin: 0 !important;
  font-size: 15px !important;
}

html body .rv-toast.rv-toast--top.rv-toast--fail .rv-toast__icon {
  color: #e5484d !important;
}

html body .rv-toast.rv-toast--top.rv-toast--success .rv-toast__icon {
  color: #2fa56a !important;
}

/* react-vant Notify: a capsule under the Telegram row */
html body .rv-popup--top:has(> .rv-notify),
html body .rv-popup--top.rv-notify {
  top: calc(var(--top-inset) + 8px) !important;
  left: 16px !important;
  right: 16px !important;
  width: auto !important;
  padding-top: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body .rv-notify {
  margin: 0 auto;
  width: fit-content;
  max-width: 100%;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  line-height: 20px !important;
  color: var(--lg-text) !important;
  background: color-mix(in srgb, var(--lg-surface-strong) 82%, transparent) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  backdrop-filter: blur(24px) saturate(180%);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14);
}

html body .rv-notify--danger { color: #d93f45 !important; }
html body .rv-notify--success { color: #23894f !important; }
html body .rv-notify--warning { color: #b5651d !important; }

/* ============================================================
   Item 64: third-party / own casino games (iframe in _casinoIframeRoot):
   same frame as the poker room, sized from creation (static CSS)
   ============================================================ */
html body ._casinoIframeRoot_1wm64_36 {
  top: calc(var(--sa-safe-top) + var(--sa-content-top)) !important;
  bottom: var(--bottom-inset) !important;
  left: 0 !important;
  right: 0 !important;
  height: auto !important;
  background: #000 !important;
}

html.lg-is-game {
  background: #000 !important;
}

html.lg-is-game body::before {
  display: none !important;
}

html.lg-is-game body::after {
  content: "";
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--bottom-inset);
  background: #000;
  z-index: 2147483000;
  pointer-events: none;
}

/* band in a game: black bar, the game's name (if any) in white, nothing else */
html.lg-is-game #ak-topbar {
  background: #000 !important;
  border-bottom-color: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html.lg-is-game #ak-topbar .ak-brand,
html.lg-is-game #ak-topbar .ak-pill {
  opacity: 0 !important;
  pointer-events: none !important;
}

html.lg-is-game #ak-topbar .ak-title {
  opacity: 1 !important;
  transform: translate(-50%, -50%) !important;
  color: #fff !important;
}

/* ---------- Brand logos: one white rounded tile for every brand ---------- */
html body [class*="_brandFilterTabs_"] .rv-tab .rv-tab__text > span,
html body [class*="_brandFilterTabs_"] .rv-tab .rv-tab__text > span:has(img[class*="_pgLogo_"]) {
  background: #ffffff !important;
  box-shadow: inset 0 0 0 0.5px rgba(0, 0, 0, 0.08) !important;
}

/* PG's artwork is white: invert it so it reads on the white tile */
html body [class*="_brandFilterTabs_"] img[class*="_pgLogo_"] {
  filter: invert(1) !important;
}

html.lg-is-game ._topTipArea_1gloh_1 .marquee-container {
  display: none !important;
}

/* ============================================================
   Push / pop performance (item: page switch stutter)
   - curve that settles inside the app's 300ms transition window, so the
     page never crawls the last pixels and always ends at translateX(0)
   - no backdrop blur on anything while layers move (costly → dropped frames);
     it comes back as soon as the transition classes are gone
   - the page underneath only slides (no opacity on that huge layer); the
     app's own wrapper ::after already dims it
   ============================================================ */
:root {
  --lg-push: cubic-bezier(0.25, 0.8, 0.25, 1);
}

.popup-wrapper.popup-enter,
.popup-wrapper.popup-enter-active,
.popup-wrapper.popup-exit,
.popup-wrapper.popup-exit-active {
  will-change: transform;
}

.popup-wrapper.popup-enter-active {
  transition: transform 0.28s var(--lg-push) !important;
}

.popup-wrapper.popup-exit-active {
  transition: transform 0.26s var(--lg-push) !important;
}

.popup-wrapper.popup-enter-done:has(.page-header) {
  transform: translate3d(0, 0, 0) !important;
}

.popup-wrapper.popup-enter-done {
  will-change: auto;
}

#layouts {
  transition: transform 0.28s var(--lg-push) !important;
}

html:has(.popup-wrapper):not(:has(.popup-wrapper.popup-exit-active)) #layouts {
  opacity: 1 !important;
}

html:has(.popup-wrapper.popup-enter-active, .popup-wrapper.popup-exit-active, .pg-sub:not(.pg-in), .pg-sub.pg-out) #layouts {
  will-change: transform;
}

html:has(.popup-wrapper.popup-enter-active, .popup-wrapper.popup-exit-active) .popup-wrapper *,
html:has(.popup-wrapper.popup-enter-active, .popup-wrapper.popup-exit-active) #layouts *,
html:has(.popup-wrapper.popup-enter-active, .popup-wrapper.popup-exit-active) #layouts {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* ============================================================
   Room: the strips above (Telegram row) and below (home indicator) the
   table show the room's own background, continuing the canvas
   (geometry from liquid-shell.js section 10; cover of #parst by default)
   ============================================================ */
:root {
  --lg-room-bg: url("/room/assets/Common/native/b2/b250d93c-adad-413a-87f5-5f8171e8a847.ad4c8.jpg");
}

html.in-room {
  background: #15131b !important;
}

html.in-room body::before {
  display: block !important;
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    /* soften the seams at the table's top and bottom edges */
    linear-gradient(180deg,
      rgba(17, 15, 23, 0.55) 0,
      rgba(17, 15, 23, 0) calc(var(--sa-safe-top) + var(--sa-content-top) - 18px),
      rgba(17, 15, 23, 0) calc(100% - var(--bottom-inset)),
      rgba(17, 15, 23, 0.35) 100%),
    var(--lg-room-bg) var(--lg-room-bg-x, 50%) var(--lg-room-bg-y, calc(var(--sa-safe-top) + var(--sa-content-top))) / var(--lg-room-bg-w, auto) var(--lg-room-bg-h, calc(100vh - var(--sa-safe-top) - var(--sa-content-top) - var(--bottom-inset))) repeat,
    #15131b !important;
}

/* the old black bottom strip gives way to the backdrop */
html.in-room body::after {
  display: none !important;
}

#parst {
  background: transparent !important;
}

/* ============================================================
   Cash-table card layout (v3)
   row 1: [type] [JP] [shield] [blinds …………] [min buy-in $x]
   row 2: [seat cells] [x/y]  ……………  [clock time] [Join]
   ============================================================ */
._tableItem_1m8og_1.lg-card {
  grid-template-columns: auto auto minmax(0, 1fr) auto !important;
  grid-template-areas:
    "tag badges blinds buy"
    "r2  r2     r2     r2" !important;
}

.lg-card > ._leftTagsContainer_1m8og_151 { grid-area: tag !important; }
.lg-card > ._flexitem1_1m8og_25 { grid-area: blinds !important; }
.lg-card > ._flexitem3_1m8og_45 { grid-area: buy !important; }
.lg-card > .lg-row2 { grid-area: r2 !important; }

.lg-card > .lg-badges {
  grid-area: badges;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}

/* same height / radius as the type tag */
.lg-card > .lg-badges .lg-badge {
  height: 20px !important;
  min-width: 20px;
  padding: 0 6px !important;
  border-radius: 5px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 20px;
}

.lg-card > .lg-badges .lg-badge.lg-shield {
  padding: 0 4px !important;
  background: var(--lg-fill) !important;
}

.lg-card > .lg-badges .lg-badge.lg-shield::before {
  background: var(--lg-text-2) !important;
}

/* row 2: time sits right before Join */
.lg-card > .lg-row2 .lg-sp {
  flex: 1 1 auto;
}

.lg-card > .lg-row2 .lg-clock {
  margin-right: 0;
}

.lg-card > .lg-row2 {
  gap: 8px !important;
}

.lg-card > .lg-row2 .lg-bar + .lg-seat {
  margin-left: -2px;
}

/* long blinds (> 14 chars) win the space: drop the "Min Buy-in" caption */
.lg-card.lg-long > ._flexitem3_1m8og_45 ._text9_1m8og_66 {
  display: none !important;
}

/* user row: ID / VIP stay on one line when the balance pill gets wide */
.lgh-sub {
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
  overflow: hidden;
}

.lgh-uid {
  overflow: hidden;
  text-overflow: ellipsis;
}

.lgh-vip {
  flex: 0 0 auto;
}

/* ============================================================
   Lobby banner v4: the app's own photographic artwork + CSS motion
   ratio 708:300 (no text cropped), radius 16, 16px gutters
   banner H = (100vw - 32px) * 300 / 708; head = 84 + H; list = 76 + H
   ============================================================ */
:root {
  --lgh-bn-h: calc((100vw - 32px) * 300 / 708);
}

._top_gaint_1h46z_1 {
  height: calc(84px + var(--lgh-bn-h)) !important;
}

._tab_lbsni_18 {
  margin-top: calc(76px + var(--lgh-bn-h)) !important;
}

#lg-head .lgh-banner {
  height: var(--lgh-bn-h) !important;
  border-radius: 16px !important;
  overflow: hidden;
  isolation: isolate;
  background: #1a1528;
}

.lgh-track {
  position: relative;
  display: block !important;
  height: 100%;
  transform: none !important;
  transition: none !important;
}

.lgh-slide {
  position: absolute !important;
  inset: 0;
  overflow: hidden;
  opacity: 0;
  transform: scale(1.02);
  transition: opacity 0.6s ease, transform 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
  pointer-events: none;
}

.lgh-slide.on {
  opacity: 1;
  transform: none;
  pointer-events: auto;
  z-index: 1;
}

.lgh-slide .lgh-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform-origin: 18% 50%;
  will-change: transform;
}

.lgh-contain .lgh-art {
  object-fit: contain;
  transform-origin: 50% 50%;
}

/* wide artwork: a soft, enlarged copy fills the band behind it */
.lgh-blur {
  position: absolute;
  inset: -12%;
  background: center / cover no-repeat;
  filter: blur(18px) saturate(1.2) brightness(0.7);
}

/* slow push-in (Ken Burns) on the visible slide */
@keyframes lgh-kb {
  from { transform: scale(1) translate3d(0, 0, 0); }
  to { transform: scale(1.05) translate3d(-1%, -1%, 0); }
}

@keyframes lgh-kb-soft {
  from { transform: scale(1); }
  to { transform: scale(1.03); }
}

.lgh-slide.on.lgh-cover .lgh-art {
  animation: lgh-kb 8s ease-in-out infinite alternate;
}

.lgh-slide.on.lgh-contain .lgh-art {
  animation: lgh-kb-soft 8s ease-in-out infinite alternate;
}

/* diagonal light sweep every few seconds */
.lgh-sweep {
  position: absolute;
  top: -20%;
  bottom: -20%;
  left: 0;
  width: 40%;
  background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.22) 50%, transparent 100%);
  transform: translate3d(-160%, 0, 0) skewX(-12deg);
  pointer-events: none;
  z-index: 2;
}

@keyframes lgh-sweep {
  0%, 62% { transform: translate3d(-160%, 0, 0) skewX(-12deg); opacity: 0; }
  64% { opacity: 1; }
  92% { transform: translate3d(330%, 0, 0) skewX(-12deg); opacity: 1; }
  100% { transform: translate3d(330%, 0, 0) skewX(-12deg); opacity: 0; }
}

.lgh-slide.on .lgh-sweep {
  animation: lgh-sweep 5.5s ease-in-out infinite;
  animation-delay: 0.8s;
}

/* a few gold glints (coin / jackpot artwork only) */
.lgh-spark {
  position: absolute;
  width: 10px;
  height: 10px;
  z-index: 3;
  opacity: 0;
  pointer-events: none;
  background: radial-gradient(circle, #fff6d0 0, #ffd36b 30%, rgba(255, 211, 107, 0) 70%);
}

.lgh-spark::before,
.lgh-spark::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 1.5px;
  margin: -0.75px 0 0 -9px;
  border-radius: 1px;
  background: linear-gradient(90deg, transparent, #fff3c4, transparent);
}

.lgh-spark::after {
  transform: rotate(90deg);
}

.lgh-spark.s1 { left: 62%; top: 22%; }
.lgh-spark.s2 { left: 84%; top: 34%; }
.lgh-spark.s3 { left: 72%; top: 70%; }
.lgh-spark.s4 { left: 92%; top: 64%; }

@keyframes lgh-glint {
  0%, 100% { opacity: 0; transform: scale(0.4) rotate(0deg); }
  50% { opacity: 1; transform: scale(1) rotate(45deg); }
}

.lgh-slide.on .lgh-spark { animation: lgh-glint 2.6s ease-in-out infinite; }
.lgh-slide.on .lgh-spark.s2 { animation-delay: 0.7s; }
.lgh-slide.on .lgh-spark.s3 { animation-delay: 1.4s; }
.lgh-slide.on .lgh-spark.s4 { animation-delay: 2s; }

/* jackpot figure: our pill exactly over the artwork's baked-in "JACKPOT 奖池 60,000$+" */
.lgh-pot {
  position: absolute;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4%;
  box-sizing: border-box;
  border-radius: 999px;
  background: linear-gradient(180deg, #3a2a6e, #261b4f);
  box-shadow: inset 0 0 0 1px rgba(255, 206, 110, 0.75), 0 2px 6px rgba(0, 0, 0, 0.35);
  container-type: size;
  pointer-events: none;
}

.lgh-pot em {
  font-style: normal;
  font-weight: 600;
  font-size: 46cqh;
  color: #fff;
  white-space: nowrap;
}

.lgh-pot .lgh-counter {
  position: static !important;
  font: 700 54cqh / 1 -apple-system, "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: 0 !important;
  filter: none !important;
  transform-origin: center !important;
}

/* dots: fine, on a soft glass chip */
.lgh-dots {
  z-index: 5;
}

@media (prefers-reduced-motion: reduce) {
  .lgh-slide,
  .lgh-slide .lgh-art,
  .lgh-sweep,
  .lgh-spark {
    animation: none !important;
    transition: none !important;
  }
  .lgh-sweep,
  .lgh-spark { display: none; }
}

/* room strips painted with the canvas's own edge colours (sampled by the shell) */
html.in-room.lg-is-roomtint body::before {
  background:
    linear-gradient(180deg,
      var(--lg-room-top) 0,
      var(--lg-room-top) calc(var(--sa-safe-top) + var(--sa-content-top)),
      transparent calc(var(--sa-safe-top) + var(--sa-content-top)),
      transparent calc(100% - var(--bottom-inset)),
      var(--lg-room-bottom) calc(100% - var(--bottom-inset)),
      var(--lg-room-bottom) 100%),
    #15131b !important;
}

html.in-room.lg-is-roomtint {
  background: var(--lg-room-top) !important;
}

/* ============================================================
   Bottom nav centring: equal columns whatever the label length,
   highlight capsule centred on the column, dot pinned to the icon
   ============================================================ */
.tabber_container.rv-tabbar {
  justify-content: space-between !important;
  padding: 6px !important;
  box-sizing: border-box !important;
}

.tabber_container .rv-tabbar-item {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: visible;
  background: transparent !important;
  isolation: isolate;
}

.tabber_container .rv-tabbar-item--active::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  width: min(calc(100% - 2px), 72px);
  height: 100%;
  transform: translate(-50%, -50%);
  border-radius: 25px;
  background: var(--lg-accent-soft);
}

.tabber_container .rv-tabbar-item__text {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 2px;
  box-sizing: border-box;
}

.tabber_container .rv-tabbar-item__icon {
  position: relative;
  margin-left: auto !important;
  margin-right: auto !important;
}

.tabber_container .rv-tabbar-item__icon .rv-badge {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  transform: translate(40%, -30%) !important;
}

/* ============================================================
   Room, 2026-11-13: one continuous dark surface edge to edge
   - strips above / below the table: the room texture with no darkening
     band, on the texture's own edge colour (no slate fallback)
   - the app marquee moves into the Telegram row, between the
     Back and ∨ ⋯ pills, so it never covers the table
   ============================================================ */
html.in-room {
  background: #0b0a10 !important;
}
html.in-room:not(.lg-is-roomtint) body::before {
  background:
    var(--lg-room-bg) var(--lg-room-bg-x, 50%) var(--lg-room-bg-y, calc(var(--sa-safe-top) + var(--sa-content-top))) / var(--lg-room-bg-w, auto) var(--lg-room-bg-h, calc(100vh - var(--sa-safe-top) - var(--sa-content-top) - var(--bottom-inset))) repeat,
    #0b0a10 !important;
}
html.in-room.lg-is-roomtint body::before {
  background:
    linear-gradient(180deg,
      var(--lg-room-top) 0,
      var(--lg-room-top) calc(var(--sa-safe-top) + var(--sa-content-top)),
      transparent calc(var(--sa-safe-top) + var(--sa-content-top)),
      transparent calc(100% - var(--bottom-inset)),
      var(--lg-room-bottom) calc(100% - var(--bottom-inset)),
      var(--lg-room-bottom) 100%),
    #0b0a10 !important;
}

html.in-room ._topTipArea_1gloh_1 {
  top: calc(var(--sa-safe-top) + (var(--band-h) - 26px) / 2) !important;
  z-index: 2147483001 !important;
}
html.in-room ._topTipArea_1gloh_1 .marquee-container {
  width: calc(100% - 208px) !important;
  max-width: 260px;
  margin: 0 auto !important;
  background: rgba(255, 255, 255, 0.10) !important;
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.12) !important;
}
html.in-room ._topTipArea_1gloh_1 .marqueeitem1 { color: rgba(255, 255, 255, 0.72) !important; }
html.in-room ._topTipArea_1gloh_1 .marqueeitem2 { color: #f5c451 !important; }

/* Room background full screen (table stays put): one copy of the room's own
   background image, at the exact size / offset the canvas draws it, behind the
   whole screen; beyond the image its edge colour continues. */
html.in-room body::before {
  background:
    var(--lg-room-bg) var(--lg-room-bg-x, 50%) var(--lg-room-bg-y, calc(var(--sa-safe-top) + var(--sa-content-top))) / var(--lg-room-bg-w, auto) var(--lg-room-bg-h, calc(100vh - var(--sa-safe-top) - var(--sa-content-top) - var(--bottom-inset))) no-repeat,
    #09080c !important;
}
html.in-room { background: #09080c !important; }
