@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate-fadeIn{animation:fadeIn .5s ease-in-out forwards}.animate-fadeOut{animation:fadeOut .5s ease-in-out forwards}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fade-in-up .5s ease-out forwards}@keyframes subtle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-subtle-float{animation:subtle-float 8s ease-in-out infinite}@keyframes pulse-shadow{0%,to{box-shadow:0 0 20px hsl(var(--primary)/.3)}50%{box-shadow:0 0 35px hsl(var(--primary)/.5)}}.animate-pulse-shadow{animation:pulse-shadow 4s ease-in-out infinite}@keyframes wave-1{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.05);opacity:.8}}@keyframes wave-2{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.08);opacity:.6}}@keyframes wave-3{0%,to{transform:scale(1);opacity:.1}50%{transform:scale(1.1);opacity:.4}}@keyframes circle-in{0%{transform:scale(.5)}to{transform:scale(1)}}.animate-circle-in{animation-name:circle-in;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes circle-out{0%{transform:scale(1)}to{transform:scale(.5)}}.animate-circle-out{animation-name:circle-out;animation-timing-function:ease-in;animation-fill-mode:forwards}@keyframes circle-hold-in{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.02);opacity:1}}.animate-circle-hold-in{animation-name:circle-hold-in;animation-timing-function:ease-in-out}@keyframes circle-hold-out{0%,to{transform:scale(.5);opacity:.7}50%{transform:scale(.51);opacity:.8}}.animate-circle-hold-out{animation-name:circle-hold-out;animation-timing-function:ease-in-out}@keyframes typing-cursor{0%,to{opacity:1}50%{opacity:0}}.animate-typing-cursor{animation:typing-cursor 1s step-end infinite}@keyframes star-twinkle{0%,to{transform:scale(1);opacity:var(--opacity-start,.2)}50%{transform:scale(1.2);opacity:var(--opacity-end,1)}}.animate-star-twinkle{animation-name:star-twinkle;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes particle-flow{0%{transform:translate(var(--x-start),var(--y-start));opacity:0}50%{opacity:1}to{transform:translate(var(--x-end),var(--y-end));opacity:0}}.animate-particle-flow{animation-name:particle-flow;animation-timing-function:linear;animation-iteration-count:infinite}.toggle-placeholder{width:60px;height:60px}.toggle-container{display:inline-block;transform:scale(.6)}.toggle{position:relative;height:100px;width:100px;display:inline-block}.toggle .toggle-button{transition:all .3s cubic-bezier(.23,1,.32,1);border-radius:68.8px;position:absolute;margin-left:-34.4px;margin-top:-34.4px;display:block;height:68.8px;width:68.8px;left:50%;top:50%}.toggle .toggle-label{transition:color .3s ease-out;line-height:100px;text-align:center;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;width:100%}.toggle .toggle-icon{width:32px;height:32px}.toggle .toggle-input{opacity:0;position:absolute;cursor:pointer;z-index:1;height:100%;width:100%;left:0;top:0}.light .toggle .toggle-button{background:hsl(var(--muted));box-shadow:6px 6px 12px hsl(var(--background)),-6px -6px 12px hsl(var(--card))}.light .toggle .toggle-label{color:hsl(var(--foreground)/.9)}.light .toggle .toggle-input:active~.toggle-button{filter:blur(.5px);box-shadow:inset 4px 4px 8px hsl(var(--background)),inset -4px -4px 8px hsl(var(--card))}.light .toggle .toggle-input:active~.toggle-label{font-size:26px;color:hsl(var(--foreground)/.45)}.light .toggle .toggle-input:checked~.toggle-button{background:hsl(var(--muted));box-shadow:0 10px 25px -4px rgba(0,0,0,.4),inset 0 -8px 25px -1px rgba(255,255,255,.9),0 -10px 15px -1px rgba(255,255,255,.6),inset 0 8px 20px 0 rgba(0,0,0,.2),inset 0 0 5px 1px rgba(255,255,255,.6)}.dark .toggle .toggle-button{background:hsl(var(--muted));box-shadow:0 10px 25px -4px rgba(0,0,0,.6),inset 0 -8px 25px -1px hsla(var(--foreground),.1),0 -10px 15px -1px hsla(var(--foreground),.05),inset 0 8px 20px 0 rgba(0,0,0,.3),inset 0 0 5px 1px hsla(var(--foreground),.1)}.dark .toggle .toggle-label{color:hsl(var(--foreground)/.8)}.dark .toggle .toggle-input:active~.toggle-button{filter:blur(.5px);box-shadow:0 12px 25px -4px rgba(0,0,0,.5),inset 0 -8px 30px 1px rgba(255,255,255,.05),0 -10px 15px -1px rgba(255,255,255,.05),inset 0 8px 25px 0 rgba(0,0,0,.5),inset 0 0 10px 1px rgba(255,255,255,.1)}.dark .toggle .toggle-input:active~.toggle-label{font-size:26px;color:hsl(var(--foreground)/.45)}.dark .toggle .toggle-input:not(:checked)~.toggle-button{background:hsl(var(--muted));box-shadow:6px 6px 12px hsl(var(--background)),-6px -6px 12px hsl(var(--card))}