.animate-fade-in-up[data-v-6c51d7bd]{animation:fadeInUp-6c51d7bd .8s cubic-bezier(.16,1,.3,1) forwards;opacity:0}@keyframes fadeInUp-6c51d7bd{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.line-clamp-3[data-v-6c51d7bd]{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.identity-border[data-v-6c51d7bd]{background:linear-gradient(135deg,#0000fe1a,#ff362c1a);border:1.5px solid transparent;background-clip:padding-box;box-shadow:0 0 0 1px #0000fe4d,0 0 20px #0000fe1a,inset 0 0 20px #ff362c0d}.project-card-border[data-v-6c51d7bd]{position:relative;background:linear-gradient(135deg,#fff,#fff) padding-box,linear-gradient(135deg,#0000fe4d,#ff362c4d) border-box;border:3px solid transparent;transition:all .5s ease}.project-card-border[data-v-6c51d7bd]:hover{background:linear-gradient(135deg,#fff,#fff) padding-box,linear-gradient(135deg,#0000fe99,#ff362c99) border-box;border:1px solid transparent}.dark .project-card-border[data-v-6c51d7bd]{background:linear-gradient(135deg,#171717,#171717) padding-box,linear-gradient(135deg,#0000fe66,#ff362c66) border-box}.dark .project-card-border[data-v-6c51d7bd]:hover{background:linear-gradient(135deg,#171717,#171717) padding-box,linear-gradient(135deg,#0000fecc,#ff362ccc) border-box}.project-card-border[data-v-6c51d7bd]:before{content:"";position:absolute;inset:0;border-radius:1rem;padding:1.5px;background:linear-gradient(135deg,#0000fe4d,#ff362c4d);-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}.project-card-border[data-v-6c51d7bd]:hover:before{opacity:1}.project-card-border[data-v-6c51d7bd]:after{content:"";position:absolute;inset:0;border-radius:1rem;background:linear-gradient(135deg,#0000fe1a,#ff362c1a);opacity:0;transition:opacity .3s ease;z-index:-1}.project-card-border[data-v-6c51d7bd]:hover:after{opacity:1}@media(max-width:768px){.identity-border[data-v-6c51d7bd]{border-width:1px}.project-card-border[data-v-6c51d7bd]:before{padding:1px}}
