/*
 * reset.css — Minimal CSS reset
 *
 * Normalizes browser defaults without over-reaching.
 * All values defined here are intentionally overridden by base.css
 * and component CSS. This file only removes harmful browser defaults.
 */

/* ─── Box model ────────────────────────────────────────── */

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

/* ─── Margin / padding ─────────────────────────────────── */

html,
body,
h1, h2, h3, h4, h5, h6,
p,
ul, ol, li,
figure, figcaption,
blockquote,
dl, dd,
fieldset,
pre {
	margin: 0;
	padding: 0;
}

/* ─── Lists ────────────────────────────────────────────── */

ul,
ol {
	list-style: none;
}

/* ─── Typography ───────────────────────────────────────── */

html {
	font-size: 100%; /* 16px base */
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

/* Remove default line-height inconsistency */
body {
	line-height: 1;
}

/* Inherit fonts for form elements */
button,
input,
select,
textarea {
	font-family: inherit;
	font-size: inherit;
}

/* ─── Links ────────────────────────────────────────────── */

a {
	color: inherit;
	text-decoration: none;
}

/* ─── Headings ─────────────────────────────────────────── */

h1, h2, h3, h4, h5, h6 {
	font-weight: inherit;
	font-size: inherit;
}

/* ─── Images and media ─────────────────────────────────── */

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
	border-style: none; /* IE compatibility */
}

/* ─── Tables ───────────────────────────────────────────── */

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ─── Forms ────────────────────────────────────────────── */

button {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
}

input,
textarea,
select {
	border-radius: 0;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
}

textarea {
	resize: vertical;
}

fieldset {
	border: none;
}

/* ─── Misc ─────────────────────────────────────────────── */

hr {
	border: none;
	border-top: 1px solid currentColor;
	margin: 0;
}

abbr[title] {
	text-decoration: underline dotted;
	cursor: help;
}

/* Remove animations for users who prefer reduced motion */
@media ( prefers-reduced-motion: reduce ) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
