/* Blog list + post pages — reuses FROC design tokens from styles.css */
.nav--solid {
  position: sticky; background: rgba(5, 12, 24, 0.92);
  border-bottom: 1px solid var(--line);
  grid-template-columns: 1fr auto;
}

.blog-wrap, .post-wrap {
  max-width: var(--max-w); margin: 0 auto;
  padding: 140px var(--gutter) 80px;
}
.blog-head { margin-bottom: 56px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }

.blog-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.blog-card {
  display: flex; flex-direction: column;
  background: var(--ink-2); border: 1px solid var(--line); border-radius: 6px;
  overflow: hidden; transition: border-color 0.3s var(--ease-out), transform 0.3s var(--ease-out);
}
.blog-card:hover { border-color: var(--steel-glow); transform: translateY(-3px); }
.blog-card-cover { aspect-ratio: 16 / 10; overflow: hidden; background: var(--ink-3); }
.blog-card-cover img { width: 100%; height: 100%; object-fit: cover; }
.blog-card-cover--empty {
  background:
    repeating-linear-gradient(135deg, transparent, transparent 22px, rgba(232,227,213,0.03) 22px, rgba(232,227,213,0.03) 23px),
    linear-gradient(135deg, var(--ink-3), var(--ink-2));
}
.blog-card-body { padding: 22px 22px 26px; display: flex; flex-direction: column; gap: 8px; }
.blog-card-date { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.2em; color: var(--steel-glow); direction: ltr; }
.blog-card-title { font-family: var(--font-display); font-weight: 700; font-size: 22px; line-height: 1.3; }
.blog-card-excerpt { font-size: 14px; line-height: 1.7; color: var(--paper-dim); }
.blog-empty { color: var(--paper-dim); font-size: 16px; padding: 40px 0; }

/* Post */
.post { max-width: 760px; margin: 0 auto; }
.post-meta { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.2em; color: var(--steel-glow); direction: ltr; margin-bottom: 14px; }
.post-title { font-family: var(--font-display); font-weight: 700; font-size: clamp(32px, 5vw, 56px); line-height: 1.25; margin-bottom: 28px; }
.post-cover { width: 100%; border-radius: 8px; margin-bottom: 32px; border: 1px solid var(--line); }
.post-body { font-size: 17px; line-height: 1.9; color: var(--paper); }
.post-body p { margin-bottom: 1.2em; }
.post-body h2 { font-family: var(--font-display); font-weight: 700; font-size: 28px; margin: 1.4em 0 0.5em; }
.post-body h3 { font-family: var(--font-display); font-weight: 600; font-size: 22px; margin: 1.3em 0 0.5em; }
.post-body ul, .post-body ol { margin: 0 0 1.2em; padding-inline-start: 1.4em; }
.post-body li { margin-bottom: 0.5em; }
.post-body a { color: var(--steel-glow); text-decoration: underline; text-underline-offset: 3px; }
.post-body img { max-width: 100%; border-radius: 6px; margin: 1.4em 0; border: 1px solid var(--line); }
.post-body blockquote {
  border-inline-start: 3px solid var(--steel-glow); margin: 1.4em 0; padding: 0.4em 1.2em;
  color: var(--paper-dim); font-style: italic;
}
.post-body figure { margin: 1.4em 0; }
.post-body figcaption { font-size: 13px; color: var(--paper-faint); text-align: center; margin-top: 8px; }

@media (max-width: 1100px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .blog-grid { grid-template-columns: 1fr; } }
