Net Income per Share - Schedule of Anti-Dilutive Potential Shares (Details) - shares shares in Thousands |
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 antidilutive shares (in shares) | 318 | 45 | 249 | 252 |
| RSUs | ||||
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||||
| Total antidilutive shares (in shares) | 318 | 45 | 236 | 252 |
| ESPP | ||||
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||||
| Total antidilutive shares (in shares) | 0 | 0 | 13 | 0 |