        .blog-container {
            max-width: 720px;
            margin: 0 auto;
            padding: 120px 2rem 2rem;
            min-height: 60vh;
            counter-reset: post;
        }
        .blog-title-main {
            color: #00d4aa;
            font-family: 'JetBrains Mono', monospace;
            font-size: 1.5rem;
            margin-bottom: 2.5rem;
            text-align: center;
        }
        .blog-title-main span {
            color: #7c3aed;
        }
        .blog-post {
            counter-increment: post;
            border-left: 2px solid rgba(0,212,170,0.25);
            padding: 1.4rem 0 1.4rem 1.5rem;
            margin-bottom: 1.25rem;
            transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
        }
        .blog-post:hover {
            border-left-color: #7c3aed;
            background: rgba(0,212,170,0.04);
            transform: translateX(4px);
        }
        .blog-post::before {
            content: "[" counter(post, decimal-leading-zero) "]";
            display: block;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.8rem;
            color: #7c3aed;
            margin-bottom: 0.4rem;
            letter-spacing: 0.05em;
        }
        .blog-post h2 {
            color: #f7f7f8;
            margin-bottom: 0.4rem;
            font-family: 'JetBrains Mono', monospace;
            font-size: 1.15rem;
            line-height: 1.4;
        }
        .blog-post h2 a {
            color: #00d4aa;
            text-decoration: none;
            transition: all 0.3s ease;
        }
        .blog-post h2 a:hover {
            color: #7c3aed;
            text-decoration: underline;
        }
        .blog-meta {
            color: #6e6e78;
            font-size: 0.75rem;
            margin-bottom: 0.5rem;
            font-family: 'JetBrains Mono', monospace;
            letter-spacing: 0.04em;
        }
        .blog-excerpt {
            color: #a0a0a8;
            line-height: 1.6;
            font-size: 0.9rem;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        @media (max-width: 640px) {
            .blog-post { padding-left: 1rem; }
            .blog-post h2 { font-size: 1.05rem; }
        }

/* --- Responsive media guards (2026-09-08) --- */
img, svg, video {
    max-width: 100%;
    height: auto;
}
.article-content img,
.blog-post-content img {
    display: block;
    margin: var(--space-lg, 1.5rem) auto;
    border-radius: var(--radius-lg, 8px);
}
