/* ============================================================
   Reset — the parts of Bootstrap's Reboot the app actually
   relies on. Normalisation only: nothing here is design.
   ============================================================ */

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

  body {
    margin: 0;
    font-family: var(--font-sans);
    font-size: var(--font-size);
    font-weight: 400;
    line-height: var(--line-height);
    color: var(--color-body);
    background-color: var(--color-body-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgb(0 0 0 / 0);
  }

  hr {
    margin: var(--space-3) 0;
    color: inherit;
    border: 0;
    border-top: 1px solid;
    opacity: 0.25;
  }

  p {
    margin-top: 0;
    margin-bottom: var(--space-3);
  }

  ol,
  ul {
    padding-left: 2rem;
  }

  ol,
  ul,
  dl {
    margin-top: 0;
    margin-bottom: var(--space-3);
  }

  ol ol,
  ul ul,
  ol ul,
  ul ol {
    margin-bottom: 0;
  }

  dt {
    font-weight: 700;
  }

  dd {
    margin-bottom: var(--space-2);
    margin-left: 0;
  }

  b,
  strong {
    font-weight: bolder;
  }

  sub,
  sup {
    position: relative;
    font-size: 0.75em;
    line-height: 0;
    vertical-align: baseline;
  }

  sub { bottom: -0.25em; }
  sup { top: -0.5em; }

  a {
    color: var(--color-primary);
    text-decoration: none;
  }

  a:hover {
    text-decoration: underline;
  }

  figure {
    margin: 0 0 var(--space-3);
  }

  img,
  svg {
    vertical-align: middle;
  }

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

  caption {
    padding-block: var(--space-2);
    color: var(--color-muted);
    text-align: left;
  }

  th {
    text-align: inherit;
  }

  thead,
  tbody,
  tfoot,
  tr,
  td,
  th {
    border-color: inherit;
    border-style: solid;
    border-width: 0;
  }

  label {
    display: inline-block;
  }

  button {
    border-radius: 0;
  }

  button:focus:not(:focus-visible) {
    outline: 0;
  }

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

  input,
  button,
  select,
  optgroup,
  textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
  }

  button,
  select {
    text-transform: none;
  }

  select {
    word-wrap: normal;
  }

  select:disabled {
    opacity: 1;
  }

  textarea {
    resize: vertical;
  }

  fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
  }

  legend {
    float: left;
    width: 100%;
    padding: 0;
    margin-bottom: var(--space-2);
    font-size: calc(1.275rem + 0.3vw);
    line-height: inherit;
  }

  legend + * {
    clear: left;
  }

  summary {
    display: list-item;
    cursor: pointer;
  }

  [hidden] {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  @layer reset {
    legend { font-size: 1.5rem; }
  }
}
