main { padding: 28px 20px 80px; overflow-wrap: anywhere; }
main h1 { font-size: 2rem; margin: 20px 0; line-height: 1.25; }
main time, .notice { color: #aaa; font-size: .85rem; }
.post-card { padding: 26px 0; border-bottom: 1px solid #333; }
.post-card h2 { margin: 10px 0 18px; line-height: 1.4; }
.read-link, .back-link, .post-content a { color: var(--accent); }
.post-content { margin-top: 30px; line-height: 1.8; }
.post-content p, .post-content figure, .post-content pre, .post-content ul,
.post-content ol, .post-content blockquote, .post-content table { margin: 18px 0; }
.post-content h1, .post-content h2, .post-content h3,
.post-content h4, .post-content h5, .post-content h6 { margin: 30px 0 14px; line-height: 1.35; }
.post-content img, .post-content video { max-width: 100%; height: auto; border-radius: 10px; }
.post-content figcaption { color: #aaa; font-size: .85rem; }
.post-content pre { padding: 16px; overflow-x: auto; background: #222; border-radius: 8px; }
.post-content ul, .post-content ol { padding-left: 26px; }
.post-content blockquote { border-left: 3px solid var(--accent); padding-left: 18px; }
.post-content table { display: block; overflow-x: auto; border-collapse: collapse; }
.post-content td, .post-content th { padding: 10px; border: 1px solid #444; }
.post-content a { text-decoration: underline; }
.post-content mark { background: #f1dbaf; color: #141414; }
.plain-text { white-space: pre-wrap; }
.notice { margin-top: 16px; }
.collage, .slideshow { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
