gold settles 0.9% higher at $1,678.30 an ounce