@keyframes fade-in{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slide-in-left{0%{opacity:0;transform:translateX(-50px) rotate(-2deg)}to{opacity:1;transform:translateX(0) rotate(0deg)}}@keyframes slide-in-right{0%{opacity:0;transform:translateX(50px) rotate(2deg)}to{opacity:1;transform:translateX(0) rotate(0deg)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3) translateY(50px)}50%{opacity:1;transform:scale(1.05) translateY(-10px)}70%{transform:scale(.98) translateY(5px)}to{transform:scale(1) translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px rgba(251,146,60,.3)}50%{box-shadow:0 0 40px rgba(251,146,60,.6)}}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}33%{transform:translateY(-8px) rotate(1deg)}66%{transform:translateY(-4px) rotate(-1deg)}}@keyframes gentle-sway{0%,to{transform:translateX(0) rotate(0deg)}25%{transform:translateX(3px) rotate(.5deg)}75%{transform:translateX(-3px) rotate(-.5deg)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0deg)}50%{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.animate-fade-in{animation:fade-in .8s cubic-bezier(.25,.46,.45,.94) forwards}.animate-fade-in-delayed{animation:fade-in .8s cubic-bezier(.25,.46,.45,.94) .3s forwards;opacity:0}.animate-slide-in-left{animation:slide-in-left .7s cubic-bezier(.25,.46,.45,.94) forwards}.animate-slide-in-right{animation:slide-in-right .7s cubic-bezier(.25,.46,.45,.94) forwards}.animate-bounce-in{animation:bounce-in .9s cubic-bezier(.68,-.55,.265,1.55) forwards}.animate-pulse-glow{animation:pulse-glow 3s ease-in-out infinite}.animate-float{animation:float 4s ease-in-out infinite}.animate-gentle-sway{animation:gentle-sway 6s ease-in-out infinite}.animate-sparkle{animation:sparkle 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6),transparent);background-size:200% 100%;animation:shimmer 2.5s infinite}.bg-workshop-hero{background:linear-gradient(135deg,rgba(255,237,213,.95),hsla(32,98%,83%,.9) 25%,rgba(251,191,36,.2) 50%,rgba(245,158,11,.15) 75%,rgba(217,119,6,.1))}.bg-workshop-card{background:linear-gradient(135deg,hsla(0,0%,100%,.95),hsla(35,94%,93%,.9) 50%,rgba(255,247,237,.95))}.bg-gradient-warm{background:linear-gradient(135deg,#ffecd2,#fcb69f 25%,#ff9a8b 50%,#ffeaa7 75%,#fab1a0)}.bg-gradient-cool{background:linear-gradient(135deg,#a8edea,#fed6e3 25%,#d299c2 50%,#fef9d7 75%,#eea2a2)}.bg-gradient-purple{background:linear-gradient(135deg,#667eea,#764ba2 25%,#f093fb 50%,#f5576c 75%,#4facfe)}.hover-lift{transition:all .4s cubic-bezier(.25,.46,.45,.94);transform-origin:center}.hover-lift:hover{transform:translateY(-12px) scale(1.03) rotate(1deg);box-shadow:0 25px 50px rgba(0,0,0,.15),0 10px 25px rgba(251,146,60,.2)}.hover-bounce{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.hover-bounce:hover{transform:scale(1.1) rotate(-2deg)}.hover-glow{transition:all .3s ease;position:relative}.hover-glow:hover{box-shadow:0 0 30px rgba(251,146,60,.4),0 0 60px rgba(236,72,153,.2)}.hover-tilt{transition:all .3s ease;transform-style:preserve-3d}.hover-tilt:hover{transform:perspective(1000px) rotateX(10deg) rotateY(-10deg) rotate(2deg)}.hover-slide{position:relative;overflow:hidden;transition:all .3s ease}.hover-slide:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3),transparent);transition:left .6s ease}.hover-slide:hover:before{left:100%}.workshop-card{position:relative;overflow:hidden}.workshop-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .6s}.workshop-card:hover:before{left:100%}.tab-indicator{position:relative}.tab-indicator:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:3px;background:linear-gradient(90deg,#f97316,#ec4899);border-radius:2px;transform:scaleX(0);transition:transform .3s ease}.tab-indicator.active:after{transform:scaleX(1)}.progress-bar{position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;top:0;left:0;height:100%;width:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3),transparent);animation:shimmer 2s infinite}.loading-spinner{position:relative}.loading-spinner:before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:50%;background:conic-gradient(from 0deg,transparent,#f97316,#ec4899,transparent);animation:spin 2s linear infinite}.loading-spinner:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff}@keyframes spin{to{transform:rotate(1turn)}}.badge-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.interactive-hover{transition:all .2s ease}.interactive-hover:hover{transform:scale(1.05)}.interactive-hover:active{transform:scale(.98)}.glass-effect{background:hsla(0,0%,100%,.35);backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.25);box-shadow:0 8px 32px rgba(0,0,0,.1)}.glass-effect-strong{background:hsla(0,0%,100%,.45);backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 12px 40px rgba(0,0,0,.15)}.glass-effect-subtle{background:hsla(0,0%,100%,.15);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 4px 20px rgba(0,0,0,.05)}.gradient-text{background:linear-gradient(135deg,#f97316,#ec4899,#8b5cf6,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:gradient-shift 4s ease infinite}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.gradient-text-warm{background:linear-gradient(135deg,#ff6b6b,#feca57,#ff9ff3,#54a0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-cool{background:linear-gradient(135deg,#667eea,#764ba2,#5f27cd,#00d2d3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.shadow-warm{box-shadow:0 15px 35px rgba(251,146,60,.25),0 5px 15px rgba(251,146,60,.1)}.shadow-cool{box-shadow:0 15px 35px rgba(139,92,246,.25),0 5px 15px rgba(139,92,246,.1)}.shadow-soft{box-shadow:0 8px 25px rgba(0,0,0,.08),0 3px 10px rgba(0,0,0,.05)}.shadow-dramatic{box-shadow:0 20px 50px rgba(0,0,0,.15),0 10px 25px rgba(0,0,0,.1)}.shadow-glow-orange{box-shadow:0 0 20px rgba(251,146,60,.3),0 0 40px rgba(251,146,60,.1)}.shadow-glow-pink{box-shadow:0 0 20px rgba(236,72,153,.3),0 0 40px rgba(236,72,153,.1)}.shadow-glow-purple{box-shadow:0 0 20px rgba(139,92,246,.3),0 0 40px rgba(139,92,246,.1)}.btn-magical{position:relative;overflow:hidden;transition:all .3s ease}.btn-magical:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s ease}.btn-magical:hover:before{left:100%}.btn-magical:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.2)}.card-breathe{animation:breathe 4s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.card-magnetic{transition:all .3s cubic-bezier(.25,.46,.45,.94)}.card-magnetic:hover{transform:perspective(1000px) rotateX(5deg) rotateY(5deg) scale(1.05)}.text-reveal{background:linear-gradient(135deg,#f97316,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:text-glow 2s ease-in-out infinite alternate}@keyframes text-glow{0%{filter:drop-shadow(0 0 5px rgba(251,146,60,.5))}to{filter:drop-shadow(0 0 15px rgba(236,72,153,.7))}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 2s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.transform-gpu{transform:translateZ(0);backface-visibility:hidden;perspective:1000}.will-change-transform{will-change:transform}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.animate-pulse-subtle{animation:pulse-subtle 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-subtle{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.4)}50%{box-shadow:0 0 0 6px rgba(59,130,246,0)}}.variant-card-clickable{position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.variant-card-clickable:after{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:linear-gradient(135deg,#3b82f6,#8b5cf6,#ec4899);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease}.variant-card-clickable:hover:after{opacity:1;animation:rotate-gradient 3s linear infinite}@keyframes rotate-gradient{to{transform:rotate(1turn)}}