::-webkit-scrollbar {
    width: 15px;
}

::-webkit-scrollbar-track {
    background: #00000000;
}

::-webkit-scrollbar-thumb {
    background: #9992;
}

::-webkit-scrollbar-thumb:hover {
    background: #9994;
}

body {
    overflow-y: hidden;
    overflow-x: hidden;
    background-color: #000;
    --album-margin: 10px;
    --album-percent: 33%;
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    justify-content: center;
    height: 100vh;
}

a:hover {
    cursor: pointer;
}

.social-link img {
    width: 32px;
}

@media (min-width:768px) {
    .social-link img {
        width: 64px;
    }
}

@media (min-width:1200px) {
    body {
        --album-margin: 20px;
        --album-percent: 25%;
    }
}

.body {
    max-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
}

.title-screen {
    width: 100vw;
    height: calc(min(100vw, 100vh));
    filter: drop-shadow(2px 2px 20px #0004);
}

.title-screen.broken {
    filter: blur(100px);
}

.title-logo {
    padding-top: calc(min(50vh - 18vh, 38vw));
}

.link-bar {
    display: flex;
    flex-wrap: no-wrap;
    margin-right: -15px;
    margin-left: -15px;
    justify-content: space-around;
    pointer-events: all;
}

.main-body {
    padding: 10px;
    transition: top 1s;
    top: 100vh;
    border-radius: 10px;
}

.music {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.album {
    position: relative;
    box-sizing: border-box;
    margin: var(--album-margin);
    max-width: calc(var(--album-percent) - 2 * var(--album-margin));
    width: calc(var(--album-percent) - 2 * var(--album-margin));
    flex-grow: 1;
    transition: background-color 0.1s;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 2px 2px 20px #0004;
}

.album-art {
    width: 100%;
    border-radius: 10px;
    transition: filter 0.2s, scale 0.2s;
}

.album-overlay {
    box-sizing: border-box;
    position: absolute;
    border-radius: 10px;
    top: 0px;
    left: 0px;
    width: calc(100%);
    height: calc(100%);
    color: #fff;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    text-shadow: 2px 2px 10px #0008;
    font-size: 1.2em;
    text-align: center;
    backdrop-filter: blur(35px);
}

.album:hover .album-art {
    scale: 1.5;
    filter: blur(5px);
}

.album:hover .album-overlay {
    opacity: 1;
}

.more-music {
    background-color: #fff1;
    padding: 10px;
    width: 300px;
    text-align: center;
    color: #fff;
    border-radius: 10px;
    text-decoration: none;
    font-size: 1.3em;
    transition: background-color 0.2s;
}

.more-music:hover {
    text-decoration: none;
    background-color: #fff2;
    color: #fff;
}

#content {
    margin: 0px;
    width: 100vw;
    overflow: hidden;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    justify-content: center;
    /* padding: 30px; */
    box-sizing: content-box;
}

.content {
    font-family: "Roboto", "Arial", sans-serif;
}

@media (orientation: landscape) {
    .content {
        background-color: #0f0f0f;
        width: 340px;
        display: flex;
        flex-direction: column;
        align-items: center;
        align-content: center;
        box-shadow: 2px 2px 10px #0f0f0f;
        border-radius: 10px;
    }
    .artwork {
        border-radius: 10px;
        min-width: 400px;
        box-shadow: 2px 2px 20px 0px #0f0f0f66;
        /* pointer-events: none; */
    }
    .title {
        font-size: 1em;
        display: flex;
        flex-direction: column;
        align-items: center;
        align-content: center;
        line-height: 1.3;
        margin: 0.5em;
    }
    .title .artist {
        font-weight: bold;
        font-size: 1.6em;
        text-align: center;
    }
}

@media (orientation: portrait) {
    .content {
        background-color: #0f0f0f;
        width: calc(min(70vw, 40vh));
        display: flex;
        flex-direction: column;
        align-items: center;
        align-content: center;
        box-shadow: 2px 2px 10px #0f0f0f;
        border-radius: 10px;
    }
    .artwork {
        border-radius: 10px;
        min-width: calc(min(80vw, 50vh));
        box-shadow: 2px 2px 20px 0px #0f0f0f66;
        /* pointer-events: none; */
    }
    .title {
        font-size: 1.5em;
        display: flex;
        flex-direction: column;
        align-items: center;
        align-content: center;
        line-height: 1.3;
        margin: 0.5em;
    }
    .title .artist {
        font-weight: bold;
        font-size: 1.6em;
        text-align: center;
    }
}

.tracks {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-content: center;
    overflow: auto;
}

.link {
    text-decoration: none;
    color: #fff;
    transition: color 0.1s;
}

.link:hover {
    color: #aaa;
}

.tracklist {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(100% - 20px);
}

.tracklist-title {
    font-size: 1em;
}

.tracks .track {
    width: calc(100% - 20px);
    border-radius: 10px;
    padding: 5px;
    color: #fff;
    text-decoration: none;
}

.tracks .track:hover {
    background-color: #282828;
}

.tracklist .artwork {
    transition: filter 0.5s, transform 0.2s, opacity 0.2s, scale 0.2s 0.2s, z-index 0s 0.2s, translate 0.2s 0.2s;
    translate: 0px 0px;
    z-index: 1;
}

/* .tracklist:hover .artwork {
    transform-style: preserve-3d;
    opacity: 1;
    scale: 0.8;
    z-index: -1;
    translate: -71% 0px;
    transform: translateX(90%);
    filter: brightness(0.7) grayscale(0);
    pointer-events: none;
} */

.tracklist .tracks {
    position: absolute;
    font-size: 1em;
    text-shadow: 0px 0px 50px #000;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background-color: #181818;
    border-radius: 10px;
    margin: 10px;
    box-sizing: border-box;
}

.tracklist:hover .tracks {
    pointer-events: all;
}

.platforms {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 10px;
}

.platform {
    box-sizing: border-box;
    padding: 10px;
    width: 25%;
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
    justify-content: flex-start;
    border-radius: 10px;
    transition: background-color 0.1s;
}

.platform:hover {
    background-color: #282828;
}

.platform .icon {
    width: 100%;
}