v3.26.1
Stockholders’ Equity - Schedule of Accumulated Other Comprehensive Income (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]        
Balance at beginning of period $ 439,344 $ 467,159 $ 516,044 $ 422,062
Other comprehensive (loss) income before reclassifications, net of tax (32) 108 (214) 179
Amounts reclassified from accumulated other comprehensive income, net of tax 0 0 (39) 0
Net current period other comprehensive (loss) income (32) 108 (253) 179
Balance at end of period 453,257 515,022 453,257 515,022
Unrealized (losses) gains (100) 0 (200) (100)
Tax expense (benefit) 0 0 0 0
Interest and other income, net 1,134 2,719 2,638 5,086
Income before income taxes 41,137 27,077 78,020 53,614
Provision for income taxes 13,085 9,965 25,736 21,443
Net income 28,052 17,112 52,284 32,171
Unrealized gains or losses on marketable securities        
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]        
Balance at beginning of period 3 (32) 151 18
Other comprehensive (loss) income before reclassifications, net of tax (17) (17) (126) (67)
Amounts reclassified from accumulated other comprehensive income, net of tax 0 0 (39) 0
Net current period other comprehensive (loss) income (17) (17) (165) (67)
Balance at end of period (14) (49) (14) (49)
Unrealized gains or losses on marketable securities | Reclassification out of Accumulated Other Comprehensive Income        
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]        
Interest and other income, net 0 0 52 0
Income before income taxes 0 0 52 0
Provision for income taxes 0 0 13 0
Net income 0 0 39 0
Foreign currency translation adjustments        
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]        
Balance at beginning of period 274 142 347 21
Other comprehensive (loss) income before reclassifications, net of tax (15) 125 (88) 246
Amounts reclassified from accumulated other comprehensive income, net of tax 0 0 0 0
Net current period other comprehensive (loss) income (15) 125 (88) 246
Balance at end of period 259 267 259 267
Accumulated Other Comprehensive Income        
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]        
Balance at beginning of period 277 110 498 39
Net current period other comprehensive (loss) income (32) 108 (253) 179
Balance at end of period $ 245 $ 218 $ 245 $ 218