There is only one rule of making a satisfying button. When You press it, You need to feel the same as pressing a physical one.
Create cohesive 3D space
When You create a website, You need to imagine how it looks in 3D space. Why bother? Because every time You use a shadow, You simulate that the element is either thicker or floating. Understanding 3D will help You fake depth later with CSS. Let's start with shadows...