Stockholders' Equity (Details) - USD ($) |
3 Months Ended | 9 Months Ended | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
Nov. 04, 2025 |
Sep. 30, 2026 |
Jun. 30, 2026 |
Mar. 31, 2026 |
Sep. 30, 2025 |
Mar. 31, 2025 |
Sep. 30, 2026 |
Sep. 30, 2025 |
Dec. 31, 2025 |
Jun. 03, 2025 |
|
| Equity [Abstract] | ||||||||||
| Stock repurchase amount authorized | $ 5,000,000.0 | |||||||||
| Common stock, par value (in dollars per share) | $ 0.001 | $ 0.001 | $ 0.001 | $ 0.001 | ||||||
| Stock repurchase additional authorized amount | $ 12,000,000.0 | |||||||||
| Common stock repurchased | $ 3,824,533 | $ 676,810 | $ 1,145,054 | $ 2,288,994 | $ 5,600,000 | |||||
| Average cost of stock repurchased (in dollars per share) | $ 8.30 | $ 8.30 | ||||||||
| Common stock netted and surrendered as payment for minimum statutory withholding requirements | $ 1,835 | $ 18,455 | $ 56,528 | $ 0 | $ 8,440 | $ 77,000 | $ 8,000 | |||
| X | ||||||||||
- Definition Share Repurchase Program, Additional Authorized, Amount No definition available.
|
| X | ||||||||||
- Definition Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Face amount or stated value per share of common stock. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- References No definition available.
|
| X | ||||||||||
- Definition Total cost of shares repurchased divided by the total number of shares repurchased. No definition available.
|
| X | ||||||||||
- Definition Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|