﻿@media (min-width: 1024px){
  :root{
    --layout-shell-max-width: 1180px;
    --layout-side-gap: 18px;
    --layout-content-gap: 16px;
  }

  .app-shell,
  .app-shell.app-shell-redesign,
  .app-shell-redesign{
    width:min(calc(100% - (var(--layout-side-gap) * 2)), var(--layout-shell-max-width)) !important;
  }

  .floating-balance-card,
  .floating-balance-card.compact-balance-toolbar,
  .compact-balance-toolbar,
  .redesign-bottom-nav,
  .bottom-nav{
    left:50% !important;
    right:auto !important;
    width:min(calc(100% - (var(--layout-side-gap) * 2)), var(--layout-shell-max-width)) !important;
    max-width:var(--layout-shell-max-width) !important;
    transform:translateX(-50%) !important;
  }

  #games-screen,
  #games-screen.screen,
  #games-screen.screen.active{
    overflow-y:auto !important;
    padding-bottom:calc(var(--safe-bottom) + 8px) !important;
  }

  #games-screen .cards-stack.redesign-games-stack{
    height:auto !important;
    min-height:100% !important;
    display:block !important;
  }

  #games-screen .game-select-grid.redesign-games-grid{
    height:auto !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows:none !important;
    align-content:start !important;
    gap:18px !important;
  }

  #games-screen .game-pick-card.game-pick-visual{
    height:auto !important;
    min-height:220px !important;
  }

  #games-screen .game-pick-card .game-pick-content{
    padding:22px !important;
  }

  #games-screen .game-pick-card .game-pick-title{
    font-size:28px !important;
  }

  #games-screen .game-pick-card .game-pick-text{
    display:block !important;
    max-width:260px !important;
  }
}

@media (min-width: 1280px){
  :root{
    --layout-shell-max-width: 1280px;
    --layout-side-gap: 24px;
  }

  #games-screen .game-pick-card.game-pick-visual{
    min-height:240px !important;
  }
}

@media (min-width: 1024px){
  #solo-plinko-panel,
  #solo-lucky-panel,
  #solo-pvp-panel{
    display:none;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    padding-bottom:calc(var(--safe-bottom) + 20px) !important;
  }

  #solo-crash-panel{
    display:none;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    padding-bottom:calc(var(--safe-bottom) + 20px) !important;
  }

  #solo-plinko-panel.active,
  #solo-lucky-panel.active,
  #solo-pvp-panel.active{
    display:block !important;
  }

  #solo-crash-panel.active{
    display:flex !important;
    flex-direction:column;
    min-height:0 !important;
    height:100% !important;
  }

  #solo-plinko-panel .fullscreen-game-card,
  #solo-lucky-panel .lucky-shell,
  #solo-pvp-panel .pvp-shell{
    min-height:max-content !important;
    height:auto !important;
  }

  #solo-crash-panel .crash-shell{
    min-height:max-content !important;
    height:auto !important;
    display:flex !important;
    flex-direction:column;
  }

  #solo-plinko-panel .fullscreen-game-card{
    display:grid !important;
    grid-template-rows:auto auto auto !important;
    align-content:start !important;
  }

  #solo-plinko-panel .fullscreen-board-card{
    height:auto !important;
    min-height:clamp(340px, 44vh, 560px) !important;
  }

  #solo-plinko-panel .fullscreen-controls{
    position:static !important;
  }

  #solo-lucky-panel{
    overflow-y:auto !important;
  }

  #solo-lucky-panel .lucky-shell{
    overflow:visible !important;
  }

  #solo-pvp-panel .pvp-players-list,
  #solo-pvp-panel .pvp-history-list{
    max-height:none !important;
  }
}

