Note K - Stock-based Compensation - Information Regarding Currently Outstanding and Exercisable Options (Details) - $ / shares
12 Months Ended
Dec. 31, 2016
Dec. 31, 2015
Exercised (in dollars per share) $ 4.78  
Options outstanding, number of shares (in shares) 1,990,260 1,397,511
Outstanding, weighted average remaining contractual term (Year) 8 years 98 days 8 years 211 days
Exercisable, number of options (in shares) 637,492  
Exercisable, weighted average remaining contractual term (Year) 6 years 284 days  
Exercise Price Range One [Member]    
Exercised (in dollars per share) $ 0.75  
Options outstanding, number of shares (in shares) 12,000  
Outstanding, weighted average remaining contractual term (Year) 182 days  
Exercisable, number of options (in shares) 12,000  
Exercisable, weighted average remaining contractual term (Year) 182 days  
Exercise Price Range Two [Member]    
Exercised (in dollars per share) $ 3  
Options outstanding, number of shares (in shares) 20,666  
Outstanding, weighted average remaining contractual term (Year) 1 year 197 days  
Exercisable, number of options (in shares) 20,666  
Exercisable, weighted average remaining contractual term (Year) 1 year 197 days  
Exercise Price Range Three [Member]    
Exercised (in dollars per share) $ 3.80  
Options outstanding, number of shares (in shares) 99,000  
Outstanding, weighted average remaining contractual term (Year) 9 years 295 days  
Exercisable, number of options (in shares)  
Exercisable, weighted average remaining contractual term (Year)  
Exercise Price Range Four [Member]    
Exercised (in dollars per share) $ 4.65  
Options outstanding, number of shares (in shares) 35,994  
Outstanding, weighted average remaining contractual term (Year) 2 years 21 days  
Exercisable, number of options (in shares) 35,994  
Exercisable, weighted average remaining contractual term (Year) 2 years 21 days  
Exercise Price Range Five [Member]    
Exercised (in dollars per share) $ 5.85  
Options outstanding, number of shares (in shares) 298,661  
Outstanding, weighted average remaining contractual term (Year) 6 years 94 days  
Exercisable, number of options (in shares) 261,661  
Exercisable, weighted average remaining contractual term (Year) 6 years 25 days  
Exercise Price Range Six [Member]    
Exercised (in dollars per share) $ 6.05  
Options outstanding, number of shares (in shares) 50,000  
Outstanding, weighted average remaining contractual term (Year) 9 years 146 days  
Exercisable, number of options (in shares)  
Exercisable, weighted average remaining contractual term (Year)  
Exercise Price Range Seven [Member]    
Exercised (in dollars per share) $ 8.63  
Options outstanding, number of shares (in shares) 21,306  
Outstanding, weighted average remaining contractual term (Year) 8 years 43 days  
Exercisable, number of options (in shares) 10,826  
Exercisable, weighted average remaining contractual term (Year) 8 years 54 days  
Exercise Price Range Eight [Member]    
Exercised (in dollars per share) $ 11  
Options outstanding, number of shares (in shares) 21,333  
Outstanding, weighted average remaining contractual term (Year) 8 years 91 days  
Exercisable, number of options (in shares) 5,333  
Exercisable, weighted average remaining contractual term (Year) 8 years 91 days  
Exercise Price Range Nine [Member]    
Exercised (in dollars per share) $ 11.41  
Options outstanding, number of shares (in shares) 88,000  
Outstanding, weighted average remaining contractual term (Year) 8 years 149 days  
Exercisable, number of options (in shares) 88,000  
Exercisable, weighted average remaining contractual term (Year) 8 years 149 days  
Exercise Price Range Ten [Member]    
Exercised (in dollars per share) $ 12.62  
Options outstanding, number of shares (in shares) 340,000  
Outstanding, weighted average remaining contractual term (Year) 9 years 40 days  
Exercisable, number of options (in shares)  
Exercisable, weighted average remaining contractual term (Year)  
Exercise Price Range Eleven [Member]    
Exercised (in dollars per share) $ 13.96  
Options outstanding, number of shares (in shares) 22,500  
Outstanding, weighted average remaining contractual term (Year) 9 years 47 days  
Exercisable, number of options (in shares)  
Exercisable, weighted average remaining contractual term (Year)  
Exercise Price Range Twelve [Member]    
Exercised (in dollars per share) $ 16.06  
Options outstanding, number of shares (in shares) 12,000  
Outstanding, weighted average remaining contractual term (Year) 9 years 94 days  
Exercisable, number of options (in shares)  
Exercisable, weighted average remaining contractual term (Year)  
Exercise Price Range Thirteen [Member]    
Exercised (in dollars per share) $ 16.25  
Options outstanding, number of shares (in shares) 98,750  
Outstanding, weighted average remaining contractual term (Year) 9 years 62 days  
Exercisable, number of options (in shares)  
Exercisable, weighted average remaining contractual term (Year)  
Exercise Price Range Fourteen [Member]    
Exercised (in dollars per share) $ 16.31  
Options outstanding, number of shares (in shares) 13,500  
Outstanding, weighted average remaining contractual term (Year) 9 years 62 days  
Exercisable, number of options (in shares)  
Exercisable, weighted average remaining contractual term (Year)  
Exercise Price Range Fifteen [Member]    
Exercised (in dollars per share) $ 16.61  
Options outstanding, number of shares (in shares) 11,250  
Outstanding, weighted average remaining contractual term (Year) 8 years 339 days  
Exercisable, number of options (in shares) 2,812  
Exercisable, weighted average remaining contractual term (Year) 8 years 339 days  
Exercise Price Range Sixteen [Member]    
Exercised (in dollars per share) $ 17.93  
Options outstanding, number of shares (in shares) 4,500  
Outstanding, weighted average remaining contractual term (Year) 9 years 98 days  
Exercisable, number of options (in shares)  
Exercisable, weighted average remaining contractual term (Year)  
Exercise Price Range Seventeen [Member]    
Exercised (in dollars per share) $ 18.10  
Options outstanding, number of shares (in shares) 140,000  
Outstanding, weighted average remaining contractual term (Year) 9 years 105 days  
Exercisable, number of options (in shares)  
Exercisable, weighted average remaining contractual term (Year)  
Exercise Price Range Eighteen [Member]    
Exercised (in dollars per share) $ 18.29  
Options outstanding, number of shares (in shares) 205,000  
Outstanding, weighted average remaining contractual term (Year) 8 years 175 days  
Exercisable, number of options (in shares) 51,250  
Exercisable, weighted average remaining contractual term (Year) 8 years 175 days  
Exercise Price Range Nineteen [Member]    
Exercised (in dollars per share) $ 18.38  
Options outstanding, number of shares (in shares) 54,000  
Outstanding, weighted average remaining contractual term (Year) 9 years 102 days  
Exercisable, number of options (in shares)  
Exercisable, weighted average remaining contractual term (Year)  
Exercise Price Range Twenty [Member]    
Exercised (in dollars per share) $ 18.61  
Options outstanding, number of shares (in shares) 32,000  
Outstanding, weighted average remaining contractual term (Year) 8 years 237 days  
Exercisable, number of options (in shares) 8,000  
Exercisable, weighted average remaining contractual term (Year) 8 years 237 days  
Exercise Price Range Twenty One [Member]    
Exercised (in dollars per share) $ 19.02  
Options outstanding, number of shares (in shares) 62,000  
Outstanding, weighted average remaining contractual term (Year) 8 years 237 days  
Exercisable, number of options (in shares) 54,000  
Exercisable, weighted average remaining contractual term (Year) 8 years 237 days  
Exercise Price Range Twenty Two [Member]    
Exercised (in dollars per share) $ 20.45  
Options outstanding, number of shares (in shares) 335,000  
Outstanding, weighted average remaining contractual term (Year) 8 years 248 days  
Exercisable, number of options (in shares) 83,750  
Exercisable, weighted average remaining contractual term (Year) 8 years 248 days  
Exercise Price Range Twenty Three [Member]    
Exercised (in dollars per share) $ 21.37  
Options outstanding, number of shares (in shares) 6,400  
Outstanding, weighted average remaining contractual term (Year) 8 years 251 days  
Exercisable, number of options (in shares) 1,600  
Exercisable, weighted average remaining contractual term (Year) 8 years 251 days  
Exercise Price Range Twenty Four [Member]    
Exercised (in dollars per share) $ 22.12  
Options outstanding, number of shares (in shares) 6,400  
Outstanding, weighted average remaining contractual term (Year) 8 years 255 days  
Exercisable, number of options (in shares) 1,600  
Exercisable, weighted average remaining contractual term (Year) 8 years 255 days