html {
	font-family: var(
		--ffml-primary,
		-apple-system,
		system-ui,
		BlinkMacSystemFont,
		'Segoe UI',
		Roboto,
		'Helvetica Neue',
		sans-serif
	);
	font-size: 100%;
	line-height: 1.15;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-webkit-text-size-adjust: 100%;
}

html,
body {
	--cl-opacity: 1;

	box-sizing: border-box;
	margin: 0;
	padding: 0;
	color: hsl(var(--hsl-content));
	background-color: hsl(var(--hsl-base-100));
}

main {
	display: block;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

p {
	font-family: var(--ffml-primary);
	line-height: 1.65;
	margin: 0;
	padding: 0;
}

body,
h1,
h2,
h3,
h4,
h4,
h5,
h6 {
	line-height: 1.15;
	margin: 0;
	padding: 0;
}

h1 {
	font-size: 4rem;
}
h2 {
	font-size: 3rem;
}
h3 {
	font-size: 2rem;
}
h4 {
	font-size: 1.5rem;
}
h5 {
	font-size: 1.25rem;
}
h6 {
	font-size: 1rem;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

a {
	text-decoration: none;
	color: hsl(var(--hsl-content));
	background-color: transparent;
}

abbr[title] {
	text-decoration: underline;
	text-decoration: underline dotted;
	border-bottom: none;
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

img {
	vertical-align: top;
	border-style: none;
}

video {
	vertical-align: top;
}

small {
	font-size: 80%;
}

button,
input,
select,
optgroup,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
	text-transform: none;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
[type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: none;
	appearance: none;
	background: none;
	border: 0;
	color: inherit;
	/* cursor: default; */
	font: inherit;
	line-height: normal;
	overflow: visible;
	padding: 0;
}

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	display: table;
	box-sizing: border-box;
	max-width: 100%;
	padding: 0;
	white-space: normal;
	color: inherit;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type='checkbox'],
[type='radio'] {
	box-sizing: border-box;
	padding: 0;
}

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
	height: auto;
}

[type='search'] {
	outline-offset: -2px;
	-webkit-appearance: textfield;
}

[type='search']::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	font: inherit;
	-webkit-appearance: button;
}

details {
	display: block;
}

summary {
	display: list-item;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

ul,
ol {
	margin: 0;
	padding: 0;

	li {
		list-style-position: inside;
	}
}

hr {
	display: block;
	overflow: visible;
	box-sizing: content-box;

	width: 100%;

	height: 1px;
	margin: 0;
	border: none;
	background: hsl(var(--hsl-line) / 0.7);
}
