/* ---- PRANK 1: edge tomato peeker (peeks periodically from bottom edge, falls when clicked) ---- */
.edge-tomato-peeker{
  position:fixed;bottom:0;right:96px;z-index:58;
  /* ponytail: low lift so Ketchy peeks up from behind the bottom bars; raise if bars grow */
  --peek-lift:44px;
  transform:translateY(115%) scale(.85);
  transition:transform .52s cubic-bezier(.34,1.56,.64,1);
  border-radius:9999px;user-select:none;-webkit-user-select:none;
}
@media (max-width:640px){.edge-tomato-peeker{right:74px}}
/* >=1024px: no bottom nav, so peek right off the screen edge */
@media (min-width:1024px){.edge-tomato-peeker{--peek-lift:16px}}
.edge-tomato-peeker .ketchy-peeker-wrap{
  position:relative;display:inline-block;transform-origin:50% 100%;
  transition:transform .34s ease-out;
}
.edge-tomato-peeker.peeking{transform:translateY(calc(-1 * var(--peek-lift))) scale(1)}
.edge-tomato-peeker.peeking .ketchy-peeker-wrap{
  animation:peekerBob 3.2s cubic-bezier(.45,.05,.55,.95) infinite alternate;
}
@keyframes peekerBob{
  0%{transform:rotate(-5deg) scale(1,1)}
  30%{transform:translateY(-5px) rotate(-1deg) scale(.97,1.05)}
  55%{transform:translateY(-7px) rotate(4deg) scale(1.05,.95)}
  80%{transform:translateY(-3px) rotate(1deg) scale(.98,1.02)}
  100%{transform:rotate(-2deg) scale(1.01,.99)}
}
.edge-tomato-peeker.falling{
  animation:peekerTumble .95s cubic-bezier(.4,.05,.6,1) forwards!important;
  pointer-events:none;
}
@keyframes peekerTumble{
  0%{transform:translateY(calc(-1 * var(--peek-lift))) scale(1) rotate(0deg)}
  18%{transform:translateY(calc(-1 * var(--peek-lift) - 12px)) scale(1.08,.9) rotate(-16deg)}
  45%{transform:translateY(40vh) scale(.95,.92) rotate(230deg)}
  75%{transform:translateY(115vh) scale(.9,1) rotate(430deg)}
  100%{transform:translateY(160vh) scale(.82,.96) rotate(560deg)}
}
.peeker-bubble{
  position:absolute;top:-24px;left:50%;transform:translateX(-50%) scale(.2) rotate(-10deg);
  transform-origin:50% 130%;opacity:0;
  background:var(--cocoa);color:var(--yellow);border:2px solid var(--cocoa);
  font-family:var(--display);font-weight:800;font-size:0.65625rem;letter-spacing:.04em;line-height:1;
  padding:3px 8px;border-radius:9999px;white-space:nowrap;
  box-shadow:0 2px 0 rgba(46,30,20,.2);
  transition:transform .26s cubic-bezier(.5,0,.75,0),opacity .22s ease-in;pointer-events:none;
}
.edge-tomato-peeker.peeking .peeker-bubble{
  transform:translateX(-50%) scale(1) rotate(-3deg);opacity:1;
  transition:transform .42s cubic-bezier(.34,1.9,.5,1) .16s,opacity .3s ease-out .16s;
}
.edge-tomato-peeker.falling .peeker-bubble{transform:translateX(-50%) scale(.1) rotate(10deg);opacity:0}

