.blog-index {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 1em;
    flex-wrap: wrap;
    max-width: 900px;
    margin: 1em auto;
}

.blog-summary {
    width: calc(300px - 1em);
}

.blog-summary .blog-thumbnail {
    width: calc(300px - 1em);
    height: calc((300px - 1em)*(9/16));
    overflow: clip;
}

.blog-summary img {
    width: 100%;
}

.blog-post {
    text-align: left;
    max-width: 900px;
    margin: 0 auto;
    padding: 1em;
}

.blog-post img {
    width: 100%;
}

.blog-post p:has(img + em) {
    float: right;
    margin: 1em;
    width: 400px;
}

.blog-post p img + em {
    display: block;
    text-align: center;
}

.blog-post table {
    border-spacing: 1em .25em;
}

.blog-post table td {
    font-family: "Courier New", monospace;
}

.blog-post .blog-thumbnail, .blog-summary .blog-thumbnail {
    width: 100%;
}

.blog-post small {
    display: block;
}

@media only screen and (max-width:900px) {
    .blog-post p:has(img + em) {
        float: none;
        margin: 0 auto;
    }
}