v3.26.1
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