.blog-layout{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:1024px){.blog-layout{grid-template-columns:240px 1fr;align-items:start}}
.blog-sidebar{padding:1.25rem}
.blog-sidebar h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);margin-bottom:.75rem;font-family:var(--f-mono);font-weight:500}
.cat-list{list-style:none;display:flex;flex-direction:column;gap:.35rem}
.cat-list a{color:var(--text);opacity:.8;font-size:.9rem;padding:.25rem 0;display:block}
.cat-list a:hover{opacity:1;color:var(--secondary)}

.post-grid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:640px){.post-grid{grid-template-columns:repeat(2,1fr)}}
.post-card{overflow:hidden;display:flex;flex-direction:column;
  transition:transform .25s var(--ease),border-color .25s}
.post-card:hover{transform:translateY(-4px);border-color:var(--secondary)}
.post-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.post-body{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}
.post-cat{font-family:var(--f-mono);font-size:.75rem;color:var(--secondary);
  text-transform:uppercase;letter-spacing:.08em;text-decoration:none}
.post-card h3{font-size:1.05rem;line-height:1.3}
.post-card h3 a{color:var(--text)}
.post-card p{color:var(--muted);font-size:.88rem}
.post-meta{display:flex;gap:.5rem;color:var(--muted);font-size:.78rem;font-family:var(--f-mono)}

/* Article page */
.article{max-width:760px}
.article-head{margin-bottom:1.5rem;text-align:center}
.article-head h1{font-size:clamp(1.7rem,4vw,2.6rem);margin:.5rem 0 1rem}
.article-cover{margin:1.5rem 0;border-radius:var(--r-md);overflow:hidden}
.article-body{font-size:1.05rem;line-height:1.8;color:var(--text)}
.article-body h1,.article-body h2,.article-body h3{margin:1.75rem 0 .75rem;font-family:var(--f-head)}
.article-body p{margin:1rem 0}
.article-body ul,.article-body ol{margin:1rem 0 1rem 1.25rem}
.article-body code{background:rgba(255,255,255,.08);padding:.1rem .35rem;
  border-radius:4px;font-family:var(--f-mono);font-size:.9em}
.article-body pre.md-code{background:#0d1526;padding:1rem;border-radius:var(--r-sm);
  overflow-x:auto;margin:1rem 0;border:1px solid var(--border)}
.article-body pre.md-code code{background:none;padding:0}
.article-body a{color:var(--secondary);text-decoration:underline}
.tag-list{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:2rem}
.tag{padding:.35rem .75rem;border-radius:999px;background:rgba(0,212,255,.1);
  color:var(--secondary);font-size:.8rem;font-family:var(--f-mono)}

/* Comments */
.comments-section{max-width:760px}
.comments-section h3{margin-bottom:1.25rem}
.comment{padding:1rem;margin-bottom:.75rem}
.comment-head{display:flex;justify-content:space-between;margin-bottom:.35rem;font-size:.85rem}
.comment-head time{color:var(--muted);font-family:var(--f-mono);font-size:.75rem}
.comment-form{padding:1.5rem;margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem}
.form-note{font-size:.78rem;color:var(--muted);margin-top:-.25rem}

/* Pagination */
.pagination{display:flex;gap:.4rem;justify-content:center;padding:.5rem;margin-top:2rem;flex-wrap:wrap}
.pagination .btn{min-height:40px;padding:.5rem .9rem;font-size:.85rem}