v3.24.0.1
Stockholders' Equity - Stock-based Compensation (Details)
12 Months Ended
Dec. 31, 2023
Stock options  
Class Of Stock [Line Items]  
Stock option term 10 years
Stock options | Minimum | 2017 Equity Incentive Plan  
Class Of Stock [Line Items]  
Vesting period 1 year
Stock options | Maximum | 2017 Equity Incentive Plan  
Class Of Stock [Line Items]  
Vesting period 4 years
Restricted stock units | Minimum  
Class Of Stock [Line Items]  
Vesting period 1 year
Restricted stock units | Maximum  
Class Of Stock [Line Items]  
Vesting period 4 years