/* Pet interaction decorates existing cards; no score or pet ownership changes. */
.student-card{position:relative}
.student-card .art-frame .pet-art{transform-origin:50% 82%;animation:care-breathe 7s ease-in-out infinite;animation-delay:var(--care-delay,0s);animation-play-state:paused}
.student-card[data-care-mood="1"] .art-frame .pet-art{animation-name:care-bob;animation-duration:9s}
.student-card[data-care-mood="2"] .art-frame .pet-art{animation-name:care-doze;animation-duration:11s}
.student-card.care-in-view .art-frame .pet-art{animation-play-state:running}
.student-card.care-needs-attention .art-frame{background:radial-gradient(ellipse at bottom,#fff0d9 0,white 72%)}
.student-card.care-speaking .art-frame{animation:care-talk-glow 1.15s ease-out 2}
.student-card.care-celebrating .art-frame{animation:care-happy-glow .75s ease-out 3}
.care-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 14px 13px;border-top:1px solid #f2eaf3;background:#fcf9fd;font-size:11px}
.care-mood{color:#89778d;line-height:1.5;min-width:0}
.care-talk{flex-shrink:0;border:1px solid #e7daef;border-radius:20px;background:#fff;color:#80639b;padding:6px 9px;font-size:11px;font-weight:700;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
.care-talk:hover{background:#f3eafa}
.care-talk:active{transform:scale(.94);box-shadow:0 2px 8px #8a66b72b}
.care-talk:focus-visible,.care-dismiss:focus-visible{outline:2px solid #8a66b7;outline-offset:2px}
.care-bubble{position:absolute;z-index:4;left:10px;right:10px;top:43px;border:1px solid #eedebd;border-radius:16px;padding:12px 24px 12px 12px;background:#fffaf0f7;box-shadow:0 6px 18px #79551c19;color:#755947;font-size:12px;line-height:1.7;animation:care-appear .25s ease-out}
.care-bubble:after{content:"";position:absolute;left:25px;bottom:-7px;width:12px;height:12px;background:#fffaf0;border-right:1px solid #eedebd;border-bottom:1px solid #eedebd;transform:rotate(45deg)}
.care-bubble strong{display:block;font-size:11px;color:#b7823d;margin-bottom:3px}
.care-speaking .care-bubble{animation:care-appear .25s ease-out,care-bubble-talk 1.05s ease-in-out .25s 3}
.care-speaking .care-bubble strong:after{content:"  ···";display:inline-block;letter-spacing:1px;color:#9b71bd;animation:care-speaking-dots .78s ease-in-out infinite}
.care-dismiss{position:absolute;right:6px;top:5px;width:22px;height:22px;border-radius:50%;background:transparent;color:#aa927f;font-size:18px;line-height:1;cursor:pointer}
.care-settings-intro{display:flex;gap:14px;align-items:center;padding:18px;background:#faf5fe;border-radius:18px;margin-bottom:14px}
.care-settings-intro>span{font-size:32px}
.care-settings-intro b{color:#79608c;font-size:16px}
.care-settings-intro p{margin:5px 0 0;color:#93839c;font-size:12px;line-height:1.7}
.care-settings label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 4px;border-bottom:1px solid #eee7f1;cursor:pointer}
.care-settings b,.care-settings small{display:block}
.care-settings b{font-size:14px;color:#796b84}
.care-settings small{font-size:12px;line-height:1.65;color:#a094aa;margin-top:5px}
.care-settings input{width:20px;height:20px;flex-shrink:0;accent-color:#8b6ab1}
.care-motion-off .student-card .art-frame,.care-motion-off .student-card .art-frame .pet-art,.care-motion-off .care-bubble,.care-motion-off .care-bubble strong:after{animation:none!important}
.care-page-hidden .student-card .art-frame .pet-art{animation-play-state:paused!important}
@keyframes care-breathe{0%,65%,100%{transform:scale(1)}80%{transform:scale(1.025,1.035)}}
@keyframes care-bob{0%,70%,100%{transform:translateY(0) rotate(0)}79%{transform:translateY(-5px) rotate(-2deg)}88%{transform:translateY(-3px) rotate(2deg)}}
@keyframes care-doze{0%,65%,100%{transform:rotate(0)}78%{transform:rotate(-3deg) translateY(2px)}90%{transform:rotate(2deg)}}
@keyframes care-wave{0%,100%{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}
@keyframes care-joy{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-12px) scale(1.04)}70%{transform:translateY(1px) scale(1.02,.97)}}
@keyframes care-talk-glow{0%,100%{box-shadow:inset 0 0 0 0 #b895db00,0 0 0 0 #b895db00}45%{box-shadow:inset 0 0 22px #c9b1e34a,0 0 0 5px #b895db20}}
@keyframes care-happy-glow{0%,100%{box-shadow:inset 0 0 0 0 #ffd76d00,0 0 0 0 #ffd76d00}45%{box-shadow:inset 0 0 26px #ffe59b73,0 0 0 6px #ffd76d2e}}
@keyframes care-appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes care-bubble-talk{0%,100%{box-shadow:0 6px 18px #79551c19}50%{box-shadow:0 7px 22px #8b67ad2e,0 0 0 3px #b895db13}}
@keyframes care-speaking-dots{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-1px)}}
@media(max-width:590px){.care-row{padding:9px 10px;align-items:flex-start;flex-wrap:wrap}.care-talk{font-size:10px;padding:5px 8px}.care-bubble{font-size:11px;left:6px;right:6px;top:39px}.care-settings-intro{padding:13px}}
@media(prefers-reduced-motion:reduce){.student-card .art-frame,.student-card .art-frame .pet-art,.care-bubble,.care-bubble strong:after{animation:none!important}}

/* 主动互动的可见分镜：只绕过系统“减少动态”，不绕过站内宠物动画开关。 */
.pa-ring{position:absolute;z-index:6;left:50%;top:52%;width:28px;height:28px;margin:-14px 0 0 -14px;border:2px solid #b985d9;border-radius:50%;pointer-events:none;animation:pa-ring .78s cubic-bezier(.12,.72,.2,1) forwards}
@keyframes pa-ring{0%{opacity:.85;transform:scale(.35)}70%{opacity:.35}100%{opacity:0;transform:scale(3.1)}}

@media(prefers-reduced-motion:reduce){
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="talk"] .pet-art{animation:pa-talk-body 3.2s cubic-bezier(.34,.1,.28,1) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="talk"] .pet-art img{animation:pa-talk 3.2s cubic-bezier(.34,.1,.28,1) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="talk"] .pa-shadow{animation:pa-shadow-talk 3.2s ease-in-out both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="laugh"] .pet-art{animation:pa-laugh-body 2.5s cubic-bezier(.22,.74,.3,1) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="laugh"] .pet-art img{animation:pa-laugh 2.5s cubic-bezier(.22,.74,.3,1) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="laugh"] .pa-shadow{animation:pa-shadow-laugh 2.5s ease-in-out both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="shy"] .pet-art{animation:pa-shy-body 1.8s cubic-bezier(.2,.82,.28,1) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="shy"] .pet-art img{animation:pa-shy 1.8s cubic-bezier(.2,.82,.28,1) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="eat"] .pet-art{animation:pa-body-nudge 1.3s cubic-bezier(.22,1.1,.32,1) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="eat"] .pet-art img{animation:pa-eat 1.3s cubic-bezier(.22,1.1,.32,1) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="jump"] .pet-art{animation:pa-body-bounce 1.1s cubic-bezier(.18,1.22,.34,1) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="jump"] .pet-art img{animation:pa-jump 1.1s cubic-bezier(.18,1.22,.34,1) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="jump"] .pa-shadow{animation:pa-shadow-jump 1.1s cubic-bezier(.33,.9,.42,1) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="dance"] .pet-art{animation:pa-body-sway 1.6s cubic-bezier(.45,.05,.55,.95) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="dance"] .pet-art img{animation:pa-dance 1.6s cubic-bezier(.45,.05,.55,.95) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="dance"] .pa-shadow{animation:pa-shadow-dance 1.6s ease-in-out both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="sleep"] .pet-art{animation:pa-body-tilt 2.8s cubic-bezier(.36,.06,.28,1) both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .art-frame[data-pa="sleep"] .pet-art img{animation:pa-sleep 2.8s cubic-bezier(.32,.92,.38,1) both!important}

  body:not(.care-motion-off) .student-card.pa-user-motion .pa-p{display:block!important;animation:pa-particle var(--dur,900ms) cubic-bezier(.2,.7,.35,1) forwards!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-rise{display:block!important;animation:pa-rise var(--dur,1500ms) ease-out forwards!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-zzz{display:block!important;animation:pa-zzz 2.4s ease-out forwards!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-ball{display:block!important;animation:pa-ball 1.15s cubic-bezier(.35,.62,.45,1) forwards!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-ring{display:block!important;animation:pa-ring .78s cubic-bezier(.12,.72,.2,1) forwards!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-voice-wave{display:block!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-voice-wave:before{animation:pa-voice-dot .46s ease-in-out infinite alternate!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-voice-wave i{animation:pa-voice-wave 1.05s ease-out infinite!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-voice-wave i:nth-child(1){animation-delay:0s!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-voice-wave i:nth-child(2){animation-delay:.17s!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-voice-wave i:nth-child(3){animation-delay:.34s!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-laugh-word{display:block!important;animation:pa-laugh-word 1.45s cubic-bezier(.2,.8,.25,1) forwards!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-laugh-word-1{animation-delay:.22s!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-laugh-word-2{animation-delay:.5s!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-laugh-word-3{animation-delay:.78s!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-laugh-tear{display:block!important;animation:pa-laugh-tear var(--dur,1300ms) cubic-bezier(.18,.72,.28,1) forwards!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pa-shy-mark{display:block!important;animation:pa-shy-mark 1.65s ease-out both!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pet-say{animation:pet-say-in .2s ease!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pet-say-dots b{animation:pa-talk-dot .72s ease-in-out infinite!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pet-say-dots b:nth-child(2){animation-delay:.12s!important}
  body:not(.care-motion-off) .student-card.pa-user-motion .pet-say-dots b:nth-child(3){animation-delay:.24s!important}
  body:not(.care-motion-off) .student-card.pa-user-motion.care-speaking .art-frame{animation:care-talk-glow 1.15s ease-out 2!important}
  body:not(.care-motion-off) .student-card.pa-user-motion.care-speaking .care-bubble{animation:care-appear .25s ease-out,care-bubble-talk 1.05s ease-in-out .25s 3!important}
  body:not(.care-motion-off) .student-card.pa-user-motion.care-speaking .care-bubble strong:after{animation:care-speaking-dots .78s ease-in-out infinite!important}
}
