:root {
    --fur: #37353F;
    --shade: #2A272F;
    --outline: #2D2615;
    --eyes: #F7CA66;
    --teeth: #ffffff;
    --gold: #D18839;
    --gradient: linear-gradient(var(--gold), #B94529, #4F2B61, #265594);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    background: var(--fur);
    color: var(--teeth);
}

:is(h1, h2, h3, h4, h5, h6) {
    color: var(--eyes);
}

a {
    color: var(--eyes);
    text-decoration: none;
}

body {
    min-height: 100dvh;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-rows: auto 2rem;
    line-height: 1.3;
}

main {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    justify-content: center;
    padding: 1rem;

    h1 {
        margin: 1rem;
        font-size: 1.5rem;
    }
    
    h2 {
        font-size: 1.25rem;
        color: var(--gold);
    }

    section {
        background: var(--shade);
        padding: 0;
        border-radius: 1rem;
        width: 20rem;
        max-width: calc(100dvw - 4rem);
        position: relative;
    
        &::before {
            content: '';
            left: -2px;
            right: -2px;
            top: -2px;
            bottom: -2px;
            position: absolute;
            z-index: -2;
            display: block;
            border-radius: calc( 1rem + 2px );
            background: var(--gradient);
        }
    }
    
    ul {
        margin: 0;
        padding: 0;
    }

    li {
        margin: 0;
        padding: 0;
        border-top: 2px solid var(--fur);
        list-style: none;
        overflow: hidden;

        &:last-child {
            border-radius: 0 0 1rem 1rem;
        }

        a {
            display: block;
            line-height: 3;
            padding: 0 1rem;
            transition: all 0.3s;
            color: var(--teeth);

            &:hover {
                color: var(--eyes);
                background: var(--outline)
            }
        }
    }

    p {
        padding: 0 1rem;

        &:has(a[href="./"]) {
            border-top: 2px solid var(--fur);
            padding: 0;
            margin-block-end: 0;
        }

        a[href="./"] {
            display: block;
            line-height: 3;
            padding: 0 1rem;
            transition: all 0.3s;
            color: var(--teeth);
            border-radius: 0 0 1rem 1rem;

            &:hover {
                color: var(--eyes);
                background: var(--outline)
            }
        }
    }
}

footer {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    background: var(--shade);
}