.tileset-cardinal-directions-demo th-bc {
    /* TODO djot: remove the first rule */
    & .horizontal-tile-strip > p {
        display: flex;
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;

        & .metal {
            width: 48px;
            height: 48px;

            & > span {
                font-size: 12px;
            }
        }
    }

    & .metal {
        display: inline-block;
        width: 56px;
        height: 56px;
        margin: 0.8rem;
        background-image: url("../../pic/01HPHVDRV0F0251MD0A2EG66C4-tilemap-heavy-metal-16+pixel+width160.png");
        background-size: 400%;
        image-rendering: pixelated;
        position: relative;
    }

    & .east,
    & .south,
    & .west,
    & .north {
        font-family: var(--font-code);
        font-weight: 900;
        font-style: normal;
        --recursive-mono: 1;

        position: absolute;
        color: #d3dce9;
        text-shadow:
            1px 0 0 #1a2039,
            -1px 0 0 #1a2039,
            0 1px 0 #1a2039,
            0 -1px 0 #1a2039;
        padding: 2px 4px;
    }

    & .east {
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }

    & .south {
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    & .west {
        left: 0;
        top: 50%;
        transform: translateY(-50%);
    }

    & .north {
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    & .off {
        opacity: 0%;
    }

    & .x-0 {
        background-position-x: 0%;
    }

    & .x-1 {
        background-position-x: calc(100% / 3);
    }

    & .x-2 {
        background-position-x: calc(200% / 3);
    }

    & .x-3 {
        background-position-x: 100%;
    }

    & .y-0 {
        background-position-y: 0%;
    }

    & .y-1 {
        background-position-y: calc(100% / 3);
    }

    & .y-2 {
        background-position-y: calc(200% / 3);
    }

    & .y-3 {
        background-position-y: 100%;
    }
}

.tileset-four-to-eight-demo th-bc {
    & .directions-square {
        font-family: var(--font-code);
        font-weight: 900;
        font-style: normal;
        --recursive-mono: 1;
        color: #d3dce9;
        text-shadow:
            1px 0 0 #1a2039,
            -1px 0 0 #1a2039,
            0 1px 0 #1a2039,
            0 -1px 0 #1a2039;

        margin-block: 0.8rem;
        margin-left: 16px;
        padding-left: 0;

        width: 72px;
        height: 72px;

        background-image: url("../../pic/01HPHVDRV0F0251MD0A2EG66C4-tilemap-heavy-metal-16+pixel+width160.png");
        background-size: 400%;
        background-position: 100% 100%;
        image-rendering: pixelated;

        position: relative;

        &.bend {
            background-image: url("../../pic/01HQ183RANGH4S7VZSG1ZGH0S5-the-tile+width72+pixel.png");
            background-size: 100%;
            background-position: 0 0;
            background-repeat: no-repeat;
        }

        &.notabend {
            background-image: url("../../pic/01HQ18E39K5F9Q5P41XAEVSEWK-the-also-tile.png");
            background-size: 100%;
            background-position: 0 0;
            background-repeat: no-repeat;
        }

        li {
            padding: 2px 4px;
            position: absolute;
        }

        a {
            text-decoration: none;
            color: #d3dce9;
            cursor: text;
        }

        & .east {
            right: 0;
            top: 50%;
            transform: translateY(-50%);
        }

        & .south-east {
            right: 0;
            bottom: 0;
        }

        & .west {
            left: 0;
            top: 50%;
            transform: translateY(-50%);
        }

        & .south-west {
            left: 0;
            bottom: 0;
        }

        & .north {
            left: 50%;
            top: 0;
            transform: translateX(-50%);
        }

        & .north-west {
            left: 0;
            top: 0;
        }

        & .south {
            left: 50%;
            bottom: 0;
            transform: translateX(-50%);
        }

        & .north-east {
            right: 0;
            top: 0;
        }

        &.e-s {
            background-position: 0% 0%;
        }
    }
}
