Quarterly report [Sections 13 or 15(d)]

Stockholders' Equity - Significant Option Groups Outstanding and Exercisable Option and its Price and Contractual Life (Detail)

v3.25.3
Stockholders' Equity - Significant Option Groups Outstanding and Exercisable Option and its Price and Contractual Life (Detail)
9 Months Ended
Aug. 31, 2025
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Outstanding, Outstanding | shares 544,378
Outstanding, Weighted Average Remaining Contractual Life (Years) 3 years 8 months 4 days
Outstanding, Weighted Average Exercise Price $ 6.92
Exercisable, Outstanding | shares 422,845
Exercisable, Weighted Average Exercise Price $ 6.9
Range 1 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 3.01
Range of Exercise Prices Maximum $ 4
Outstanding, Outstanding | shares 7,500
Outstanding, Weighted Average Remaining Contractual Life (Years) 9 months 3 days
Outstanding, Weighted Average Exercise Price $ 3.1
Exercisable, Outstanding | shares 7,500
Exercisable, Weighted Average Exercise Price $ 3.1
Range 2 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 4.01
Range of Exercise Prices Maximum $ 5
Outstanding, Outstanding | shares 113,600
Outstanding, Weighted Average Remaining Contractual Life (Years) 2 years 10 months 20 days
Outstanding, Weighted Average Exercise Price $ 4.74
Exercisable, Outstanding | shares 97,299
Exercisable, Weighted Average Exercise Price $ 4.74
Range 3 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 5.01
Range of Exercise Prices Maximum $ 6
Outstanding, Outstanding | shares 38,600
Outstanding, Weighted Average Remaining Contractual Life (Years) 4 years 11 months 1 day
Outstanding, Weighted Average Exercise Price $ 5.86
Exercisable, Outstanding | shares 27,496
Exercisable, Weighted Average Exercise Price $ 5.86
Range 4 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 6.01
Range of Exercise Prices Maximum $ 7
Outstanding, Outstanding | shares 86,933
Outstanding, Weighted Average Remaining Contractual Life (Years) 3 years 9 months 18 days
Outstanding, Weighted Average Exercise Price $ 6.47
Exercisable, Outstanding | shares 61,928
Exercisable, Weighted Average Exercise Price $ 6.48
Range 5 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 7.01
Range of Exercise Prices Maximum $ 8
Outstanding, Outstanding | shares 177,645
Outstanding, Weighted Average Remaining Contractual Life (Years) 3 years 8 months 26 days
Outstanding, Weighted Average Exercise Price $ 7.52
Exercisable, Outstanding | shares 158,525
Exercisable, Weighted Average Exercise Price $ 7.53
Range 6 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 8.01
Range of Exercise Prices Maximum $ 9
Outstanding, Outstanding | shares 75,000
Outstanding, Weighted Average Remaining Contractual Life (Years) 4 years 4 months 24 days
Outstanding, Weighted Average Exercise Price $ 8.09
Exercisable, Outstanding | shares 24,997
Exercisable, Weighted Average Exercise Price $ 8.09
Range 7 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 9.01
Range of Exercise Prices Maximum $ 10
Outstanding, Outstanding | shares 29,000
Outstanding, Weighted Average Remaining Contractual Life (Years) 2 years 6 months 7 days
Outstanding, Weighted Average Exercise Price $ 9.37
Exercisable, Outstanding | shares 29,000
Exercisable, Weighted Average Exercise Price $ 9.37
Range 8 [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Range of Exercise Prices Minimum 12.01
Range of Exercise Prices Maximum $ 13
Outstanding, Outstanding | shares 16,100
Outstanding, Weighted Average Remaining Contractual Life (Years) 5 years 2 months 4 days
Outstanding, Weighted Average Exercise Price $ 12.54
Exercisable, Outstanding | shares 16,100
Exercisable, Weighted Average Exercise Price $ 12.54