This is really good! I love the spell-casting mechanic, and the way spells are randomised each run. Looks great and is very smooth to play. The dungeon generation is also nice.
I think experimenting to find new spells could be made more exiting: mana is so precious, and on top of that you suffer mana-burn for getting it wrong! Maybe you could unlock partial information about spells when you fail…
(Fwiw, your Rust+WebAssembly engine is really smooth. I’d like to know more about it!)