v3.26.1
Net (Loss) Income Per Share - Schedule of Earnings Per Share, Basic and Diluted (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 $ (1,229) $ (10,322) $ 2,490 $ 555 $ (11,551) $ 3,045
Denominator:            
Basic (in shares) 23,280,652   28,479,977   23,710,471 29,623,352
Plus: dilutive effect of stock options (in shares) 0   1,772,789   0 1,970,711
Plus: dilutive effect of RSUs (in shares) 0   172,127   0 213,792
Plus: dilutive effect of ESPP (in shares) 0   8,626   0 11,962
Diluted (in shares) 23,280,652   30,433,519   23,710,471 31,819,817
Net (loss) income per share, basic (in usd per share) $ (0.05)   $ 0.09   $ (0.49) $ 0.10
Net (loss) income per share, diluted (in usd per share) $ (0.05)   $ 0.08   $ (0.49) $ 0.10