/* ============================================================
   粉色气球入口 — 安妮·卡森资料馆
   挂在 jiangtian.top 首页：从页顶缓缓飘落一个粉色气球，
   落定后轻微摆动，hover 放大，点击进入 /annecarson/
   ============================================================ */
#ac-balloon{
  position:fixed; z-index:9990;
  right:56px; top:-160px;          /* 初始在页面外 */
  width:64px; height:84px;
  display:block; text-decoration:none;
  animation:ac-drop 2.6s cubic-bezier(.34,1.3,.5,1) 1.2s forwards;
  will-change:transform;
  -webkit-user-select:none; user-select:none;
}
#ac-balloon .bl-body{
  position:absolute; left:0; top:0;
  width:64px; height:64px; border-radius:50% 50% 46% 46%;
  background:radial-gradient(circle at 32% 26%, #FDE7ED 0%, #F7BFCB 42%, #F2A9BC 68%, #E2788F 100%);
  border:1.6px solid rgba(90,45,45,.55);
  box-shadow:0 6px 18px rgba(226,120,143,.35), inset -6px -8px 14px rgba(190,90,110,.25);
}
#ac-balloon .bl-shine{
  position:absolute; left:13px; top:10px;
  width:16px; height:22px; border-radius:50%;
  background:rgba(255,255,255,.85); transform:rotate(18deg);
  filter:blur(1px);
}
#ac-balloon .bl-knot{
  position:absolute; left:27px; top:60px;
  width:10px; height:8px;
  background:#D96C84; border:1.4px solid rgba(90,45,45,.5);
  clip-path:polygon(50% 0,100% 100%,0 100%);
}
#ac-balloon .bl-string{
  position:absolute; left:31.4px; top:66px;
  width:1.6px; height:52px;
  background:rgba(90,45,45,.55); border-radius:2px;
  transform-origin:top center;
}
#ac-balloon .bl-string::after{          /* 绳尾小标签 */
  content:"卡森"; position:absolute; left:50%; bottom:-4px;
  transform:translateX(-50%);
  background:#FFFDF8; border:1px solid #E2A9B8; color:#A6402F;
  font-size:10px; line-height:1; padding:3px 4px; border-radius:6px;
  font-weight:700; white-space:nowrap; letter-spacing:1px;
}
#ac-balloon:hover .bl-body{ filter:brightness(1.06) }
#ac-balloon:hover{ animation:ac-hover-bounce .7s ease-in-out infinite alternate, ac-sway 3.4s ease-in-out infinite }
@keyframes ac-drop{
  0%  { transform:translateY(0) rotate(-8deg); }
  55% { transform:translateY(324px) rotate(6deg); }
  72% { transform:translateY(290px) rotate(-3deg); }
  86% { transform:translateY(308px) rotate(2deg); }
  100%{ transform:translateY(300px) rotate(0deg); }
}
@keyframes ac-sway{
  0%,100%{ transform:translateY(300px) rotate(-2.2deg) }
  50%    { transform:translateY(294px) rotate(2.2deg) }
}
@keyframes ac-hover-bounce{
  from{ filter:brightness(1.03) }
  to  { filter:brightness(1.1) }
}
/* 移动端收小并贴边 */
@media (max-width:768px){
  #ac-balloon{ right:14px; width:48px; height:64px }
  #ac-balloon .bl-body{ width:48px; height:48px }
  #ac-balloon .bl-shine{ left:10px; top:8px; width:12px; height:16px }
  #ac-balloon .bl-knot{ left:20px; top:45px }
  #ac-balloon .bl-string{ left:23.4px; top:50px; height:40px }
  @keyframes ac-drop{
    0%  { transform:translateY(0) rotate(-8deg) }
    55% { transform:translateY(244px) rotate(6deg) }
    72% { transform:translateY(216px) rotate(-3deg) }
    86% { transform:translateY(228px) rotate(2deg) }
    100%{ transform:translateY(220px) rotate(0) }
  }
  @keyframes ac-sway{
    0%,100%{ transform:translateY(220px) rotate(-2.2deg) }
    50%    { transform:translateY(215px) rotate(2.2deg) }
  }
}
/* 尊重减弱动态偏好 */
@media (prefers-reduced-motion: reduce){
  #ac-balloon{ animation:none; top:46px }
  #ac-balloon:hover{ animation:none }
}
