@keyframes snowfall{0%{transform:translateY(-5vh) rotate(0);opacity:0}10%{opacity:.7}90%{opacity:.7}to{transform:translateY(100vh) rotate(360deg);opacity:0}}@keyframes snowfall-slow{0%{transform:translateY(-5vh) translate(0) rotate(0);opacity:0}10%{opacity:.9}90%{opacity:.9}to{transform:translateY(120vh) translate(30px) rotate(180deg);opacity:0}}@keyframes snowfall-fast{0%{transform:translateY(-5vh) translate(0) rotate(0);opacity:0}10%{opacity:.5}90%{opacity:.5}to{transform:translateY(110vh) translate(-20px) rotate(720deg);opacity:0}}@keyframes blink{0%,to{opacity:1;box-shadow:0 0 8px currentColor}50%{opacity:.3;box-shadow:0 0 2px currentColor}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1.5) rotate(180deg)}}@keyframes gradient-x{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animate-snowfall{animation:snowfall linear infinite}.animate-blink{animation:blink 1.5s ease-in-out infinite}.animate-shimmer{background-size:200% auto;animation:shimmer 3s linear infinite}.animate-bounce-slow{animation:bounce-slow 2s ease-in-out infinite}.animate-sparkle{animation:sparkle 2s ease-in-out infinite}.animate-gradient-x{background-size:200% 200%;animation:gradient-x 5s ease infinite}.animate-fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-snowfall-slow{animation:snowfall-slow linear infinite}.animate-snowfall-fast{animation:snowfall-fast linear infinite}@keyframes cherry-blossom-fall{0%{transform:translateY(-10vh) translate(0) rotate(0);opacity:0}10%{opacity:1}90%{opacity:.8}to{transform:translateY(110vh) translate(50px) rotate(360deg);opacity:0}}@keyframes firework-burst{0%{transform:scale(0);opacity:1}50%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes lantern-swing{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes lucky-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sale-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes money-rain{0%{transform:translateY(-10vh) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}@keyframes flash-sale{0%,to{box-shadow:0 0 5px currentColor;opacity:1}50%{box-shadow:0 0 20px currentColor;opacity:.7}}.animate-cherry-fall{animation:cherry-blossom-fall linear infinite}.animate-firework{animation:firework-burst 1s ease-out}.animate-lantern{animation:lantern-swing 3s ease-in-out infinite}.animate-lucky-spin{animation:lucky-spin 10s linear infinite}.animate-sale-pulse{animation:sale-pulse 1.5s ease-in-out infinite}.animate-money-rain{animation:money-rain linear infinite}.animate-flash-sale{animation:flash-sale 1s ease-in-out infinite}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-marquee{animation:marquee 20s linear infinite}.notice-marquee{display:flex}.notice-content{animation:marquee 20s linear infinite}
