/* Blog (/blog/, /blog/<slug>/): the pages are rendered by the site Worker (src/worker/blog.js) inside the shared shell.
   Only blog-specific layout here; type, chips, crumbs, prose and buttons come from ds.css. */
.bl-head { padding-bottom: clamp(20px, 1rem + 1.5vw, 36px); }
.bl-head h1 { max-width: none; }
.bl-meta { margin: 0 0 10px; color: var(--ux-muted); font-size: .875rem; }
.bl-wrap { padding-bottom: clamp(48px, 2rem + 4vw, 96px); }
.bl-tags ul, ul.bl-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; padding: 0; list-style: none; }
ul.bl-tags--post { margin: 20px 0 0; }
.bl-list { margin: 0; padding: 0; list-style: none; }
.bl-item { padding-block: 24px; border-top: 1px solid var(--ux-line); }
.bl-item:last-child { border-bottom: 1px solid var(--ux-line); }
.bl-item__title { margin: 0 0 6px; font-size: clamp(1.125rem, 1rem + .4vw, 1.375rem); font-weight: 600; line-height: 1.3; }
.bl-item__title a { color: inherit; text-decoration: none; }
.bl-item__title a:hover { color: var(--ux-accent); }
.bl-item p:last-child { margin: 0; color: var(--ux-muted); }
.bl-list--small .bl-item__title { font-size: 1.0625rem; }
.bl-empty { margin: 0; padding: 32px 0; color: var(--ux-muted); }
.bl-pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 28px; }
.bl-pager__at { color: var(--ux-muted); font-size: .875rem; }
.bl-cover { margin-block: 0 32px; }
.bl-cover img { display: block; width: 100%; height: auto; border-radius: var(--ux-r-lg); }
.bl-body { max-width: none; padding-bottom: clamp(40px, 2rem + 3vw, 72px); overflow-wrap: anywhere; }
.bl-body img { max-width: 100%; height: auto; border-radius: var(--ux-r-sm); }
.bl-body pre { overflow-x: auto; padding: 16px; border-radius: var(--ux-r-sm); background: var(--ux-surface-2); font-size: .875rem; }
.bl-body blockquote { margin-inline: 0; padding-left: 16px; border-left: 3px solid var(--ux-line-strong); color: var(--ux-muted); }
.bl-related { padding-block: 0 clamp(48px, 2rem + 4vw, 96px); }
.bl-related h2 { margin-bottom: 8px; font-size: 1.25rem; }
