thank you for using health care magic,
well your periods can be short because of stress
or exercise or any other heavy physical activity or hormonal
since you have also gained weight its better to go and take test like TSH level
,T3 T4 ..
do you have family history of thyroid
if yes then there are high chances ..
hope this helps you ..