@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes cardEntrance{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes badgeBounce{0%,to{transform:scale(1)}50%{transform:scale(1.35)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #0284c766}50%{box-shadow:0 0 0 8px #0284c700}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .35s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-up{animation:slideUp .4s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-down{animation:slideDown .3s cubic-bezier(.16,1,.3,1) forwards}.animate-float-slow{animation:floatSlow 4s ease-in-out infinite}.animate-badge-bounce{animation:badgeBounce .45s cubic-bezier(.175,.885,.32,1.275)}.animate-pulse-glow{animation:pulseGlow 2.5s infinite}.animate-card{animation:cardEntrance .4s cubic-bezier(.16,1,.3,1) backwards}.shimmer-badge{background:linear-gradient(90deg,#fff0,#ffffff40,#fff0);background-size:200% 100%;animation:shimmer 3s infinite}html{scroll-behavior:smooth}*:focus-visible{outline:2px solid #0284c7;outline-offset:2px}
