Condensed Consolidated Statements of Changes in Stockholders' Equity - USD ($) $ in Thousands |
Total |
Common Stock |
Treasury Stock |
Additional Paid-In Capital |
Retained Earnings |
Accumulated Other Comprehensive Income (Loss) |
| Beginning balance (in shares) at Dec. 31, 2024 |
|
70,905
|
|
|
|
|
| Beginning balance (in shares) at Dec. 31, 2024 |
|
|
2,455
|
|
|
|
| Beginning balance at Dec. 31, 2024 |
$ 1,088,011
|
$ 709
|
$ (175,000)
|
$ 817,972
|
$ 445,945
|
$ (1,615)
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
| Net income |
72,945
|
|
|
|
72,945
|
|
| Other comprehensive income (Loss) |
(143)
|
|
|
|
|
(143)
|
| Stock option exercises and employee stock plan purchases (in shares) |
|
107
|
|
|
|
|
| Stock option exercises and employee stock plan purchases |
5,869
|
$ 1
|
|
5,868
|
|
|
| Vesting of restricted stock units (in shares) |
|
845
|
|
|
|
|
| Vesting of restricted stock units |
|
$ 8
|
|
(8)
|
|
|
| Shares withheld to cover taxes (in shares) |
|
(250)
|
|
|
|
|
| Shares withheld to cover taxes |
(23,686)
|
$ (2)
|
|
(23,684)
|
|
|
| Stock-based compensation |
21,198
|
|
|
21,198
|
|
|
| Ending balance (in shares) at Mar. 31, 2025 |
|
71,607
|
|
|
|
|
| Ending balance (in shares) at Mar. 31, 2025 |
|
|
2,455
|
|
|
|
| Ending balance at Mar. 31, 2025 |
1,164,194
|
$ 716
|
$ (175,000)
|
821,346
|
518,890
|
(1,758)
|
| Beginning balance (in shares) at Dec. 31, 2024 |
|
70,905
|
|
|
|
|
| Beginning balance (in shares) at Dec. 31, 2024 |
|
|
2,455
|
|
|
|
| Beginning balance at Dec. 31, 2024 |
1,088,011
|
$ 709
|
$ (175,000)
|
817,972
|
445,945
|
(1,615)
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
| Net income |
179,471
|
|
|
|
|
|
| Ending balance (in shares) at Sep. 30, 2025 |
|
71,770
|
|
|
|
|
| Ending balance (in shares) at Sep. 30, 2025 |
|
|
5,471
|
|
|
|
| Ending balance at Sep. 30, 2025 |
1,119,206
|
$ 718
|
$ (376,456)
|
871,193
|
625,416
|
(1,665)
|
| Beginning balance (in shares) at Dec. 31, 2024 |
|
70,905
|
|
|
|
|
| Beginning balance (in shares) at Dec. 31, 2024 |
|
|
2,455
|
|
|
|
| Beginning balance at Dec. 31, 2024 |
$ 1,088,011
|
$ 709
|
$ (175,000)
|
817,972
|
445,945
|
(1,615)
|
| Ending balance (in shares) at Dec. 31, 2025 |
64,586,000
|
71,827
|
|
|
|
|
| Ending balance (in shares) at Dec. 31, 2025 |
7,241,000
|
|
7,241
|
|
|
|
| Ending balance at Dec. 31, 2025 |
$ 1,089,797
|
$ 718
|
$ (477,438)
|
888,320
|
679,504
|
(1,307)
|
| Beginning balance (in shares) at Mar. 31, 2025 |
|
71,607
|
|
|
|
|
| Beginning balance (in shares) at Mar. 31, 2025 |
|
|
2,455
|
|
|
|
| Beginning balance at Mar. 31, 2025 |
1,164,194
|
$ 716
|
$ (175,000)
|
821,346
|
518,890
|
(1,758)
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
| Net income |
78,755
|
|
|
|
78,755
|
|
| Other comprehensive income (Loss) |
276
|
|
|
|
|
276
|
| Stock option exercises and employee stock plan purchases (in shares) |
|
56
|
|
|
|
|
| Stock option exercises and employee stock plan purchases |
2,445
|
$ 1
|
|
2,444
|
|
|
| Vesting of restricted stock units (in shares) |
|
48
|
|
|
|
|
| Shares withheld to cover taxes (in shares) |
|
(9)
|
|
|
|
|
| Shares withheld to cover taxes |
(963)
|
|
|
(963)
|
|
|
| Repurchase of common stock, including excise tax (in shares) |
|
|
1,260
|
|
|
|
| Repurchase of common stock, including excise tax |
(100,245)
|
|
$ (100,000)
|
(245)
|
|
|
| Stock-based compensation |
22,321
|
|
|
22,321
|
|
|
| Ending balance (in shares) at Jun. 30, 2025 |
|
71,702
|
|
|
|
|
| Ending balance (in shares) at Jun. 30, 2025 |
|
|
3,715
|
|
|
|
| Ending balance at Jun. 30, 2025 |
1,166,783
|
$ 717
|
$ (275,000)
|
844,903
|
597,645
|
(1,482)
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
| Net income |
27,771
|
|
|
|
27,771
|
|
| Other comprehensive income (Loss) |
(183)
|
|
|
|
|
(183)
|
| Stock option exercises and employee stock plan purchases (in shares) |
|
41
|
|
|
|
|
| Stock option exercises and employee stock plan purchases |
1,885
|
$ 1
|
|
1,884
|
|
|
| Vesting of restricted stock units (in shares) |
|
40
|
|
|
|
|
| Shares withheld to cover taxes (in shares) |
|
(13)
|
|
|
|
|
| Shares withheld to cover taxes |
(591)
|
|
|
(591)
|
|
|
| Repurchase of common stock, including excise tax (in shares) |
|
|
1,756
|
|
|
|
| Repurchase of common stock, including excise tax |
(100,960)
|
|
$ (101,456)
|
496
|
|
|
| Stock-based compensation |
24,501
|
|
|
24,501
|
|
|
| Ending balance (in shares) at Sep. 30, 2025 |
|
71,770
|
|
|
|
|
| Ending balance (in shares) at Sep. 30, 2025 |
|
|
5,471
|
|
|
|
| Ending balance at Sep. 30, 2025 |
$ 1,119,206
|
$ 718
|
$ (376,456)
|
871,193
|
625,416
|
(1,665)
|
| Beginning balance (in shares) at Dec. 31, 2025 |
64,586,000
|
71,827
|
|
|
|
|
| Beginning balance (in shares) at Dec. 31, 2025 |
7,241,000
|
|
7,241
|
|
|
|
| Beginning balance at Dec. 31, 2025 |
$ 1,089,797
|
$ 718
|
$ (477,438)
|
888,320
|
679,504
|
(1,307)
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
| Net income |
118,417
|
|
|
|
118,417
|
|
| Other comprehensive income (Loss) |
(560)
|
|
|
|
|
(560)
|
| Stock option exercises and employee stock plan purchases (in shares) |
|
91
|
|
|
|
|
| Stock option exercises and employee stock plan purchases |
4,288
|
$ 1
|
|
4,287
|
|
|
| Vesting of restricted stock units (in shares) |
|
604
|
|
|
|
|
| Vesting of restricted stock units |
0
|
$ 6
|
|
(6)
|
|
|
| Shares withheld to cover taxes (in shares) |
|
(207)
|
|
|
|
|
| Shares withheld to cover taxes |
(15,695)
|
$ (2)
|
|
(15,693)
|
|
|
| Stock-based compensation |
16,041
|
|
|
16,041
|
|
|
| Ending balance (in shares) at Mar. 31, 2026 |
|
72,315
|
|
|
|
|
| Ending balance (in shares) at Mar. 31, 2026 |
|
|
7,241
|
|
|
|
| Ending balance at Mar. 31, 2026 |
$ 1,212,288
|
$ 723
|
$ (477,438)
|
892,949
|
797,921
|
(1,867)
|
| Beginning balance (in shares) at Dec. 31, 2025 |
64,586,000
|
71,827
|
|
|
|
|
| Beginning balance (in shares) at Dec. 31, 2025 |
7,241,000
|
|
7,241
|
|
|
|
| Beginning balance at Dec. 31, 2025 |
$ 1,089,797
|
$ 718
|
$ (477,438)
|
888,320
|
679,504
|
(1,307)
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
| Net income |
$ 215,817
|
|
|
|
|
|
| Ending balance (in shares) at Sep. 30, 2026 |
65,373,000
|
72,614
|
|
|
|
|
| Ending balance (in shares) at Sep. 30, 2026 |
7,241,000
|
|
7,241
|
|
|
|
| Ending balance at Sep. 30, 2026 |
$ 1,355,712
|
$ 726
|
$ (477,438)
|
939,321
|
895,321
|
(2,218)
|
| Beginning balance (in shares) at Mar. 31, 2026 |
|
72,315
|
|
|
|
|
| Beginning balance (in shares) at Mar. 31, 2026 |
|
|
7,241
|
|
|
|
| Beginning balance at Mar. 31, 2026 |
1,212,288
|
$ 723
|
$ (477,438)
|
892,949
|
797,921
|
(1,867)
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
| Net income |
75,029
|
|
|
|
75,029
|
|
| Other comprehensive income (Loss) |
(299)
|
|
|
|
|
(299)
|
| Stock option exercises and employee stock plan purchases (in shares) |
|
126
|
|
|
|
|
| Stock option exercises and employee stock plan purchases |
6,855
|
$ 1
|
|
6,854
|
|
|
| Vesting of restricted stock units (in shares) |
|
86
|
|
|
|
|
| Vesting of restricted stock units |
|
$ 1
|
|
(1)
|
|
|
| Shares withheld to cover taxes (in shares) |
|
(21)
|
|
|
|
|
| Shares withheld to cover taxes |
(2,102)
|
|
|
(2,102)
|
|
|
| Stock-based compensation |
20,007
|
|
|
20,007
|
|
|
| Ending balance (in shares) at Jun. 30, 2026 |
|
72,506
|
|
|
|
|
| Ending balance (in shares) at Jun. 30, 2026 |
|
|
7,241
|
|
|
|
| Ending balance at Jun. 30, 2026 |
1,311,778
|
$ 725
|
$ (477,438)
|
917,707
|
872,950
|
(2,166)
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
|
| Net income |
22,371
|
|
|
|
22,371
|
|
| Other comprehensive income (Loss) |
(52)
|
|
|
|
|
(52)
|
| Stock option exercises and employee stock plan purchases (in shares) |
|
53
|
|
|
|
|
| Stock option exercises and employee stock plan purchases |
3,160
|
$ (0)
|
|
3,160
|
|
|
| Vesting of restricted stock units (in shares) |
|
88
|
|
|
|
|
| Vesting of restricted stock units |
|
$ 1
|
|
(1)
|
|
|
| Shares withheld to cover taxes (in shares) |
|
(33)
|
|
|
|
|
| Shares withheld to cover taxes |
(3,420)
|
|
|
(3,420)
|
|
|
| Stock-based compensation |
$ 21,875
|
|
|
21,875
|
|
|
| Ending balance (in shares) at Sep. 30, 2026 |
65,373,000
|
72,614
|
|
|
|
|
| Ending balance (in shares) at Sep. 30, 2026 |
7,241,000
|
|
7,241
|
|
|
|
| Ending balance at Sep. 30, 2026 |
$ 1,355,712
|
$ 726
|
$ (477,438)
|
$ 939,321
|
$ 895,321
|
$ (2,218)
|