/* Generated from the design's style-hover attributes.
   Design canvas applied these inline; the browser needs real rules.

   Gated on a real pointer: a touch tap fires :hover and then leaves it stuck,
   so on a phone the CTA keeps its lift and glow after you have moved on. */
@media (hover: hover) and (pointer: fine) {
  .hv-0:hover { color: var(--text-primary); background: var(--surface-alpha-md); }
  .hv-1:hover { background: var(--surface-alpha-md); color: var(--text-primary); }
  /* hv-4 sits on bare nav links and on bordered secondary CTAs alike. An 8%
     tint is invisible against a card, so the border moves too - a no-op on the
     elements that do not have one. The transition lives here because the
     inline styles only animate colour and background. */
  .hv-4 { transition: color var(--dur-fast) var(--ease-niro), background var(--dur-fast) var(--ease-niro), border-color var(--dur-fast) var(--ease-niro); }
  .hv-4:hover { color: var(--text-primary); background: var(--surface-alpha-md); border-color: var(--accent); }
  .hv-5:hover { color: var(--text-primary); background: var(--surface-alpha-md); }
  .hv-6:hover { color: var(--text-primary); background: var(--surface-alpha-md); }
  .hv-7:hover { box-shadow: var(--glow-accent); transform: translateY(var(--lift-hover)); }
  .hv-8:hover { border-color: var(--a0); transform: translateY(var(--lift-hover)); }
  .hv-9:hover { box-shadow: var(--glow-accent); transform: translateY(-2px); color: var(--text-on-accent); }
  .hv-11:hover { transform: translateX(4px); }
  .hv-13:hover { color: var(--term-fg); border-color: var(--accent); }
  .hv-14:hover { transform: translateX(4px); }
  .hv-15:hover { color: var(--text-primary); }
  .hv-16:hover { color: var(--text-primary); }
  .hv-17:hover { transform: translateY(var(--lift-hover)); border-color: var(--accent); }
  .hv-18:hover { box-shadow: var(--glow-accent); transform: translateY(var(--lift-hover)); }
  .hv-19:hover { box-shadow: var(--glow-accent); transform: translateY(-2px); }
}
