.blog-container{max-width:780px}.blog-grid{display:flex;flex-direction:column;gap:1.2rem}.blog-card{display:block;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.8rem 2rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.blog-card:hover{border-color:var(--blue);box-shadow:0 8px 24px #007acc1f;transform:translateY(-2px)}.blog-card time{font-size:.82rem;color:var(--text-muted);font-family:IBM Plex Mono,monospace}.blog-card h3{margin:.4rem 0 .5rem;font-size:1.25rem;letter-spacing:-.01em}.blog-card p{margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.6}.blog-back{display:inline-block;color:var(--text-muted);font-size:.88rem;margin-bottom:2rem;transition:color .18s ease}.blog-back:hover{color:var(--text)}.blog-post{padding:3rem 0 4rem}.blog-header{margin-bottom:2.5rem}.blog-header h1{font-size:2.4rem;line-height:1.15;letter-spacing:-.03em;margin:0 0 .8rem}.blog-meta{display:flex;align-items:center;gap:.8rem;color:var(--text-muted);font-size:.88rem;font-family:IBM Plex Mono,monospace}.blog-author:before{content:"·";margin-right:.8rem}.blog-tags{display:flex;gap:.5rem;margin-top:.8rem;flex-wrap:wrap}.blog-tags .pill{font-size:.75rem}.blog-content h2{font-size:1.5rem;margin:2.5rem 0 .8rem;letter-spacing:-.02em}.blog-content h3{font-size:1.2rem;margin:2rem 0 .6rem}.blog-content p{margin:0 0 1.2rem;line-height:1.75;color:var(--text-muted)}.blog-content a{color:var(--blue-soft);text-decoration:underline;text-underline-offset:2px}.blog-content a:hover{color:var(--blue)}.blog-content strong{color:var(--text)}.blog-content ul{margin:0 0 1.2rem;padding-left:1.5rem}.blog-content li{margin-bottom:.4rem;color:var(--text-muted);line-height:1.65}.blog-content code{font-family:IBM Plex Mono,monospace;font-size:.88em;background:var(--bg-elev);border:1px solid var(--line);border-radius:4px;padding:.15em .4em}.blog-content pre{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.2rem 1.5rem;margin:0 0 1.5rem;overflow-x:auto}.blog-content pre code{background:none;border:none;padding:0;font-size:.85rem;line-height:1.6}.blog-content figure{margin:1.5rem 0}.blog-content figure img{width:100%;border-radius:var(--radius-md);border:1px solid var(--line)}.blog-content figure figcaption{text-align:center;font-size:.85rem;color:var(--text-muted);margin-top:.5rem}.blog-content hr{border:none;border-top:1px solid var(--line);margin:2rem 0}@media(max-width:768px){.blog-header h1{font-size:1.8rem}.blog-card{padding:1.3rem 1.5rem}}
