body {
    background-color: #1D000F;
}

.rules {
    color: #FFFFFF;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

h1, p, a {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #E1FFEF;
}

.summary {
    background-color: aliceblue;
};

.console-grid {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    display: grid;
    gap: 1rem;

    grid-template-columns: repeat(auto-fit, minmax(500px, 700px));
}

.gallery-grid {
    /* display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; */

    display: grid;
    gap: 1rem;

    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    grid-auto-rows: 240px;

    --stagger-delay: 50ms;
}

@keyframes cardEntrance {
    from {
        opacity: 0;
        transform: scale(0.3) rotate3d(2, 1, 1, 180deg);
        filter: hue-rotate(180deg);
    }
    to {
        opacity: 1;
        transform: scale(1.0) rotate3d(1, 1, 1, 0deg);
        filter: hue-rotate(0deg);
    }
}

.card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
    box-sizing: border-box;
    padding: 20px;

    background: #000319;
    font-size: 1rem;
    box-shadow: rgba(3, 8, 20, 0.1) 0px 0.15rem 0.5rem, rgba(2, 8, 20, 0.1) 0px 0.075rem 0.175rem;
    height: 100%;
    width: 100%;
    border-radius: 4px;
    transition: all 500ms;
    overflow: hidden;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    border-color: #AAEDFE;
    border-width: 1px;
    border-style: solid;

    animation: cardEntrance 700ms ease-out;
    animation-fill-mode: backwards;
}

.card:nth-child(1) {
    animation-delay: calc(1 * var(--stagger-delay));
}

.card:nth-child(2) {
    animation-delay: calc(2 * var(--stagger-delay));
}

.card:nth-child(3) {
    animation-delay: calc(3 * var(--stagger-delay));
}

.card:nth-child(4) {
    animation-delay: calc(4 * var(--stagger-delay));
}

.card:nth-child(5) {
    animation-delay: calc(5 * var(--stagger-delay));
}

.card:nth-child(6) {
    animation-delay: calc(6 * var(--stagger-delay));
}

.card:nth-child(7) {
    animation-delay: calc(7 * var(--stagger-delay));
}

.card:nth-child(8) {
    animation-delay: calc(8 * var(--stagger-delay));
}

.card:nth-child(9) {
    animation-delay: calc(9 * var(--stagger-delay));
}

.card:nth-child(10) {
    animation-delay: calc(10 * var(--stagger-delay));
}

.card:nth-child(11) {
    animation-delay: calc(11 * var(--stagger-delay));
}

.card:nth-child(12) {
    animation-delay: calc(12 * var(--stagger-delay));
}

.card:nth-child(13) {
    animation-delay: calc(13 * var(--stagger-delay));
}

.card:nth-child(14) {
    animation-delay: calc(14 * var(--stagger-delay));
}

.card:nth-child(15) {
    animation-delay: calc(15 * var(--stagger-delay));
}

.card:nth-child(16) {
    animation-delay: calc(16 * var(--stagger-delay));
}

.card:nth-child(17) {
    animation-delay: calc(17 * var(--stagger-delay));
}

.card:nth-child(18) {
    animation-delay: calc(18 * var(--stagger-delay));
}

.card:nth-child(19) {
    animation-delay: calc(19 * var(--stagger-delay));
}

.card:nth-child(20) {
    animation-delay: calc(20 * var(--stagger-delay));
}

.card:nth-child(21) {
    animation-delay: calc(21 * var(--stagger-delay));
}

.card:nth-child(22) {
    animation-delay: calc(22 * var(--stagger-delay));
}

.card:nth-child(23) {
    animation-delay: calc(23 * var(--stagger-delay));
}

.card:nth-child(24) {
    animation-delay: calc(24 * var(--stagger-delay));
}

.card:nth-child(25) {
    animation-delay: calc(25 * var(--stagger-delay));
}

.card:nth-child(26) {
    animation-delay: calc(26 * var(--stagger-delay));
}

.card:nth-child(27) {
    animation-delay: calc(27 * var(--stagger-delay));
}

.card:nth-child(28) {
    animation-delay: calc(28 * var(--stagger-delay));
}

.card:nth-child(29) {
    animation-delay: calc(29 * var(--stagger-delay));
}

.card:nth-child(30) {
    animation-delay: calc(30 * var(--stagger-delay));
}

.card:nth-child(31) {
    animation-delay: calc(31 * var(--stagger-delay));
}

@media screen and (min-width: 600px) {
    .card-tall {
        grid-row: span 2 / auto;
    }

    .card-wide {
        grid-column: span 2 / auto;
    }
}

.card:hover {
    box-shadow: rgba(3, 8, 20, 0.1) 0px 0.35rem 1.175rem, rgba(2, 8, 20, 0.08) 0px 0.175rem 0.5rem;
    transform: translateY(-3px);
}

.exp:active {
    grid-column: span 2 / auto;
    grid-row: span 2 / auto;
}

.overlaytext {
    color: #FFFFFF;
    text-shadow: #FC0 1px 0 10px;
    text-shadow: 1px 1px 2px red, 0 0 1em blue, 0 0 0.2em blue;
}
