.pixel-heart{display:block;flex-shrink:0;color:var(--accent);transform-origin:center}.pixel-heart--idle{animation:heart-idle 6.4s steps(2) infinite}@keyframes heart-idle{0%,72%,to{transform:translateY(0) rotate(0)}77%,85%{transform:translateY(-2px) rotate(-3deg)}81%{transform:translateY(-3px) rotate(3deg)}90%{transform:translateY(-1px) rotate(0)}}@keyframes heart-curious{0%,to{transform:translateY(0) scale(1)}35%{transform:translateY(-3px) scale(1.08)}70%{transform:translateY(-1px) scale(1.04)}}@media (hover:hover){.pixel-heart--idle:hover,:is(main,.page,.app-shell):focus-within .pixel-heart--idle{animation:heart-curious .48s steps(3) 1}}.pixel-heart--beat{animation:heart-beat .9s ease-in-out infinite}.pixel-heart--blink{animation:heart-blink .9s ease-in-out infinite}.pixel-heart--glitch{animation:heart-glitch .2s steps(2) 1}@keyframes heart-beat{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes heart-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes heart-glitch{0%,50%{filter:drop-shadow(-1px 0 var(--cat-6)) drop-shadow(1px 0 var(--cat-4));transform:translateX(1px)}25%,75%{filter:drop-shadow(1px 0 var(--cat-5)) drop-shadow(-1px 0 var(--cat-4));transform:translateX(-1px)}to{filter:none;transform:none}}@media (prefers-reduced-motion:reduce){.pixel-heart{animation:none!important}}:root[data-effects=off] .pixel-heart{animation:none!important}