flowchart TB
Start["Student clicks Start
MicroSim loaded paused"]:::start
P1["Pause after a normal run"]:::path
P2["Switches tabs while running"]:::path
P3["Pause under 250ms"]:::path
P4["Walks away, Pause never clicked"]:::path
E1["Emit ONE Experienced statement
duration = elapsed"]:::emit
E2["visibilitychange fires → Visibility Change Flush
emit immediately"]:::emit
E3["Emit nothing
mis-click"]:::none
E4["Emit nothing
unclosed interval"]:::none
Start --> P1 --> E1
Start --> P2 --> E2
Start --> P3 --> E3
Start --> P4 --> E4
classDef start fill:#37474f,stroke:#1c2529,color:#fff,font-size:12px
classDef path fill:#8fd3c9,stroke:#3bab9d,color:#0c2f2b,font-size:12px
classDef emit fill:#2a9d8f,stroke:#1f7a6f,color:#fff,font-size:12px
classDef none fill:#8b9bb0,stroke:#5f6e82,color:#fff,font-size:12px
linkStyle default stroke:#999,stroke-width:2px