/* Automated blog post page — brand (black BG handled by styles.css vars). */
.blog-post { max-width: 720px; margin: 0 auto; padding: 48px 20px 80px; }
.blog-back { font-size: 14px; margin: 0 0 24px; }
.blog-back a { color: var(--text-muted, #888); text-decoration: none; }
.blog-cover { aspect-ratio: 1200/630; border-radius: 16px; background-size: cover; background-position: center; margin-bottom: 28px; }
.blog-title { font-family: 'IBM Plex Sans', sans-serif; font-size: 40px; font-weight: 700; line-height: 1.1; margin: 0 0 12px; }
.blog-excerpt { font-size: 18px; color: var(--text-secondary, #aaa); margin: 0 0 12px; }
.blog-byline { font-size: 13px; color: var(--text-muted, #888); margin: 0 0 32px; }
.blog-body { font-size: 17px; line-height: 1.7; }
.blog-body h2 { font-size: 24px; margin: 32px 0 12px; }
.blog-body h3 { font-size: 20px; margin: 24px 0 10px; }
.blog-body a { color: #c8ff00; }
.blog-body pre { background: #111; padding: 16px; border-radius: 10px; overflow:auto; }
.blog-body img { max-width: 100%; border-radius: 10px; }
.blog-tags { margin: 32px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.blog-tag { font-size: 12px; padding: 4px 10px; border:1px solid #333; border-radius: 999px; color: var(--text-secondary,#aaa); }
.blog-sources { margin-top: 40px; border-top: 1px solid #222; padding-top: 20px; }
.blog-sources h2 { font-size: 16px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted,#888); }
.blog-sources a { color: #c8ff00; }
