@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateY(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translateY(-15px)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translateY(-7px)}90%{transform:translateY(-3px)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-fade-in{animation:fadeIn .6s cubic-bezier(.4,0,.2,1) forwards}.animate-fade-in-up{animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) forwards}.animate-fade-in-left{animation:fadeInLeft .8s cubic-bezier(.4,0,.2,1) forwards}.animate-fade-in-right{animation:fadeInRight .8s cubic-bezier(.4,0,.2,1) forwards}.animate-scale-in{animation:scaleIn .5s cubic-bezier(.4,0,.2,1) forwards}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.2,1) infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-bounce{animation:bounce 1s cubic-bezier(.4,0,.2,1)}.animate-shake{animation:shake .5s cubic-bezier(.4,0,.2,1)}.animate-slide-in-up{animation:slideInUp .6s cubic-bezier(.4,0,.2,1) forwards}.animate-slide-in-down{animation:slideInDown .6s cubic-bezier(.4,0,.2,1) forwards}.animate-rotate{animation:rotate 1s linear infinite}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.hover-scale{transition:transform .3s cubic-bezier(.4,0,.2,1)}.hover-scale:hover{transform:scale(1.05)}.hover-scale-sm{transition:transform .2s cubic-bezier(.4,0,.2,1)}.hover-scale-sm:hover{transform:scale(1.02)}.hover-glow{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-glow:hover{box-shadow:0 0 20px rgba(59,130,246,.4)}.hover-rotate{transition:transform .3s cubic-bezier(.4,0,.2,1)}.hover-rotate:hover{transform:rotate(5deg)}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}.loading-dots:after{content:"";animation:loadingDots 1.5s infinite}@keyframes loadingDots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.loading-spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:rotate 1s linear infinite}.loading-pulse{animation:pulse 2s ease-in-out infinite}.progress-bar{position:relative;background:#e5e7eb;border-radius:9999px;overflow:hidden}.progress-bar:before{content:"";position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:inherit;transition:width .5s cubic-bezier(.4,0,.2,1)}.scroll-reveal{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.click-feedback{position:relative;overflow:hidden}.click-feedback:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .3s,height .3s}.click-feedback:active:before{width:300px;height:300px}.transition-all-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-colors-smooth{transition:color .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1)}.transition-transform-smooth{transition:transform .3s cubic-bezier(.4,0,.2,1)}.transition-opacity-smooth{transition:opacity .3s cubic-bezier(.4,0,.2,1)}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateY(0)}.card-hover:hover{transform:translateY(-8px);box-shadow:0 25px 50px -12px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.1)}.card-slide{transition:all .4s cubic-bezier(.4,0,.2,1)}.card-slide:hover{transform:translateX(8px)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}.will-change-auto{will-change:auto}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{transition:all .6s cubic-bezier(.4,0,.2,1)}.page-enter-active,.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-20px);transition:all .4s cubic-bezier(.4,0,.2,1)}:root{--font-cairo:"Cairo",sans-serif}[dir=rtl] body{direction:rtl;font-family:var(--font-cairo),sans-serif!important}