/*
  Reset: the normalization Bootstrap Reboot used to provide, and nothing opinionated.
  Element selectors only — no classes (StylesheetLintTests: css/class-prefix).
*/
@layer reset {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
  }

  body {
    margin: var(--space-0);
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  figure,
  blockquote,
  address,
  pre {
    margin: var(--space-0);
  }

  img,
  svg,
  video,
  canvas {
    vertical-align: middle;
  }

  img,
  video {
    max-width: 100%;
    height: auto;
  }

  input,
  button,
  textarea,
  select,
  optgroup {
    margin: var(--space-0);
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
    text-transform: none;
  }

  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button;
  }

  button:not(:disabled),
  [type="button"]:not(:disabled),
  [type="reset"]:not(:disabled),
  [type="submit"]:not(:disabled),
  summary {
    cursor: pointer;
  }

  ::-moz-focus-inner {
    padding: var(--space-0);
    border-style: none;
  }

  ::-webkit-datetime-edit-fields-wrapper,
  ::-webkit-datetime-edit-text,
  ::-webkit-datetime-edit-minute,
  ::-webkit-datetime-edit-hour-field,
  ::-webkit-datetime-edit-day-field,
  ::-webkit-datetime-edit-month-field,
  ::-webkit-datetime-edit-year-field {
    padding: var(--space-0);
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: start;
  }

  [type="search"] {
    -webkit-appearance: textfield;
    outline-offset: var(--focus-offset);
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  textarea {
    resize: vertical;
  }

  fieldset {
    min-width: 0;
    margin: var(--space-0);
    padding: var(--space-0);
    border: 0;
  }

  legend {
    padding: var(--space-0);
  }

  table {
    border-collapse: collapse;
    caption-side: bottom;
  }

  th {
    text-align: start;
  }

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

  sub,
  sup {
    position: relative;
    font-size: var(--text-relative-xs);
    line-height: var(--leading-none);
    vertical-align: baseline;
  }

  sub {
    bottom: var(--sub-offset);
  }

  sup {
    top: var(--sup-offset);
  }
}
