| 
 The components of contract assets and contract liabilities consisted of the following: 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 
 | 
March 31, | 
 | 
December 31, | 
 
 | 
2025 | 
 | 
2024 | 
 
 | 
(in thousands) | 
 
| Contract assets - current: | 
 | 
 | 
 | 
 
| Unbilled revenue | 
$ | 
32,431  | 
 | 
 | 
$ | 
27,852  | 
 | 
 
 | 
 | 
 | 
 | 
 
| Total contract assets - current | 
$ | 
32,431  | 
 | 
 | 
$ | 
27,852  | 
 | 
 
 | 
 | 
 | 
 | 
 
| Contract assets - long-term: | 
 | 
 | 
 | 
 
| Unbilled revenue - long-term | 
$ | 
6,755  | 
 | 
 | 
$ | 
173  | 
 | 
 
| Other contract assets - long-term | 
825  | 
 | 
 | 
937  | 
 | 
 
Total contract assets - long-term(1)
  | 
$ | 
7,580  | 
 | 
 | 
$ | 
1,110  | 
 | 
 
 | 
 | 
 | 
 | 
 
| Contract liabilities - current: | 
 | 
 | 
 | 
 
| Deferred revenue - current | 
$ | 
12,573  | 
 | 
 | 
$ | 
2,160  | 
 | 
 
| Other contract liabilities - current | 
—  | 
 | 
 | 
23  | 
 | 
 
| Total contract liabilities - current | 
$ | 
12,573  | 
 | 
 | 
$ | 
2,183  | 
 | 
 
 | 
 | 
 | 
 | 
 
| Contract liabilities - long-term: | 
 | 
 | 
 | 
 
| Deferred revenue - long-term | 
$ | 
24,000  | 
 | 
 | 
$ | 
—  | 
 | 
 
Other contract liabilities - long-term(2)
  | 
544  | 
 | 
 | 
678  | 
 | 
 
Total contract liabilities - long-term  | 
$ | 
24,544  | 
 | 
 | 
$ | 
678  | 
 | 
 
  
(1) Total contract assets - long term is included in other assets in the unaudited condensed consolidated balance sheets. 
(2) Other contract liabilities - long term is included in other liabilities in the unaudited condensed consolidated balance sheets. 
Changes in short-term and long-term contract assets and contract liabilities for the three months ended March 31, 2025 were as follows: 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 
 | 
Contract Assets | 
 | 
Contract Liabilities | 
 
 | 
(in thousands) | 
 
| Balance as of January 1, 2025 | 
$ | 
28,962  | 
 | 
 | 
$ | 
2,861  | 
 | 
 
| Billings or revenue recognized that was included in the beginning balance | 
(1,143) | 
 | 
 | 
(1,237) | 
 | 
 
| Changes in contract assets or contract liabilities, net of reclassification to receivables | 
12,505  | 
 | 
 | 
35,645  | 
 | 
 
| Cumulative catch-up adjustment arising from changes in estimates to complete during the year | 
(201) | 
 | 
 | 
5  | 
 | 
 
 | 
 | 
 | 
 | 
 
| Changes in costs to fulfill and amortization of commission costs  | 
(112) | 
 | 
 | 
—  | 
 | 
 
| Changes in contract commission costs | 
—  | 
 | 
 | 
(157) | 
 | 
 
| Balance as of March 31, 2025 | 
$ | 
40,011  | 
 | 
 | 
$ | 
37,117  | 
 | 
 
  
 |