main {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 2rem;
    max-width: 48rem;
    margin: auto;
    margin-top: 4rem;
    padding: 0 1rem;

    @media (width < 42rem) {
        grid-template-columns: 1fr;

        * {
            grid-column: unset !important;
            grid-row: unset !important;
        }

        article {
            margin-bottom: 8rem;
        }

        .auth {
            grid-row: 1 !important;
        }
    }

    article {
        grid-column: 1 / span 2;
        grid-row: 2;
    }

    header {
        grid-column: 1 / span 2;
        grid-row: 1;

        &::after {
            display: block;
            content: '';
            width: 100%;
            height: 1rem;
            background: linear-gradient(to bottom,
            black 0, black 4px,
            transparent 4px, transparent 6px,
            black 6px, black 9px,
            transparent 9px, transparent 11px,
            black 11px, black 13px,
            transparent 13px, transparent 15px,
            black 15px, black 16px,
            transparent 16px);
            margin-top: .5rem;
        }

        h1 {
            margin-bottom: 0;

            input {
                font: inherit;
                width: 100%;
            }

            font-size: 1.5rem;
        }

        ul {
            margin: 0;
            list-style: none;
            padding: 0;
            text-transform: uppercase;
            font-size: .9rem;
            color: gray;
            font-family: var(--font-ui);
        }

        p {
            text-transform: uppercase;
            font-size: .9rem;
            color: gray;
            font-family: var(--font-ui);
            margin: 0;

            + h1 {
                margin-top: 0;
            }
        }
    }
}

.faded > :not(.actions) {
    opacity: .5;

    &:hover {
        opacity: 1;
    }
}

aside.sidebar {
    grid-row: 2;
    grid-column: 3;

    hr {
        border: none;
        border-top: 1px solid lightgray;
    }

    .site-nav, nav.actions {
        flex-direction: column;
        margin-top: .5rem;
    }
}

.auth {
    background: oklch(.95 0 0);
    color: oklch(.4 0 0);
    padding-left: .5rem;
}
