/* Lucky Babes Current Shell Bars
   Built from the older v236 top/bottom bar look, but with current Lucky Babes controls.
   Owns ONLY the visual shell bars. It does not replace game math or backend logic. */

:root{
  --lb-shell-top-h:68px;
  --lb-shell-bottom-h:74px;
  --lb-shell-bg:#06030b;
  --lb-shell-panel:rgba(255,255,255,.075);
  --lb-shell-panel-2:rgba(255,255,255,.11);
  --lb-shell-border:rgba(255,255,255,.13);
  --lb-shell-pink:#ff4fc2;
  --lb-shell-purple:#8b22ff;
  --lb-shell-gold:#ffd34e;
}

body:not(.aly-standalone-game){
  padding-top:calc(var(--lb-shell-top-h) + env(safe-area-inset-top,0px) + 10px)!important;
  padding-bottom:calc(var(--lb-shell-bottom-h) + env(safe-area-inset-bottom,0px) + 12px)!important;
}

body.lb-current-shell.page-mode-casino #pageMainTitle,
body.lb-current-shell.page-mode-casino #pageMainTitle *,
body.lb-current-shell.page-mode-casino .content-wrapper > header.lb-header-clean {
  display:none!important;
  visibility:hidden!important;
  min-height:0!important;
  max-height:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

body.lb-current-shell #casinoGamesHome > .casino-games-title:first-child,
body.lb-current-shell #casinoView .casino-games-title:has(.lb-casino-title-brand),
body.lb-current-shell #casinoView .lb-casino-title-brand .lb-title-sub {
  display:none!important;
  visibility:hidden!important;
}

html,
body,
body.lb-current-shell,
.view-section,
#casinoView,
#rewardsView,
#creatorsView,
#feedView,
#lb405FeedView{
  overflow-anchor:none;
}

/* Remove/hide older visual shell bars so this is the one owner. */
body.lb-current-shell #lbAppTopbar,
body.lb-current-shell #lbBottomNav,
body.lb-current-shell .sticky-nav.aly-real-quick-menu,
body.lb-current-shell #alyGlobalQuickMenu,
body.lb-current-shell #alyTopHud,
body.lb-current-shell #alyGameQuickMenu,
body.lb-current-shell .lb-top-brand.lb519-home-icon-button,
body.lb-current-shell .lb-top-balance,
body.lb-current-shell #lbTopBell,
body.lb-current-shell .lb-top-profile{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

body.lb-current-shell #__lb_site_doctor_v1__,
body.lb-current-shell #__lb_layer_delete_selector_v5__,
body.lb-current-shell #__lb_layer_delete_selector_v6__,
body.lb-current-shell #__lb_layer_delete_selector_v7__,
body.lb-current-shell #__lb_layout_fixer_v2__,
body.lb-current-shell #alyQualityPanel,
body.lb-current-shell #alyQualityStatus,
body.lb-current-shell #alyDebugPanel,
body.lb-current-shell #casinoPromos,
body.lb-current-shell #casinoRewards,
body.lb-current-shell #lb405ProfileModal,
body.lb-current-shell #lb399ProfileModal,
body.lb-current-shell #lb400ProfileModal,
body.lb-current-shell #lb401ProfileModal,
body.lb-current-shell #lb402ProfileModal,
body.lb-current-shell #lb403ProfileModal,
body.lb-current-shell .lb405-profile-card,
body.lb-current-shell .aly236-start,
body.lb-current-shell .aly236-card,
body.lb-current-shell .aly237-card,
body.lb-current-shell .aly239-card,
body.lb-current-shell .header-badges,
body.lb-current-shell .creator-badge,
body.lb-current-shell .online-badge,
body.lb-current-shell .casino-tabs,
body.lb-current-shell #tabGames,
body.lb-current-shell #tabPromos,
body.lb-current-shell #tabRewards,
body.lb-current-shell #tabTasks{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Keep old account/deposit/notification overlays available. Do not hide the real functional panels here. */

#lbCurrentTopbar{
  position:fixed;
  z-index:2147483500;
  left:0;right:0;top:0;
  height:calc(var(--lb-shell-top-h) + env(safe-area-inset-top,0px));
  padding:calc(7px + env(safe-area-inset-top,0px)) 10px 7px;
  display:grid;
  grid-template-columns:54px 52px minmax(126px,1fr) 52px 52px;
  gap:7px;
  align-items:center;
  background:linear-gradient(180deg,rgba(6,3,11,.985),rgba(6,3,11,.90));
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:0 16px 48px rgba(0,0,0,.44);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

#lbCurrentTopbar button,
#lbCurrentBalance{
  height:52px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.075);
  color:#fff;
  font:1000 13px Nunito,system-ui,-apple-system,Segoe UI,sans-serif;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

