﻿/* Universal Box Sizing Reset */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* HTML Base Styles */
html {
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
}

/* Shared HTML and Body Styles */
html,
body {
	overscroll-behavior: none;
}

/* Body Base Styles */
body {
	font-family: var(--font-family-base), sans-serif;
	font-size: var(--font-size-base);
	color: var(--color-grey-950);
	background-color: var(--color-white);
	margin: 0;
	min-height: 100%;
	touch-action: manipulation;
}

*:focus {
	outline: none;
}

*:focus-visible {
	outline: 2px solid var(--color-focus);
	outline-offset: 2px;
}

@media (hover: none) and (pointer: coarse) {
	*:focus-visible {
		outline: none;
	}

	* {
		-webkit-tap-highlight-color: transparent;
	}
}
