.menu-item[data-v-0377f4f8] {
    position: relative;
    font-weight: 500;
    border-radius: .375rem;
    overflow: hidden
}

.menu-item[data-v-0377f4f8]:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg,orchid,#4169e1);
    transition: width .3s ease
}

.menu-item[data-v-0377f4f8]:hover:before {
    width: 100%
}

.dropdown-menu[data-v-0377f4f8] {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all .3s ease
}

.dropdown-parent:hover .dropdown-menu[data-v-0377f4f8] {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

@keyframes pulseGlow-0377f4f8 {
    0% {
        box-shadow: 0 0 5px #da70d680
    }

    50% {
        box-shadow: 0 0 20px #da70d6cc
    }

    to {
        box-shadow: 0 0 5px #da70d680
    }
}

.dropdown-parent:hover .menu-item[data-v-0377f4f8] {
    animation: pulseGlow-0377f4f8 2s infinite
}

.dropdown-menu a[data-v-0377f4f8]:hover {
    background-color: #7c3aed33
}

.mobile-menu-section[data-v-5c1f7f9c] {
    border-bottom-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
    padding-top: .5rem;
    padding-bottom: .5rem
}

.mobile-menu-dropdown[data-v-5c1f7f9c]>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.25rem * var(--tw-space-y-reverse))
}

.mobile-menu-dropdown[data-v-5c1f7f9c] {
    background-color: #1f293780;
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
    transition: max-height .3s ease-in-out,opacity .3s ease-in-out
}

.mobile-menu-dropdown-item[data-v-5c1f7f9c] {
    display: flex;
    align-items: center
}

.mobile-menu-dropdown-item[data-v-5c1f7f9c]>:not([hidden])~:not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(.5rem * var(--tw-space-x-reverse));
    margin-left: calc(.5rem * calc(1 - var(--tw-space-x-reverse)))
}

.mobile-menu-dropdown-item[data-v-5c1f7f9c] {
    padding: .5rem 1rem;
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

.mobile-menu-dropdown-item[data-v-5c1f7f9c]:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.mobile-dropdown-toggle[data-v-5c1f7f9c] {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: .75rem 1rem;
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

.mobile-dropdown-toggle[data-v-5c1f7f9c]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.mobile-dropdown-enter-active[data-v-5c1f7f9c],.mobile-dropdown-leave-active[data-v-5c1f7f9c] {
    transition: max-height .3s ease,opacity .3s ease;
    overflow: hidden
}

.mobile-dropdown-enter-from[data-v-5c1f7f9c],.mobile-dropdown-leave-to[data-v-5c1f7f9c] {
    max-height: 0;
    opacity: 0
}

.mobile-dropdown-enter-to[data-v-5c1f7f9c],.mobile-dropdown-leave-from[data-v-5c1f7f9c] {
    max-height: 500px;
    opacity: 1
}

.group[data-v-515fdf87]:hover {
    box-shadow: 0 0 20px #8b5cf61a
}

.dropdown-enter-active[data-v-515fdf87],.dropdown-leave-active[data-v-515fdf87] {
    transition: all .2s ease
}

.dropdown-enter-from[data-v-515fdf87],.dropdown-leave-to[data-v-515fdf87] {
    opacity: 0;
    transform: translateY(-10px)
}

.transition-all[data-v-515fdf87] {
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1)
}

.transition-transform[data-v-515fdf87] {
    transition-property: transform;
    transition-timing-function: cubic-bezier(.4,0,.2,1)
}

.transform[data-v-515fdf87]:hover {
    transform-origin: center
}

.group:hover .group-hover\:translate-x-1[data-v-515fdf87] {
    transform: translate(.25rem)
}

.mobile-menu-item[data-v-670fbfdc] {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    border-radius: var(--radius);
    padding: .75rem;
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s;
    animation-duration: .15s
}

.mobile-menu-item[data-v-670fbfdc]:hover {
    background-color: #33415580;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.mobile-dropdown-toggle[data-v-670fbfdc] {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    border-radius: var(--radius);
    padding: .75rem;
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s;
    animation-duration: .15s
}

.mobile-dropdown-toggle[data-v-670fbfdc]:hover {
    background-color: #33415580;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.group[data-v-a7d9d3d3]:hover {
    box-shadow: 0 0 20px #8b5cf61a
}

.mobile-menu-item[data-v-a7d9d3d3] {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    border-radius: var(--radius);
    padding: .75rem;
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s;
    animation-duration: .15s
}

.mobile-menu-item[data-v-a7d9d3d3]:hover {
    background-color: #33415580;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.mobile-dropdown-toggle[data-v-a7d9d3d3] {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    border-radius: var(--radius);
    padding: .75rem;
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s;
    animation-duration: .15s
}

.mobile-dropdown-toggle[data-v-a7d9d3d3]:hover {
    background-color: #33415580;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.mobile-menu-dropdown-item[data-v-a7d9d3d3] {
    display: flex;
    width: 100%;
    align-items: center
}

.mobile-menu-dropdown-item[data-v-a7d9d3d3]>:not([hidden])~:not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(.75rem * var(--tw-space-x-reverse));
    margin-left: calc(.75rem * calc(1 - var(--tw-space-x-reverse)))
}

