For responsiveness you may want to add something like a grid-template or grid-auto-rows fit-content.
For card why not put the height and widths at 100% and use grid to manipulate them? Since it will fit the grid. Grid is also responsive to the screen due to fr causing the children of the grid to be more responsive.
Try to experiment with less static values and see if you responsiveness increases.
For the user buttons, justify-items: space around. Helps you put space around the buttons evenly. Which will look more like the practice picture.
I hope this helps.