.animate-fade-in{animation-duration:1s;animation-timing-function:ease-out;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-fill-mode:none;animation-play-state:running;animation-name:fade-in;animation-timeline:auto;animation-range-start:normal;animation-range-end:normal;}.gradient-text{background-image:linear-gradient(135deg, rgb(102, 126, 234) 0%, rgb(118, 75, 162) 100%);background-position-x:initial;background-position-y:initial;background-size:initial;background-repeat:initial;background-attachment:initial;background-origin:initial;background-color:initial;-webkit-text-fill-color:transparent;background-clip:text;}::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{background-image:initial;background-position-x:initial;background-position-y:initial;background-size:initial;background-repeat:initial;background-attachment:initial;background-origin:initial;background-clip:initial;background-color:rgb(241, 241, 241);}::-webkit-scrollbar-thumb{background-image:linear-gradient(135deg, rgb(102, 126, 234) 0%, rgb(118, 75, 162) 100%);background-position-x:initial;background-position-y:initial;background-size:initial;background-repeat:initial;background-attachment:initial;background-origin:initial;background-clip:initial;background-color:initial;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;}::-webkit-scrollbar-thumb:hover{background-image:linear-gradient(135deg, rgb(90, 111, 216) 0%, rgb(106, 65, 144) 100%);background-position-x:initial;background-position-y:initial;background-size:initial;background-repeat:initial;background-attachment:initial;background-origin:initial;background-clip:initial;background-color:initial;}html{scroll-behavior:smooth;}.card-hover{transition-behavior:normal;transition-duration:0.3s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-delay:0s;transition-property:all;}.card-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:rgba(0, 0, 0, 0.15) 0px 25px 50px;}.skill-progress{animation-duration:2s;animation-timing-function:ease-in-out;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-fill-mode:none;animation-play-state:running;animation-name:loadProgress;animation-timeline:auto;animation-range-start:normal;animation-range-end:normal;}.timeline-item{animation-duration:0.6s;animation-timing-function:ease-out;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-fill-mode:none;animation-play-state:running;animation-name:fadeInUp;animation-timeline:auto;animation-range-start:normal;animation-range-end:normal;}.nav-link{transition-behavior:normal, normal;transition-duration:0.3s, 0.2s;transition-timing-function:ease, ease;transition-delay:0s, 0s;transition-property:color, transform;}.nav-link:hover{transform:scale(1.05);}.btn-hover{transition-behavior:normal;transition-duration:0.3s;transition-timing-function:ease;transition-delay:0s;transition-property:all;}.btn-hover:hover{transform:translateY(-2px);box-shadow:rgba(0, 0, 0, 0.1) 0px 10px 25px;}.img-hover{transition-behavior:normal;transition-duration:0.3s;transition-timing-function:ease;transition-delay:0s;transition-property:transform;}.img-hover:hover{transform:scale(1.05);}.loading{animation-duration:1.5s;animation-timing-function:ease-in-out;animation-delay:0s;animation-iteration-count:infinite;animation-direction:normal;animation-fill-mode:none;animation-play-state:running;animation-name:loadingPulse;animation-timeline:auto;animation-range-start:normal;animation-range-end:normal;}@keyframes fade-in{0%{opacity:0;transform:translateY(30px);}100%{opacity:1;transform:translateY(0px);}}@keyframes loadProgress{0%{width:0px;}100%{width:var(--skill-width);}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px);}100%{opacity:1;transform:translateY(0px);}}@keyframes loadingPulse{0%, 100%{opacity:1;}50%{opacity:0.5;}}@media (max-width: 768px){.section-padding{padding-top:4rem;padding-bottom:4rem;}.timeline-item::before{left:2px;}.mobile-menu-enter{animation-duration:0.3s;animation-timing-function:ease-out;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-fill-mode:none;animation-play-state:running;animation-name:slideDown;animation-timeline:auto;animation-range-start:normal;animation-range-end:normal;}.mobile-menu-leave{animation-duration:0.3s;animation-timing-function:ease-out;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-fill-mode:none;animation-play-state:running;animation-name:slideUp;animation-timeline:auto;animation-range-start:normal;animation-range-end:normal;}}