v3.26.1
Note 7 - Stock-based Compensation - Stock Option Activity (Details) - USD ($)
6 Months Ended 12 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Dec. 31, 2025
Options cancelled, Shares (in shares) (2,400)    
Options cancelled, Weighted average exercise price (in dollars per share) $ 24.4    
Options outstanding, Weighted average remaining contractual term in years (Year) 1 year 3 months 18 days    
Options outstanding, Intrinsic value $ 1,231,471    
Options exercisable, Weighted average remaining contractual term in years (Year) 1 year 3 months 18 days    
Stock Option Plan 2013 [Member]      
Options outstanding, Shares (in shares) 83,142 131,847 131,847
Options outstanding, Weighted average exercise price (in dollars per share) $ 22.56 $ 22.58 $ 22.58
Options exercised, Shares (in shares) (47,450)   (45,505)
Options exercised, Weighted average exercise price (in dollars per share) $ 23.24   $ 22.64
Options cancelled, Shares (in shares)     (3,200)
Options cancelled, Weighted average exercise price (in dollars per share)     $ 22.19
Options exercisable, Shares (in shares) 33,292    
Options exercisable, Weighted average exercise price (in dollars per share) $ 21.45    
Options exercisable, Intrinsic value $ 1,231,471    
Options outstanding, Shares (in shares) 33,292   83,142
Options outstanding, Weighted average exercise price (in dollars per share) $ 21.45   $ 22.56
Stock Option Plan 2022 [Member]      
Options outstanding, Shares (in shares) 213,923 210,200 210,200
Options outstanding, Weighted average exercise price (in dollars per share) $ 32.38 $ 32.55 $ 32.55
Options exercised, Shares (in shares) (15,097)   (5,100)
Options exercised, Weighted average exercise price (in dollars per share) $ 31.63   $ 31.36
Options cancelled, Shares (in shares) (2,920)   (21,980)
Options cancelled, Weighted average exercise price (in dollars per share) $ 39.63   $ 32.41
Options outstanding, Weighted average remaining contractual term in years (Year) 7 years 4 months 24 days    
Options outstanding, Intrinsic value $ 5,770,219    
Options exercisable, Shares (in shares) 109,346    
Options exercisable, Weighted average exercise price (in dollars per share) $ 32    
Options exercisable, Weighted average remaining contractual term in years (Year) 6 years 6 months    
Options exercisable, Intrinsic value $ 2,891,012    
Options granted (in shares) 80,500 0 30,803
Options granted, Weighted average exercise price (in dollars per share) $ 50.3   $ 31.09
Options outstanding, Shares (in shares) 276,406   213,923
Options outstanding, Weighted average exercise price (in dollars per share) $ 37.56   $ 32.38
Options expected to vest, Shares (in shares) 167,780    
Expected to vest, Weighted average exercise price (in dollars per share) $ 41.17    
Expected to vest, Weighted average remaining contractual term in years (Year) 8 years 1 month 6 days    
Options expected to vest, Intrinsic value $ 2,572,607