Tumblr Sidebar Revert

Description: Greasemonkey User Script to Revert the 2015-04-08 Blog Menu Change
Latest Version: 1.7 (2016-05-02)
Requirements: Greasemonkey on Firefox, Tampermonkey on Chrome, or any other modern browser with support for user scripts.
Download: tumblrsidebar.user.js
tumblrsidebar_dark.user.js (Alternate Version for Users of Darker Tumblr Stylish Script)
tumblrsidebar_trans.user.js (Alternate Version for "Classic" appearance and users of other themes)
Bugs? In my code? It's more likely than you think. If you notice anything that's broken or incompatible, E-Mail Me or Send an Ask, and I'll try my best to fix it!
Screenshots: (Click for full-size)
Regular Screenshot
Regular
Dark Screenshot
Dark
 Transparent Screenshot
Transparent

Changelog:
Tweaks: Various little things people have wanted
Add features you want before the '}, 2500);' line at end of script. Your mileage may vary, these haven't been thoroughly tested.
// Hide all blogs except for your main blog
addCSS('blogMenuCSS', '#right_column .popover_menu_item_blog { display: none; }');
addCSS('blogMenuCSS', '#right_column .popover_menu_item_blog:first-of-type { display: block !important; }');

// Show Blogs First (Above Account Stats)
var innerList = document.querySelector('#right_column .popover_inner_list');
innerList.insertBefore(document.querySelector("#right_column .popover_menu_sublist"), innerList.childNodes[0]);
innerList.insertBefore(document.querySelectorAll("#right_column .popover_header")[1], innerList.childNodes[0]);

Source Code [JS]: Note: This source combines all scripts to save space as they share most of their code; see comments near bottom
// ==UserScript==
// @name          Tumblr Sidebar Revert
// @author        Sir Wuffleton
// @namespace     https://wuffleton.com/code/tumblrsidebar
// @description   Moves the blog menu back onto the sidebar
// @match         http://www.tumblr.com/dashboard*
// @match         https://www.tumblr.com/dashboard*
// @grant         none
// @version       1.7
// @updateURL     https://wuffleton.com/code/tumblrsidebar/tumblrsidebar.meta.js
// ==/UserScript==

// Function to add CSS to my custom node
function addCSS(cssID, style) {
    document.getElementById(cssID).appendChild(document.createTextNode(style));
}

// Function to remove CSS from my custom node
function removeCSS(cssID, childNum) {
    var element = document.getElementById(cssID);
    element.removeChild(element.childNodes[childNum]);
}

// Create a stylesheet so we can re-style certain things that get broken
var css = document.createElement('style');
css.setAttribute('type', 'text/css');
css.setAttribute('id', 'blogMenuCSS');
document.head.appendChild(css);

// Add styles to hide menu
addCSS('blogMenuCSS', '.popover--active { visibility: hidden !important; opacity: 0 !important }');

// Fire event for menu to create needed DOM elements
var evt = document.createEvent("HTMLEvents");
evt.initEvent('click', true, true );
buttonElement = document.getElementById('account_button');
buttonElement.dispatchEvent(evt);

// Delay execution by 2.5 seconds to avoid issues with Xkit
window.setTimeout(function() {
    // "Click" the button again to avoid problems with clicks going through
    buttonElement.dispatchEvent(evt);
    document.body.dispatchEvent(evt);

    // Move inner menu into sidebar
    columnContainer = document.getElementById('right_column');
    menuContainer = document.querySelector('.popover--account-popover .popover');
    menuContainer.classList.add('popover--active');
    columnContainer.insertBefore(menuContainer, columnContainer.childNodes[0]);

    // Override menu styles to make it behave
    menuContainer.style.cssText = 'position: static !important; z-index: auto !important; width: 228px !important;';

    // Fix account stat styles
    addCSS('blogMenuCSS', '#right_column .popover_menu * { overflow: hidden !important }');
    addCSS('blogMenuCSS', '#right_column .popover_menu_item_anchor { line-height: 36px; }');
    addCSS('blogMenuCSS', '#right_column .popover_menu_item_anchor_icon { width: 25px; text-align: center; font-size: 28px; margin-right: 10px; line-height: 35px; float:left; }');
    addCSS('blogMenuCSS', '#right_column .popover_menu_item { padding: 0 15px; }');
    addCSS('blogMenuCSS', '#right_column .blog-list-item-anchor, #right_column .blog-list-item, #right_column .popover_menu_item_anchor { padding: 0; }');
    addCSS('blogMenuCSS', '#right_column .blog-sub-nav-item { padding: 4px !important }');
    addCSS('blogMenuCSS', '#right_column .popover_menu .popover_subsection:first-of-type { padding-bottom: 12px }');
    addCSS('blogMenuCSS', '.identity .controls_section { margin: 8px 0 0 !important; }');

    // Remove account button
    document.getElementById('account_button').style.cssText = 'display: none !important';

    /* tumblrsidebar.user.js */
    // Vanilla theme
    addCSS('blogMenuCSS', '#right_column .blog-sub-nav-item:hover { box-shadow: -4px 0px 0px #DDE5ED, 10px 0px 0px #DDE5ED !important; background: none repeat scroll 0% 0% #DDE5ED !important; }');

    /* tumblrsidebar_dark.user.js */
    // Dark theme
    lightClasses = document.querySelectorAll('#right_column .blog-list-item--on-light');
    for (var i = 0; i < lightClasses.length; i++) {
        lightClasses[i].classList.remove('blog-list-item--on-light');
    }
    addCSS('blogMenuCSS', '#right_column .blog-sub-nav-item:hover { box-shadow: -4px 0px 0px #252525, 10px 0px 0px #252525 !important; background: none repeat scroll 0% 0% #252525 !important; color: #FFF !important;}');
    addCSS('blogMenuCSS', '#right_column .blog-sub-nav-item:hover .blog-sub-nav-item-label, .blog-sub-nav-item:hover .blog-sub-nav-item-data { color: #fff !important; }');
    addCSS('blogMenuCSS', '#right_column .icon_manburger { opacity: 1 !important }');
    addCSS('blogMenuCSS', '#right_column .popover_header { border: 1px solid #313131 !important; border-radius: 0px !important; }');

    /* tumblrsidebar_trans.user.js */
    // Transparent theme
    addCSS('blogMenuCSS', '#right_column > .popover *, #right_column > .popover { background-color: transparent; box-shadow: none; color: rgba(255, 255, 255, 0.5); border-radius: 0; }');
    addCSS('blogMenuCSS', '#right_column .popover_menu_item:hover { background-color: rgba(255, 255, 255, 0.075) !important; }');
    addCSS('blogMenuCSS', '#right_column .blog-sub-nav-item:hover { background-color: rgba(255 , 255, 255, 0.075) !important; }');
    addCSS('blogMenuCSS', '#right_column .popover_item_suffix:hover a { color: rgba(255, 255, 255, 0.7) !important; }');
    addCSS('blogMenuCSS', '#right_column .popover_header { border-bottom: 2px solid rgba(255, 255, 255, 0.075); }');

    // Activate Sidebar
    removeCSS('blogMenuCSS', 0);
}, 2500);