@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes popIn{0%{transform:scale(.92) translateY(16px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes revealUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes shimmer{0%{transform:translate(-150%)}to{transform:translate(150%)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #f9731600}50%{box-shadow:0 0 20px 5px #f9731633}}.animate-reveal-up{animation:revealUp .8s cubic-bezier(.23,1,.32,1) forwards;opacity:0}.animate-float{animation:float 5s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:200% 100%;animation:shimmer 2.5s infinite}.animate-pulse-glow{animation:pulse-glow 3s cubic-bezier(.4,0,.6,1) infinite}.popout-card{transition:all .5s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden}.popout-card:hover{transform:translateY(-15px) scale(1.03);box-shadow:0 25px 50px -12px #00000026,0 0 20px 2px #f973161a;z-index:20}.popout-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);opacity:0;transition:opacity .5s;pointer-events:none}.popout-card:hover:after{opacity:1}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-700{animation-delay:.7s}.delay-1000{animation-delay:1s}.reveal-on-scroll{opacity:0;transform:translateY(40px);transition:all 1s cubic-bezier(.23,1,.32,1)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}@keyframes menuSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.animate-menu-slide-down{animation:menuSlideDown .2s cubic-bezier(.23,1,.32,1) forwards}.safe-area-inset-bottom{padding-bottom:max(12px,env(safe-area-inset-bottom))}@keyframes navBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.05)}}.nav-practice-btn:active{animation:navBounce .3s ease}@keyframes toastIn{0%{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%);opacity:1}}.animate-toast-in{animation:toastIn .3s cubic-bezier(.23,1,.32,1) forwards}.animate-slide-up{animation:slideUp .4s cubic-bezier(.23,1,.32,1) forwards}
