/* 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 .pet-art{animation:care-wave 1.2s ease-in-out 3}
.student-card.care-celebrating .art-frame .pet-art{animation:care-joy .8s ease-in-out 4}
.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}
.care-talk:hover{background:#f3eafa}
.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-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 .pet-art,.care-motion-off .care-bubble{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-appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@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 .pet-art,.care-bubble{animation:none!important}}
