Just a quick look...
it appears your code is probably not using a stylesheet (css). ;-(
I would suggest learning some css basics and replace as much of the inline css as possible. You will be able to make sheet-wide formatting changes WAY easier. ;-)
You can include a css rule to adjust the default width of your selects. Assigning class names to your html elements would allow you to target specific sections for styling, but here's something that should help immediately.
.charsheet table select {
max-width: fit-content;
}
You might need to go in and change some of those hard coded (inline width) assignments as well. You can also enclose your code in a outermost wrapper div with a fixed width to help contain the sheet, but overflowing content will either need to be scrolled or hidden if the inner content is too wide. yuck.
Cheers