.rainbow-text{background:linear-gradient(270deg,#dbff0d,#ffa51f,#f8f8f8,#cd58ff,#92ff77);background-size:1000% 1000%;-webkit-background-clip:text;background-clip:text;animation:rainbow 4s linear infinite}.navbar-rainbow-text,.rainbow-text{-webkit-text-fill-color:transparent;text-fill-color:transparent}.navbar-rainbow-text{background:linear-gradient(90deg,#ff0080,#ff8c00,#40cfff,#00dfd8,#ff0080);background-size:400% 100%;-webkit-background-clip:text;background-clip:text;animation:navbar-rainbow 6s linear infinite}.typewriter-text{font-family:Fira Mono,Consolas,Menlo,Monaco,monospace;letter-spacing:.04em;white-space:pre}@keyframes rainbow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes navbar-rainbow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.marquee-wrapper{overflow:hidden;width:100%;position:relative;max-width:100vw;margin:0 auto}.marquee-content{display:flex;align-items:stretch;width:-moz-max-content;width:max-content;animation:marquee-scroll 24s linear infinite}@keyframes marquee-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.announcement-card{flex:0 0 auto;box-sizing:border-box;margin:0 12px}.marquee-wrapper::-webkit-scrollbar{display:none}.marquee-wrapper{-ms-overflow-style:none;scrollbar-width:none}@keyframes fadeIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:scale(.8) translateY(-100px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) rotate(-10deg)}50%{opacity:1;transform:scale(1.1) rotate(5deg)}70%{transform:scale(.95) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes pulseIn{0%{opacity:0;transform:scale(.5)}50%{opacity:.8;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.1) rotate(180deg)}50%{opacity:.8;transform:scale(1.1) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes magicalAppear{0%{opacity:0;transform:scale(.3) rotateY(90deg);filter:blur(10px)}50%{opacity:.7;transform:scale(1.05) rotateY(0deg);filter:blur(2px)}to{opacity:1;transform:scale(1) rotateY(0deg);filter:blur(0)}}.animate-fade-in{animation:fadeIn .8s cubic-bezier(.25,.46,.45,.94) forwards}.animate-slide-down{animation:slideDown 1s cubic-bezier(.25,.46,.45,.94) forwards}.animate-bounce-in{animation:bounceIn 1.2s cubic-bezier(.68,-.55,.265,1.55) forwards}.animate-pulse-in{animation:pulseIn 1s cubic-bezier(.25,.46,.45,.94) forwards}.animate-zoom-in{animation:zoomIn 1.2s cubic-bezier(.68,-.55,.265,1.55) forwards}.animate-magical-appear{animation:magicalAppear 1.5s cubic-bezier(.25,.46,.45,.94) forwards}.festival-sparkle{position:relative;overflow:hidden}.festival-sparkle:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);animation:sparkle 3s infinite}@keyframes sparkle{0%{left:-100%}to{left:100%}}.christmas-theme{background-image:radial-gradient(circle at 20% 80%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 80% 20%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 40% 40%,hsla(0,0%,100%,.1) 1px,transparent 0)}.diwali-theme{background-image:radial-gradient(circle at 25% 25%,rgba(255,215,0,.2) 2px,transparent 0),radial-gradient(circle at 75% 75%,rgba(255,165,0,.2) 2px,transparent 0)}.newyear-theme{background-image:linear-gradient(45deg,hsla(0,0%,100%,.1) 25%,transparent 0),linear-gradient(-45deg,hsla(0,0%,100%,.1) 25%,transparent 0);background-size:20px 20px}@media (max-width:768px){.animate-slide-down{animation:slideDown .6s ease-out forwards}.animate-bounce-in{animation:bounceIn .8s ease-out forwards}}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text-shadow-lg{text-shadow:2px 2px 4px rgba(0,0,0,.3)}.festival-sparkle:before{animation-duration:2s}.festival-sparkle:after{content:"";position:absolute;top:0;right:-100%;width:100%;height:100%;background:linear-gradient(-90deg,transparent,hsla(0,0%,100%,.1),transparent);animation:sparkle 4s infinite;animation-delay:1s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 3s ease-in-out infinite}.festival-glow{box-shadow:0 0 20px rgba(255,215,0,.3),0 0 40px rgba(255,215,0,.2),0 0 60px rgba(255,215,0,.1)}