@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.animate-slide-in-right{animation:slideInRight .3s ease-out forwards}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.animate-slide-in-left{animation:slideInLeft .3s ease-out forwards}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.animate-scale-in{animation:scaleIn .2s ease-out forwards}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-shimmer{background:linear-gradient(90deg,#fff0,#fff3,#fff0);background-size:200% 100%;animation:shimmer 1.5s infinite}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background:#8b5cf64d;border-radius:999px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:#8b5cf680}.glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.dark .glass{background:#0f172ab3;border:1px solid rgba(255,255,255,.1)}.glass-strong{background:#ffffffe6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.dark .glass-strong{background:#0f172ae6}.gradient-text{background:linear-gradient(135deg,#a855f7,#ec4899,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-gold{background:linear-gradient(135deg,#f59e0b,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-primary{background:linear-gradient(135deg,#a855f7,#ec4899);color:#fff;font-weight:600;padding:.75rem 1.5rem;border-radius:.75rem;transition:all .2s;box-shadow:0 4px 14px #a855f74d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #a855f766}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:#ffffff1a;color:inherit;font-weight:500;padding:.75rem 1.5rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.2);transition:all .2s}.btn-secondary:hover{background:#fff3}.card-hover{transition:transform .2s,box-shadow .2s}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0000001a}.dark .card-hover:hover{box-shadow:0 20px 40px #0000004d}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.skeleton{background:linear-gradient(90deg,#c8c8c833 25%,#c8c8c866,#c8c8c833 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:.5rem}.dark .skeleton{background:linear-gradient(90deg,#32323266 25%,#46464699,#32323266 75%);background-size:200% 100%}.focus-ring{outline:none}.focus-ring:focus-visible{box-shadow:0 0 0 3px #a855f780}html{scroll-behavior:smooth}
