/* Remove default margin and padding. Use a more-intuitive box-sizing model */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
}

/* Enable keyword animations */
@media (prefers-reduced-motion: no-preference) {
  @view-transition {
    navigation: auto;
  }
  :root {
    interpolate-size: allow-keywords;
  }
  html {
    scroll-behavior: smooth;
  }
  a, button, svg, svg path {
    transition: var(--transition-all);
  }
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  font-synthesis: none;
}

body {
  /* Add accessible line-height */
  line-height: 1.5;

  /* Prevent font size inflation */
  -webkit-font-smoothing: antialiased;
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  font-synthesis: none;
}

/* Remove list styles */
:where(ul, ol, menu) {
  list-style: none;
}

/* Improve media defaults */
:where(img, picture, video, canvas, svg) {
  display: block;
  max-width: 100%;
}

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

/* Avoid text overflows */
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

/* Improve line wrapping */
:where(p) {
  /* text-wrap: balance; */
}
:where(h1, h2, h3, h4, h5, h6) {
  /* text-wrap: balance; */
  /* text-box: trim-both cap alphabetic; */
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

/* cursor */
:where(a, button, input, textarea) {
  cursor: pointer;
}
