XML 28 R17.htm IDEA: XBRL DOCUMENT
v3.26.1

Net Income (Loss) Per Share | 6 Months Ended
--- | ---
Jun. 30, 2026
Earnings Per Share [Abstract] |
Net Income (Loss) Per Share | Net Income (Loss) Per Share Net income (loss) per share is allocated based on the contractual participation rights of the Class A and Class B common shares as if the income (loss) for the year has been distributed. As the liquidation and dividend rights are identical, net income (loss) is allocated on a proportionate basis. A reconciliation of the denominator used in the calculation of basic and diluted income (loss) per share is as follows (in thousands, except share and per share data):
| Three months ended
| June 30, 2026 |  | June 30, 2025
| Class A |  | Class B |  | Class A |  | Class B
Basic net income (loss) per share |  |  |  |  |  |  |
Numerator |  |  |  |  |  |  |
Net income (loss), basic | $ | 12,580 |  |  | $ | 862 |  |  | $ | (18,070) |  |  | $ | (1,330) |
Denominator |  |  |  |  |  |  |
Weighted-average shares outstanding, basic | 52,069,343 |  |  | 3,569,583 |  |  | 52,231,140 |  |  | 3,845,583 |
Net income (loss) per share, basic | $ | 0.24 |  |  | $ | 0.24 |  |  | $ | (0.35) |  |  | $ | (0.35) |
Diluted net income (loss) per share |  |  |  |  |  |  |
Numerator |  |  |  |  |  |  |
Net income (loss), basic | $ | 12,580 |  |  | $ | 862 |  |  | $ | (18,070) |  |  | $ | (1,330) |
Net income (loss), diluted | $ | 12,580 |  |  | $ | 862 |  |  | $ | (18,070) |  |  | $ | (1,330) |
Denominator |  |  |  |  |  |  |
Weighted-average shares outstanding, basic | 52,069,343 |  |  | 3,569,583 |  |  | 52,231,140 |  |  | 3,845,583 |
Weighted-average effect of dilutive securities: |  |  |  |  |  |  |
Employee share-based awards | 390,377 |  |  | 26,762 |  |  | — |  |  | — |
Number of shares used in diluted calculation | 52,459,721 |  |  | 3,596,345 |  |  | 52,231,140 |  |  | 3,845,583 |
Net income (loss) per share, diluted | $ | 0.24 |  |  | $ | 0.24 |  |  | $ | (0.35) |  |  | $ | (0.35) |
| Six months ended
| June 30, 2026 |  | June 30, 2025
| Class A |  | Class B |  | Class A |  | Class B
Basic net income (loss) per share |  |  |  |  |  |  |
Numerator |  |  |  |  |  |  |
Net income (loss), basic | $ | 30,339 |  |  | $ | 2,099 |  |  | $ | (37,978) |  |  | $ | (2,793) |
Denominator |  |  |  |  |  |  |
Weighted-average shares outstanding, basic | 51,684,300 |  |  | 3,575,309 |  |  | 52,287,703 |  |  | 3,845,583 |
Net income (loss) per share, basic | $ | 0.59 |  |  | $ | 0.59 |  |  | $ | (0.73) |  |  | $ | (0.73) |
Diluted net income (loss) per share |  |  |  |  |  |  |
Numerator |  |  |  |  |  |  |
Net income (loss), basic | $ | 30,339 |  |  | $ | 2,099 |  |  | $ | (37,978) |  |  | $ | (2,793) |
Net income (loss), diluted | $ | 30,339 |  |  | $ | 2,099 |  |  | $ | (37,978) |  |  | $ | (2,793) |
Denominator |  |  |  |  |  |  |
Weighted-average shares outstanding, basic | 51,684,300 |  |  | 3,575,309 |  |  | 52,287,703 |  |  | 3,845,583 |
Weighted-average effect of diluted securities: |  |  |  |  |  |  |
Employee share-based awards | 523,362 |  |  | 36,204 |  |  | — |  |  | — |
Number of shares used in diluted calculation | 52,207,662 |  |  | 3,611,513 |  |  | 52,287,703 |  |  | 3,845,583 |
Net income (loss) per share, diluted | $ | 0.58 |  |  | $ | 0.58 |  |  | $ | (0.73) |  |  | $ | (0.73) |
The anti-dilutive securities excluded from the weighted-average shares used to calculate the diluted net income (loss) per common share were as follows:
| Three months ended June 30, |  | Six months ended June 30,
| 2026 |  | 2025 |  | 2026 |  | 2025
Shares subject to outstanding common stock options | — |  |  | 725,459 |  |  | — |  |  | 725,459 |
Shares subject to unvested restricted stock units and performance restricted stock units | — |  |  | 3,180,310 |  |  | — |  |  | 3,180,310 |
Shares issuable pursuant to the ESPP | — |  |  | 89,499 |  |  | — |  |  | 89,499 |
Shares underlying our convertible senior notes | 6,132,025 |  |  | 6,132,025 |  |  | 6,132,025 |  |  | 6,132,025 |

X
- References No definition available. + Details
Name: | us-gaap_EarningsPerShareAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure for earnings per share. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 12 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482635/260-10-55-12 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 505 -SubTopic 20 -Name Accounting Standards Codification -Section 05 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481468/505-20-05-5 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/260/tableOfContent Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-3 + Details
Name: | us-gaap_EarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration