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 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 |
151,700
|
|
|
|
|
|
| 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)
|
| 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 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)
|
| 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 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 |
$ 193,446
|
|
|
|
|
|
| Ending balance (in shares) at Jun. 30, 2026 |
65,265,000
|
72,506
|
|
|
|
|
| Ending balance (in shares) at Jun. 30, 2026 |
7,241,000
|
|
7,241
|
|
|
|
| Ending balance at Jun. 30, 2026 |
$ 1,311,778
|
$ 725
|
$ (477,438)
|
917,707
|
872,950
|
(2,166)
|
| 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 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 |
65,265,000
|
72,506
|
|
|
|
|
| Ending balance (in shares) at Jun. 30, 2026 |
7,241,000
|
|
7,241
|
|
|
|
| Ending balance at Jun. 30, 2026 |
$ 1,311,778
|
$ 725
|
$ (477,438)
|
$ 917,707
|
$ 872,950
|
$ (2,166)
|