/* ——— Modern, accessible CSS reset (2025) ——— */

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

:where(html) { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; hanging-punctuation: first last; }

:where(body) { margin: 0; line-height: 1; text-rendering: optimizeLegibility; text-wrap: pretty; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

:where(h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd) { margin: 0; }

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

:where(a) { color: inherit; text-decoration: none; }
:where(a:focus) { outline: none; box-shadow: none; }
:where(a:focus-visible) { outline: 2px solid currentColor; outline-offset: 2px; }

:where(img, svg, video, canvas, audio) { display: block; max-width: 100%; }
:where(img, svg, video) { height: auto; }
:where(img) { vertical-align: top; }

:where(input, button, textarea, select) { font: inherit; color: inherit; margin: 0; }
:where(button, input[type="button"], input[type="submit"]) { cursor: pointer; }
:where(textarea) { resize: vertical; }
:where(label) { cursor: pointer; }

@supports (-webkit-touch-callout: none) { input:-webkit-autofill { transition: background-color 99999s ease-in-out 0s; } }

:where(table) { border-collapse: collapse; border-spacing: 0; }

:where(hr) { height: 0; border: 0; border-top: 1px solid currentColor; opacity: 0.2; margin: 1rem 0; }

:where(abbr[title]) { text-decoration: underline dotted; cursor: help; }
:where(kbd, code, samp, pre) { font-size: 0.95em; }

@media (prefers-reduced-motion: reduce) {
  :where(html:focus-within) { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

:where(*:focus) { outline: none; }
:where(*:focus-visible) { outline: 2px solid currentColor; outline-offset: 2px; }

:where(dialog) { border: none; padding: 0; }

:where(details > summary) { cursor: pointer; }

:where(main, article, aside, details, figcaption, figure, footer, header, nav, section) { display: block; }
