*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-size:16px;overflow-x:hidden}@keyframes fallBounce{0%{opacity:0;transform:translate(calc(-50% - 50px),calc(-50% - 300px))rotate(-40deg)}8%{opacity:1}55%{transform:translate(-50%,-50%)rotate(6deg)}70%{transform:translate(-50%,calc(-50% - 14px))rotate(-2deg)}to{opacity:1;transform:translate(-50%,-50%)rotate(0)}}@keyframes fallBounceRight{0%{opacity:0;transform:translate(calc(45px - 50%),calc(-50% - 320px))rotate(35deg)}8%{opacity:1}55%{transform:translate(-50%,-50%)rotate(-5deg)}70%{transform:translate(-50%,calc(-50% - 12px))rotate(2deg)}to{opacity:1;transform:translate(-50%,-50%)rotate(0)}}@keyframes fallBounceStraight{0%{opacity:0;transform:translate(calc(12px - 50%),calc(-50% - 280px))rotate(8deg)}8%{opacity:1}55%{transform:translate(-50%,-50%)rotate(-2deg)}70%{transform:translate(-50%,calc(-50% - 10px))rotate(1deg)}to{opacity:1;transform:translate(-50%,-50%)rotate(0)}}@keyframes softFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInNotice{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes celebratePop{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@keyframes celebrateSpin{0%{opacity:0;transform:rotate(0)scale(0)}40%{opacity:1}to{opacity:1;transform:rotate(360deg)scale(1)}}@keyframes celebrateScatter{0%{opacity:0;transform:translate(0)scale(0)rotate(0)}20%{opacity:1;transform:scale(1.2)}to{transform:var(--scatter-to) scale(.8) rotate(var(--scatter-rot));opacity:0}}@keyframes celebrateBounce{0%{opacity:0;transform:translateY(60px)scale(0)}30%{opacity:1;transform:translateY(-16px)scale(1.2)}50%{transform:translateY(6px)scale(.93)}70%{transform:translateY(-4px)scale(1.06)}85%{transform:translateY(2px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes celebrateFloat{0%{transform:translateY(0)rotate(0)}25%{transform:translateY(-10px)rotate(3deg)}50%{transform:translateY(-4px)rotate(-2deg)}75%{transform:translateY(-12px)rotate(4deg)}to{transform:translateY(0)rotate(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-60px)}60%{opacity:1;transform:translate(6px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
