/* All game pages: stable responsive sizing and uninterrupted repeated taps.
   Keep deliberate pan/pinch gestures; each game retains its own canvas touch policy. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  touch-action: manipulation;
  inline-size: 100%;
  max-inline-size: 100%;
  overflow-x: clip;
}
body {
  touch-action: manipulation;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  min-inline-size: 0;
  max-inline-size: 100%;
}
/* Include dynamically opened Player/Parents/Collection/help dialogs. */
body :not(input):not(textarea):not([contenteditable]):not([contenteditable] *) {
  -webkit-user-select: none;
  user-select: none;
}
img { -webkit-user-drag: none; }
input, textarea, [contenteditable], [contenteditable] * {
  -webkit-user-select: text;
  user-select: text;
  -webkit-touch-callout: default;
}
/* Small text fields otherwise provoke Safari's automatic focus zoom. */
@media (any-pointer: coarse) {
  input:not([type=range]):not([type=checkbox]):not([type=radio]), textarea, select {
    font-size: max(16px, 1rem) !important;
  }
}
