Initial idea

The settings panel gets centered and the options end up scrolling inside the panel if the list is too long.
Rearranged things

No real changes.
Corrections

* Clarified and corrected note about padding.
* "scrollDiv" has a potential sidebar, not "menu". The offsetWidth for "menu" should equal the clientWidth.
Switch to fixed positioning
innerWidth and innerHeight

Should've just done this from the start like I wanted to.
Tag Titles + Menu & non-API thumbnail_count fix

* Swapped out parseInt for Number and updated the getVar function to support returning negatives and decimals as numbers.
* Added an option for reverting post page titles to the full list of tags.
* Moved the "BBB Settings" menu link to the upper menu due to the secondary menu missing on some pages (ex: http://danbooru.donmai.us/static/site_map) and breaking the script.
* Fixed the non-API thumbnail_count method so that pages with no thumbnails didn't break the script.
Update better-better-booru.user.js

All settings are saved to a single key in localStorage and stored to an object when retrieved. Storage and retrieval of the settings is done via JSON's parse and stringify methods.

* Speed should be improved due to decreased calls to localStorage on the hard drive. The object in memory will handle all changes and calls for values.
* Conversion of booleans/numbers is handled by JSON. If you set a value to a boolean, it will be retrieved as a boolean. No more need to manually convert. Having a native method handle this all at once should be faster than individually converting each value as well.
* Having the object act as a middleman between the user and saved settings allows for the saved settings to be restored in the event of the user wanting to cancel changes.

Notes about changes:
* Added a "Cancel" button that allows the user to cancel any changes they make with the panel open. This includes canceling an accidental click on the reset option.
* Changed "Reset Settings" to "Reset to Defaults" to clarify that settings were being reset to "factory defaults" and not to previously saved/unaltered settings.
* Changed "Close" to "Save & Close" to better reflect what the button does now that "Cancel" is an option.
* Grouped all the "hide notice" options together.
Cleanup

Doesn't appear to be any need to keep it like this now.
Setting input references + Update menu display

As the menu is built, references to the inputs get stored in a new object for quick and easy access later on. I've used these new references to allow the updateSetting function to modify the menu display when a setting is changed from outside of it.
Allow updateSetting to accept multiple settings

Multiple settings can now be changed and saved with one call.
Variable cleanup

Placed all the previous global variables for settings under a single container.
Simple layout option #1

Trying to find relatively simple ways to refine the layout. Here's a rough first concept.

* Create several arrays denoting sections that try to split up the settings into certain categories. These arrays also determine the order of the settings for each section.
* Create a simple function that will use the arrays to make each section. It'll append a custom header/title to each section and create each setting in the same fashion already employed.

A similar option to this would not use arrays and rely on a function that would create one (or more settings) at a time. The other portions of the layout would be created manually and the function would be called to insert one or more settings where desired.
Setting names + Remove ad space + Fav list prep

* Changed the name on a few settings.
* Added another style rule that works with hiding advertisements by freeing up the space where the ad usually is.
* Moved the style sheet function to the top to allow it to run first since there's a good chance it'll tie in with more stuff.
* Getting ready for the favorites list to come back.
Danbooru notice tweak

* Altered the way the script uses Danbooru's notice alert so that it doesn't overwrite existing messages from Danbooru.
Scrollbar fix

My thoughts on this were wrong before, so I had to get more creative.
Update README.md
Favorites listing

* Added a link to the favorites listing for regular members.
Favorites listing fix

Don't add the link for logged out users.
Progress update

Things are still a bit of a mess, but it currently works in this state.

* All of the hide notice/ad options are now handled exclusively by the CSS.
* Like the input references, there's now an element reference for easy access to necessary elements in the menu.
* Style rules now use concatenation for readability and editing.
* Multiple element.style declarations are now handled by CSS class/ID rules.
* The menu layout is now wider to allow for less scrolling and increased option possibilities. The current width assumes 1024 will be the minimum user resolution width.
* The menu no longer vertically centers. It will instead stay a constant distance from the top of the viewport. Its height will be allowed to shrink and grow to fit the current option set and viewport height.
* The menu now features tabs.

The tabs and wider format also tie in with an upgrade to the border options that I'm planning. Some other potential tabs are "import/export settings", "help", and "about".
Class cleanup + Direct downloads fix

* Simplified the class rules a bit.
* Direct downloads fell by the wayside during the fixes. I've added it back as an optional feature since it currently requires the API.