/* styles_reset.css — modern sensible reset */
*,
*::before,
*::after { box-sizing: border-box; }

/* Remove default margin/padding */
* { margin: 0; padding: 0; }

/* Improve text rendering */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { line-height: 1.5; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

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

/* Inherit fonts for form controls */
input, button, textarea, select { font: inherit; color: inherit; }

/* Remove list styles on ul, ol with a role of list */
ul[role="list"], ol[role="list"] { list-style: none; }

/* Anchor defaults */
a { text-decoration-skip-ink: auto; color: inherit; }
a:not([class]) { text-decoration: underline; }

/* Table normalization */
table { border-collapse: collapse; border-spacing: 0; }
th, td { padding: 0; }

/* Headings inherit font-size control */
h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.2; }

/* Root scrolling and reduced motion */
html:focus-within { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  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;
  }
}

/* Remove default button styles while keeping accessibility */
button { background: none; border: none; cursor: pointer; }

/* Selection color baseline */
::selection { background: rgba(0,0,0,0.12); }

/* Form elements baseline */
fieldset { border: 0; }
