/* Blog: extends site.css */
.blog-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.blog-card { border: 1px solid var(--line); background: var(--sheet); padding: 1.2rem; display: flex; flex-direction: column; gap: 0.6rem; min-width: 0; }
.blog-card h2 { font: 500 1.25rem/1.25 var(--display); margin: 0; }
.blog-card h2 a { color: inherit; text-decoration: none; }
.blog-card h2 a:hover { text-decoration: underline; }
.blog-card p { margin: 0; color: var(--muted); font-size: 0.95rem; }
.blog-meta { font-size: 0.84rem; color: var(--muted); }
@media (max-width: 62rem) { .blog-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .blog-list { grid-template-columns: minmax(0, 1fr); } }