@media (min-width: 1024px){
  .app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar{
    box-sizing:border-box !important;
    position:fixed !important;
    left:50% !important;
    right:auto !important;
    width:min(calc(100% - (var(--layout-side-gap) * 2)), var(--layout-shell-max-width)) !important;
    max-width:var(--layout-shell-max-width) !important;
    margin:0 !important;
    transform:translateX(-50%) !important;
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr) auto !important;
    align-items:center !important;
    gap:10px !important;
    padding:6px 8px !important;
    overflow:visible !important;
    z-index:70 !important;
  }

  .app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .floating-balance-row{
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    flex:1 1 0 !important;
  }

  .app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .floating-balance-main{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
    min-height:calc(var(--layout-toolbar-height) - 12px) !important;
    padding:0 12px !important;
    white-space:nowrap !important;
  }

  .app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .trophy-mini-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    flex:0 0 42px !important;
  }

  .app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .balance-actions-inline,
  .app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .global-balance-actions{
    display:grid !important;
    grid-template-columns:repeat(2, 42px) !important;
    gap:6px !important;
    align-items:center !important;
    justify-content:end !important;
  }

  .app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .mini-action-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    flex:0 0 42px !important;
  }

  .app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar::before{
    display:block !important;
  }
}

/* compact mobile reserve under the redesigned bottom nav */
:root{
  --yak-compact-nav-clearance: calc(var(--layout-nav-height, var(--nav-h, 72px)) + 10px);
  --yak-screen-top-clearance: 14px;
}

@media (max-width: 640px){
  #games-screen.screen.active{
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(255,255,255,.38) rgba(255,255,255,.10) !important;
    padding-bottom: calc(var(--layout-nav-height, var(--nav-h, 72px)) + 10px) !important;
  }

  #games-screen.screen.active::-webkit-scrollbar{
    width: 6px !important;
  }

  #games-screen.screen.active::-webkit-scrollbar-thumb{
    background: rgba(255,255,255,.38) !important;
    border-radius: 999px !important;
  }

  #games-screen.screen.active::-webkit-scrollbar-track{
    background: rgba(255,255,255,.10) !important;
  }

  #games-screen .cards-stack.redesign-games-stack{
    height: auto !important;
    min-height: auto !important;
    display: block !important;
    margin-top: 10px !important;
    padding-bottom: 6px !important;
  }

  #games-screen .game-select-grid.redesign-games-grid{
    height: auto !important;
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    align-content: start !important;
    gap: 12px !important;
  }

  #games-screen .game-pick-card.game-pick-visual{
    height: auto !important;
    min-height: 118px !important;
  }

  .app-shell,
  .app-shell.app-shell-redesign{
    padding-bottom: 0 !important;
  }

  #cases-screen.screen.active,
  #free-screen.screen.active,
  #games-screen.screen.active,
  #store-screen.screen.active,
  #profile-screen.screen.active,
  #inventory-screen.screen.active,
  #admin-screen.screen.active,
  #tasks-screen.screen.active,
  #tournament-screen.screen.active{
    padding-top: var(--yak-screen-top-clearance) !important;
    padding-bottom: var(--yak-compact-nav-clearance) !important;
    scroll-padding-bottom: var(--yak-compact-nav-clearance) !important;
  }
}

@media (max-width: 420px){
  :root{
    --yak-compact-nav-clearance: calc(var(--layout-nav-height, var(--nav-h, 72px)) + 8px);
  }
}

@media (max-width: 640px){
  #profile-screen.screen.active,
  #inventory-screen.screen.active{
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    min-height: 0 !important;
  }
}

