/* Blog hub cards and a few prose extras for blog posts and policies.
   Loaded with pageCss: ["blog.css"]. */

/* ---- Hub: post cards ---- */
.post-card { padding: 0; overflow: hidden; }
.post-card-media { aspect-ratio: 16 / 9; background: var(--bg-subtle); border-bottom: 1px solid var(--line); overflow: hidden; }
.post-card-media img { width: 100%; height: 100%; object-fit: cover; }
.post-card-body { display: flex; flex-direction: column; flex: 1; padding: 24px 28px 28px; }
.post-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; color: var(--muted); margin-bottom: 12px; }
.post-meta span + span::before { content: "·"; margin-right: 14px; opacity: .6; }
.post-card h3 { font-size: 20px; line-height: 1.3; }

/* Featured (newest) post */
.post-featured { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 0; padding: 0; overflow: hidden; }
.post-featured .post-card-media { border-bottom: 0; }
.post-featured .post-card-body { padding: 40px; justify-content: center; }
.post-featured h2 { margin-bottom: 14px; }

/* ---- Article rail: share links and demo card (posts only) ---- */
.article-share-links { display: flex; gap: 8px; }
.article-share-links a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--muted); transition: color .15s, border-color .15s; }
.article-share-links a:hover { color: var(--blue); border-color: var(--blue); }
.article-share-links svg { width: 17px; height: 17px; }
.article-rail-cta { padding: 24px; border-radius: var(--radius); color: #fff; background: radial-gradient(280px 180px at 100% 0%, rgba(38, 61, 191, .65), transparent 70%), var(--ink); }
.article-rail-cta img { width: 28px; height: 28px; margin-bottom: 16px; }
.article-rail-cta-title { font-size: 18px; font-weight: 600; line-height: 1.25; letter-spacing: -.01em; }
.article-rail-cta p { margin-top: 8px; font-size: 14px; line-height: 1.55; color: var(--on-dark-muted); }
.article-rail-cta .btn { width: 100%; margin-top: 20px; }
@media (max-width: 1080px) {
  .article-rail { flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 24px 48px; padding-top: 40px; border-top: 1px solid var(--line); }
  .article-rail-cta { flex: 1 1 320px; }
}

/* ---- Prose extras ---- */
.prose pre { background: #0f1424; color: #e6e9f2; border-radius: var(--radius-sm); padding: 20px 24px; overflow-x: auto; font-size: 14px; line-height: 1.6; white-space: pre-wrap; }
.prose pre code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.prose blockquote footer { margin-top: 8px; font-size: 15px; color: var(--muted); }
.prose .model-output { font-size: 16px; border-left-color: var(--line); color: #2a3042; }
.prose .model-output p + p { margin-top: .8em; }
.policy-meta { font-size: 15px; color: var(--muted); }

@media (max-width: 991px) {
  .post-featured { grid-template-columns: 1fr; }
  .post-featured .post-card-media { border-bottom: 1px solid var(--line); }
  .post-featured .post-card-body { padding: 28px; }
}
