@keyframes rotateWheel{from{transform:rotateZ(0deg)}to{transform:rotateZ(360deg)}}@keyframes floatBg{0%,100%{transform:translateY(0px)}50%{transform:translateY(-20px)}}@keyframes scaleFloat{0%,100%{transform:scale(1) translateY(0)}50%{transform:scale(1.05) translateY(-10px)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInUp{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.7}}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes colorShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.animate-fade-in{animation:fadeIn 0.6s ease-out}.animate-slide-left{animation:slideInLeft 0.6s ease-out}.animate-slide-right{animation:slideInRight 0.6s ease-out}.animate-slide-up{animation:slideInUp 0.6s ease-out}.animate-bounce{animation:bounce 2s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-delay-1{animation-delay:0.1s}.animate-delay-2{animation-delay:0.2s}.animate-delay-3{animation-delay:0.3s}.animate-delay-4{animation-delay:0.4s}.carousel-container{position:relative;width:100%;max-width:100%;margin:0 auto;overflow:hidden;border-radius:12px}.carousel-track{display:flex;transition:transform 0.5s ease-in-out}.carousel-slide{min-width:100%;flex:0 0 100%}.carousel-slide img{width:100%;height:auto;display:block}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.5);color:white;border:none;width:50px;height:50px;border-radius:50%;cursor:pointer;font-size:1.5rem;z-index:10;transition:all 0.3s ease}.carousel-btn:hover{background:rgba(0,0,0,0.8)}.carousel-btn.prev{left:20px}.carousel-btn.next{right:20px}.carousel-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:10}.carousel-dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,0.5);cursor:pointer;transition:all 0.3s ease}.carousel-dot.active{background:white;transform:scale(1.3)}.loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(0,0,0,0.1);border-top-color:#7C3AED;border-radius:50%;animation:spin 0.8s linear infinite}.success-message{animation:slideDown 0.3s ease-out;background:linear-gradient(135deg,var(--success),#059669);color:white;padding:1rem;border-radius:8px;margin-bottom:1rem}.error-message{animation:slideDown 0.3s ease-out;background:linear-gradient(135deg,var(--danger),#DC2626);color:white;padding:1rem;border-radius:8px;margin-bottom:1rem}.warning-message{animation:slideDown 0.3s ease-out;background:linear-gradient(135deg,var(--warning),#D97706);color:white;padding:1rem;border-radius:8px;margin-bottom:1rem}.glow-on-hover{transition:all 0.3s ease}.glow-on-hover:hover{box-shadow:0 0 20px rgba(124,58,237,0.5)}.scale-on-hover{transition:transform 0.3s ease}.scale-on-hover:hover{transform:scale(1.05)}.lift-on-hover{transition:all 0.3s ease}.lift-on-hover:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,0.2)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn 0.3s ease-out}.modal{background:white;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,0.3);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideInUp 0.3s ease-out}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.3rem;font-weight:700;color:var(--secondary-dark)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-light);transition:color 0.3s ease}.modal-close:hover{color:var(--secondary-dark)}.modal-body{padding:1.5rem}.modal-footer{padding:1.5rem;border-top:1px solid var(--border-light);display:flex;gap:1rem;justify-content:flex-end}.toast{position:fixed;bottom:20px;right:20px;background:white;box-shadow:0 4px 12px rgba(0,0,0,0.15);border-radius:8px;padding:1rem 1.5rem;min-width:300px;animation:slideInRight 0.3s ease-out;z-index:2000}.toast.success{border-left:4px solid var(--success)}.toast.error{border-left:4px solid var(--danger)}.toast.warning{border-left:4px solid var(--warning)}.gradient-text{background:linear-gradient(135deg,#7C3AED,#EC4899,#F97316);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:colorShift 3s ease infinite}.gradient-button{background:linear-gradient(135deg,#7C3AED,#EC4899);background-size:200% 200%;animation:colorShift 3s ease infinite}.smooth-transition{transition:all 0.3s ease}.fast-transition{transition:all 0.15s ease}.slow-transition{transition:all 0.6s ease}