.snow-animation{position:relative;overflow:hidden}.snow-animation:before{content:"";position:fixed;top:-10px;left:0;right:0;bottom:0;z-index:1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' fill='%23fff'%3E%3Ccircle cx='500' cy='500' r='1'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' fill='%23fff'%3E%3Ccircle cx='500' cy='500' r='2'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' fill='%23fff'%3E%3Ccircle cx='500' cy='500' r='3'/%3E%3C/svg%3E");background-size:100px 100px,150px 150px,200px 200px;animation:snow 20s linear infinite}@keyframes snow{0%{background-position:0 0,0 0,0 0}to{background-position:500px 1000px,400px 800px,300px 600px}}.leaves-animation{position:relative;overflow:hidden}.leaves-animation:before{content:"";position:fixed;top:-10px;left:0;right:0;bottom:0;z-index:1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2348bb78' width='24' height='24'%3E%3Cpath d='M6.5 12.4L12 16l5.5-3.6V6.5L12 3 6.5 6.5v5.9zm.5 1.5l-4-2.5v-6l4-2.5 5 3 5-3 4 2.5v6l-4 2.5-5-3-5 3z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2368d391' width='24' height='24'%3E%3Cpath d='M6.5 12.4L12 16l5.5-3.6V6.5L12 3 6.5 6.5v5.9zm.5 1.5l-4-2.5v-6l4-2.5 5 3 5-3 4 2.5v6l-4 2.5-5-3-5 3z'/%3E%3C/svg%3E");background-size:30px 30px,20px 20px;animation:leaves 30s linear infinite}@keyframes leaves{0%{background-position:0 -100px,300px -50px}to{background-position:400px 1000px,700px 1000px}}.particles-animation{position:relative;overflow:hidden}.particles-animation:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;z-index:1;pointer-events:none;background-image:radial-gradient(circle,rgba(147,51,234,.3) 1px,transparent 0),radial-gradient(circle,rgba(139,92,246,.2) 1px,transparent 0),radial-gradient(circle,rgba(168,85,247,.1) 1px,transparent 0);background-size:20px 20px,30px 30px,40px 40px;animation:particles 20s linear infinite}@keyframes particles{0%{background-position:0 0,0 0,0 0}to{background-position:400px 400px,-200px 200px,300px -300px}}[data-theme=purple-black]{--background:240 10% 3.9%;--foreground:0 0% 98%;--primary:267 75% 55%;--primary-foreground:0 0% 98%;--accent:267 75% 55%;--accent-foreground:0 0% 98%}[data-theme=dark]{--background:240 10% 3.9%;--foreground:0 0% 98%;--primary:240 5.9% 10%;--primary-foreground:0 0% 98%;--accent:240 5.9% 10%;--accent-foreground:0 0% 98%}[data-theme=light]{--background:0 0% 100%;--foreground:240 10% 3.9%;--primary:240 5.9% 90%;--primary-foreground:240 10% 3.9%;--accent:240 5.9% 90%;--accent-foreground:240 10% 3.9%}@keyframes star-fly-up{0%{transform:translateY(0) rotate(0deg);opacity:0}10%{opacity:1}to{transform:translateY(-400px) rotate(1turn);opacity:0}}@keyframes fly-away{0%{transform:translate(0) scale(0) rotate(0deg);opacity:0}10%{opacity:1;transform:translate(calc(cos(var(--angle)) * 10px),calc(sin(var(--angle)) * 10px)) scale(.3) rotate(45deg)}to{transform:translate(calc(cos(var(--angle)) * var(--distance)),calc(sin(var(--angle)) * var(--distance))) scale(1) rotate(1turn);opacity:0}}.animate-fly-away{animation:fly-away 1s ease-out forwards;transform-origin:center center}@keyframes progress{0%{width:0}to{width:100%}}.animate-progress{animation:progress 1.5s ease-in-out}@keyframes float{0%{transform:translateY(0) rotate(0deg);opacity:0}10%{opacity:.8}to{transform:translateY(-100vh) rotate(1turn);opacity:0}}@keyframes pulse-glow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.animate-pulse-glow{animation:pulse-glow 4s ease-in-out infinite}.stars-container{position:absolute;width:100%;height:100%;overflow:hidden}.star{position:absolute;width:2px;height:2px;background-color:white;border-radius:50%;animation:twinkle 5s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.2;transform:scale(1)}50%{opacity:1;transform:scale(1.5);box-shadow:0 0 10px 2px rgba(255,255,255,.7)}}.nebula-1{top:10%;left:5%;width:40%;height:40%;background:radial-gradient(ellipse at center,rgba(111,39,205,.2) 0,rgba(39,76,205,.1) 50%,transparent 70%);animation:nebula-move 30s ease-in-out infinite alternate}.nebula-1,.nebula-2{position:absolute;filter:blur(30px)}.nebula-2{bottom:10%;right:5%;width:35%;height:35%;background:radial-gradient(ellipse at center,rgba(205,39,175,.15) 0,rgba(39,205,193,.1) 50%,transparent 70%);animation:nebula-move 25s ease-in-out infinite alternate-reverse}.nebula-3{position:absolute;top:40%;left:30%;width:50%;height:30%;background:radial-gradient(ellipse at center,rgba(39,116,205,.1) 0,rgba(205,39,39,.05) 50%,transparent 70%);filter:blur(40px);animation:nebula-move 40s ease-in-out infinite alternate}@keyframes nebula-move{0%{transform:translate(0) scale(1)}to{transform:translate(5%,5%) scale(1.1)}}.main-title{position:relative;display:inline-block;font-size:5rem;font-weight:800;letter-spacing:2px;text-align:center;color:transparent;background:linear-gradient(90deg,#c084fc,#818cf8,#60a5fa);background-clip:text;-webkit-background-clip:text;text-shadow:0 0 20px rgba(192,132,252,.3);animation:title-shimmer 5s linear infinite;padding:.5rem 2rem;margin:0}@keyframes title-shimmer{0%{background-position:-200%}to{background-position:200%}}.main-title-container{position:relative;display:inline-block;overflow:hidden}.main-title-glow{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,rgba(192,132,252,0),rgba(192,132,252,.3) 50%,rgba(192,132,252,0));filter:blur(10px);animation:title-glow-slide 3s ease-in-out infinite}@keyframes title-glow-slide{0%,to{transform:translateX(0);opacity:0}50%{transform:translateX(200%);opacity:1}}.ruby-indicator{display:inline-flex;align-items:center;background:rgba(0,0,0,.5);border:1px solid rgba(16,185,129,.3);border-radius:.375rem;padding:.25rem .5rem;font-size:.75rem;color:#10b981;box-shadow:0 0 10px rgba(16,185,129,.2);white-space:nowrap}.ruby-icon{margin-right:.25rem;animation:ruby-pulse 2s infinite}@keyframes ruby-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animate-shimmer{animation:shimmer 2s infinite}