Net Income (Loss) Per Share - Excluded From Computation of Diluted Net Income (Loss) Per Share - (Details) - shares |
3 Months Ended | 6 Months Ended | ||
|---|---|---|---|---|
Jun. 30, 2026 |
Jun. 30, 2025 |
Jun. 30, 2026 |
Jun. 30, 2025 |
|
| Outstanding stock options | ||||
| Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items] | ||||
| Antidilutive securities (in shares) | 1,078 | 0 | 298 | 0 |
| Unvested RSUs | ||||
| Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items] | ||||
| Antidilutive securities (in shares) | 6 | 0 | 2 | 0 |
| ESPP | ||||
| Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items] | ||||
| Antidilutive securities (in shares) | 46 | 0 | 33 | 0 |