* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: black;
    color: white;
    font-family: 'Grande Italic', cursive;

    margin: 0;
    min-height: 100vh;

    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;

    text-align: center;

    opacity: 0;
    animation: fadeIn 2s ease forwards;
 }   

/*blurry background image*/
body::before {
    content: '';

    position: absolute;
    inset: 0;

    background-image: url('background.jpg');
    background-size: cover;
    background-position: center;

    filter: blur(5px) brightness(0.35);

    transform: scale(1.1)  ;
}

/* grain texture */
.grain {
    position: absolute;
    inset: 0;

    opacity: 0.15;

    background-image: url('https://www.transparenttextures.com/patterns/asfalt-dark.png');

    opacity: 0.18;

    z-index: 1;
}

/* centre stuff */
.container {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

/*albumcover*/
.album-cover {
    width: 260px;

    border-radius: 10px;

    box-shadow: 0 0 40px rgba(255, 255, 255, 0.12);

    animation: glow 2s ease-in-out infinite alternate, pan 3s ease-in-out infinite alternate;
}

@keyframes glow {
    0% {
        box-shadow: 0 0 40px rgba(255, 255, 255, 0.12);
    }
    100% {
        box-shadow: 0 0 40px rgba(255, 255, 255, 0.3);
    }
}

@keyframes pan {
    0% {
        transform: translateX(-5px) scale(1);
    }
    to {
        transform: translateX(5px) scale(1.05);
    }
}

/*music player*/
audio {
    width: 220px;
    
    opacity: 0.8;

    filter: grayscale(1) invert(1);
}

@font-face {
    font-family: 'Grande Italic';
    src: url('Grande-Italic.otf') format('opentype');
}

h1 {
    font-family: 'Grande Italic', cursive;
    font-size: 48px;
    color: white;
    font-style: normal;
    text-shadow: 0 0 7px rgba(128, 128, 128, 0.8);
}

.subtitle {
    font-family: 'Grande Italic', cursive;
    font-size: 18px;
    color: white;
    font-style: normal;
    text-shadow: 0 0 7px rgba(128, 128, 128, 0.8);
    margin-top: -13px ;
}

.sparkles {
    margin-top: 20px;
    opacity: 0.6;
    letter-spacing: 5px;
    color: white;
    margin-top: -15px;
}

#enterBtn {
    margin-top: 20px;
    padding: 15px 35px;
    font-size: 18px;
    border: none;
    border-radius: 20px;
    background: white;
    color: black;
    cursor: pointer;
    font-family: 'Grande Italic', cursive;
    transition: 0.3s;
    margin-top: -12px;
}

#enterBtn:hover {
    transform: scale(1.05);
    opacity: 0.8;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
}

body{
    opacity: 0;
    animation: fadeIn 2s ease forwards;
    background: black;
    color: white;
}

@keyframes fadeIn {
    to {
        opacity: 1;
        transform: translateY(0px);
    }
}


html {
    overflow-y: scroll;
}

#pageContent {
    opacity: 0;
    animation: fadeInContent 1.5s ease forwards;
}

@keyframes fadeInContent {
    from {
        transform: translateY(0px);
    } 

    to {
        opacity: 1;
        transform: translateY(0px);
    }
}

    .credits {
       position: fixed;
       bottom: -10px;
       left: 50%;
       transform: translateX(-50%);

       font-size: 12px;
       opacity: 1;

       letter-spacing: 2px;
    }

    .noise {
        position: fixed;
        inset: 0;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('https://www.transparenttextures.com/patterns/asfalt-light.png');
        pointer-events: none;
        opacity: 0.5;
        z-index: 999;
    }