.mobile-menu-dropdown-item[data-v-a7d9d3d3] {
    border-radius: var(--radius);
    padding: .75rem;
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s;
    animation-duration: .15s
}

.mobile-menu-dropdown-item[data-v-a7d9d3d3]:hover {
    background-color: #33415580;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.mobile-menu-dropdown-toggle[data-v-a7d9d3d3] {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    border-radius: var(--radius);
    padding: .75rem;
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s;
    animation-duration: .15s
}

.mobile-menu-dropdown-toggle[data-v-a7d9d3d3]:hover {
    background-color: #33415580;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

@keyframes pulse-8a5c846c {
    0%,to {
        opacity: 1
    }

    50% {
        opacity: .5
    }
}

.animate-pulse[data-v-8a5c846c] {
    animation: pulse-8a5c846c 2s cubic-bezier(.4,0,.6,1) infinite
}

.mobile-menu-container[data-v-69d77472] {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 50;
    height: 100%;
    width: 100%;
    overflow-y: auto;
    --tw-bg-opacity: 1;
    background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1))
}

@media (min-width: 768px) {
    .mobile-menu-container[data-v-69d77472] {
        width:20rem
    }
}

.mobile-menu-container[data-v-69d77472] {
    box-shadow: -5px 0 25px #00000080
}

.mobile-menu-header[data-v-69d77472] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
    padding: 1rem
}

.mobile-menu-backdrop[data-v-69d77472] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 40;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
    --tw-bg-opacity: .5
}

.mobile-menu-section[data-v-69d77472] {
    border-bottom-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
    padding-top: .5rem;
    padding-bottom: .5rem
}

.mobile-menu-enter-active[data-v-69d77472],.mobile-menu-leave-active[data-v-69d77472] {
    transition: transform .3s cubic-bezier(.4,0,.2,1)
}

.mobile-menu-enter-from[data-v-69d77472],.mobile-menu-leave-to[data-v-69d77472] {
    transform: translate(100%)
}

.mobile-menu-enter-to[data-v-69d77472],.mobile-menu-leave-from[data-v-69d77472] {
    transform: translate(0)
}

.backdrop-enter-active[data-v-69d77472],.backdrop-leave-active[data-v-69d77472] {
    transition: opacity .3s ease
}

.backdrop-enter-from[data-v-69d77472],.backdrop-leave-to[data-v-69d77472] {
    opacity: 0
}

.backdrop-enter-to[data-v-69d77472],.backdrop-leave-from[data-v-69d77472] {
    opacity: 1
}

.mobile-menu-open {
    overflow: hidden!important;
    height: 100vh!important
}

.dropdown-enter-active[data-v-8c44568f] {
    transition: all .3s ease-out;
    transform-origin: top
}

.dropdown-leave-active[data-v-8c44568f] {
    transition: all .2s ease-in;
    transform-origin: top
}

.dropdown-enter-from[data-v-8c44568f] {
    opacity: 0;
    transform: translateY(-10px) scaleY(.8)
}

.dropdown-leave-to[data-v-8c44568f] {
    opacity: 0;
    transform: translateY(-5px) scaleY(.95)
}

.dropdown-enter-to[data-v-8c44568f],.dropdown-leave-from[data-v-8c44568f] {
    opacity: 1;
    transform: translateY(0) scaleY(1)
}

