fix: Region.fromDOM now uses getBoundingClientRect