:root { --soft-ease: cubic-bezier(.22, 1, .36, 1); }

/* Small travel with no overshoot; the bottom navigation and LIVE reel are excluded. */
.feature-panel, .referral-card, .empty-screen, .case-result,
.inventory-item, .package-card, .upgrader-game-card, .catalog-tile-designed {
  animation: surface-appear 380ms var(--soft-ease) backwards;
}
.inventory-item:nth-child(2), .package-card:nth-child(2), .catalog-tile-designed:nth-child(2) { animation-delay: 35ms; }
.inventory-item:nth-child(n+3), .package-card:nth-child(n+3), .catalog-tile-designed:nth-child(n+3) { animation-delay: 70ms; }
.prize-showcase-card { animation-timing-function: var(--soft-ease); }
.referral-status { transition: color 250ms ease; }
.sheet-setting input { transition: background-color 250ms ease; }
.sheet-setting input::before { transition: transform 280ms var(--soft-ease); }

.case-sheet, .upgrader-sheet { backface-visibility: hidden; }
.daily-modal { transition: opacity 340ms ease, visibility 340ms ease; }
.daily-dialog { transform: translateY(20px); transition: transform 400ms var(--soft-ease); }
.daily-modal.is-visible .daily-dialog { transform: translateY(0); }

@keyframes surface-appear {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .feature-panel, .referral-card, .empty-screen, .case-result,
  .inventory-item, .package-card, .upgrader-game-card, .catalog-tile-designed { animation: none; }
  .daily-modal, .daily-dialog, .referral-status,
  .sheet-setting input, .sheet-setting input::before { transition: none; }
}
