v3.22.4

Net Income Per Share Attributable to Common Stockholders - Schedule of Antidilutive Securities Excluded from Computation of Earnings per Share (Details) - shares | 12 Months Ended
--- | ---
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020
Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items] |  |  |
Total common stock equivalents excluded from net income per share attributable to common stockholders – diluted | 2,253,788 | 671,244 | 846,481
Options to purchase common stock |  |  |
Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items] |  |  |
Total common stock equivalents excluded from net income per share attributable to common stockholders – diluted | 1,016,449 | 671,244 | 846,481
Unvested restricted stock units |  |  |
Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items] |  |  |
Total common stock equivalents excluded from net income per share attributable to common stockholders – diluted | 1,164,817 | 0 | 0
ESPP |  |  |
Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items] |  |  |
Total common stock equivalents excluded from net income per share attributable to common stockholders – diluted | 72,522 | 0 | 0

X
- Definition Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (c) -URI https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257 + Details
Name: | us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_EarningsPerShareDilutedLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockUnitsRSUMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |