Net Income Per Share - Schedule of Potentially Dilutive Securities (Details) - shares |
3 Months Ended | 9 Months Ended | ||
|---|---|---|---|---|
Sep. 30, 2026 |
Sep. 30, 2025 |
Sep. 30, 2026 |
Sep. 30, 2025 |
|
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||||
| Total (in shares) | 13,578,516 | 16,571,437 | 15,796,959 | 16,522,800 |
| Options to purchase common stock | ||||
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||||
| Total (in shares) | 13,082,763 | 15,082,135 | 15,201,770 | 14,961,035 |
| Shares issuable under ESPP | ||||
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||||
| Total (in shares) | 0 | 1,079 | 987 | 3,248 |
| Restricted stock units | ||||
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||||
| Total (in shares) | 495,753 | 1,488,223 | 594,202 | 1,558,517 |