kepler-chat/src/markdown.css
Thomas G. Lopes 12cde6f378 wip
2025-06-18 15:09:10 +01:00

180 lines
3.6 KiB
CSS

@import 'tailwindcss';
@reference './app.css';
.shiki,
.shiki span {
/* Optional, if you also want font styles */
font-style: var(--font-mono) !important;
}
html.dark .shiki,
html.dark .shiki span {
color: var(--shiki-dark) !important;
background-color: var(--shiki-dark-bg) !important;
/* Optional, if you also want font styles */
font-style: var(--font-mono) !important;
font-weight: var(--shiki-dark-font-weight) !important;
text-decoration: var(--shiki-dark-text-decoration) !important;
}
.prose {
@apply text-foreground;
& h1:not(.not-prose h1) {
@apply scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl;
}
& h2:not(.not-prose h2) {
@apply mt-12 scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0;
}
& h3:not(.not-prose h3) {
@apply mt-12 scroll-m-20 text-2xl font-semibold tracking-tight first:mt-0;
}
& h4:not(.not-prose h4) {
@apply mt-12 scroll-m-20 text-xl font-semibold tracking-tight first:mt-0;
}
& h5:not(.not-prose h5) {
@apply mt-12 scroll-m-20 text-lg font-semibold tracking-tight first:mt-0;
}
& h6:not(.not-prose h6) {
@apply mt-12 scroll-m-20 text-base font-semibold tracking-tight first:mt-0;
}
& h1:not(.not-prose h1),
& h2:not(.not-prose h2),
& h3:not(.not-prose h3),
& h4:not(.not-prose h4),
& h5:not(.not-prose h5),
& h6:not(.not-prose h6) {
& + p {
@apply mt-0;
}
}
& p:not(.not-prose p) {
@apply leading-[175%] [&:not(:first-child)]:mt-6;
}
& li:not(.not-prose li) {
@apply leading-[175%];
}
& a:not(.not-prose a) {
@apply text-primary font-medium underline underline-offset-4;
}
& blockquote:not(.not-prose blockquote) {
@apply mt-6 border-l-2 pl-6 italic;
}
& table:not(.not-prose table) {
@apply my-6 w-full overflow-y-auto;
& thead tr {
@apply even:bg-muted m-0 border-t p-0;
}
& th {
@apply border px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right;
}
& tbody tr {
@apply even:bg-muted m-0 border-t p-0;
}
& td {
@apply border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right;
}
}
& ul:not(.not-prose ul) {
@apply my-6 ml-6 list-disc [&>li]:mt-2;
& p {
@apply my-0 inline;
}
}
& ol:not(.not-prose ol) {
@apply my-6 ml-6 list-decimal [&>li]:mt-2;
& p {
@apply my-0 inline;
}
}
& pre:not(.not-prose pre) {
@apply bg-muted my-6 overflow-y-auto rounded-md p-4 text-sm;
}
& code:not(pre code):not(.not-prose code) {
@apply bg-muted relative rounded px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold;
}
& .lead:not(.not-prose .lead) {
@apply text-muted-foreground text-xl;
}
& .large:not(.not-prose .large) {
@apply text-lg font-semibold;
}
& .small:not(.not-prose .small) {
@apply text-sm leading-none font-medium;
}
& .muted:not(.not-prose .muted) {
@apply text-muted-foreground text-sm;
}
& img:not(.not-prose img),
& picture:not(.not-prose picture),
& video:not(.not-prose video) {
@apply my-6;
}
& picture > img:not(.not-prose picture > img) {
@apply my-0;
}
& kbd:not(.not-prose kbd) {
@apply bg-muted rounded-md px-1.5 py-0.5 text-xs font-semibold;
}
& hr {
@apply my-10;
}
& dl:not(.not-prose dl) {
@apply my-6;
& dt {
@apply mt-6 font-semibold tracking-tight first:mt-0;
}
}
& details:not(.not-prose details) {
@apply mt-6;
& summary {
@apply mt-6 cursor-pointer font-semibold tracking-tight;
}
& p {
@apply [&:first-of-type]:mt-2;
}
}
& mark:not(.not-prose mark) {
@apply bg-yellow-300;
}
& small:not(.not-prose small) {
@apply text-xs leading-none;
}
}