v3.25.2
Stockholders' Equity - Summary of Stock Option Activity (Details) - USD ($)
6 Months Ended 12 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Dec. 31, 2024
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]      
Number of Underlying of Shares, Granted 0 0  
Employee Stock Option      
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]      
Number of Underlying of Shares, Outstanding beginning balance 1,140,550    
Number of Underlying of Shares, Forfeited / Canceled (23,000)    
Number of Underlying of Shares, Exercised (481,259)    
Number of Underlying of Shares, Outstanding ending balance 636,291   1,140,550
Number of Shares, Exercisable ending balance 436,291    
Weighted Average Exercise Price, Outstanding beginning balance $ 2.49    
Weighted Average Exercise Price, Forfeited / Cancelled 3.09    
Weighted Average Exercise Price, Exercised 2.08    
Weighted Average Exercise Price, Outstanding ending balance 2.78   $ 2.49
Weighted Average Exercise Price, Exercisable ending balance $ 2.7    
Weighted Average Remaining Contractual Life (in years), Outstanding balance 5 years 10 months 9 days    
Weighted Average Remaining Contractual Life (in years), Exercisable balance 4 years 10 months 28 days   3 years 10 months 6 days
Aggregate Intrinsic Value, Outstanding balance $ 508,820   $ 1,019,680
Aggregate Intrinsic Value, Forfeited / Cancelled balance 15,880    
Aggregate Intrinsic Value, Exercised balance 707,690    
Aggregate Intrinsic Value, Exercisable balance $ 388,820