nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;

    display: flex;
    justify-content: space-between;

    padding: 0 1.25em;

    background-image: linear-gradient(var(--bg-dark), transparent);

    z-index: 999;
}

nav a {
    padding-top: 1em;

    font-size: 1.25em;

    text-decoration: none;
}

nav a svg {
    height: 1.25em;

    transition: fill 0.25s;
}

nav a svg:hover {
    fill: var(--text-muted);
}

nav .links {
    display: flex;
    justify-content: center;
}

nav .links a {
    padding: 0 1.25em;
    padding-top: 1em;

    transition: padding-top 0.25s;
}

nav .links a span {
    position: relative;
}

nav .links a span::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;

    translate: 0 -0.25em;

    background-color: var(--text);

    opacity: 0;

    transition: opacity 0.25s;
}

nav .links a:hover {
    padding-top: 1.25em;
}

nav .links a:hover span::before {
    opacity: 1;
}

@media (max-width: 450px) {
    nav {
        font-size: 0.8rem;
    }
}