*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

:where([hidden]:not([hidden=until-found])) {
	display: none !important;
}

:where(html) {
	-webkit-text-size-adjust: none;
}

:where(body) {
	-webkit-font-smoothing: antialiased;
	block-size: 100%;
	block-size: 100dvb;
	font-family: system-ui, sans-serif;
	line-height: 1.5;
}

:where(input,
button,
textarea,
select) {
	color: inherit;
	font: inherit;
}

:where(textarea) {
	resize: vertical;
	resize: block;
}

:where(button,
label,
select,
summary,
[role=button],
[role=option]) {
	cursor: pointer;
}

:where(:disabled) {
	cursor: not-allowed;
}

:where(label:has(> input:disabled),
label:has(+ input:disabled)) {
	cursor: not-allowed;
}

:where(button) {
	border-style: solid;
}

:where(a) {
	text-underline-offset: 0.2ex;
}

:where(ul,
ol) {
	list-style: none;
}

:where(img,
svg,
video,
canvas,
audio,
iframe,
embed,
object) {
	display: block;
}

:where(img,
picture,
svg) {
	block-size: auto;
	max-inline-size: 100%;
}

:where(p,
h1,
h2,
h3,
h4,
h5,
h6) {
	overflow-wrap: break-word;
}

:where(h1,
h2,
h3) {
	line-height: calc(1em + 0.5rem);
}

:where(hr) {
	-webkit-border-before: 1px solid;
	block-size: 0;
	border: none;
	border-block-start: 1px solid;
	color: inherit;
	overflow: visible;
}

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

:where(.visually-hidden:not(:focus,
:active,
:focus-within,
.not-visually-hidden)) {
	-webkit-clip-path: inset(50%) !important;
	border: 0 !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

a {
	text-decoration: none;
}

input[type=button],
input[type=submit] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

@media (prefers-reduced-motion: no-preference) {

:where(html:focus-within) {
	scroll-behavior: smooth;
}

}

