/* 弹簧底座固定；雪人独立摆动，金属线圈随拖动弯曲、伸缩。 */
.songline-desktop-pet{
  position:absolute;
  z-index:12;
  right:-4px;
  top:auto;
  bottom:0;
  width:136px;
  height:178px;
  background:transparent;
  cursor:grab;
  touch-action:none;
  -webkit-tap-highlight-color:transparent;
}
.songline-terminal-status .songline-terminal-brand{
  margin:0 90px 0 auto;
}
.songline-desktop-pet:hover .songline-desktop-pet__rig{filter:brightness(1.04);}
.songline-desktop-pet.is-dragging{cursor:grabbing;}
.songline-desktop-pet:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:12px;}
.songline-desktop-pet__rig{
  position:absolute;
  inset:0;
  display:block;
  background:transparent;
  transform-origin:50% 100%;

}
.songline-desktop-pet__figure{
  position:absolute;
  inset:0;
  display:block;
  background:transparent;
  transform-origin:50% 100%;
  transform:translateY(var(--desktop-pet-lift, 0px)) rotate(var(--desktop-pet-angle, 0deg));
  animation:songlineDesktopPetIdle 2.8s ease-in-out infinite;
}
.songline-desktop-pet.is-dragging .songline-desktop-pet__figure,
.songline-desktop-pet.is-returning .songline-desktop-pet__figure{
  animation:none;
}
.songline-desktop-pet__image{
  position:absolute;
  z-index:1;
  left:12px;
  top:0;
  display:block;
  width:112px;
  height:140px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}
/* 排除信息面板的通用头像样式：它原本会把任意后代 img 强制成 38px 圆形。 */
.songline-terminal-status .songline-desktop-pet__image,
body.dark[data-page-kind="home"] .songline-terminal-status .songline-desktop-pet__image{
  position:absolute!important;
  display:block!important;
  left:12px!important;
  top:0!important;
  width:112px!important;
  height:140px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:contain!important;
  transform:none!important;
  filter:none!important;
}
/* SVG 线圈和雪人共享固定底座，但保留独立的变形。 */
.songline-desktop-pet__spring{
  position:absolute;inset:0;width:100%;height:100%;overflow:visible;
  fill:none;stroke:url(#desktopPetSpringSteel);stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;pointer-events:none;
  transform-origin:50% 100%;animation:songlineDesktopPetCoilIdle 2.8s ease-in-out infinite;
}
.songline-desktop-pet__base{stroke:#a2b3c4;stroke-width:3}
.songline-desktop-pet.is-dragging .songline-desktop-pet__spring,
.songline-desktop-pet.is-returning .songline-desktop-pet__spring{animation:none}
.songline-desktop-pet.is-paused :is(.songline-desktop-pet__figure,.songline-desktop-pet__spring){animation-play-state:paused}
@keyframes songlineDesktopPetIdle{
  0%,100%{transform:translateY(0) rotate(0deg)}
  25%{transform:translateY(-4px) rotate(14deg)}
  50%{transform:translateY(5px) rotate(-13deg)}
  75%{transform:translateY(-3px) rotate(10deg)}
}
@keyframes songlineDesktopPetCoilIdle{
  0%,100%{transform:skewX(0deg) scaleY(1)}
  25%{transform:skewX(-14deg) scaleY(1.044)}
  50%{transform:skewX(13deg) scaleY(.882)}
  75%{transform:skewX(-10deg) scaleY(1.04)}
}
@media (max-width:760px){
  .songline-desktop-pet{right:-2px;top:auto;bottom:0;width:110px;height:142px;}
  .songline-terminal-status .songline-terminal-brand{margin:0 72px 0 auto;}
  .songline-terminal-status .songline-desktop-pet__image{left:9px!important;width:92px!important;height:114px!important;}
}
@media (prefers-reduced-motion:reduce){
  .songline-desktop-pet__figure,.songline-desktop-pet__spring{animation:none;}
}
