.markdown {
    position: relative;
    font-size: 1.125em;
    color: var(--color-content);
    line-height: 1.8;
    letter-spacing: -0.01em;
    text-wrap: pretty;
}

/* Element styles */

.markdown h2 { font-size: 1.50em;  }
.markdown h3 { font-size: 1.25em;  }
.markdown h4 { font-size: 1em; font-weight: 400; }

.markdown h2,
.markdown h3,
.markdown h4 {
    color: var(--color-headline);
    line-height: 1.3
}

.markdown p a {
    color: var(--color-headline);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    text-decoration-color: var(--color-neutral-200);
    transition: all 100ms linear;
}

.markdown p a:hover {
    color: var(--color-primary-hover);
    text-decoration-color: var(--color-primary-hover);
}

hr {
    border-top: 1px solid var(--color-edge);
    border-left: none;
    border-right: none;
    border-bottom: none;
}

.markdown ul {
    list-style: disc;
    list-style-position: outside;
    padding-left: 1em
}

.markdown ol {
    list-style: roman;
    list-style-position: outside;
    padding-left: 1em
}

.markdown ul li,
.markdown ol li {
    line-height: 1.4;
    padding-left: 1em;
}

.markdown > p:has(picture) {
    padding: 0.5em 0;
}

.markdown picture,
.markdown img {
    position: relative;
    z-index: 1;
    border-radius: 0.3em;
    overflow: hidden;
}

.markdown img {
    box-shadow: 0 0 0 1px var(--hex-neutral-100);
}

.markdown p > code,
.markdown ul > li > code,
.markdown ol > li > code {
    font-size: 0.9375em;
    background: var(--hex-neutral-25);
    border: 1px solid var(--hex-neutral-100);
    border-radius: 0.25em;
    padding: 0 0.25em;
    letter-spacing: -0.04em;
}

/* Sibling spacing */

.markdown h2 + p,
.markdown h2 + ul,
.markdown h2 + ol { margin-top: 1.125em; }

.markdown h3 + p,
.markdown h3 + ul,
.markdown h3 + ol { margin-top: 1em; }

.markdown h4 + p,
.markdown h4 + ul,
.markdown h4 + ol { margin-top: 0.875em; }

.markdown p + h2,
.markdown ul + h2,
.markdown ol + h2 { margin-top: 2em; }

.markdown p + h3,
.markdown ul + h3,
.markdown ol + h3 { margin-top: 2em; }

.markdown p + h4,
.markdown ul + h4,
.markdown ol + h4 { margin-top: 1.5em; }

.markdown p + p,
.markdown p + ul,
.markdown p + ol { margin-top: 0.75em; }
.markdown p + pre:has(code[class*="language-"]) { margin-top: 1.25em; }

.markdown ul + p,
.markdown ol + p { margin-top: 1em; }

.markdown li + li { margin-top: 0.75em; }

.markdown hr { margin: 3em 0 2.5em 0; }

.markdown pre:has(code[class*="language-"]) + p { margin-top: 1.25em; }

strong {
    font-weight: 400;
    color: var(--color-headline);
}

/**
 * Dracula Theme originally by Zeno Rocha [@zenorocha]
 * https://draculatheme.com/
 *
 * Ported for PrismJS by Albert Vallverdu [@byverdu]
 */

 code[class*="language-"],
 pre[class*="language-"] {
     color: #f8f8f2;
     background: none;
     text-shadow: 0 1px rgba(0, 0, 0, 0.3);
     font-size: 0.9375em;
     font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
     text-align: left;
     white-space: pre;
     word-spacing: normal;
     word-break: normal;
     word-wrap: normal;
     line-height: 1.5;
     -moz-tab-size: 4;
     -o-tab-size: 4;
     tab-size: 4;
     -webkit-hyphens: none;
     -moz-hyphens: none;
     -ms-hyphens: none;
     hyphens: none;
 }
 
 /* Code blocks */
 pre[class*="language-"] {
     padding: 1em;
     margin: .5em 0;
     overflow: auto;
     border-radius: 0.3em;
 }
 
 :not(pre) > code[class*="language-"],
 pre[class*="language-"] {
     background: var(--hex-neutral-950);
 }
 
 /* Inline code */
 :not(pre) > code[class*="language-"] {
     padding: .1em;
     border-radius: .3em;
     white-space: normal;
 }
 
 .token.comment,
 .token.prolog,
 .token.doctype,
 .token.cdata {
     color: #6272a4;
 }
 
 .token.punctuation {
     color: #f8f8f2;
 }
 
 .namespace {
     opacity: .7;
 }
 
 .token.property,
 .token.tag,
 .token.constant,
 .token.symbol,
 .token.deleted {
     color: #ff79c6;
 }
 
 .token.boolean,
 .token.number {
     color: #bd93f9;
 }
 
 .token.selector,
 .token.attr-name,
 .token.string,
 .token.char,
 .token.builtin,
 .token.inserted {
     color: #50fa7b;
 }
 
 .token.operator,
 .token.entity,
 .token.url,
 .language-css .token.string,
 .style .token.string,
 .token.variable {
     color: #f8f8f2;
 }
 
 .token.atrule,
 .token.attr-value,
 .token.function,
 .token.class-name {
     color: #f1fa8c;
 }
 
 .token.keyword {
     color: #8be9fd;
 }
 
 .token.regex,
 .token.important {
     color: #ffb86c;
 }
 
 .token.important,
 .token.bold {
     font-weight: bold;
 }
 
 .token.italic {
     font-style: italic;
 }
 
 .token.entity {
     cursor: help;
 }