v3.26.1
Earnings Per Share - Schedule of Computations of Basic and Diluted Net (Loss) Per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Mar. 31, 2026
Jun. 30, 2025
Mar. 31, 2025
Jun. 30, 2026
Jun. 30, 2025
Numerator:            
Net (loss) income $ (15,051) $ 14,496 $ 11,983 $ 2,417 $ (555) $ 14,400
Adjustment for interest expense on convertible senior notes, net of tax 0   1,482   0 2,960
Net (loss) income - diluted $ (15,051)   $ 13,465   $ (555) $ 17,360
Denominator:            
Weighted-average shares outstanding - basic (in shares) 32,460,783   31,810,612   32,275,159 31,802,222
Effect of dilutive securities:            
Effect of dilutive securities, Convertible senior notes (in shares) 0   6,606,305   0 6,606,305
Weighted average shares outstanding - diluted (in shares) 32,460,783   39,075,703   32,275,159 39,283,297
(Loss) earnings per share — basic (in dollars per share) $ (0.46)   $ 0.38   $ (0.02) $ 0.45
(Loss) earnings per share — diluted (in dollars per share) $ (0.46)   $ 0.34   $ (0.02) $ 0.44
Stock options            
Effect of dilutive securities:            
Effect of dilutive securities, Share-based compensation (in shares) 0   213,054   0 231,458
Restricted stock units            
Effect of dilutive securities:            
Effect of dilutive securities, Share-based compensation (in shares) 0   445,593   0 643,312
Employee stock purchase plan            
Effect of dilutive securities:            
Effect of dilutive securities, Share-based compensation (in shares) 0   139   0 0