UNPKG

@astrojs/starlight

Version:

Build beautiful, high-performance documentation websites with Astro

246 lines (224 loc) 8.14 kB
@layer starlight.content { .sl-markdown-content :not(a, strong, em, del, span, input, code, br) + :not(a, strong, em, del, span, input, code, br, :where(.not-content *)) { margin-top: 1rem; } /* Headings after non-headings have more spacing. */ .sl-markdown-content :not(h1, h2, h3, h4, h5, h6) + :is(h1, h2, h3, h4, h5, h6):not(:where(.not-content *)) { margin-top: 1.5em; } .sl-markdown-content li + li:not(:where(.not-content *)), .sl-markdown-content dt + dt:not(:where(.not-content *)), .sl-markdown-content dt + dd:not(:where(.not-content *)), .sl-markdown-content dd + dd:not(:where(.not-content *)) { margin-top: 0.25rem; } .sl-markdown-content li:not(:where(.not-content *)) { overflow-wrap: anywhere; } .sl-markdown-content li > :is( :last-child:not( li, ul, ol, a, strong, em, del, span, input, code, br, script, :where(.not-content *) ), /** * For list items ending with 1 or multiple script elements (`:has(~ script:last-child)`), we * need to style the last non-script element (`:not(script)`) that doesn't have a subsequent * sibling that is not a script (`:not(:has(~ :not(script)))`). */ :not(script):has(~ script:last-child):not(:has(~ :not(script))) ) { margin-bottom: 1.25rem; } .sl-markdown-content dt:not(:where(.not-content *)) { font-weight: 700; } .sl-markdown-content dd:not(:where(.not-content *)) { padding-inline-start: 1rem; } .sl-markdown-content :is(h1, h2, h3, h4, h5, h6):not(:where(.not-content *)) { color: var(--sl-color-white); line-height: var(--sl-line-height-headings); font-weight: 600; } .sl-markdown-content :is(img, picture, video, canvas, svg, iframe):not(:where(.not-content *)) { display: block; max-width: 100%; height: auto; } .sl-markdown-content h1:not(:where(.not-content *)) { font-size: var(--sl-text-h1); } .sl-markdown-content h2:not(:where(.not-content *)) { font-size: var(--sl-text-h2); } .sl-markdown-content h3:not(:where(.not-content *)) { font-size: var(--sl-text-h3); } .sl-markdown-content h4:not(:where(.not-content *)) { font-size: var(--sl-text-h4); } .sl-markdown-content h5:not(:where(.not-content *)) { font-size: var(--sl-text-h5); } .sl-markdown-content h6:not(:where(.not-content *)) { font-size: var(--sl-text-h6); } .sl-markdown-content a:not(:where(.not-content *)) { color: var(--sl-color-text-accent); } .sl-markdown-content a:hover:not(:where(.not-content *)) { color: var(--sl-color-white); } .sl-markdown-content code:not(:where(.not-content *)) { background-color: var(--sl-color-bg-inline-code); margin-block: -0.125rem; padding: 0.125rem 0.375rem; font-size: var(--sl-text-code-sm); } .sl-markdown-content :is(h1, h2, h3, h4, h5, h6) code { font-size: inherit; } .sl-markdown-content pre:not(:where(.not-content *)) { border: 1px solid var(--sl-color-gray-5); padding: 0.75rem 1rem; font-size: var(--sl-text-code); tab-size: 2; } .sl-markdown-content pre code:not(:where(.not-content *)) { all: unset; font-family: var(--__sl-font-mono); } .sl-markdown-content blockquote:not(:where(.not-content *)) { border-inline-start: 1px solid var(--sl-color-gray-5); padding-inline-start: 1rem; } /* Table styling */ .sl-markdown-content table:not(:where(.not-content *)) { display: block; overflow: auto; border-spacing: 0; } .sl-markdown-content :is(th, td):not(:where(.not-content *)) { border-bottom: 1px solid var(--sl-color-gray-5); padding: 0.5rem 1rem; /* Align text to the top of the row in multiline tables. */ vertical-align: baseline; } .sl-markdown-content :is(th:first-child, td:first-child):not(:where(.not-content *)) { padding-inline-start: 0; } .sl-markdown-content :is(th:last-child, td:last-child):not(:where(.not-content *)) { padding-inline-end: 0; } .sl-markdown-content th:not(:where(.not-content *)) { color: var(--sl-color-white); font-weight: 600; } /* Align headings to the start of the line unless set by the `align` attribute. */ .sl-markdown-content th:not([align]):not(:where(.not-content *)) { text-align: start; } /* <table>s, <hr>s, and <blockquote>s inside asides */ .sl-markdown-content .starlight-aside :is(th, td, hr, blockquote):not(:where(.not-content *)) { border-color: var(--sl-color-gray-4); } @supports ( border-color: color-mix(in srgb, var(--sl-color-asides-text-accent) 30%, transparent) ) { .sl-markdown-content .starlight-aside :is(th, td, hr, blockquote):not(:where(.not-content *)) { border-color: color-mix(in srgb, var(--sl-color-asides-text-accent) 30%, transparent); } } /* <code> inside asides */ @supports ( border-color: color-mix(in srgb, var(--sl-color-asides-text-accent) 12%, transparent) ) { .sl-markdown-content .starlight-aside code:not(:where(.not-content *)) { background-color: color-mix(in srgb, var(--sl-color-asides-text-accent) 12%, transparent); } } .sl-markdown-content hr:not(:where(.not-content *)) { border: 0; border-bottom: 1px solid var(--sl-color-hairline); } /* <details> and <summary> styles */ .sl-markdown-content details:not(:where(.not-content *)) { --sl-details-border-color: var(--sl-color-gray-5); --sl-details-border-color--hover: var(--sl-color-text-accent); border-inline-start: 2px solid var(--sl-details-border-color); padding-inline-start: 1rem; } .sl-markdown-content details:not([open]):hover:not(:where(.not-content *)), .sl-markdown-content details:has(> summary:hover):not(:where(.not-content *)) { border-color: var(--sl-details-border-color--hover); } .sl-markdown-content summary:not(:where(.not-content *)) { color: var(--sl-color-white); cursor: pointer; display: block; /* Needed to hide the default marker in some browsers. */ font-weight: 600; /* Expand the outline so that the marker cannot distort it. */ margin-inline-start: -0.5rem; padding-inline-start: 0.5rem; } .sl-markdown-content details[open] > summary:not(:where(.not-content *)) { margin-bottom: 1rem; } /* <summary> marker styles */ .sl-markdown-content summary:not(:where(.not-content *))::marker, .sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker { display: none; } .sl-markdown-content summary:not(:where(.not-content *))::before { --sl-details-marker-size: 1.25rem; background-color: currentColor; content: ''; display: inline-block; height: var(--sl-details-marker-size); width: var(--sl-details-marker-size); margin-inline: calc((var(--sl-details-marker-size) / 4) * -1) 0.25rem; vertical-align: middle; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A"); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; } @media (prefers-reduced-motion: no-preference) { .sl-markdown-content summary:not(:where(.not-content *))::before { transition: transform 0.2s ease-in-out; } } .sl-markdown-content details[open] > summary:not(:where(.not-content *))::before { transform: rotateZ(90deg); } [dir='rtl'] .sl-markdown-content summary:not(:where(.not-content *))::before, .sl-markdown-content [dir='rtl'] summary:not(:where(.not-content *))::before { transform: rotateZ(180deg); } /* <summary> with only a paragraph automatically added when using MDX */ .sl-markdown-content summary:not(:where(.not-content *)) p:only-child { display: inline; } /* <details> styles inside asides */ .sl-markdown-content .starlight-aside details:not(:where(.not-content *)) { --sl-details-border-color: var(--sl-color-asides-border); --sl-details-border-color--hover: var(--sl-color-asides-text-accent); } }