v3.26.1
Net Income per Share - Reconciliation of Numerators and Denominators of Basic and Dilutive Net Income per Common Share Computations (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items]    
Net Income (Loss) $ 7,315 $ 25,682
Add: Interest expense, net of tax, attributable to assumed conversion of convertible senior notes 0 2,345
Net income, diluted $ 7,315 $ 28,027
Weighted average common shares outstanding, basic 34,384,207 33,721,603
Weighted average common shares outstanding, diluted 36,194,023 39,914,487
Net income (loss) per share, basic $ 0.21 $ 0.76
Net income per share, diluted $ 0.2 $ 0.7
Employee stock purchase plan [Member]    
Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items]    
Effect of dilutive securities 5,972 0
Convertible senior notes [Member]    
Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items]    
Effect of dilutive securities 0 4,893,805
Options to purchase common stock [Member]    
Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items]    
Effect of dilutive securities 1,496,026 1,200,858
Restricted stock units [Member]    
Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items]    
Effect of dilutive securities 307,303 98,221
Restricted stock awards [Member]    
Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items]    
Effect of dilutive securities 515 0