/* 桌宠：沈游的螃蟹。
   右下角浮动（参照 completion-egg 定位规范），可点击/可拖动。
   z-index 1150：高于日常浮球(#callBall 1100)，低于 completion-egg(1200)/弹层(1300)。 */
#shenyouPet {
  position: fixed;
  right: 18px;
  bottom: 170px;
  z-index: 1150;
  width: 110px;
  height: 110px;
  cursor: grab;
  touch-action: none;               /* 拖动全权交给 JS（原先 pan-y 会让垂直拖动被页面滚动抢走） */
  will-change: transform;           /* GPU 合成层，拖动不掉帧 */
  transform: translateZ(0);
  -webkit-user-select: none;
  user-select: none;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .18));
}
#shenyouPet img {
  width: 100%;
  height: 100%;
  display: block;
  image-rendering: pixelated;       /* 像素风保持锐利 */
  opacity: .9;
  transition: opacity 260ms ease;
  pointer-events: none;             /* 事件统一落在容器，便于拖动判定 */
}
#shenyouPet.dragging {
  cursor: grabbing;
  opacity: .7;
  filter: none;                     /* 拖动期间降级阴影，避免每帧重算 */
}
#shenyouPet.flinging {
  cursor: grabbing;
  filter: none;
}
#shenyouPet.dragging img,
#shenyouPet.flinging img { transition: none; }

/* 爱心粒子：<pet>love</pet> 触发，从螃蟹头顶冒起飘走（纯 CSS，不依赖 GIF） */
#shenyouPet .pet-heart {
  position: absolute;
  left: 50%;
  top: 8px;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  animation: pet-heart-float 2.4s ease-out forwards;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .12);
}
@keyframes pet-heart-float {
  0%   { opacity: 0;   transform: translate(0, 0)       scale(.6); }
  18%  { opacity: 1;   transform: translate(-4px, -14px) scale(1); }
  100% { opacity: 0;   transform: translate(-18px, -92px) scale(.9); }
}

/* 登录门(gate)阶段不显示桌宠 */
#chat.hidden ~ #shenyouPet { display: none; }
/* 用户关闭桌宠（+ 菜单里开关） */
#shenyouPet.hidden { display: none; }

/* Existing pixel art supplies distinct poses without missing GIF requests. */
#shenyouPet[data-pose="peek"] img { animation: pet-peek 2.5s ease-in-out; }
#shenyouPet[data-pose="sleepy"] img { animation: pet-doze 2s ease-in-out infinite; opacity: .72 !important; }
#shenyouPet[data-pose="wake"] img { animation: pet-wake .7s ease-out; }
#shenyouPet[data-pose="blush"] img { filter: sepia(.3) saturate(1.8); }
@keyframes pet-peek { 0%,100% { transform: translateX(0); } 35%,70% { transform: translateX(-10px) rotate(-8deg); } }
@keyframes pet-doze { 0%,100% { transform: translateY(0) rotate(0); } 60% { transform: translateY(4px) rotate(6deg); } }
@keyframes pet-wake { 0% { transform: scale(.85); } 55% { transform: scale(1.08); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
  #shenyouPet[data-pose] img { animation: none; }
}

/* 移动端缩小一点，别压住太多消息 */
@media (max-width: 760px) {
  #shenyouPet {
    width: 92px;
    height: 92px;
    right: 10px;
    bottom: 178px;
  }
}
