html{scroll-behavior:smooth}.dark{color-scheme:dark}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}.dark ::-webkit-scrollbar-track{background:#1f2937}::-webkit-scrollbar-thumb{background:#888;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#555}.dark ::-webkit-scrollbar-thumb{background:#4b5563}.dark ::-webkit-scrollbar-thumb:hover{background:#6b7280}.skill-icon{transition:transform .3s ease,box-shadow .3s ease}.skill-icon:hover{transform:translateY(-5px) scale(1.05)}.project-card{transition:transform .3s ease,box-shadow .3s ease}.project-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #00000026}.dark .project-card:hover{box-shadow:0 20px 40px #00000080}.custom-button{position:relative;overflow:hidden}.custom-button:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:0;background:#fff3;transition:.3s;border-radius:50%;transform:translate(-50%,-50%)}.custom-button:hover:after{height:400%}.nav-link{position:relative}.nav-link:after{content:"";position:absolute;width:0;height:2px;bottom:-4px;left:0;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width .3s ease}.nav-link:hover:after{width:100%}.glass{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.dark .glass{background:#0003;border:1px solid rgba(255,255,255,.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animate-fadeIn{animation:fadeIn .6s ease-out}.animate-fadeInUp{animation:fadeInUp .8s ease-out}.animate-fadeInDown{animation:fadeInDown .8s ease-out}.animate-slideInLeft{animation:slideInLeft .8s ease-out}.animate-slideInRight{animation:slideInRight .8s ease-out}.animate-scaleIn{animation:scaleIn .6s ease-out}.animate-gradient{background-size:200% 200%;animation:gradientShift 3s ease infinite}.delay-200{animation-delay:.2s;animation-fill-mode:both}.delay-300{animation-delay:.3s;animation-fill-mode:both}.delay-400{animation-delay:.4s;animation-fill-mode:both}.delay-500{animation-delay:.5s;animation-fill-mode:both}.delay-700{animation-delay:.7s;animation-fill-mode:both}
