/* Only blog pages load this file; colors and page layout come from site.css. */
.blog-page .page-title,
.blog-content { overflow-wrap: anywhere; }

.blog-page .site-title {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}

.blog-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin: 0 0 30px;
}

.blog-filters a { padding: 4px 0; }
.blog-filters a[aria-current='page'] { color: var(--page-text); font-weight: 700; }

.blog-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--page-line);
}

.blog-list li { padding: 22px 0; border-bottom: 1px solid var(--page-line); }
.blog-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 18px;
    margin: 0 0 10px;
    color: var(--page-muted);
    font-size: 0.9rem;
    font-variant-numeric: tabular-nums;
}

.blog-list h2 { margin: 0; font-size: 1.05rem; overflow-wrap: anywhere; }
.blog-empty { margin-bottom: 0; }
.blog-content { min-width: 0; margin-top: 36px; }
.blog-content p { margin: 0 0 20px; }
.blog-content h2,
.blog-content h3,
.blog-content h4,
.blog-content h5,
.blog-content h6 { margin: 36px 0 14px; line-height: 1.6; }
.blog-content h2 { font-size: 1.2rem; }
.blog-content h3 { font-size: 1.05rem; }
.blog-content h4,
.blog-content h5,
.blog-content h6 { font-size: 1rem; }
.blog-content ul,
.blog-content ol { padding-left: 1.6em; margin: 0 0 24px; }
.blog-content li + li { margin-top: 6px; }
.blog-content figure { margin: 28px 0; }
.blog-content img { display: block; max-width: 100%; height: auto; }
.blog-content figcaption { margin-top: 8px; color: var(--page-muted); font-size: 0.85rem; }
.blog-content blockquote {
    margin: 24px 0;
    padding: 4px 0 4px 18px;
    border-left: 3px solid var(--page-blue);
    color: var(--page-muted);
}
.blog-content blockquote > :last-child { margin-bottom: 0; }
.blog-content code { font-family: Consolas, 'Courier New', monospace; font-size: 0.9em; }
.blog-content :not(pre) > code { padding: 2px 4px; background: var(--page-hover); }
.blog-content pre {
    max-width: 100%;
    overflow-x: auto;
    margin: 24px 0;
    padding: 16px;
    border: 1px solid var(--page-line);
    background: var(--page-hover);
    line-height: 1.6;
    white-space: pre;
    overflow-wrap: normal;
    tab-size: 4;
}
.blog-content pre:focus-visible { outline: 2px solid var(--page-blue); outline-offset: 3px; }
