.article.blog-reader {
    max-width: none;
}

.blog-reader .reader-track > .content {
    max-width: 880px;
    margin-inline: auto;
}

.blog-reader .reader-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.blog-reader .reader-controls[hidden] {
    display: none;
}

.blog-reader .reader-controls button {
    min-height: 44px;
    padding: 6px 14px;
    border: 1px solid #c9ddf1;
    border-radius: 10px;
    background: #fff;
    color: #1746a2;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.blog-reader .reader-controls button[aria-pressed="true"] {
    border-color: #2563eb;
    background: #eaf3ff;
}

.blog-reader .reader-controls button:disabled {
    opacity: .55;
    cursor: default;
}

.blog-reader :is(.reader-viewport, .reader-controls button):focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 3px;
}

.blog-reader .reader-navigation {
    justify-content: center;
    margin-top: 16px;
}

@media (min-width: 1000px) {
    .blog-reader[data-mode="spread"] .reader-viewport {
        overflow: hidden;
        scroll-behavior: auto;
    }

    .blog-reader[data-mode="spread"] .reader-track {
        position: relative;
        --reader-gap: clamp(36px, 5vw, 80px);
        --reader-height: clamp(340px, 62svh, 700px);
    }

    .blog-reader[data-mode="spread"] .reader-track::after {
        /* Give the final spread a blank facing page when the page count is odd. */
        content: "";
        position: absolute;
        left: var(--reader-end, 0px);
        top: 0;
        width: 1px;
        height: 1px;
        pointer-events: none;
    }

    .blog-reader[data-mode="spread"] .reader-track > .content {
        height: var(--reader-height);
        max-width: none;
        column-count: 2;
        column-gap: var(--reader-gap);
        column-fill: auto;
        column-rule: 1px solid #dce8f4;
    }

    .blog-reader[data-mode="spread"] .content :is(h2, h3, h4, h5, h6) {
        break-after: avoid;
    }

    .blog-reader[data-mode="spread"] .content :is(figure, img, iframe, video, pre, table) {
        break-inside: avoid;
    }

    .blog-reader[data-mode="spread"] .content :is(img, iframe, video) {
        max-height: calc(var(--reader-height) - 3rem);
        object-fit: contain;
    }

    .blog-reader[data-mode="spread"] .content :is(pre, table) {
        max-height: calc(var(--reader-height) - 2rem);
        overflow: auto;
    }
}
