398 lines
5.5 KiB
CSS

/* ===== Headings ===== */
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-heading);
line-height: 1;
color: var(--theme-text-heading);
}
h1 {
font-size: 2rem;
font-weight: 300;
margin-block-end: 1rem;
}
h2 {
font-size: 2rem;
font-weight: 500;
}
h3 {
font-size: 1.17rem;
}
h3, h4, h5, h6 {
margin-block: 3rem 1rem;
}
h5, h6 {
font-size: 0.9rem;
font-weight: 600;
}
h6 {
font-weight: 500;
}
:not(li) > :is(h1, h2, h3, h4, h5, h6),
li > :is(h1, h2, h3, h4, h5, h6):not(:first-child) {
padding-block-start: 1rem;
}
:is(h1, h2, h3, h4, h5, h6) + :is(h1, h2, h3),
:is(h1, h2, h3):first-child {
margin-block-start: 1rem;
}
:is(h1, h2, h3, h4, h5, h6) + :is(h4, h5, h6),
:is(h4, h5, h6):first-child {
margin-block-start: 0;
}
a.heading-anchor {
color: var(--theme-text-light);
opacity: 0.3;
margin-inline-start: 0.5rem;
}
:is(h1, h2, h3, h4, h5, h6):hover > a.heading-anchor {
opacity: 1;
}
:is(h1, h2, h3, h4, h5, h6) svg.icon:not(.heading-anchor > svg) {
--icon-size: 1em;
}
/* ===== Paragraphs ===== */
p {
margin-inline: 0;
font-size: 1rem;
font-family: var(--font-body);
color: var(--theme-text-body);
}
/* ===== Inline Styles ===== */
del {
text-decoration: line-through;
}
/* ===== Links ===== */
a {
font-family: inherit;
color: var(--theme-text-link);
display: inline-flex;
align-items: center;
column-gap: 0.2rem;
}
a:active,
a:hover,
a:focus {
color: var(--theme-text-link-active);
}
a:visited {
color: var(--theme-text-link-visited);
}
a.icon-link {
display: inline-flex;
column-gap: 0.3rem;
align-items: center;
}
a.icon-link svg.icon {
--icon-size: 1rem;
}
del a {
text-decoration: line-through underline;
}
/* ===== Lists ===== */
ul, ol {
padding-inline-start: 2.5rem;
}
li, dt, dd {
font-family: var(--font-body);
color: var(--theme-text-body);
}
li {
font-size: 1rem;
}
ul[role='doc-endnotes'] {
list-style: none;
padding-inline-start: 1rem;
}
[role='doc-footnote']:target {
background: var(--theme-bg-heavy);
}
dt {
font-weight: 700;
}
.cite-label {
font-weight: 600;
}
/* ===== Mark / Highlight ===== */
mark {
color: var(--theme-text-highlight);
background-color: var(--theme-bg-text-highlight);
padding: 0.2rem;
}
/* ===== User Selection ===== */
::selection {
fill: var(--theme-text-selection) !important;
color: var(--theme-text-selection) !important;
background-color: var(--theme-bg-text-selection) !important;
}
/* ===== Tables ===== */
table, .faux-table, td, .faux-td {
color: var(--theme-text-body);
font-family: var(--font-body);
}
table, .faux-table {
display: table;
margin-block: 2rem;
border-collapse: collapse;
}
table, th, td,
.faux-table, .faux-th, .faux-td {
font-size: 1rem;
line-height: 1.75;
}
thead, .faux-thead {
display: table-header-group;
}
tbody, .faux-tbody {
display: table-row-group;
}
tbody tr,
.faux-tbody .faux-tr {
border-top: 1px var(--theme-line) solid;
}
tr, .faux-tr {
display: table-row;
}
th, .faux-th {
text-align: center;
font-weight: 700;
color: var(--theme-text-heading);
}
th, .faux-th,
td, .faux-td {
padding-block: 0.5rem;
padding-inline: 1rem;
display: table-cell;
}
td, .faux-td {
display: table-cell;
font-weight: 300;
vertical-align: top;
}
:is(td, .faux-td):not(:last-of-type) {
border-inline-end: 0.1rem solid var(--theme-line);
}
:is(table, .faux-table) :is(input, select) {
margin-block: 0;
}
table dl {
padding: 0;
}
/* ===== Pre-formatted Blocks ===== */
pre {
color: var(--theme-code-normal);
font-family: var(--font-monospace);
margin-inline-start: 1rem;
margin-inline-end: 5rem;
border: 0.1rem solid var(--theme-line);
border-radius: 0.5rem;
font-size: 1rem;
overflow: auto;
background: var(--theme-bg-light);
}
@media screen and (max-width: 60rem) {
pre {
margin-inline: 0;
}
}
/* ===== Code / Sample Output ===== */
code, samp {
font-size: inherit;
color: var(--theme-code-normal);
font-family: var(--font-monospace);
}
:not(pre) > :is(code, samp) {
color: inherit;
background: var(--theme-bg-light);
margin-inline: 0.15rem;
padding-block: 0.1rem;
padding-inline: 0.25rem;
border: 0.1rem solid var(--theme-line);
border-radius: 0.2rem;
}
/* ===== Note Blocks ===== */
:is(aside, section):is([role='note'], .info, .highlight, .warning, .problem) {
font-size: 1rem;
color: var(--theme-text-light);
padding-block: 0.6rem;
padding-inline-start: 1rem;
margin: 1rem;
border-inline-start: 0.8rem solid var(--theme-line);
background: var(--theme-bg-light);
}
:is(aside, section).info {
border-inline-start-color: var(--theme-accent-info);
}
:is(aside, section).highlight {
border-inline-start-color: var(--theme-accent-highlight);
}
:is(aside, section).warning {
border-inline-start-color: var(--theme-accent-warning);
}
:is(aside, section).problem {
border-inline-start-color: var(--theme-accent-problem);
}
/* ===== Figure Captions ===== */
figcaption {
font-family: var(--font-body);
text-align: center;
font-size: 0.85rem;
color: var(--theme-text-light);
max-width: 60vw;
margin-inline: auto;
}
/* ===== Block Quotes ===== */
blockquote {
margin-block: 2rem;
margin-inline: 1rem;
padding-block: 0.5rem;
padding-inline: 1.5rem;
border-inline-start: 0.25rem var(--theme-line) solid;
}
blockquote p {
margin: 0;
}
/* ===== Small Spans ===== */
small {
font-size: 0.8rem;
font-family: var(--font-body);
color: var(--theme-text-body);
}
/* ===== Horizontal Rules ===== */
hr {
border-block-start-width: 0.1rem;
border-style: solid;
border-color: var(--theme-line);
width: 90%;
margin-block: 4rem 6rem;
}