Ok, since I've got pretty extensive experience with CSS, I'll take this on, as I'm looking to do something similar. I'll update this post as I research.
First, find what theme you're using:
gsettings get org.gnome.desktop.interface gtk-theme
You can then switch themes to load any changes you've made to the CSS, without having to log out and back in, or reboot... switch to another theme, then switch back to the one you're editing:
gsettings set org.gnome.desktop.interface gtk-theme "theme name"
Second, if you don't have it, install Nautilus-admin:
sudo apt install nautilus-admin
nautilus -q
... trust me, it makes everything so much easier.
Next, make sure you're looking at the correct gnome-shell.css... each color theme has its own, with the same name.
Open Nautilus (file manager), scroll to the bottom, select "Other Locations", click "Computer", click the search icon, and enter "gnome-shell.css". Wait until Nautilus is done searching to see all the gnome-shell.css files. Select the one for the color theme you're using.
I'm using:
/usr/share/themes/ZorinBlue-Light/gnome-shell/gnome-shell.css
Right-click the file and select "Edit As Administrator", enter your password (it might prompt you twice... it's a bug) and you can now edit the file as sudo.
Ok, you're going to see a lot of stuff like this:
border-radius: 0 0 0 10px
That first 0 is the window's top-left corner, the second is the top-right corner, the third is the bottom-right corner and the fourth is the bottom-left corner.
Since maximized windows have no rounding, and because a single 0 is a shortcut for 0 0 0 0, we're searching for "radius: 0". That gives us 17 options, only 7 of which meet our search in this case.
StScrollBar StBin#trough { border-radius: 0; background-color: transparent; }
.workspace-switcher { background: transparent; border: none; border-radius: 0; padding: 0; spacing: 12px; }
#panel.unlock-screen .panel-corner, #panel.login-screen .panel-corner { -panel-corner-radius: 0; -panel-corner-background-color: transparent; -panel-corner-border-color: transparent; }
#panel .panel-corner { -panel-corner-radius: 0; -panel-corner-background-color: transparent; -panel-corner-border-color: transparent; }
.tile-preview-left.on-primary { border-radius: 0; }
.tile-preview-right.on-primary { border-radius: 0; }
.tile-preview-left.tile-preview-right.on-primary { border-radius: 0; }
Those # symbols aren't comments, they're element name selectors.
Now we just have to figure out which of those applies to maximized windows.
We may not strike paydirt here, as not mentioning a border radius is also akin to border-radius: 0... but now we'll just start hacking.
Take a line:
#panel .panel-corner { -panel-corner-radius: 0; -panel-corner-background-color: transparent; -panel-corner-border-color: transparent; }
and comment it:
/* #panel .panel-corner { -panel-corner-radius: 0; -panel-corner-background-color: transparent; -panel-corner-border-color: transparent; } */
... then paste the same line directly below that:
#panel .panel-corner { -panel-corner-radius: 0; -panel-corner-background-color: transparent; -panel-corner-border-color: transparent; }
... and edit that pasted line:
#panel .panel-corner { -panel-corner-radius:
10; -panel-corner-background-color: transparent; -panel-corner-border-color: transparent; }
We do it as above so if you mess up the settings badly, you can easily revert to stock (just delete the line you're working on, and uncomment the line you'd commented previously).
Now, I'm unsure if the effect is immediate, or if we have to do something else to effect the change... researching...