@indiekit/frontend
Version:
Frontend components for Indiekit
115 lines (92 loc) • 2.24 kB
CSS
.s-flow {
--flow-line-measure: var(--line-measure);
--flow-inset: 1.25em;
--flow-space: 1em;
& * + * {
margin-block-start: var(--flow-space);
}
& > *:not(pre) {
max-inline-size: var(--flow-line-measure);
overflow-wrap: anywhere;
}
& svg {
vertical-align: text-bottom;
}
& h2:not([class]) {
font: var(--font-heading);
}
& h3:not([class]) {
color: var(--color-primary-variant);
font: var(--font-subhead);
}
& h4:not([class]) {
font: var(--font-label);
}
& *:has(+ h2, + h3, + h4):not([class]):not(:first-child) {
margin-block-start: calc(var(--flow-space) * 2);
}
& :is(h2, h3, h4):not([class]) + *:not([class]) {
margin-block-start: calc(var(--flow-space) * 0.5);
}
& hr {
border-block-start: var(--border-width-thickest) solid
var(--color-offset-variant);
inline-size: 100%;
margin: var(--flow-space) 0;
max-inline-size: 100%;
}
& figcaption {
color: var(--color-on-offset);
}
& blockquote {
border-inline-start: var(--border-width-thickest) solid var(--color-primary);
color: var(--color-on-offset);
padding-inline-start: var(--space-m);
}
& pre {
background-color: var(--color-offset);
border-inline-start: var(--border-width-thickest) solid var(--color-outline);
font: var(--font-code);
overflow: scroll;
padding-block: var(--space-s);
padding-inline-start: var(--space-m);
word-break: normal;
}
& code,
& samp {
border-radius: var(--border-radius-small);
font: var(--font-code);
font-variant-numeric: tabular-nums;
}
& *:is(p, li, dd) code {
font-size: 90%;
}
& table:not([class]) {
font: var(--font-caption);
inline-size: 100%;
max-inline-size: 100%;
}
& tbody tr:nth-child(odd) {
background-color: var(--color-offset);
}
& td,
& th {
padding-block: calc(var(--space-m) / 2);
padding-inline: var(--space-m);
}
& dt {
font-weight: 600;
}
& :is(li, dd) {
margin-block-start: 0;
}
& dd + dt {
margin-block-start: var(--flow-space);
}
& dd {
margin-inline-start: var(--flow-inset, 0);
}
& :is(ol, ul) {
padding-inline-start: var(--flow-inset, 0);
}
}