Net Income Per Share - Schedule of Antidilutive Options (Details) - shares shares in Thousands |
3 Months Ended | 6 Months Ended | ||
|---|---|---|---|---|
Jun. 30, 2023 |
Jun. 30, 2022 |
Jun. 30, 2023 |
Jun. 30, 2022 |
|
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||||
| Total shares excluded from diluted net income (loss) per share (in shares) | 6,726 | 6,512 | 6,307 | 5,828 |
| Options to purchase common stock | ||||
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||||
| Total shares excluded from diluted net income (loss) per share (in shares) | 5 | 66 | 3 | 64 |
| Unvested restricted stock units | ||||
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||||
| Total shares excluded from diluted net income (loss) per share (in shares) | 6,536 | 6,276 | 6,163 | 5,567 |
| Employee stock purchase plan | ||||
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||||
| Total shares excluded from diluted net income (loss) per share (in shares) | 185 | 170 | 141 | 197 |