.content { max-width: clamp(60ch, 90vw, 90ch); margin: 0 auto; padding: 0 var(--spacing-comfortable); font-size: var(--font-size-responsive); & h1 { margin-block: var(--el-h1-vspace-top) var(--el-h1-vspace-bottom); padding-bottom: var(--spacing-snug); border-bottom: var(--size-4) solid var(--el-h1-color); font-family: var(--el-h1-font-family), serif; font-size: var(--el-h1-font-size); font-weight: var(--el-h1-font-weight); line-height: var(--el-h1-line-height); color: var(--el-h1-color); text-transform: var(--el-h1-text-transform); letter-spacing: var(--el-h1-letter-spacing); & + p, & + ul, & + ol, & + blockquote { margin-block: calc(1em * var(--typo-leading-normal) * var(--vspace-tight)) calc(1em * var(--typo-leading-normal) * var(--vspace-snug)); } & + h2 { margin-block: calc(1em * var(--el-h1-line-height) * var(--vspace-snug)) calc(1em * var(--el-h1-line-height) * var(--vspace-normal)); } } & h2 { margin-block: var(--el-h2-vspace-top) var(--el-h2-vspace-bottom); padding-left: var(--spacing-snug); border-left: var(--size-4) solid var(--el-h2-color); font-family: var(--el-h2-font-family), serif; font-size: var(--el-h2-font-size); font-weight: var(--el-h2-font-weight); line-height: var(--el-h2-line-height); color: var(--el-h2-color); text-transform: var(--el-h2-text-transform); letter-spacing: var(--el-h2-letter-spacing); & + p, & + ul, & + ol, & + blockquote { margin-block: calc(1em * var(--typo-leading-normal) * var(--vspace-tight)) calc(1em * var(--typo-leading-normal) * var(--vspace-snug)); } & + h3 { margin-block: calc(1em * var(--el-h1-line-height) * var(--vspace-compressed)) calc(1em * var(--el-h1-line-height) * var(--vspace-snug)); } } & h3 { margin-block: var(--el-h3-vspace-top) var(--el-h3-vspace-bottom); padding: var(--spacing-tight) var(--spacing-snug); font-family: var(--el-h3-font-family), serif; font-size: var(--el-h3-font-size); font-weight: var(--el-h3-font-weight); line-height: var(--el-h3-line-height); color: var(--color-surface-base); text-transform: var(--el-h3-text-transform); letter-spacing: var(--el-h3-letter-spacing); background: var(--el-h3-color); } & h4 { margin-block: var(--el-h4-vspace-top) var(--el-h4-vspace-bottom); padding: var(--spacing-tight) var(--spacing-snug); border-top: var(--size-3 ) solid var(--el-h4-color); border-bottom: var(--size-3 ) solid var(--el-h4-color); font-family: var(--el-h4-font-family), serif; font-size: var(--el-h4-font-size); font-weight: var(--el-h4-font-weight); line-height: var(--el-h4-line-height); text-align: center; text-transform: var(--el-h4-text-transform); letter-spacing: var(--el-h4-letter-spacing); } & h5 { margin-block: var(--el-h5-vspace-top) var(--el-h5-vspace-bottom); padding: var(--spacing-tight) var(--spacing-snug); font-family: var(--el-h5-font-family), serif; font-size: var(--el-h5-font-size); font-weight: var(--el-h5-font-weight); line-height: var(--el-h5-line-height); color: var(--el-h5-color); text-align: center; text-transform: var(--el-h5-text-transform); letter-spacing: var(--el-h5-letter-spacing); &::before, &::after { content: ""; padding: 0 var(--spacing-tight); line-height: 1; } &::before { content: "▼"; } &::after { content: "▼"; } } & h6 { margin-block: var(--el-h6-vspace-top) var(--el-h6-vspace-bottom); font-family: var(--el-h6-font-family), serif; font-size: var(--el-h6-font-size); font-weight: var(--el-h6-font-weight); line-height: var(--el-h6-line-height); color: var(--el-h6-color); text-align: center; text-transform: var(--el-h6-text-transform); letter-spacing: var(--el-h6-letter-spacing); } & h3, & h4, & h5, & h6 { & + p, & + ul, & + ol, & + blockquote { margin-block: calc(1em * var(--typo-leading-normal) * var(--vspace-compressed)) calc(1em * var(--typo-leading-normal) * var(--vspace-snug)); } } & p { margin-block: var(--el-p-vspace-top) var(--el-p-vspace-bottom); font-family: var(--el-p-font-family), sans-serif; font-size: var(--el-p-font-size); font-weight: var(--el-p-font-weight); line-height: var(--el-p-line-height); color: var(--el-p-color); text-align: var(--el-p-text-align); } & blockquote { margin-block: var(--el-p-vspace-top) var(--el-p-vspace-bottom); padding: var(--spacing-snug) 0 var(--spacing-snug) var(--spacing-comfortable); border-left: var(--size-4) solid var(--color-text-tertiary); font-family: var(--el-blockquote-font-family), serif; font-size: var(--el-blockquote-font-size); font-weight: var(--el-blockquote-font-weight); font-style: var(--el-blockquote-font-style); line-height: var(--el-blockquote-line-height); color: var(--el-blockquote-color); } pre { margin-block: var(--el-pre-vspace-top) var(--el-pre-vspace-bottom); padding: var(--spacing-comfortable); font-family: var(--el-pre-font-family), monospace; font-size: var(--el-pre-font-size); line-height: var(--el-pre-line-height); color: var(--el-pre-color); background: var(--el-pre-background); } ul, ol { margin-block: var(--el-list-vspace-top) var(--el-list-vspace-bottom); font-size: var(--el-list-font-size); line-height: var(--el-list-line-height); color: var(--el-list-color); } ul ul, ul ol, ol ul, ol ol { margin-block: var(--el-list-nested-vspace-top) var(--el-list-nested-vspace-bottom); } li { margin-block: var(--el-li-vspace-top) var(--el-li-vspace-bottom); li { margin-block: var(--el-li-nested-vspace-top) var(--el-li-nested-vspace-bottom); } } ul { padding-left: var(--el-ul-indent-l1); list-style: none; li { padding-left: var(--el-ul-item-padding); &::marker { content: var(--el-ul-symbol-l1); color: var(--el-ul-symbol-l1-color); } } ul, ol { padding-left: var(--el-ul-indent-l2); } ul li::marker { content: var(--el-ul-symbol-l2); color: var(--el-ul-symbol-l2-color); } ul ul, ul ol, ol ul, ol ol { padding-left: var(--el-ul-indent-l3); } ul ul li::marker, ol ul li::marker { content: var(--el-ul-symbol-l3); color: var(--el-ul-symbol-l3-color); } ul ul ul, ul ul ol, ul ol ul, ul ol ol, ol ul ul, ol ul ol, ol ol ul, ol ol ol { padding-left: var(--el-ul-indent-l4); } ul ul ul li::marker, ul ol ul li::marker, ol ul ul li::marker, ol ol ul li::marker { content: var(--el-ul-symbol-l4); color: var(--el-ul-symbol-l4-color); } } ol { counter-reset: ol-l1; contain: style; padding-left: var(--el-ol-indent-l1); list-style: none; & > li { counter-increment: ol-l1; margin-left: var(--el-ol-item-indent-l1); padding-left: var(--el-ol-item-padding); &::marker { content: var(--el-ol-prefix-l1) counter(ol-l1, var(--el-ol-style-l1)) var(--el-ol-suffix-l1); color: var(--el-ol-marker-color-l1); } } } ol > li > ol { counter-reset: ol-l2; padding-left: var(--el-ol-indent-l2); & > li { counter-increment: ol-l2; margin-left: var(--el-ol-item-indent-l2); &::marker { content: var(--el-ol-prefix-l2) counter(ol-l2, var(--el-ol-style-l2)) var(--el-ol-suffix-l2); color: var(--el-ol-marker-color-l2); } } } ol > li > ul { padding-left: var(--el-ol-indent-l2); } ol > li > ol > li > ol, ol > li > ul > li > ol { counter-reset: ol-l3; margin-left: var(--el-ol-item-indent-l3); padding-left: var(--el-ol-indent-l3); & > li { counter-increment: ol-l3; &::marker { content: var(--el-ol-prefix-l3) counter(ol-l3, var(--el-ol-style-l3)) var(--el-ol-suffix-l3); color: var(--el-ol-marker-color-l3); } } } ol > li > ol > li > ul, ol > li > ul > li > ul { padding-left: var(--el-ol-indent-l3); } ol > li > ol > li > ol > li > ol, ol > li > ol > li > ul > li > ol, ol > li > ul > li > ol > li > ol, ol > li > ul > li > ul > li > ol { counter-reset: ol-l4; margin-left: var(--el-ol-item-indent-l4); padding-left: var(--el-ol-indent-l4); & > li { counter-increment: ol-l4; &::marker { content: var(--el-ol-prefix-l4) counter(ol-l4, var(--el-ol-style-l4)) var(--el-ol-suffix-l4); color: var(--el-ol-marker-color-l4); } } } ol > li > ol > li > ol > li > ul, ol > li > ol > li > ul > li > ul, ol > li > ul > li > ol > li > ul, ol > li > ul > li > ul > li > ul { padding-left: var(--el-ol-indent-l4); } ol li, ul li { list-style-position: outside; } /* Override if you specifically need inside positioning */ .list-inside ol li, .list-inside ul li { list-style-position: inside; } table { border-collapse: collapse; width: 100%; margin-block: var(--el-table-vspace-top) var(--el-table-vspace-bottom); border: var(--el-table-border); font-size: var(--el-table-font-size); line-height: var(--el-table-line-height); & thead th, & th { padding: var(--el-th-padding); font-family: var(--el-th-font-family), serif; font-size: var(--el-th-font-size); font-weight: var(--el-th-font-weight); line-height: var(--el-th-line-height); color: var(--el-th-color); text-transform: var(--el-th-text-transform); background: var(--el-th-background); } & tbody td, & td { padding: var(--el-td-padding); border: var(--el-td-border); font-family: var(--el-td-font-family), monospace; font-size: var(--el-td-font-size); line-height: var(--el-td-line-height); color: var(--el-td-color); text-align: center; } & td:first-child, & th:first-child { text-align: left; } } hr { position: relative; overflow: visible; height: var(--hr-height); margin-block: var(--hr-margin); border: none; background: var(--hr-color); &::after { content: var(--hr-symbol-content); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: var(--hr-symbol-space); font-size: var(--hr-symbol-size); line-height: var(--hr-symbol-line-height); color: var(--hr-symbol-color); background: var(--hr-symbol-background); } } em, i { padding: 0.1em 0.2em; font-weight: var(--typo-weight-semibold); font-style: normal; color: var(--color-surface-base); letter-spacing: var(--typo-spacing-relaxed); background: var(--color-primary); & * { color: var(--color-text-inverse) !important; } } strong, b { font-weight: var(--typo-weight-black); text-transform: uppercase; letter-spacing: var(--typo-spacing-loose); } a { position: relative; padding: 0.1em 0.2em; font-weight: var(--typo-weight-semibold); color: var(--color-text-primary); text-decoration: underline; text-decoration-thickness: var(--size-1); text-underline-offset: 2px; transition: color 0.5s ease-in-out, background 0.5s ease-in-out; &:hover { cursor: pointer; color: var(--color-surface-base); text-decoration: none; background: var(--color-text-primary); } &:visited, &:active { color: var(--color-primary-emphasis); } } code { padding: 0.1em 0.3em; font-family: var(--font-mono), monospace; font-size: var(--typo-size-sm); color: var(--color-text-inverse); background: var(--color-surface-inverse); } kbd { padding: 0.1em 0.3em; border: 1px solid var(--color-text-primary); border-radius: 2px; font-family: var(--font-mono), monospace; font-size: var(--typo-size-xs); color: var(--color-text-inverse); text-transform: uppercase; background: var(--color-surface-inverse); } samp { padding: 0.1em 0.3em; border-left: var(--size-1) solid var(--color-text-tertiary); font-family: var(--font-mono), monospace; font-size: var(--typo-size-sm); color: var(--color-text-primary); background: var(--color-surface-elevated-2); } var { font-family: var(--font-mono), monospace; font-weight: var(--typo-weight-semibold); font-style: normal; color: var(--color-text-secondary); } mark { padding: 0.1em 0.2em; font-weight: var(--typo-weight-semibold); color: var(--color-surface-base); background: var(--color-primary); } small { font-size: var(--typo-size-xs); color: var(--color-text-tertiary); } sub, sup { font-size: 0.5625em; font-weight: var(--typo-weight-semibold); color: var(--color-text-secondary); } del, s { color: var(--color-text-tertiary); text-decoration: line-through; text-decoration-thickness: var(--size-1); } ins { font-weight: var(--typo-weight-semibold); color: var(--color-text-primary); text-decoration: underline; text-decoration-color: var(--color-primary); text-decoration-thickness: var(--size-1); background: transparent; } abbr { cursor: help; text-decoration: underline dotted; text-underline-offset: var(--size-1); } dfn { font-weight: var(--typo-weight-bold); font-style: normal; color: var(--color-text-primary); } cite { font-weight: var(--typo-weight-semibold); font-style: normal; color: var(--color-text-secondary); } q { font-style: normal; &::before { content: "»"; } &::after { content: "«"; } } time { font-family: var(--font-mono), monospace; font-size: var(--typo-size-sm); color: var(--color-text-secondary); } & article { & > p:first-of-type { font-size: var(--typo-size-xl); font-weight: var(--typo-weight-bold); line-height: 1.4; letter-spacing: 0.022em; &::first-letter { float: left; margin: 0.1em 0.1em 0 0; padding: 0; font-family: var(--font-display), serif; font-size: 4em; font-weight: bold; line-height: 1; color: var(--color-primary); @supports (initial-letter: 4) { float: none; margin: 0; padding-right: var(--spacing-snug); font-size: inherit; line-height: inherit; initial-letter: 3; } } } } }