@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}@keyframes twinkle{0%,to{opacity:1}50%{opacity:.5}}@keyframes snow{0%{background-position:0 0,0 0,0 0}to{background-position:500px 1000px,400px 400px,300px 300px}}.snow-bg{animation:snow 20s linear infinite;background-image:url('data:image/svg+xml;utf8,<svg width="50" height="50" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><circle cx="25" cy="25" r="2" fill="white" opacity="0.2"/></svg>'),url('data:image/svg+xml;utf8,<svg width="50" height="50" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><circle cx="25" cy="25" r="1" fill="white" opacity="0.2"/></svg>'),url('data:image/svg+xml;utf8,<svg width="50" height="50" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><circle cx="25" cy="25" r="3" fill="white" opacity="0.2"/></svg>')}.floating{animation:float 6s ease-in-out infinite}.twinkle{animation:twinkle 1.5s ease-in-out infinite}.gift-box{cursor:pointer;perspective:1000px;position:relative;transition:transform .3s ease}.gift-box:hover{transform:scale(1.05) rotate(5deg)}.ribbon{background:#e63946;height:60px;left:50%;position:absolute;top:-20px;transform:translateX(-50%) rotate(45deg);width:60px;z-index:1}.confetti{animation:confetti-fall 3s linear infinite;background-color:#f0f;height:10px;position:fixed;width:10px}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0deg)}to{transform:translateY(100vh) rotate(1turn)}}.gradient-text{-webkit-text-fill-color:#0000;animation:gradient 3s ease infinite;background:linear-gradient(45deg,#e63946,#2a9d8f);-webkit-background-clip:text}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}
/*# sourceMappingURL=main.4729ba74.css.map*/