body { min-height: 100svh; }
  @supports not (min-height: 100svh) { body { min-height: 100vh; } }
  input, select, textarea { font-size: max(16px, 1em); }
  button, a, [role="button"], input, select, label { touch-action: manipulation; }
  @media (hover: none) and (pointer: coarse) {
    button, [role="button"], a.btn, input[type="button"], input[type="submit"] { min-height: 44px; min-width: 44px; }
  }
  @media (orientation: landscape) and (max-height: 480px) {
    body { padding-top: max(env(safe-area-inset-top), 0px); }
  }
  @supports (padding: env(safe-area-inset-left)) {
    body { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
  }
