Colours and capitals in Android studio - what do they mean?

I’m halfway through a Flutter course (new to programming). I am so confused by a few basic things still!

In Android Studio, the IDE automatically colours different words in my code (yellow, red, dark blue, light blue, green/grey etc). I think I would understand the code better if I could understand what these different colours represent? (Code example below).

I also have no idea still why some words need to be capitalised and others don’t!? Often the same words need to be repeated, once with an uppercase first letter, then again with a lower case first letter…for example lines 38/39:

fontWeight: FontWeight.bold
color: Colors.white

It’s hard enough to remember all the keywords, let alone remember if they should be capitalized or not! Is there a logic behind why some words start uppercase, and others start lowercase?

Thank you for your help!