body {
    color: whitesmoke;
    background-image: url(images/backgrounds/dnd5e-background.webp);
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-attachment: fixed;
    z-index: -1;
}

body header {
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);
    height: 10%;
    width: 90%;
    background-color: #101010;
    mask-image: linear-gradient(to right,
            transparent,
            #000 20% 80%,
            transparent);
    margin: 10px;
}

body header h1 {
    position: relative;
    text-align: center;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.list {
    display: grid;
    grid-template-columns: repeat(3, var(--width));
    grid-auto-rows: var(--height);
    gap: 20px;
    transform-style: preserve-3d;
    position: relative;
    transform: perspective(1000px)
}

.list a {
    height: 100%;
    width: auto;
    background-color: transparent;
    border: transparent;
    position: relative;
    transition: .5s;
}

.list a:hover {
    transform: translateZ(10px);
}

.list a img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    transition: .5s;
    filter: grayscale(1);
}

.list a:hover img {
    filter: grayscale(0);
}

.list a h1 {
    color: whitesmoke;
    position: absolute;
    text-align: center;
    transform: translate(-50%, -50%);
    left: 50%;
    top: 50%;
    text-shadow: 1px 0 #000, -1px 0 #000, 0 1px #000, 0 -1px #000;
    transition: .5s;
    filter: opacity(0);
}

.list a:hover h1 {
    filter: opacity(1);
}

body main a {
    background-color: black;
    background-size: 100%;
}

body main table {
    background-color: black;
    padding: 20px;
}