diff --git a/lib/ui/screens/game_screen.dart b/lib/ui/screens/game_screen.dart index 24a058e..23daf71 100644 --- a/lib/ui/screens/game_screen.dart +++ b/lib/ui/screens/game_screen.dart @@ -147,6 +147,11 @@ class _GameScreenState extends ConsumerState } } if (prev?.phase != next.phase) { + // A finished stage ends the tutorial; otherwise the overlay would sit + // on top of the result card and leak into the next stage. + if (next.phase == GamePhase.won || next.phase == GamePhase.lost) { + ref.read(tutorialProvider.notifier).skip(); + } if (next.phase == GamePhase.won) { audio.play(Sfx.win); // recordResult keeps the best run, so re-entry is harmless.