I wrote my code fast and I used some advanced concept like an event manager inspired by this tutorial: https://unity.com/how-to/architect-game-code-scriptable-objects and Unity's new UI: UIElements (still in preview). So my code will be hard to understand.
The most important part of the gameplay are in Atom.OnTriggerEnter2D(), Atom.Split() and Electron.Throw().
About Odin Inspector, it just makes the inspector looks better (for example [Required] displays an error message when a field is empty). As it is a paid asset I didn't included the plugin in the sources. If you want to run the sources and you dont have the plugin, you have to remove all the "using Sirenix.OdinInspector" and all the odin's attributes that raise an "The type or namespace name could not be found" error. The game will run just fine.