html{scroll-behavior:smooth}.grid-pattern{background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='grid' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Cpath d='M 100 0 L 0 0 0 100' fill='none' stroke='rgba(0,0,0,0.02)' stroke-width='1'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23grid)' /%3E%3C/svg%3E")}.gradient-text{background:linear-gradient(90deg,#3f8cff,#8b5cf6,#10b981,#3f8cff) 0 0/300% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:5s infinite gradient-shift}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.floating{animation:6s ease-in-out infinite float}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-animation}@keyframes pulse-animation{0%,to{opacity:1}50%{opacity:.8}}.tab-content-enter{opacity:0;transform:translateY(10px)}.tab-content-enter-active{opacity:1;transition:opacity .3s,transform .3s;transform:translateY(0)}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px)}.fade-in{animation:.6s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}
