/* Prose Theme Variables */ :root { --prose-invert-body: #d1d5db; --prose-invert-headings: #fff; --prose-invert-links: #60a5fa; --prose-invert-bold: #fff; --prose-invert-counters: #9ca3af; --prose-invert-bullets: #4b5563; --prose-invert-hr: #374151; --prose-invert-quotes: #f3f4f6; --prose-invert-quote-borders: #374151; --prose-invert-captions: #9ca3af; --prose-invert-code: #fff; --prose-invert-code-bg: rgba(255, 255, 255, 0.1); --prose-invert-pre-code: #d1d5db; --prose-invert-pre-bg: #1f2937; --prose-invert-th-borders: #4b5563; --prose-invert-td-borders: #374151; } /* Base Prose Container */ .prose { max-width: 65ch; color: var(--prose-invert-body); } /* Lead Paragraph */ .prose [class~="lead"] { color: var(--prose-invert-body); font-size: 1.25em; line-height: 1.6; margin-top: 1.2em; margin-bottom: 1.2em; } /* * Link Styles * Replaces Tailwind Typography's link styles * Adds underline and hover effects */ .prose a { color: var(--prose-invert-links); text-decoration: underline; font-weight: 500; } /* Strong Text */ .prose strong { color: var(--prose-invert-bold); font-weight: 600; } /* Lists */ .prose ol { counter-reset: list-counter; margin-top: 1.25em; margin-bottom: 1.25em; } .prose ol > li { position: relative; counter-increment: list-counter; padding-left: 1.75em; } .prose ol > li::before { content: counter(list-counter) "."; position: absolute; left: 0; color: var(--prose-invert-counters); font-weight: 400; } .prose ul > li { position: relative; padding-left: 1.75em; } .prose ul > li::before { content: ""; position: absolute; left: 0; top: 0.75em; height: 0.375em; width: 0.375em; background-color: var(--prose-invert-bullets); border-radius: 50%; } /* Horizontal Rule */ .prose hr { border-color: var(--prose-invert-hr); margin-top: 3em; margin-bottom: 3em; } /* * Blockquote Styles * Replaces Tailwind Typography's blockquote styles * Adds left border and proper indentation */ .prose blockquote { font-weight: 500; font-style: italic; color: var(--prose-invert-quotes); border-left: 0.25rem solid var(--prose-invert-quote-borders); margin-top: 1.6em; margin-bottom: 1.6em; padding-left: 1em; } /* * Heading Styles * Replaces Tailwind Typography's heading styles * h1 = prose-h1 (2.25em, 800 weight) * h2 = prose-h2 (1.5em, 700 weight) * h3 = prose-h3 (1.25em, 600 weight) * h4 = prose-h4 (1em, 600 weight) */ .prose h1 { color: var(--prose-invert-headings); font-weight: 800; font-size: 2.25em; margin-top: 0; margin-bottom: 0.8888889em; line-height: 1.1111111; } .prose h2 { color: var(--prose-invert-headings); font-weight: 700; font-size: 1.5em; margin-top: 2em; margin-bottom: 1em; line-height: 1.3333333; } .prose h3 { color: var(--prose-invert-headings); font-weight: 600; font-size: 1.25em; margin-top: 1.6em; margin-bottom: 0.6em; line-height: 1.6; } /* * Code Styles * Replaces Tailwind Typography's code styles * code = prose-code (inline code) * pre = prose-pre (code blocks) * Includes syntax highlighting compatibility */ .prose code { color: var(--prose-invert-code); font-weight: 600; font-size: 0.875em; background-color: var(--prose-invert-code-bg); padding: 0.25em 0.5em; border-radius: 0.375rem; } .prose pre { color: var(--prose-invert-pre-code); background-color: var(--prose-invert-pre-bg); overflow-x: auto; font-size: 0.875em; line-height: 1.7142857; margin-top: 1.7142857em; margin-bottom: 1.7142857em; border-radius: 0.375rem; padding: 0.8571429em 1.1428571em; } .prose pre code { background-color: transparent; border-width: 0; border-radius: 0; padding: 0; font-weight: 400; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; } /* * Table Styles * Replaces Tailwind Typography's table styles * Includes proper borders and cell padding */ .prose table { width: 100%; table-layout: auto; text-align: left; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.7142857; } .prose thead { color: var(--prose-invert-headings); font-weight: 600; border-bottom: 1px solid var(--prose-invert-th-borders); } .prose thead th { vertical-align: bottom; padding-right: 0.5714286em; padding-bottom: 0.5714286em; padding-left: 0.5714286em; } .prose tbody tr { border-bottom: 1px solid var(--prose-invert-td-borders); } .prose tbody td { vertical-align: top; padding: 0.5714286em; }