/* ==========================================================================
   reset.css — Minimal CSS Reset / Normalize
   Mushroom Grove — Enchanted Forest Whack-a-Mole
   ========================================================================== */

/*
 * 1. Use border-box globally for predictable sizing.
 * 2. Prevent font-size inflation on mobile orientation change.
 * 3. Disable tap highlight on WebKit browsers.
 * 4. Enable smooth text rendering.
 */

*,
*::before,
*::after {
  box-sizing: border-box;       /* 1 */
  margin: 0;
  padding: 0;
}

html {
  -moz-text-size-adjust: none;          /* 2 */
  -webkit-text-size-adjust: none;       /* 2 */
  text-size-adjust: none;               /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3 */
}

body {
  min-height: 100dvh;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;  /* 4 */
  -moz-osx-font-smoothing: grayscale;   /* 4 */
  text-rendering: optimizeLegibility;
}

/* Remove default list styles */
ul, ol {
  list-style: none;
}

/* Prevent images from overflowing and remove the inline gap */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Remove built-in form typography styles — inherit from parent */
input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

/* Remove default button styles */
button {
  background: none;
  border: none;
  cursor: pointer;
  touch-action: manipulation;      /* No double-tap zoom */
  -webkit-tap-highlight-color: transparent;
}

/* Touch-action manipulation on all interactive elements */
a,
button,
input,
select,
textarea,
[role="button"],
[tabindex] {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* Remove default anchor styles */
a {
  color: inherit;
  text-decoration: none;
}

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

/* Remove animations for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Hidden attribute support (except elements with transition overrides) */
[hidden]:not([data-transition]) {
  display: none !important;
}
