Three components: the trigger through five states, the card as an empty slot, and the pair together with the card hanging off the trigger as an absolute...
Hover Card - Active: No · Yes - 74 × 32 either way; the card is absolute
Hover Card / Card - none: 256 × 100 - a base.muted slot on 16 of padding
Using the Hover Card
Why does the board stay 74 × 32 when the card is open?
Because the card is an absolute child sitting 40 below the trigger, with clipping switched off on the board. Opening one does not reflow the sentence it lives in, which is what happens on a real page: a hover card floats over the text rather than pushing it apart.
Why is the card published separately?
So it can be filled. It ships as 256 × 100 with a base.muted rectangle inside saying "Your content goes here", and the usage frame clears that fill and drops copy straight onto the popover. An avatar, a paragraph or a stat row all fit without the Hover Card needing a variant for each.
Why do most trigger states change only the type?
Because the trigger is running text, not a control. Hover underlines it, pressed drops it to base.muted-foreground, disabled takes the whole thing to 50%. Only focus paints anything: a 3px base.ring outside plus a 1px base.border inside, the same ring every other focusable thing in the kit gets.
What is the shadow?
Tailwind's shadow-md, transcribed rather than approximated: 0 4 6 at -1 spread and 0 2 4 at -2, both black at 10%. That puts it at the same depth as the other floating surfaces instead of at a hand-picked one.