Net Income (Loss) Per Share - Schedule of Antidilutive Shares (Details) - shares |
6 Months Ended | |
|---|---|---|
Jun. 30, 2026 |
Jun. 30, 2025 |
|
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||
| Shares of common stock underlying restricted stock units (in shares) | 606,233 | 674,895 |
| Options | ||
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||
| Shares of common stock underlying restricted stock units (in shares) | 122,307 | 170,843 |
| RSUs | ||
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||
| Shares of common stock underlying restricted stock units (in shares) | 40,449 | 56,997 |
| Warrants | ||
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||
| Shares of common stock underlying restricted stock units (in shares) | 443,477 | 447,055 |