/* Base post layout */
.post { --muted:#6c757d; --border:#dee2e6; --bg-soft:#f8f9fa; }
.post h1, .post h2, .post h3, .post h4, .post h5, .post h6 { scroll-margin-top: 80px; }
.post h1 { font-size: clamp(1.8rem, 2.4vw + 1rem, 2.5rem); line-height: 1.2; }
.post h2 { margin-top: 2rem; font-size: clamp(1.4rem, 1.2vw + 1rem, 1.8rem); }
.post h3 { margin-top: 1.5rem; font-size: clamp(1.2rem, 1vw + .75rem, 1.4rem); }

.post .post-header { margin-bottom: 1rem; }
.post .post-meta { color: var(--muted); font-size: .95rem; display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; }
.post .post-meta i { color: #0d6efd; }
.post .post-meta .dot { width: .3rem; height: .3rem; background: var(--muted); border-radius: 999px; display: inline-block; }

.post figure { margin: 0; }
.post figcaption { color: var(--muted); font-size: .9rem; margin-top: .5rem; text-align: center; }

.post-content { font-size: 1.05rem; line-height: 1.8; }
.post-content p { margin: 1rem 0; }

.post-content img { display: block; max-width: 100%; height: auto; border-radius: .5rem; }

.post-content blockquote { position: relative; border-left: 4px solid #0d6efd; background: var(--bg-soft); padding: 1rem 1rem 1rem 1.25rem; margin: 1.25rem 0; font-style: italic; }
.post-content blockquote:before { content: "\f10d"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: #0d6efd; margin-right: .5rem; }

.post-content pre, .post-content code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
.post-content pre { background: #0f172a; color: #e2e8f0; padding: 1rem; border-radius: .5rem; overflow: auto; }
.post-content code { background: #f1f3f5; color: #212529; padding: .1rem .35rem; border-radius: .25rem; }

.post-content table { width: 100%; border-collapse: collapse; margin: 1.25rem 0; }
.post-content table th, .post-content table td { border: 1px solid var(--border); padding: .5rem .75rem; }
.post-content table th { background: #f1f3f5; }

.post-content ul, .post-content ol { padding-left: 1.25rem; margin: .75rem 0; }
.post-content li { margin: .25rem 0; }

.post-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
.post-tag { display: inline-flex; align-items: center; gap: .4rem; padding: .25rem .5rem; border: 1px solid var(--border); border-radius: 999px; color: #0d6efd; background: #eef5ff; font-size: .85rem; }
