body {
  font-family: 'Plus Jakarta Sans', Outfit, sans-serif;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

/* Efeito Frosted Ice Glassmorphism */
.frosted-ice-card {
  position: relative;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.05) 100%);
  backdrop-filter: blur(20px) saturate(190%);
  -webkit-backdrop-filter: blur(20px) saturate(190%);
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: inset 0 1px 1px 0 rgba(255, 255, 255, 0.7), inset 0 -1px 2px 0 rgba(0, 0, 0, 0.15), 0 12px 32px -4px rgba(0, 0, 0, 0.3);
  border-radius: 1.25rem;
  overflow: hidden;
  transition: all 300ms cubic-bezier(0.16, 1, 0.3, 1);
  min-height: 76px;
}

.frosted-ice-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.08) 25%, transparent 60%);
  pointer-events: none;
  border-radius: inherit;
  z-index: 1;
}

.frosted-ice-card:hover,
.frosted-ice-card:active {
  transform: translateY(-2px) scale(1.01);
  backdrop-filter: blur(24px) saturate(210%);
  -webkit-backdrop-filter: blur(24px) saturate(210%);
  border-color: rgba(255, 255, 255, 0.6);
  box-shadow: inset 0 1px 2px 0 rgba(255, 255, 255, 0.9), inset 0 -1px 2px 0 rgba(0, 0, 0, 0.1), 0 16px 36px -4px rgba(0, 0, 0, 0.45);
}

.frosted-ice-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.4), 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1);
}

.frosted-ice-card:hover .frosted-ice-icon { transform: scale(1.08); }
.ice-svg-glow { filter: drop-shadow(0 2px 8px rgba(0, 255, 255, 0.45)); }
.ice-text-shadow { text-shadow: 0 2px 10px rgba(0, 0, 0, 0.75), 0 1px 3px rgba(0, 0, 0, 0.9); }
.ice-text-glow { text-shadow: 0 0 12px rgba(255, 255, 255, 0.4), 0 2px 8px rgba(0, 0, 0, 0.8); }

@keyframes ice-shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(200%); } }
.animate-shimmer { animation: ice-shimmer 3.5s infinite; }

@keyframes bird-magic {
  0% { transform: scale(1) rotate(0deg); box-shadow: 0 0 0 0 rgba(66, 160, 237, 0); }
  25% { transform: scale(1.3) rotate(5deg); box-shadow: 0 0 20px 10px rgba(66, 160, 237, 0.4); }
  50% { transform: scale(1.1) rotate(-3deg); box-shadow: 0 0 30px 15px rgba(117, 68, 234, 0.3); }
  75% { transform: scale(1.2) rotate(2deg); box-shadow: 0 0 25px 12px rgba(66, 160, 237, 0.35); }
  100% { transform: scale(1) rotate(0deg); box-shadow: 0 0 0 0 rgba(66, 160, 237, 0); }
}

@keyframes slide-up-bounce {
  0% { transform: translateY(100%); opacity: 0; }
  60% { transform: translateY(-10px); opacity: 1; }
  80% { transform: translateY(4px); }
  100% { transform: translateY(0); opacity: 1; }
}

@keyframes fade-out-down { 0% { transform: translateY(0); opacity: 1; } 100% { transform: translateY(30px); opacity: 0; } }
@keyframes bounce-subtle { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

.animate-bird-magic { animation: bird-magic 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; }
.animate-slide-up-bounce { animation: slide-up-bounce 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; }
.animate-bounce-subtle { animation: bounce-subtle 2.5s infinite ease-in-out; }
.animate-fade-out-down { animation: fade-out-down 0.25s ease-in forwards; }

.page-enter { animation: pageFadeSlide 0.32s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
@keyframes pageFadeSlide {
  0% { opacity: 0; transform: translateY(14px) scale(0.99); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.custom-scrollbar::-webkit-scrollbar { width: 4px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(165, 243, 252, 0.3); border-radius: 2px; }
