8 hours, save rework.
Made it harder to ruin the save data. I have been consistently achieving impossible numbers on my save files after a new runs worth of play. In response I have reworked the way I interact with save data to care about more specific parameters and ensure that the correct data is always loaded. When the player is respawned a copy of the current save is loaded and tinkered with by the save phases. This data is then compared against the original and replaces it if there were advancements. This is as opposed to having corresponding independent variables in the game mode script for each save data type variable that were tinkered with.
Changed what the save file cares about. For game play relevant stats, the save tracks the progress of each layer accessible by the current save phase, the time it took between save phases (untracked but the save is set up to take it), and the player's total pick ups gathered. The split time is of the fastest time with the highest build progress (faster times with lower than highest historical build progress are discarded). Removed the tracking of variables that could be deduced from these core stats.
Rewrote the saving and loading process in large part. The data tracked, and thus the data being distributed out to objects, changed pretty severely.
The function to fade out exhausted gate components in order to push the player toward an upgrade can be called on any layer of the portal.
Finally moved load 1 to the correct phase.