This reference manual outlines the current approach to Plone themes. But you may as well know now that there are other, perhaps simpler, approaches on the horizon.
Plone theming is getting a bit complicated. So the Plone community, in its inimitable and energetic way, is already exploring different solutions to the “theme problem”.
Things move fast. At the time of writing, some of the solutions listed below are probably not mature enough to use in earnest, particularly if you are just starting out. However, you might want to investigate them to see how they’re progressing
for current development of themes, the recommended approach is plone.app.theming.