/* final app shell polish: toolbar + nav + common rhythm */
.app-shell.app-shell-redesign{
  background:
    radial-gradient(circle at top,rgba(28,57,112,.16),transparent 24%),
    linear-gradient(180deg,#07162f 0%,#051124 42%,#040d1d 100%);
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar,
.floating-balance-card.compact-balance-toolbar,
.compact-balance-toolbar{
  padding:6px 8px !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,rgba(11,25,58,.96),rgba(7,16,38,.98)) !important;
  border:1px solid rgba(103,137,214,.16) !important;
  box-shadow:
    0 16px 30px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.05),
    0 0 0 1px rgba(103,137,214,.04) !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .floating-balance-main{
  min-height:40px !important;
  border-radius:15px !important;
  background:linear-gradient(180deg,rgba(10,22,54,.98),rgba(7,14,34,.99)) !important;
  border:1px solid rgba(103,137,214,.14) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .floating-balance-main span:first-child{
  filter:drop-shadow(0 0 8px rgba(255,215,120,.08));
}

.compact-balance-toolbar .mini-action-btn,
.compact-balance-toolbar .trophy-mini-btn{
  border-radius:14px !important;
  background:linear-gradient(180deg,rgba(255,231,181,.12),rgba(255,194,102,.05)) !important;
  border:1px solid rgba(255,228,184,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 16px rgba(0,0,0,.12) !important;
}

.main-layout.redesigned-main-layout,
.redesigned-main-layout{
  gap:14px !important;
}

.redesign-bottom-nav,
.bottom-nav{
  background:linear-gradient(180deg,rgba(84,60,19,.95),rgba(38,28,14,.98)) !important;
  border:1px solid rgba(255,217,132,.16) !important;
  box-shadow:
    0 14px 30px rgba(0,0,0,.26),
    0 0 22px rgba(255,198,92,.10),
    inset 0 1px 0 rgba(255,245,211,.10) !important;
}

.redesign-bottom-nav .tab,
.bottom-nav .tab,
.tab{
  background:linear-gradient(180deg,rgba(255,228,162,.04),rgba(255,206,118,.015)) !important;
}

.redesign-bottom-nav .tab.active,
.bottom-nav .tab.active{
  background:linear-gradient(180deg,rgba(255,224,146,.18),rgba(255,191,81,.08)) !important;
  border-color:rgba(255,236,189,.14) !important;
  box-shadow:
    0 10px 18px rgba(0,0,0,.10),
    0 0 18px rgba(255,210,110,.12),
    inset 0 1px 0 rgba(255,248,223,.14) !important;
}

@media (max-width:640px){
  .app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar,
  .floating-balance-card.compact-balance-toolbar,
  .compact-balance-toolbar{
    padding:6px 7px !important;
    border-radius:20px !important;
  }

  .app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .floating-balance-main{
    min-height:38px !important;
    border-radius:14px !important;
  }

}

/* top balance bar high-visibility override */
.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar{
  backdrop-filter:blur(18px) !important;
  background:
    radial-gradient(circle at top,rgba(72,125,230,.18),transparent 42%),
    linear-gradient(180deg,rgba(10,23,56,.98),rgba(6,14,35,.995)) !important;
  border:1px solid rgba(132,168,247,.18) !important;
  box-shadow:
    0 18px 34px rgba(0,0,0,.24),
    0 0 0 1px rgba(132,168,247,.04),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .floating-balance-main{
  background:
    radial-gradient(circle at top,rgba(89,140,245,.10),transparent 54%),
    linear-gradient(180deg,rgba(12,26,61,.98),rgba(8,17,40,.99)) !important;
  border:1px solid rgba(132,168,247,.14) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 8px 16px rgba(0,0,0,.10) !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .floating-balance-main span{
  color:#eef4ff !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .floating-balance-main span:first-child{
  font-size:16px !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .trophy-mini-btn{
  background:linear-gradient(135deg,#f6d97d 0%,#daa437 55%,#b97a0c 100%) !important;
  color:#231300 !important;
  border:1px solid rgba(255,230,164,.24) !important;
  box-shadow:
    0 10px 20px rgba(214,160,34,.22),
    inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .mini-action-btn{
  background:linear-gradient(180deg,rgba(255,231,181,.14),rgba(255,194,102,.05)) !important;
  color:#fff4dd !important;
  border:1px solid rgba(255,228,184,.12) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 8px 16px rgba(0,0,0,.12) !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .mini-action-btn.secondary{
  background:linear-gradient(180deg,rgba(166,198,255,.12),rgba(89,129,219,.08)) !important;
  border-color:rgba(166,198,255,.14) !important;
}

/* stabilization: remove dead top shortcuts strip and flatten balance glow */
.app-shell.app-shell-redesign{
  --layout-content-gap: 6px !important;
}

.app-shell.app-shell-redesign .live-feed-card,
.app-shell.app-shell-redesign .game-shortcuts-bar,
.app-shell.app-shell-redesign .premium-shortcuts-bar{
  display:none !important;
  width:0 !important;
  min-width:0 !important;
  max-width:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar::before,
.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar::after{
  display:none !important;
  content:none !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar{
  background:linear-gradient(180deg,rgba(9,20,49,.98),rgba(6,14,35,.995)) !important;
  box-shadow:
    0 14px 28px rgba(0,0,0,.22),
    0 0 0 1px rgba(132,168,247,.04),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .floating-balance-main{
  background:linear-gradient(180deg,rgba(11,24,57,.98),rgba(8,17,40,.99)) !important;
}

/* stabilization: remove player helper subtitles from fullscreen game UIs */
.fullscreen-game-overlay .plinko-input-hint,
.fullscreen-game-overlay .crash-nft-summary,
.fullscreen-game-overlay .pvp-nft-summary,
.fullscreen-game-overlay #pvpHistorySubtitle,
.fullscreen-game-overlay .mines-subtitle,
.fullscreen-game-overlay .lucky-history-screen-subtitle{
  display:none !important;
}

/* fullscreen mode titles: keep only close + balance controls */
.fullscreen-game-overlay #fullscreenGameTitle,
.fullscreen-game-overlay #solo-plinko-panel #lastWin,
.fullscreen-game-overlay #solo-mines-panel .mines-title{
  display:none !important;
}

/* stabilization: hide external TonConnect pill, keep only in-app wallet controls */
#ton-connect{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  width:0 !important;
  height:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:-1 !important;
}

#ton-connect *{
  pointer-events:none !important;
}

/* compact balance + stronger nav typography */
.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar{
  padding:4px 6px !important;
  border-radius:20px !important;
  display:grid !important;
  grid-template-columns:minmax(88px, 1fr) 36px minmax(110px, 1.05fr) 76px !important;
  align-items:center !important;
  justify-content:stretch !important;
  gap:6px !important;
  contain:layout paint !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .floating-balance-main{
  min-height:34px !important;
  padding:0 10px !important;
  gap:7px !important;
  border-radius:13px !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1 !important;
  font-variant-numeric:tabular-nums !important;
  font-feature-settings:"tnum" 1, "lnum" 1 !important;
  contain:layout paint !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .floating-balance-main span{
  font-weight:900 !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .floating-balance-main span:first-child{
  font-size:14px !important;
  flex:0 0 auto !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .floating-balance-row{
  min-width:0 !important;
  flex:none !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar #balanceStars,
.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar #balanceTon{
  display:inline-block !important;
  text-align:center !important;
  flex:0 0 auto !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar #balanceStars{
  min-width:3ch !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar #balanceTon{
  min-width:7ch !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .trophy-mini-btn{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  flex:0 0 36px !important;
  border-radius:12px !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .balance-actions-inline,
.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .global-balance-actions{
  grid-template-columns:repeat(2, 36px) !important;
  gap:4px !important;
  width:76px !important;
  min-width:76px !important;
}

.app-shell.app-shell-redesign #balance.floating-balance-card.compact-balance-toolbar .mini-action-btn{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  flex:0 0 36px !important;
  border-radius:12px !important;
  font-weight:900 !important;
}

.redesign-bottom-nav .tab span:last-child,
.bottom-nav .tab span:last-child,
.tab span:last-child{
  font-weight:800 !important;
  letter-spacing:-.01em !important;
}

@media (max-width: 640px){
  /* Fullscreen games layout: single source of truth */
  body.tg-fullscreen #games-screen.screen.active,
  html.is-tg-fullscreen #games-screen.screen.active{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    padding:12px 0 calc(var(--safe-bottom) + 2px) !important;
    scroll-padding-bottom:calc(var(--safe-bottom) + 2px) !important;
  }

  body.tg-fullscreen #games-screen .cards-stack.redesign-games-stack,
  html.is-tg-fullscreen #games-screen .cards-stack.redesign-games-stack{
    height:auto !important;
    min-height:auto !important;
    display:block !important;
    gap:10px !important;
    margin-top:18px !important;
    padding-bottom:0 !important;
  }

  body.tg-fullscreen #games-screen .game-select-grid.redesign-games-grid,
  html.is-tg-fullscreen #games-screen .game-select-grid.redesign-games-grid{
    height:auto !important;
    min-height:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:none !important;
    align-content:start !important;
    gap:10px !important;
  }

  body.tg-fullscreen #games-screen .game-pick-card.game-pick-visual,
  html.is-tg-fullscreen #games-screen .game-pick-card.game-pick-visual{
    height:auto !important;
    min-height:112px !important;
  }

}


