/* Custom Styles that go beyond Tailwind basics */
html,
body {
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.4s ease-out forwards;
}

/* Glassmorphism utilities */
.glass-panel {
    background: rgba(105, 92, 92, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(53, 25, 25, 0.4);
}

.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
    background-color:aqua;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background-color: #448ee7;
    border-radius: 20px;
}

/* Loader */
.spinner {
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top: 3px solid #373980;
    width: 24px;
    height: 24px;
    -webkit-animation: spin 1s linear infinite;
    /* Safari */
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.slide-in-left {
    animation: slideInLeft 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* Shiny Dust Static Overlay */
body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    background-image: url('https://wallscloud.net/img/resize/1366/768/MM/2021-08-11-modern-black-background-8k.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    mix-blend-mode: screen;
    opacity: 0.75;
}