body{background:linear-gradient(-45deg,#1e3a8a,#dc2626,#16a34a,#eab308,#dc2626,#1e3a8a);background-size:400% 400%;animation:gradientBG 20s ease infinite;position:relative;overflow-x:hidden}@keyframes gradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animate-gradient{animation:gradient 3s ease infinite}@keyframes gradientBG{0%{background-position:0% 50%}25%{background-position:50% 100%}50%{background-position:100% 50%}75%{background-position:50% 0%}to{background-position:0% 50%}}@keyframes snow-fall-1{0%{transform:translateY(-100px) translate(0) rotate(0);opacity:0}10%{opacity:1}90%{opacity:.8}to{transform:translateY(110vh) translate(150px) rotate(360deg);opacity:0}}@keyframes snow-fall-2{0%{transform:translateY(-150px) translate(50px) rotate(180deg);opacity:0}10%{opacity:1}90%{opacity:.6}to{transform:translateY(110vh) translate(-120px) rotate(-360deg);opacity:0}}@keyframes snow-fall-3{0%{transform:translateY(-80px) translate(-30px) rotate(90deg);opacity:0}10%{opacity:1}90%{opacity:.7}to{transform:translateY(110vh) translate(80px) rotate(270deg);opacity:0}}.snow-bg:before{content:"❄";position:fixed;top:0;left:-10%;width:120%;color:#fff;font-size:1.5rem;z-index:1;opacity:.7;pointer-events:none;word-spacing:150px;letter-spacing:60px;animation:snow-fall-1 14s linear infinite}.snow-bg:after{content:"✻";position:fixed;top:0;left:5%;width:110%;color:#fff;font-size:1.8rem;z-index:1;opacity:.5;pointer-events:none;word-spacing:180px;letter-spacing:70px;animation:snow-fall-2 18s linear infinite}.snow-bg-layer3{content:"❄";position:fixed;top:0;left:-5%;width:115%;color:#fff;font-size:1.3rem;z-index:1;opacity:.6;pointer-events:none;word-spacing:200px;letter-spacing:50px;animation:snow-fall-3 16s linear infinite;animation-delay:2s}.music-control{position:fixed;top:20px;left:20px;z-index:1000;background:#fffffff2;backdrop-filter:blur(10px);border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 15px #0003;transition:all .3s ease}.music-control:hover{transform:scale(1.1);box-shadow:0 6px 20px #0000004d}.music-control.playing{animation:pulse-music 2s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.star{position:absolute;animation:twinkle 2s ease-in-out infinite}@keyframes christmas-lights{0%,to{opacity:.5;filter:brightness(1)}50%{opacity:1;filter:brightness(1.5)}}.light{position:absolute;font-size:2rem;animation:christmas-lights 1.5s ease-in-out infinite}.ribbon{position:absolute;width:100%;height:20px;background:repeating-linear-gradient(45deg,#dc2626,#dc2626 10px,#fff 10px 20px,#16a34a 20px 30px,#fff 30px 40px);opacity:.3}@keyframes letter-fly{0%{transform:translateY(0) rotate(-5deg) scale(.8);opacity:0}50%{transform:translateY(-20px) rotate(5deg) scale(1);opacity:1}to{transform:translateY(0) rotate(-5deg) scale(.8);opacity:0}}.flying-letter{position:absolute;font-size:2rem;animation:letter-fly 4s ease-in-out infinite}@keyframes gift-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.gift-box:hover{animation:gift-shake .5s ease-in-out}@keyframes scroll-hint{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(10px);opacity:1}}.scroll-indicator{animation:scroll-hint 2s ease-in-out infinite}.scroll-wheel{animation:scroll-wheel 2s ease-in-out infinite}@keyframes scroll-wheel{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.glass-card{background:#ffffff1a;backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}.card-3d{transform-style:preserve-3d;transition:all .5s cubic-bezier(.23,1,.32,1)}.card-3d:hover{transform:translateY(-12px) rotateX(5deg)}.card-3d:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff6,#fff0);opacity:0;transition:opacity .5s;border-radius:1rem}.card-3d:hover:before{opacity:1}@keyframes border-flow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animated-border{position:relative;background:linear-gradient(90deg,#ef4444,#22c55e,#3b82f6,#ef4444);background-size:300% 300%;animation:border-flow 4s ease infinite;padding:3px;border-radius:1.5rem}.animated-border-inner{background:#fff;border-radius:1.25rem;position:relative;z-index:1}@keyframes icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.icon-pulse:hover{animation:icon-pulse 1s ease-in-out infinite}.soft-shadow{box-shadow:0 2px 4px #00000005,0 4px 8px #00000008,0 8px 16px #0000000a,0 16px 32px #0000000d}.glow-on-hover{position:relative;overflow:hidden}.glow-on-hover:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transition:opacity .5s}.glow-on-hover:hover:after{opacity:1;animation:glow-rotate 2s linear infinite}@keyframes glow-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.step-connector{position:relative}.step-connector:after{content:"";position:absolute;top:50%;left:100%;width:100%;height:3px;background:linear-gradient(90deg,currentColor 50%,transparent 50%);background-size:20px 100%;transform:translateY(-50%);opacity:.3}@keyframes badge-pop{0%{transform:scale(1)}50%{transform:scale(1.1) rotate(5deg)}to{transform:scale(1)}}.badge-pop:hover{animation:badge-pop .5s ease}.stagger-fade{opacity:0;transform:translateY(30px);animation:stagger-fade-in .6s forwards}@keyframes stagger-fade-in{to{opacity:1;transform:translateY(0)}}.stagger-fade:nth-child(1){animation-delay:.1s}.stagger-fade:nth-child(2){animation-delay:.2s}.stagger-fade:nth-child(3){animation-delay:.3s}.particle{position:absolute;border-radius:50%;pointer-events:none;opacity:.6;animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) translate(0)}33%{transform:translateY(-20px) translate(10px)}66%{transform:translateY(-10px) translate(-10px)}}@media(max-width:768px){.card-3d:hover{transform:translateY(-8px)}}.loading-shimmer{background:linear-gradient(90deg,#ffffff4d 25%,#ffffff80,#ffffff4d 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out forwards}.bg-size-200[data-astro-cid-j7pv25f6]{background-size:200%}.bg-pos-100[data-astro-cid-j7pv25f6]{background-position:100%}
