:root {
	font: var(--g-typography-body-font);
	font-size: var(--g-typography-font-size-root);
}
@media (min-width: 40em) {
	:root {
		/* TODO: Would like to get rid of important */
		--g-typography-font-scale-default: var(
			--g-typography-font-scale-lg
		) !important;
	}
}

:where(h1, h2, h3, h4, h5, h6, p) {
	margin-block-end: 1rem;
}

:where(h1, h2, h3, h4, h5, h6, p):first-child {
	margin-block-start: 0;
}

:where(h1, h2, h3, h4, h5, h6, p):last-child {
	margin-block-end: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	text-wrap: balance;
}

h1 {
	font: var(--g-typography-h1-font);
}

h2 {
	font: var(--g-typography-h2-font);
}

h3 {
	font: var(--g-typography-h3-font);
}

h4 {
	font: var(--g-typography-h4-font);
}

h5 {
	font: var(--g-typography-h5-font);
}

h6 {
	font: var(--g-typography-h6-font);
}

p {
	text-wrap: pretty;
	margin: 0;
}

p + p {
	margin-block-start: 1rem;
}

pre {
	font-family: var(--g-typography-font-family-code);
	line-height: 1.2;
	inline-size: 100%;
	overflow: auto;
	border-radius: var(--g-border-radius-md);
	/* PLACEHOLDER: u.shadow(0) - manual conversion needed */
	box-shadow: var(--g-box-shadow-sm);
	font-size: 1rem;
	font-weight: 400;
	padding: 1rem;
}

mark {
	background-color: var(--g-color-background-highlight);
}
