@keyframes float{from{transform:translate3d(-12px,-10px,0) scale(1)}to{transform:translate3d(18px,16px,0) scale(1.08)}}@keyframes spin{to{transform:rotate(360deg)}}.screen-welcome.is-active .welcome-content{animation:rise .75s ease both}.screen-code.is-active .code-panel{animation:popIn .62s cubic-bezier(.2,.9,.2,1) both}.screen-result.is-active .result-content{animation:popIn .7s cubic-bezier(.2,.9,.2,1) both}@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{from{opacity:0;transform:translateY(28px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.shine{animation:twinkle 2.8s ease-in-out infinite}.s2{animation-delay:.5s}.s3{animation-delay:1s}@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.86) rotate(0deg)}50%{opacity:1;transform:scale(1.18) rotate(14deg)}}.tap-icon{animation:tapBounce 1.5s ease-in-out infinite}@keyframes tapBounce{0%,100%{opacity:.45;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(-10px)}}.heart-glow{animation:heartFloat 2.6s ease-in-out infinite}@keyframes heartFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.06)}}@keyframes logoGlow{0%,100%{filter:drop-shadow(0 0 18px rgba(255,255,255,.28)) drop-shadow(0 6px 18px rgba(0,0,0,.22))}50%{filter:drop-shadow(0 0 34px rgba(255,255,255,.48)) drop-shadow(0 6px 20px rgba(0,0,0,.25))}}@keyframes nameGlow{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.78}50%{transform:translate(-50%,-50%) scale(1.15);opacity:1}}