#lbCurrentTopbar button:active,
#lbCurrentBalance:active,
#lbCurrentBottomNav button:active{
  transform:scale(.96);
}

#lbCurrentLobby{
  padding:0!important;
  overflow:visible;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

#lbCurrentLobby img{
  width:50px;height:50px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 0 10px rgba(255,79,194,.34));
}

#lbCurrentWallet{
  background:linear-gradient(135deg,rgba(52,18,96,.94),rgba(28,8,58,.96))!important;
  border-color:rgba(160,92,255,.28)!important;
}

#lbCurrentWallet i{
  color:#9f63ff;
  text-shadow:0 0 13px rgba(127,51,255,.55);
}

#lbCurrentBalance{
  justify-content:flex-start;
  padding:0 9px;
  min-width:0;
  cursor:pointer;
  position:relative;
  gap:8px;
}

#lbCurrentBalance .lb-current-chip{
  width:31px;height:31px;object-fit:contain;flex:0 0 auto;background:transparent!important;
  filter:drop-shadow(0 0 8px rgba(255,79,194,.18));
}

#lbCurrentBalance .lb-current-amount{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:17px;
  font-weight:1000;
  line-height:1;
}

#lbCurrentBalance .lb-current-caret{
  margin-left:auto;
  opacity:.76;
  font-size:11px;
}

#lbCurrentBell{
  position:relative;
}

#lbCurrentBellBadge{
  position:absolute;
  right:6px;top:5px;
  min-width:16px;height:16px;
  border-radius:999px;
  display:none;
  place-items:center;
  padding:0 4px;
  background:#ff2a85;
  color:#fff;
  font:1000 10px/1 Nunito,system-ui;
  box-shadow:0 0 12px rgba(255,42,133,.55);
}

#lbCurrentBellBadge.show{display:grid;}

#lbCurrentProfile{
  width:52px!important;
  min-width:52px!important;
  height:52px!important;
  overflow:visible;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

#lbCurrentProfile img{
  width:50px!important;
  height:50px!important;
  max-width:none!important;
  max-height:none!important;
  border-radius:18px;
  object-fit:cover;
  position:static!important;
  inset:auto!important;
  display:none;
  box-shadow:0 0 0 1px rgba(255,255,255,.16),0 0 14px rgba(255,79,194,.20);
}

#lbCurrentWallet i,
#lbCurrentBell i,
#lbCurrentProfile i{
  font-size:19px;
}

#lbCurrentProfile.has-img i{display:none;}
#lbCurrentProfile.has-img img{display:block;}

#lbCurrentBalancePop{
  position:fixed;
  z-index:2147483510;
  top:calc(var(--lb-shell-top-h) + env(safe-area-inset-top,0px) + 8px);
  left:50%;
  transform:translateX(-50%) translateY(-6px) scale(.98);
  width:min(390px,calc(100vw - 22px));
  border:1px solid rgba(255,255,255,.15);
  border-radius:22px;
  padding:10px;
  background:linear-gradient(180deg,rgba(18,8,34,.98),rgba(8,3,16,.97));
  box-shadow:0 20px 64px rgba(0,0,0,.55),0 0 24px rgba(255,79,194,.18);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  opacity:0;
  pointer-events:none;
  transition:transform 160ms ease, opacity 160ms ease;
}

body.lb-current-balance-open #lbCurrentBalancePop{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0) scale(1);
}

.lb-current-balance-row{
  width:100%;
  min-height:68px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:17px;
  background:rgba(255,255,255,.065);
  color:#fff;
  display:grid;
  grid-template-columns:38px 1fr auto;
  align-items:center;
  gap:10px;
  padding:0 12px;
  margin:0 0 8px;
  text-align:left;
  font:900 13px Nunito,system-ui;
}

.lb-current-balance-row:last-child{margin-bottom:0;}
.lb-current-balance-row img{width:32px;height:32px;object-fit:contain;}
.lb-current-balance-row small{display:block;color:rgba(255,255,255,.58);font-weight:800;font-size:10px;margin-top:2px;}
.lb-current-balance-row em{display:block;color:rgba(255,255,255,.78);font-style:normal;font-weight:900;font-size:10px;line-height:1.1;margin-top:3px;}
.lb-current-balance-row.active{
  background:linear-gradient(135deg,rgba(255,79,194,.20),rgba(139,34,255,.17));
  border-color:rgba(255,79,194,.38);
  box-shadow:0 0 18px rgba(255,79,194,.14);
}
.lb-current-check{opacity:0;font-size:12px;color:#ff7bdd;}
.lb-current-balance-row.active .lb-current-check{opacity:1;}

#lbCurrentBottomNav{
  position:fixed;
  z-index:2147483500;
  left:0;right:0;bottom:0;
  height:calc(var(--lb-shell-bottom-h) + env(safe-area-inset-bottom,0px));
  padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  background:linear-gradient(180deg,rgba(6,3,11,.80),rgba(6,3,11,.985));
  border-top:1px solid rgba(255,255,255,.11);
  box-shadow:0 -18px 50px rgba(0,0,0,.42);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

#lbCurrentBottomNav button{
  min-width:0;
  border:1px solid transparent;
  border-radius:18px;
  background:transparent;
  color:rgba(255,255,255,.68);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  font:1000 10px/1 Nunito,system-ui;
  letter-spacing:.01em;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

#lbCurrentBottomNav button i{font-size:16px;}
#lbCurrentBottomNav button.active{
  color:#fff;
  border-color:rgba(255,79,194,.34);
  background:linear-gradient(135deg,rgba(255,79,194,.22),rgba(139,34,255,.18));
  box-shadow:0 0 18px rgba(255,79,194,.18);
}

