.pigeon-flock {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 9;
}

.home-pigeon {
  position: absolute;
  top: 0;
  left: 0;
  width: 46px;
  height: 46px;
  user-select: none;
}

.home-pigeon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.home-pigeon .pigeon-head { transform-origin: 31px 17px; }
.home-pigeon .pigeon-wing { transform-origin: 22px 26px; }

.home-pigeon[data-state="walk"] .pigeon-head { animation: pigeon-bob .32s steps(2) infinite; }
.home-pigeon[data-state="walk"] .pigeon-feet { animation: pigeon-step .32s steps(2) infinite; }
.home-pigeon.is-pecking .pigeon-head { animation: pigeon-peck .5s ease-in-out 2; }
.home-pigeon[data-state="fly"] .pigeon-wing { animation: pigeon-flap .12s linear infinite; }
.home-pigeon[data-state="fly"] .pigeon-feet { visibility: hidden; }

.pigeon-coo {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) scaleX(var(--pigeon-direction));
  padding: 3px 6px;
  border-radius: 8px;
  color: #1a1410;
  background: #f4ecdc;
  font: 12px/1 "IBM Plex Mono", monospace;
  white-space: nowrap;
}

@keyframes pigeon-bob { 50% { transform: translate(4px, 1px); } }
@keyframes pigeon-step { 50% { transform: translateX(3px); } }
@keyframes pigeon-peck { 50% { transform: translate(5px, 10px) rotate(25deg); } }
@keyframes pigeon-flap { 50% { transform: scaleY(-.6); } }

@media (prefers-reduced-motion: reduce) {
  .pigeon-flock { display: none; }
}
