Condensed Consolidated Statements of Changes In Stockholders' Equity - USD ($) shares in Thousands, $ in Thousands | Total | Common Stock | Treasury Stock | Additional Paid-In Capital | Accumulated Deficit | Accumulated Other Comprehensive Income (Loss) |
Beginning balance (in shares) at Dec. 31, 2021 | | 67,739 | | | | |
Beginning balance at Dec. 31, 2021 | $ 464,439 | $ 677 | $ 0 | $ 685,472 | $ (221,225) | $ (485) |
Beginning balance, treasury stock (in shares) at Dec. 31, 2021 | | | 0 | | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Net income (loss) | 42,962 | | | | 42,962 | |
Other comprehensive (loss) income | 2,396 | | | | | 2,396 |
Stock option exercises and employee stock plan purchases (in shares) | | 296 | | | | |
Stock option exercises and employee stock plan purchases | 5,934 | $ 3 | | 5,931 | | |
Vesting of restricted stock awards and units (in shares) | | 645 | | | | |
Vesting of restricted stock awards and units | 0 | $ 7 | | (7) | | |
Shares withheld to cover taxes (in shares) | | (110) | | | | |
Shares withheld to cover taxes | (5,504) | $ (1) | | (5,503) | | |
Stock-based compensation | 5,623 | | | 5,623 | | |
Ending balance (in shares) at Mar. 31, 2022 | | 68,570 | | | | |
Ending balance at Mar. 31, 2022 | 515,850 | $ 686 | $ 0 | 691,516 | (178,263) | 1,911 |
Ending balance, treasury stock (in shares) at Mar. 31, 2022 | | | 0 | | | |
Beginning balance (in shares) at Dec. 31, 2021 | | 67,739 | | | | |
Beginning balance at Dec. 31, 2021 | 464,439 | $ 677 | $ 0 | 685,472 | (221,225) | (485) |
Beginning balance, treasury stock (in shares) at Dec. 31, 2021 | | | 0 | | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Net income (loss) | 147,252 | | | | | |
Other comprehensive (loss) income | 3,479 | | | | | |
Ending balance (in shares) at Sep. 30, 2022 | | 68,809 | | | | |
Ending balance at Sep. 30, 2022 | 638,050 | $ 688 | $ 0 | 708,341 | (73,973) | 2,994 |
Ending balance, treasury stock (in shares) at Sep. 30, 2022 | | | 0 | | | |
Beginning balance (in shares) at Mar. 31, 2022 | | 68,570 | | | | |
Beginning balance at Mar. 31, 2022 | 515,850 | $ 686 | $ 0 | 691,516 | (178,263) | 1,911 |
Beginning balance, treasury stock (in shares) at Mar. 31, 2022 | | | 0 | | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Net income (loss) | 43,058 | | | | 43,058 | |
Other comprehensive (loss) income | 413 | | | | | 413 |
Stock option exercises and employee stock plan purchases (in shares) | | 61 | | | | |
Stock option exercises and employee stock plan purchases | 1,423 | $ 1 | | 1,422 | | |
Vesting of restricted stock awards and units (in shares) | | 108 | | | | |
Vesting of restricted stock awards and units | 0 | $ 1 | | (1) | | |
Shares withheld to cover taxes (in shares) | | (13) | | | | |
Shares withheld to cover taxes | (824) | $ (1) | | (823) | | |
Stock-based compensation | 7,412 | | | 7,412 | | |
Ending balance (in shares) at Jun. 30, 2022 | | 68,726 | | | | |
Ending balance at Jun. 30, 2022 | 567,332 | $ 687 | $ 0 | 699,526 | (135,205) | 2,324 |
Ending balance, treasury stock (in shares) at Jun. 30, 2022 | | | 0 | | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Net income (loss) | 61,232 | | | | 61,232 | |
Other comprehensive (loss) income | 670 | | | | | 670 |
Stock option exercises and employee stock plan purchases (in shares) | | 53 | | | | |
Stock option exercises and employee stock plan purchases | 1,556 | $ 1 | | 1,555 | | |
Vesting of restricted stock awards and units (in shares) | | 41 | | | | |
Vesting of restricted stock awards and units | 0 | $ 1 | | (1) | | |
Shares withheld to cover taxes (in shares) | | (11) | | | | |
Shares withheld to cover taxes | (843) | $ (1) | | (842) | | |
Stock-based compensation | 8,103 | | | 8,103 | | |
Ending balance (in shares) at Sep. 30, 2022 | | 68,809 | | | | |
Ending balance at Sep. 30, 2022 | $ 638,050 | $ 688 | $ 0 | 708,341 | (73,973) | 2,994 |
Ending balance, treasury stock (in shares) at Sep. 30, 2022 | | | 0 | | | |
Beginning balance (in shares) at Dec. 31, 2022 | 68,851 | 68,851 | | | | |
Beginning balance at Dec. 31, 2022 | $ 447,147 | $ 689 | $ (75,000) | 715,875 | (193,158) | (1,259) |
Beginning balance, treasury stock (in shares) at Dec. 31, 2022 | 1,339 | | 1,339 | | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Net income (loss) | $ (2,807) | | | | (2,807) | |
Other comprehensive (loss) income | (119) | | | | | (119) |
Stock option exercises and employee stock plan purchases (in shares) | | 120 | | | | |
Stock option exercises and employee stock plan purchases | 2,782 | $ 1 | | 2,781 | | |
Vesting of restricted stock awards and units (in shares) | | 813 | | | | |
Vesting of restricted stock awards and units | 0 | $ 8 | | (8) | | |
Shares withheld to cover taxes (in shares) | | (154) | | | | |
Shares withheld to cover taxes | (11,154) | $ (2) | | (11,152) | | |
Stock-based compensation | 9,667 | | | 9,667 | | |
Ending balance (in shares) at Mar. 31, 2023 | | 69,630 | | | | |
Ending balance at Mar. 31, 2023 | $ 445,516 | $ 696 | $ (75,000) | 717,163 | (195,965) | (1,378) |
Ending balance, treasury stock (in shares) at Mar. 31, 2023 | | | 1,339 | | | |
Beginning balance (in shares) at Dec. 31, 2022 | 68,851 | 68,851 | | | | |
Beginning balance at Dec. 31, 2022 | $ 447,147 | $ 689 | $ (75,000) | 715,875 | (193,158) | (1,259) |
Beginning balance, treasury stock (in shares) at Dec. 31, 2022 | 1,339 | | 1,339 | | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Net income (loss) | $ 223,281 | | | | | |
Other comprehensive (loss) income | $ 224 | | | | | |
Ending balance (in shares) at Sep. 30, 2023 | 69,808 | 69,808 | | | | |
Ending balance at Sep. 30, 2023 | $ 698,759 | $ 698 | $ (75,000) | 743,973 | 30,123 | (1,035) |
Ending balance, treasury stock (in shares) at Sep. 30, 2023 | 1,339 | | 1,339 | | | |
Beginning balance (in shares) at Mar. 31, 2023 | | 69,630 | | | | |
Beginning balance at Mar. 31, 2023 | $ 445,516 | $ 696 | $ (75,000) | 717,163 | (195,965) | (1,378) |
Beginning balance, treasury stock (in shares) at Mar. 31, 2023 | | | 1,339 | | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Net income (loss) | 94,131 | | | | 94,131 | |
Other comprehensive (loss) income | 426 | | | | | 426 |
Stock option exercises and employee stock plan purchases (in shares) | | 73 | | | | |
Stock option exercises and employee stock plan purchases | 1,347 | $ 1 | | 1,346 | | |
Vesting of restricted stock awards and units (in shares) | | 68 | | | | |
Vesting of restricted stock awards and units | 0 | $ 1 | | (1) | | |
Shares withheld to cover taxes (in shares) | | (16) | | | | |
Shares withheld to cover taxes | (1,467) | | | (1,467) | | |
Stock-based compensation | 12,692 | | | 12,692 | | |
Ending balance (in shares) at Jun. 30, 2023 | | 69,755 | | | | |
Ending balance at Jun. 30, 2023 | 552,645 | $ 698 | $ (75,000) | 729,733 | (101,834) | (952) |
Ending balance, treasury stock (in shares) at Jun. 30, 2023 | | | 1,339 | | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Net income (loss) | 131,957 | | | | 131,957 | |
Other comprehensive (loss) income | (83) | | | | | (83) |
Stock option exercises and employee stock plan purchases (in shares) | | 25 | | | | |
Stock option exercises and employee stock plan purchases | 1,265 | | | 1,265 | | |
Vesting of restricted stock awards and units (in shares) | | 39 | | | | |
Vesting of restricted stock awards and units | (1) | | | (1) | | |
Shares withheld to cover taxes (in shares) | | (11) | | | | |
Shares withheld to cover taxes | (1,000) | | | (1,000) | | |
Stock-based compensation | $ 13,976 | | | 13,976 | | |
Ending balance (in shares) at Sep. 30, 2023 | 69,808 | 69,808 | | | | |
Ending balance at Sep. 30, 2023 | $ 698,759 | $ 698 | $ (75,000) | $ 743,973 | $ 30,123 | $ (1,035) |
Ending balance, treasury stock (in shares) at Sep. 30, 2023 | 1,339 | | 1,339 | | | |