diff --git a/src/components/interactives/ComputingPi.tsx b/src/components/interactives/ComputingPi.tsx
index d975e9f..f8a62af 100644
--- a/src/components/interactives/ComputingPi.tsx
+++ b/src/components/interactives/ComputingPi.tsx
@@ -79,6 +79,7 @@ const ComputingPi: React.FC = () => {
const started = runs.length > 0;
const allStopped = started && runs.every((r) => r.stopped);
+ const stoppedCount = runs.filter((r) => r.stopped).length;
const discardedCount = runs.filter((r) => r.discarded).length;
const avgTimes4 = useMemo(() => {
@@ -165,51 +166,84 @@ const ComputingPi: React.FC = () => {
)}
- {/* Grid of runs */}
+ {/* Instruction + grid of runs */}
{started ? (
-
- {runs.map((run, idx) => (
- allStopped && setSelectedIdx(idx)}
- />
- ))}
-
+ <>
+
+ Click on any of the completed runs to view the full sequence.
+
+
+ {runs.map((run, idx) => (
+ run.stopped && setSelectedIdx(idx)}
+ />
+ ))}
+
+ >
) : (
Pick a number of runs and press Start.
)}
- {allStopped && (
+ {allStopped && discardedCount > 0 && (
- All {runs.length} runs complete
- {discardedCount > 0 && (
- <>
- {' '}(
-
- {discardedCount} discarded after hitting the {MAX_TOSSES_PER_RUN}-toss cap
-
- )
- >
- )}
- . Click any tile to see its full toss sequence.
+
+ {discardedCount} run{discardedCount === 1 ? '' : 's'} discarded after hitting the {MAX_TOSSES_PER_RUN}-toss cap.
+
)}
+
+