Net income (loss) per share - Antidilutive (Details) - shares |
6 Months Ended | |
|---|---|---|
Jun. 30, 2026 |
Jun. 30, 2025 |
|
| Net income (loss) per share | ||
| Total shares excluded from calculation (in shares) | 2,107,776 | 3,578,222 |
| Stock options | ||
| Net income (loss) per share | ||
| Total shares excluded from calculation (in shares) | 807,769 | 3,494,565 |
| Unvested restricted stock units | ||
| Net income (loss) per share | ||
| Total shares excluded from calculation (in shares) | 1,206,529 | 83,657 |
| Unvested performance based restricted stock units | ||
| Net income (loss) per share | ||
| Total shares excluded from calculation (in shares) | 93,478 | |