@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:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(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:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:.6s cubic-bezier(.4,0,.2,1) forwards fadeIn}.animate-fade-in-up{animation:.8s cubic-bezier(.4,0,.2,1) forwards fadeInUp}.animate-fade-in-left{animation:.8s cubic-bezier(.4,0,.2,1) forwards fadeInLeft}.animate-fade-in-right{animation:.8s cubic-bezier(.4,0,.2,1) forwards fadeInRight}.animate-scale-in{animation:.5s cubic-bezier(.4,0,.2,1) forwards scaleIn}.animate-pulse{animation:2s cubic-bezier(.4,0,.2,1) infinite pulse}.animate-float{animation:3s ease-in-out infinite float}.animate-bounce{animation:1s cubic-bezier(.4,0,.2,1) bounce}.animate-shake{animation:.5s cubic-bezier(.4,0,.2,1) shake}.animate-slide-in-up{animation:.6s cubic-bezier(.4,0,.2,1) forwards slideInUp}.animate-slide-in-down{animation:.6s cubic-bezier(.4,0,.2,1) forwards slideInDown}.animate-rotate{animation:1s linear infinite rotate}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.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 #3b82f666}.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:1.5s infinite loadingDots}@keyframes loadingDots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.loading-spinner{border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:20px;height:20px;animation:1s linear infinite rotate}.loading-pulse{animation:2s ease-in-out infinite pulse}.progress-bar{background:#e5e7eb;border-radius:9999px;position:relative;overflow:hidden}.progress-bar:before{content:"";border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#60a5fa);height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.scroll-reveal{opacity:0;transition:all .8s cubic-bezier(.4,0,.2,1);transform:translateY(30px)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.click-feedback{position:relative;overflow:hidden}.click-feedback:before{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .3s,height .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.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 #00000040,0 0 0 1px #ffffff1a}.card-slide{transition:all .4s cubic-bezier(.4,0,.2,1)}.card-slide:hover{transform:translate(8px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}.will-change-auto{will-change:auto}.gpu-accelerated{backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transition:all .6s cubic-bezier(.4,0,.2,1);transform:translateY(0)}.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1);transform:translateY(-20px)}
:root{--font-cairo:"Cairo",sans-serif}[dir=rtl] body{direction:rtl;font-family:var(--font-cairo),sans-serif!important}
