v3.25.2
Stock-Based Compensation - Additional Information (Details)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
USD ($)
$ / shares
shares
Jun. 30, 2024
USD ($)
$ / shares
Jun. 30, 2025
USD ($)
$ / shares
shares
Jun. 30, 2024
USD ($)
$ / shares
Dec. 31, 2017
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Period increase in shares authorized     0.04    
Exercised $ 2,000 $ 19,800 $ 3,400 $ 44,300  
Inventories          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Amount capitalized $ 958 $ 625 $ (1,900) $ 1,300  
2017 IPO Stock Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Shares reserved (in shares) | shares         900
Stock Incentive Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Shares remaining available for grant (in shares) | shares 2,000   2,000    
Stock Options          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Weighted-average grant-date fair value per share of options granted (in dollars per share) | $ / shares $ 87.69 $ 112.05 $ 109.93 $ 109.18  
Stock Options | Director          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Unrecognized stock-based compensation expense $ 71,400   $ 71,400    
Estimated weighted average period     2 years 9 months 18 days    
Stock Options | 2017 IPO Stock Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Shares reserved (in shares) | shares         900
Restricted Stock Units (RSUs)          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Unrecognized stock-based compensation expense 46,400   $ 46,400    
Estimated weighted average period     3 years    
Performance Shares          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Unrecognized stock-based compensation expense $ 6,000   $ 6,000    
Estimated weighted average period     8 months    
Stock option vesting period     2 years