/* reset.css — Tailored project reset
   - Keeps box-sizing normalization
   - Removes default spacing for most elements
   - Preserves accessible focus indicators using :focus-visible
   - Respects prefers-reduced-motion
   - Add this file before your main stylesheet: <link rel="stylesheet" href="reset.css">
*/

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

/* Remove default spacing */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
}

/* Better defaults */
html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { min-height: 100vh; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }

/* Media responsiveness */
img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto; }

/* Form elements inherit font for better consistency */
button, input, textarea, select { font: inherit; }

/* Links and lists */
ol, ul { list-style: none; }
a { background-color: transparent; text-decoration: none; color: inherit; }

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

/* Accessible focus — keep visible cues but avoid very ugly defaults */
:focus { outline: none; }
:focus-visible { outline: 3px solid rgba(52,152,219,0.9); outline-offset: 3px; }

/* Respect user preference for reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

/* Utility: root variables placeholder (optional for projects to override)
:root { --focus-color: rgba(52,152,219,0.9); }
*/
