/* Prose styling for rendered markdown */
.prose h1 { font-family: 'Source Serif 4', Georgia, serif; font-size: 2rem; font-weight: 700; margin-top: 2rem; margin-bottom: 1rem; }
.prose h2 { font-family: 'Source Serif 4', Georgia, serif; font-size: 1.5rem; font-weight: 700; margin-top: 1.75rem; margin-bottom: 0.75rem; }
.prose h3 { font-family: 'Source Serif 4', Georgia, serif; font-size: 1.25rem; font-weight: 600; margin-top: 1.5rem; margin-bottom: 0.5rem; }
.prose p { margin-top: 0.75rem; margin-bottom: 0.75rem; line-height: 1.75; }
.prose ul, .prose ol { margin-top: 0.5rem; margin-bottom: 0.5rem; padding-left: 1.5rem; }
.prose ul { list-style-type: disc; }
.prose ol { list-style-type: decimal; }
.prose li { margin-top: 0.25rem; margin-bottom: 0.25rem; line-height: 1.65; }
.prose blockquote { border-left: 3px solid #c4962f; padding-left: 1rem; margin: 1.5rem 0; font-style: italic; color: #4164af; }
.prose a { color: #4164af; text-decoration: underline; }
.prose a:hover { color: #c4962f; }
.prose code { background: #f0f3f9; padding: 0.15rem 0.35rem; border-radius: 0.25rem; font-size: 0.875em; }
.prose pre { background: #0b1120; color: #d9e0ef; padding: 1rem; border-radius: 0.5rem; overflow-x: auto; margin: 1rem 0; }
.prose pre code { background: none; padding: 0; }
.prose table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.prose th, .prose td { border: 1px solid #d9e0ef; padding: 0.5rem 0.75rem; text-align: left; }
.prose th { background: #f0f3f9; font-weight: 600; }
.prose hr { border: none; border-top: 1px solid #d9e0ef; margin: 2rem 0; }

/* Line clamp utility */
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-4 { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
