round duration 30 seconds. Look at the time of the previous round and add +30 seconds. simple.
If you check the provably fair section, the round is always finish every 30 seconds and the time is written.
Ok, that's good. But you need to include that information in your provably fair section and verification. That way if the round duration is not 30 seconds, someone can tell the round is not fair.
But your system is still has issues. For instance now the "ROUND_CREATED" and "SECRET" are values created by you, and as soon as you create those values you know the game outcome, thus you grind it to pick what ever outcome you want.
The standard solution would be a simply hash chain, popularized by bustabit (
https://bitcointalk.org/index.php?topic=2807542.0 ) or more novel approach would be using
https://provablyhonest.com/ 's hashchain which would be able to offer you some extra guarantees against software errors or compromises
I added this as an info.