v3.25.1
Note 5 - Stock Incentive Plan (Tables)
3 Months Ended
Mar. 31, 2025
Notes Tables  
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
   

Options Outstanding

 
   

Number of Shares Subject to Options

   

Weighted-Average Exercise Price

 

Balance at December 31, 2024

    428,915     $ 19.35  

Granted(1)

    216,331       31.45  

Forfeited(2)(3)

    (20,831 )     3.71  

Exercised

    (4,167 )     3.71  

Balance at March 31, 2025

    620,248       24.20  

Unvested options outstanding expected to vest(3)

    251,035       27.31  
Share-Based Payment Arrangement, Option, Exercise Price Range [Table Text Block]

Exercise Prices

 Number of Shares Subject to Options Outstanding  Weighted-Average Remaining Contractual Term in Years  Number of Shares Subject to Options Fully Vested and Exercisable  Weighted-Average Remaining Contractual Term in Years 

$0.00 - $25.00

  261,170   5.97   202,433   5.37 

$25.01 - $50.00

  335,239   7.82   142,943   5.01 

$50.01 - $75.00

  22,614   4.73   22,612   4.73 

$75.01 - $100.00

  1,225   4.84   1,225   4.84 
   620,248   6.93   369,213   5.19 
Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]
            Weighted- Average  
   

Restricted

   

Grant Date

 
   

Stock Units

   

Fair Value

 
   

 

   

per Unit 

 

Unvested Balance at December 31, 2024

    40,739     $ 13.92  

Granted

    120,941       31.70  

Vested

    (12,316 )    

22.76

 

Forfeited

           

Unvested Balance at March 31, 2025

    149,364       27.59  
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value [Table Text Block]
   

Three Months Ended March 31,

 
   

2025

   

2024

 
                 

Stock options granted

    216,331       2,000  

Weighted-average grant date fair value per share

  $ 29.17     $ 1.25  

Fair value of shares vested

  $ 745,436     $ 178,650