levelStateIcon function
Icon shown over a LevelNodeButton for state — only locked gets one
(a lock glyph instead of the level number); unlocked/completed just
show the number, distinguished from each other by fill/border color.
Implementation
IconData? levelStateIcon(LevelState state) =>
state == LevelState.locked ? Icons.lock_rounded : null;