/* ------------------------------
   1. Box sizing
------------------------------ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* ------------------------------
   2. Remove default margin
------------------------------ */
body,
h1, h2, h3, h4, h5, h6,
p, figure, blockquote,
dl, dd {
  margin: 0;
}

/* ------------------------------
   3. Base typography
------------------------------ */
body {
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* ------------------------------
   4. Images & media
------------------------------ */
img,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
}

/* ------------------------------
   5. Form elements (最小限)
------------------------------ */
button,
input,
textarea,
select {
  font: inherit;     /* UA stylesheet の個体差を消す */
  margin: 0;
}

/* Remove default textarea resize grip if不要なら */
/* textarea { resize: vertical; } */

/* ------------------------------
   6. Remove tap highlight (optional)
------------------------------ */
:where(a, button) {
  -webkit-tap-highlight-color: transparent;
}

/* ------------------------------
   7. Anchor styling
------------------------------ */
a {
  color: inherit;
  text-decoration: none;
}

/* ------------------------------
   8. Root defaults
------------------------------ */
html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeLegibility;
}

/* ------------------------------
   9. Table
------------------------------ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

