/* Use a more intuitive box-sizing model everywhere */
*, *::before, *::after {
	box-sizing: border-box;
}

* {
	/* Remove default margin (easily overridden) */
	margin: 0;

	/* Add accessible line-height (minimum for dyslexics) */
	/* NOTE: line height will not inherit */
	line-height: calc(1.1em + 0.4rem);
}

/* Enable keyword animations */
@media (prefers-reduced-motion: no-preference) {
	html {
		interpolate-size: allow-keywords;
	}
}

body {
	/* Improve text rendering */
	-webkit-font-smoothing: antialiased;
}

/* Improve media defaults */
img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;

	/* If you need to override this, use "max-width: revert;" */
}

/* Inherit fonts for form controls */
input, button, textarea, select {
	font: inherit;
}

/* Avoid text overflows */
p, h1, h2, h3, h4, h5, h6 {
	/* Allows hard wrapping to preserve the layout */
	overflow-wrap: break-word;
	hyphens: auto;
}

/* Improve line wrapping (final line won't be super short) */
p {
	text-wrap: pretty;
}
h1, h2, h3, h4, h5, h6 {
	text-wrap: balance;
}

/* Create a root stacking context */
#root, #main, #__next {
	isolation: isolate;
}

/* Collapse tables */
table {
	border-collapse: collapse;
	border-spacing: 0;
}
