/*------------------------------------------------
	Reset
------------------------------------------------*/

/* Universal */
*,
::before,
::after {
	box-sizing: border-box;
	min-inline-size: 0;
}

/* Document */
:where(:root) {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

/* Sections */
:where(body) {
	min-block-size: 100svb;
	margin-block: unset;
	margin-inline: unset;
}

:where(h1, h2, h3, h4, h5, h6) {
	margin-block: unset;
	font-size: unset;
	line-height: 1.4;
}

/* Grouping Contents */
:where(p, blockquote, figure, pre, address, ul, ol, dl) {
	margin-block: unset;
}

:where(blockquote, figure) {
	margin-inline: unset;
}

:where(address) {
	font-style: unset;
}

:where(ul, ol) {
	padding-inline-start: 1.5em;
}

:where(dt) {
	font-weight: 700;
}

:where(dd) {
	margin-inline-start: unset;
}

:where(hr) {
	inline-size: 100%;
	margin-block: unset;
	border-width: 0;
	border-block-start-width: 1px;
	border-style: solid;
}

/* Text-level Semantics */
:where(em) {
	font-weight: 700;
}

:where(i, em, cite) {
	font-style: unset;
}

/* Links */
:where(:any-link) {
	color: unset;
	text-decoration: unset;
	text-underline-offset: 0.25em;
}

/* Embedded Contents */
:where(img, video, canvas, audio, iframe, embed, object) {
	display: block flow;
	vertical-align: middle;
}

:where(img, svg, video) {
	max-inline-size: 100%;
	block-size: auto;
}

:where(svg) {
	vertical-align: middle;
}

/* Tabular Data */
:where(table) {
	border-collapse: collapse;
}

:where(caption) {
	text-align: start;
}

:where(td, th) {
	padding: unset;
	vertical-align: top;
}

:where(th) {
	font-weight: 700;
	text-align: start;
}

/* Forms */
:where(button, input, select, textarea),
::file-selector-button {
	padding: unset;
	font: unset;
}

:where([type="radio" i], [type="checkbox" i]) {
	margin-block: unset;
	margin-inline-start: 0.25em;
	margin-inline-end: 0.25em;
}

:where([type="file" i]) {
	cursor: unset;
}

:where(textarea) {
	margin-block: unset;
	resize: block;
}

:where(button),
::file-selector-button {
	inline-size: fit-content;
	touch-action: manipulation;
}

:where(fieldset) {
	margin-inline: unset;
	padding-block: unset;
	padding-inline: unset;
}

:where(legend) {
	padding-inline: unset;
}

:where(optgroup) {
	font: unset;
}

/* Focus Styles */
[tabindex="-1"]:focus-visible {
	outline: none !important;
}
