@keyframes lb-button-sheen {
  to { transform: translateX(130%); }
}

@keyframes lb-surface-enter {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes lb-orb-breathe {
  0%, 100% { transform: translateY(0) scale(0.99); }
  50% { transform: translateY(-4px) scale(1.01); }
}

.screen:not([hidden]) {
  animation: lb-surface-enter var(--lb-duration-slow) var(--lb-ease-out) both;
}

.game-orb {
  animation: lb-orb-breathe 5.8s ease-in-out infinite;
}

.upgrade-modal:not([hidden]) .upgrade-modal-card,
.info-modal:not([hidden]) .info-modal-card,
.news-modal:not([hidden]) .news-modal-card,
.casino-modal:not([hidden]) .casino-modal-card {
  animation: lb-surface-enter 360ms var(--lb-ease-out) both;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .game-orb,
  .node-network,
  .node-dot,
  .node-outer-glow {
    animation: none !important;
  }
}

@media (prefers-contrast: more) {
  :root {
    --lb-text-secondary: #c7d3e0;
    --lb-text-tertiary: #a5b4c5;
    --lb-stroke-soft: rgba(190, 220, 248, 0.28);
    --lb-stroke: rgba(158, 210, 255, 0.44);
  }
}

@media (max-width: 360px) {
  .cst-app,
  .cst-app[data-active-tab="Dashboard"] {
    padding-inline: 12px;
  }

  .welcome-screen {
    padding-inline: 6px;
  }

  .telegram-login-native {
    min-height: 54px;
  }
}