main[data-v-9ae231a3] {
    min-height: calc(100vh - 200px)
}

.footer-bg[data-v-04fbb7ff] {
    background: linear-gradient(to bottom,#111827f2,#0f172afa);
    box-shadow: 0 -10px 30px -15px #7c3aed1a
}

.particle-star[data-v-04fbb7ff] {
    position: absolute;
    background-color: #a78bfab3;
    border-radius: 50%;
    animation: pulse-04fbb7ff 3s infinite ease-in-out
}

@keyframes pulse-04fbb7ff {
    0%,to {
        opacity: .3;
        transform: scale(1)
    }

    50% {
        opacity: 1;
        transform: scale(1.5)
    }
}

.gradient-text[data-v-04fbb7ff] {
    background: linear-gradient(45deg,#a855f7,#8b5cf6,#6366f1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 20px rgba(139,92,246,.3)
}

.tech-badge[data-v-04fbb7ff] {
    display: inline-block;
    background: #7c3aed33;
    border: 1px solid rgba(139,92,246,.3);
    color: #c4b5fd;
    font-size: .75rem;
    padding: .25rem .5rem;
    border-radius: 9999px;
    transition: all .2s ease
}

.tech-badge[data-v-04fbb7ff]:hover {
    background: #7c3aed4d;
    transform: translateY(-1px)
}

.footer-link[data-v-04fbb7ff] {
    display: flex;
    align-items: center;
    color: #d1d5db;
    transition: all .2s ease;
    position: relative;
    padding-left: 0
}

.footer-link[data-v-04fbb7ff]:hover {
    color: #fff;
    transform: translate(3px)
}

.footer-link[data-v-04fbb7ff]:before {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background: linear-gradient(to right,rgba(139,92,246,.7),transparent);
    transition: width .3s ease
}

.footer-link[data-v-04fbb7ff]:hover:before {
    width: 100%
}

.social-icon-link[data-v-04fbb7ff] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #7c3aed1a;
    border: 1px solid rgba(139,92,246,.2);
    border-radius: 50%;
    color: #a5b4fc;
    transition: all .2s ease
}

.social-icon-link[data-v-04fbb7ff]:hover {
    background: #7c3aed33;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px -2px #7c3aed4d
}

.toast-enter-active[data-v-940868e8] {
    transition: all .3s ease-out
}

.toast-leave-active[data-v-940868e8] {
    transition: all .3s ease-in
}

.toast-enter-from[data-v-940868e8],.toast-leave-to[data-v-940868e8] {
    opacity: 0;
    transform: translate(100%) scale(.8)
}

.toast-move[data-v-940868e8] {
    transition: transform .3s ease
}

.debug-info[data-v-ae7bcb3a] {
    font-family: monospace;
    font-size: 10px;
    line-height: 1.2
}

.overlay-enter-active[data-v-facea1f0] {
    transition: all .4s ease
}

.overlay-leave-active[data-v-facea1f0] {
    transition: all .3s ease
}

.overlay-enter-from[data-v-facea1f0] {
    opacity: 0;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px)
}

.overlay-enter-to[data-v-facea1f0],.overlay-leave-from[data-v-facea1f0] {
    opacity: 1;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px)
}

.overlay-leave-to[data-v-facea1f0] {
    opacity: 0;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px)
}

.overlay-enter-active .relative[data-v-facea1f0] {
    transition: transform .4s ease,opacity .4s ease
}

.overlay-leave-active .relative[data-v-facea1f0] {
    transition: transform .3s ease,opacity .3s ease
}

.overlay-enter-from .relative[data-v-facea1f0] {
    transform: scale(.8) translateY(20px);
    opacity: 0
}

.overlay-leave-to .relative[data-v-facea1f0] {
    transform: scale(.9) translateY(-10px);
    opacity: 0
}

@keyframes bounce-facea1f0 {
    0%,80%,to {
        transform: scale(0)
    }

    40% {
        transform: scale(1)
    }
}

@supports not ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))) {
    .overlay-enter-to[data-v-facea1f0],.overlay-leave-from[data-v-facea1f0] {
        background-color:#000000e6
    }
}

.min-h-screen[data-v-33f1ed2f] {
    /* min-height:100vh; */
}
