Correctly handle negative offsets for TOTP