/* Original charcoal/cobalt cat; all positioning is owned by this component. */
.pet-perch { position: fixed; inset: 0; z-index: 90; pointer-events: none; }
.pet-perch[hidden], .pet-perch [hidden] { display: none; }
.pixel-pet {
  position: absolute; left: 0; top: 0; width: 56px; height: 56px;
  padding: 0; margin: 0; border: 0; background: transparent;
  pointer-events: auto; cursor: pointer; touch-action: manipulation;
  transform: translate3d(var(--pet-x, 8px), var(--pet-y, 120px), 0);
  contain: layout style; will-change: transform;
}
.pixel-pet svg { display: block; width: 56px; height: 56px; image-rendering: pixelated; }
.pixel-pet[data-facing="left"] svg { transform: scaleX(-1); }
.pet-ground { fill: #424753; }
.pet-tail { fill: #626b7d; }
.pet-tail-wave, .pet-eyes-closed, .pet-eyes-happy, .pet-heart, .pet-walking, .pet-step { display: none; }
.pixel-pet[data-pose="walk"] .pet-sitting { display: none; }
.pixel-pet[data-pose="walk"] .pet-walking,
.pixel-pet[data-step="0"] .pet-step-0,
.pixel-pet[data-step="1"] .pet-step-1,
.pixel-pet[data-step="2"] .pet-step-2,
.pixel-pet[data-step="3"] .pet-step-3 { display: inline; }
.pixel-pet[data-pose="blink"] .pet-eyes-open,
.pixel-pet[data-pose="pat"] .pet-eyes-open,
.pixel-pet[data-pose="pat"] .pet-tail-rest { display: none; }
.pixel-pet[data-pose="blink"] .pet-eyes-closed,
.pixel-pet[data-pose="pat"] .pet-eyes-happy,
.pixel-pet[data-pose="pat"] .pet-heart,
.pixel-pet[data-pose="pat"] .pet-tail-wave { display: inline; }
.pet-hint { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pixel-pet:hover .pet-ground { fill: #8b9aff; }
.pet-perch button:focus-visible { outline: 2px solid #8b9aff; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .pixel-pet, .pixel-pet * { animation: none !important; transition: none !important; will-change: auto; }
}