@media(min-width:700px){
  #lbCurrentBalancePop{width:390px;}
}

@media(max-width:374px){
  #lbCurrentTopbar{grid-template-columns:48px 48px minmax(108px,1fr) 48px 48px;gap:5px;padding-left:7px;padding-right:7px;}
  #lbCurrentTopbar button,#lbCurrentBalance{height:50px;border-radius:16px;}
  #lbCurrentProfile{width:48px!important;min-width:48px!important;height:50px!important;padding:2px!important;}
  #lbCurrentProfile img{border-radius:14px;}
  #lbCurrentBottomNav{gap:5px;padding-left:7px;padding-right:7px;}
  #lbCurrentBottomNav button span{font-size:9px;}
}

#lbNotificationsSheet {
  position: fixed;
  inset: 0;
  z-index: 2147483340;
  display: none;
  align-items: flex-end;
  justify-content: center;
  padding: calc(76px + env(safe-area-inset-top, 0px)) 12px calc(88px + env(safe-area-inset-bottom, 0px));
  background: rgba(4, 0, 9, .64);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

#lbNotificationsSheet.show {
  display: flex;
}

.lb-notifications-card {
  width: min(430px, 100%);
  max-height: min(680px, calc(100vh - 176px));
  overflow: auto;
  color: #fff;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, .15);
  background:
    radial-gradient(circle at 12% 0, rgba(255, 46, 166, .22), transparent 34%),
    linear-gradient(180deg, rgba(31, 10, 48, .98), rgba(7, 3, 14, .99));
  box-shadow: 0 26px 82px rgba(0, 0, 0, .62), inset 0 1px 0 rgba(255, 255, 255, .08);
  padding: 12px;
}

.lb-notifications-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: -12px -12px 10px;
  padding: 12px;
  background: linear-gradient(180deg, rgba(31, 10, 48, .98), rgba(31, 10, 48, .88));
}

.lb-notifications-head span {
  display: block;
  color: rgba(255, 255, 255, .58);
  font: 1000 9px/1 Nunito, system-ui;
  letter-spacing: .12em;
}

.lb-notifications-head b {
  display: block;
  margin-top: 3px;
  color: #fff;
  font: 1000 22px/1 Poppins, Nunito, system-ui;
}

.lb-notifications-head button {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 15px;
  background: rgba(255, 255, 255, .075);
  color: #fff;
  font: 1000 20px/1 Nunito, system-ui;
}

.lb-notifications-list {
  display: grid;
  gap: 8px;
}

.lb-notification-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 11px;
  border-radius: 17px;
  border: 1px solid rgba(255, 255, 255, .10);
  background: rgba(255, 255, 255, .048);
}

.lb-notification-row.unread {
  border-color: rgba(255, 211, 78, .38);
  box-shadow: 0 0 24px rgba(255, 211, 78, .08);
}

.lb-notification-row b {
  display: block;
  color: #fff;
  font: 1000 13px/1.12 Nunito, system-ui;
}

.lb-notification-row p {
  margin: 4px 0 0;
  color: rgba(255, 255, 255, .68);
  font: 850 12px/1.25 Nunito, system-ui;
}

.lb-notification-row small {
  display: block;
  margin-top: 5px;
  color: rgba(255, 255, 255, .48);
  font: 850 10px/1 Nunito, system-ui;
}

.lb-notification-row button {
  min-height: 34px;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(135deg, #ff2a85, #7c1dff);
  color: #fff;
  font: 1000 11px/1 Nunito, system-ui;
  padding: 0 11px;
  white-space: nowrap;
}

.lb-notifications-empty {
  padding: 22px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, .10);
  background: rgba(255, 255, 255, .045);
  color: rgba(255, 255, 255, .68);
  text-align: center;
  font: 900 13px/1.25 Nunito, system-ui;
}

@media (max-width: 430px) {
  .lb-notification-row {
    grid-template-columns: 1fr;
  }

  .lb-notification-row button {
    justify-self: start;
  }
}
