* {
    transition: all .3s ease-in-out;
    scroll-behavior: smooth;
    font-family: outfit;
    color: #eeeeef;
    padding: 0;
    margin: 0;
}

::-webkit-scrollbar {
    display: none;
}

::selection {
  background: #80008060;
  color: rgb(255, 176, 244);
}

html {
    background-color: #0a0a0a;
}


body {
    /* scroll-snap-type: mandatory; */
}

aside {
    justify-content: space-between;
    flex-direction: column;
    box-sizing: border-box;
    width: max-content;
    position: fixed;
    display: flex;
    
    padding: 2cqw 0cqw 2cqw 2cqw;
    height: 100%;
    z-index: 3;

    .logo {
        width: 3vw;
    }

    nav {
        border-right: #eeeeef30 solid .2cqw;
        flex-direction: column;
        margin: 0 auto;
        display: flex;
        padding: 2cqw .5cqw 2cqw 0cqw;

        mask-image: linear-gradient(to bottom, 
                        transparent, black 20%, 
                        black 80%, transparent);
        
        gap: 1cqw;

        .nav-btn {
            text-decoration: none;
            cursor: pointer;
            margin: auto 0;
            display: flex;

            span {
                vertical-align: middle;
            }
        }

        .tooltip {
            visibility: hidden;
            margin: auto 0;

            background-color: #eeeeef20;
            border-radius: .4cqw;
            padding: .2cqw .5cqw;
            margin-left: .5cqw;
            font-size: .8cqw;
            color: #eeeeef;
            left: 50px;
            opacity: 0;
        }

        span {
            border-radius: 100%;
            padding: .3cqw;
        }

        .nav-btn:hover .tooltip {
            visibility: visible;
            opacity: 1;
        }

        span:hover {
            background-color: #ffffff20;
        }

    }

    .expand {
        transform: rotate(0);
        width: max-content;
        cursor: pointer;
        
        transition-duration: 600ms;
        border-radius: 100%;
        padding: .3cqw;

            span {
                vertical-align: middle;
            }
    }

    .expand:hover {
        background-color: #ffffff20;
        transform: rotate(180deg);
    }
}

svg {
  fill: yellow;
  width: 100px;
  height: auto;
}

.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 200,
  'GRAD' 0,
  'opsz' 24
}

main {
    scroll-snap-align: start;
    scroll-snap-stop: always;
    position: relative;
    height: 100vh;

    mask-image: linear-gradient(to bottom, 
                transparent, black 20%, 
                black 80%, transparent);

    canvas {
        height: 100%;
        width: 100%;
    }

    .hero {
        transform: translate(-50%, -50%);
        position: absolute;
        left: 53%;
        top: 50%;
        flex-direction: column;
        display: flex;
        
        p {
            margin: 0 auto;

            
            color: rgb(132, 128, 128);
            letter-spacing: .15cqw;
            font-size: 1cqw;
            font-weight: 500;
            padding: .5cqw 0;
        }

        #warning {
            opacity: .3;
        }

        h1 {
            font-weight: 500;
            font-size: 5cqw;
            text-wrap: nowrap;
            
            span {
                font-family: "nghytserif";
                letter-spacing: .2cqw;
                margin: auto 0;
                font-weight: 500;
                
                background: linear-gradient(288deg, #ff8000, #f0c 53.2394%, #04f);
                background-clip: text;
                color: transparent;
                background-position-x: var(--bg-pos-x);
                background-position-y: 50%;
                background-size: 200% 200%;
            }
        }
    }
}

section{
    scroll-snap-align: start;
    scroll-snap-stop: always;

    justify-content: center;
    flex-direction: column;
    margin: 0 auto;
    display: flex;

    height: 100vh;
    width: 75vw;
}


.library-carousel::-webkit-scrollbar {
    display: block; 
    width: 12px;
}

.library-carousel::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 6px;
}

.library-carousel::-webkit-scrollbar-track {
    background-color: #f1f1f1;
}

.library-carousel:active {
    cursor: grabbing;
}

.library-carousel {
    justify-content: left;
    will-change: scroll-position;
    overflow: auto;
    margin: 0 auto;
    display: flex;
    cursor: grab;

    transition: linear;

    width: 100%;
    gap: 2cqw;

    .book {
        flex-direction: column;

        .book-cover {
            height: 15cqw;
            cursor: pointer;
        }

        .no-cover {
            height: 15cqw;
            width: 10cqw;
        }

        p {
            text-align: center;

            padding: .3cqw 0;
            font-size: 1cqw;
        }
    }
}