Net Income (Loss) per Share - Schedule of Anti-dilutive Shares Outstanding Excluded in Calculation of Diluted Net Income (Loss) per Share (Details) - shares |
3 Months Ended | |
|---|---|---|
Mar. 31, 2026 |
Mar. 31, 2025 |
|
| Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items] | ||
| Total | 4,023,574 | 4,076,080 |
| Employee Stock Option | ||
| Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items] | ||
| Total | 1,761,223 | 1,781,372 |
| Unvested Restricted Stock Units | ||
| Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items] | ||
| Total | 2,213,013 | 2,254,315 |
| Estimated shares to be purchased under 2017 Employee Stock Purchase Plan in Q2 | ||
| Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items] | ||
| Total | 49,338 | 40,393 |