/* ═══════════════════════════════════════════════════
   研途小鹤 · 桌宠  前缀 pet-
   形象为自绘 SVG 折纸鹤，不使用图片与 emoji
   ═══════════════════════════════════════════════════ */

/* 原来那个圆形闪电按钮由桌宠接管 */
.mai-fab{display:none !important}
.mai-tip{display:none !important}

.pet{
  position:fixed;right:26px;bottom:26px;z-index:180;
  width:78px;height:78px;
  cursor:grab;touch-action:none;
  user-select:none;-webkit-user-select:none;
  transition:filter var(--t-3) var(--ease-out);
  will-change:transform;
}
.pet.dragging{cursor:grabbing;transition:none}
.pet.dragging .pet-body{animation:none}
.pet:focus-visible{outline:2px solid var(--blue);outline-offset:6px;border-radius:16px}

/* 地面投影 */
.pet-shadow{
  position:absolute;left:50%;bottom:-2px;width:44px;height:9px;
  margin-left:-22px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.55),rgba(0,0,0,0) 70%);
  transition:transform var(--t-3) var(--ease-out),opacity var(--t-3);
}

/* 本体 */
.pet-body{
  position:absolute;inset:0;
  display:grid;place-items:center;
  transform-origin:50% 82%;
  animation:petBob 3.4s ease-in-out infinite;
}
.pet-body svg{width:100%;height:100%;overflow:visible;display:block}
@keyframes petBob{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-4px) rotate(-1.2deg)}
}

/* 折纸面色 */
.pet .pp{stroke:rgba(4,8,16,.62);stroke-width:.9;stroke-linejoin:round}
.pet .pf{fill:#152C56}
.pet .pn{fill:#2A5CA8}
.pet .pn2{fill:#3B7BD8}
.pet .pb{fill:#12294F}
.pet .pb2{fill:#1E4485}
.pet .ph{fill:#2E63B0}
.pet .pk{fill:#5C9BF5}
.pet .pe{fill:#EAF2FF}
.pet .pglow{fill:url(#petGrad);opacity:.42}
.pet .pcr{stroke:rgba(120,170,255,.28);stroke-width:.7;fill:none}

/* 眨眼：用一块与背景同色的遮罩上下压缩眼睛
   这里换成 scaleY 更稳，避免依赖背景色 */
.pet .eye{transform-box:fill-box;transform-origin:center;animation:petBlink 5.2s infinite}
@keyframes petBlink{
  0%,92%,100%{transform:scaleY(1)}
  94%{transform:scaleY(.12)}
  96%{transform:scaleY(1)}
  97%{transform:scaleY(.12)}
  99%{transform:scaleY(1)}
}

/* 翅膀微颤 */
.pet .wing-n{transform-box:fill-box;transform-origin:18% 78%;animation:petWing 4.6s ease-in-out infinite}
@keyframes petWing{
  0%,100%{transform:rotate(0deg)}
  46%{transform:rotate(-2.2deg)}
  54%{transform:rotate(1.4deg)}
}

/* 闲置：四处张望 */
.pet.look .pet-body{animation:petLook 1.6s ease-in-out}
@keyframes petLook{
  0%{transform:translateY(-2px) rotate(0)}
  30%{transform:translateY(-3px) rotate(5deg)}
  65%{transform:translateY(-3px) rotate(-5deg)}
  100%{transform:translateY(0) rotate(0)}
}

/* 点击：扇翅膀 + 弹一下 */
.pet.hop .pet-body{animation:petHop .62s var(--ease-out)}
@keyframes petHop{
  0%{transform:translateY(0) scale(1)}
  28%{transform:translateY(-14px) scale(1.06,.95)}
  55%{transform:translateY(0) scale(.95,1.05)}
  78%{transform:translateY(-4px) scale(1.02)}
  100%{transform:translateY(0) scale(1)}
}
.pet.hop .wing-n{animation:petFlap .62s var(--ease-out)}
@keyframes petFlap{
  0%,100%{transform:rotate(0)}
  30%{transform:rotate(-26deg)}
  60%{transform:rotate(10deg)}
}

/* 悬停：抬头 */
.pet:hover .pet-body{animation-play-state:paused}
.pet:hover{filter:drop-shadow(0 0 14px rgba(59,130,246,.45))}
.pet:hover .pet-shadow{transform:scale(1.12);opacity:.9}

/* 睡觉：低头、翅膀收拢、投影变大 */
.pet.sleep .pet-body{animation:petSleep 5s ease-in-out infinite}
@keyframes petSleep{
  0%,100%{transform:translateY(3px) rotate(-7deg) scale(.94)}
  50%{transform:translateY(5px) rotate(-7deg) scale(.92)}
}
.pet.sleep .pet-shadow{transform:scale(1.25);opacity:.75}
.pet.sleep .wc{animation:none}
.pet.sleep .eye{animation:none;transform:scaleY(.1)}

/* 想事情时轻微脉动 */
.pet.think .pet-body{animation:petThink .9s ease-in-out infinite}
@keyframes petThink{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-2px) scale(1.03)}
}

/* 说话气泡 */
.pet-bub{
  position:absolute;right:calc(100% - 6px);bottom:30px;
  max-width:190px;padding:8px 12px;
  border:1px solid var(--line);border-radius:12px 12px 4px 12px;
  background:var(--paper-solid);color:var(--ink-2);
  font-size:12.5px;line-height:1.5;white-space:nowrap;
  box-shadow:var(--sh-2);pointer-events:none;
  opacity:0;transform:translateX(6px) scale(.94);transform-origin:100% 100%;
  transition:opacity var(--t-2) var(--ease-out),transform var(--t-3) var(--spring);
}
.pet-bub.on{opacity:1;transform:none}
.pet-bub::after{
  content:"";position:absolute;right:-1px;bottom:-6px;
  width:10px;height:10px;background:var(--paper-solid);
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  transform:skewX(28deg) rotate(28deg);
  border-radius:0 0 3px 0;
}

/* 拖拽时给个落点提示 */
.pet.dragging .pet-shadow{transform:scale(1.3);opacity:.6}

@media (max-width:640px){
  .pet{width:64px;height:64px;right:16px;bottom:16px}
  .pet-bub{max-width:150px;font-size:12px;bottom:24px}
}

@media (prefers-reduced-motion:reduce){
  .pet-body,.pet .eye,.pet .wing-n,
  .pet.look .pet-body,.pet.hop .pet-body,.pet.sleep .pet-body,.pet.think .pet-body{
    animation:none !important;
  }
}

/* 答疑面板打开时：缩小靠边，不抢视线也不挡内容 */
.pet.aside{
  transform:scale(.62) translateY(6px);
  opacity:.45;
  transition:transform var(--t-3) var(--ease-out),opacity var(--t-3) var(--ease-out);
}
.pet.aside .pet-bub{opacity:0 !important}
.pet.aside .pet-body{animation:none}
.pet.aside:hover{opacity:.95;transform:scale(.8) translateY(0)}
