/* 技术博客 */
.blog-grid { grid-template-columns: repeat(2, 1fr); }
.blog-card { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: var(--ink); transition: transform .18s ease, box-shadow .18s ease; }
.blog-card:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(11,95,255,.12); }
.blog-cat { align-self: flex-start; background: #eaf2ff; color: var(--primary); font-size: .75rem; font-weight: 600; padding: 3px 10px; border-radius: 999px; }
.blog-card h3 { margin: 0; font-size: 1.1rem; line-height: 1.4; }
.blog-excerpt { color: var(--muted); font-size: .9rem; margin: 0; line-height: 1.6; }
.blog-meta { display: flex; gap: 16px; margin-top: auto; padding-top: 8px; color: var(--muted); font-size: .8rem; }
.blog-cta { text-align: center; padding: 36px 24px; }
.blog-cta h3 { margin: 0 0 8px; font-size: 1.3rem; }

/* 文章正文 */
.article-body { max-width: 760px; margin: 0 auto; }
.article-body h2 { font-size: 1.5rem; margin: 32px 0 14px; }
.article-body h2:first-child { margin-top: 0; }
.article-body p { margin: 0 0 16px; line-height: 1.8; }
.article-body ul { padding-left: 20px; margin: 0 0 16px; }
.article-body li { margin-bottom: 8px; line-height: 1.7; }
.article-body strong { color: var(--ink); }
.article-body code { background: var(--bg-alt); border: 1px solid var(--line); border-radius: 5px; padding: 1px 6px; font-size: .88em; }

/* 响应式 */
@media (max-width: 980px) {
  .blog-grid { grid-template-columns: 1fr; }
}
