.pet-scene{
    position:relative;
    width:220px;height:220px;
    display:flex;align-items:center;justify-content:center;
}

.pet-character{
    position:relative;
    animation:pet-idle 3s ease-in-out infinite;
}
@keyframes pet-idle{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-8px)}
}

.pet-body{
    position:relative;
    width:120px;height:120px;
}
.pet-body-inner{
    width:100%;height:100%;
    position:relative;
}

.pet-body{
    background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);
    border-radius:50% 50% 45% 45%;
    box-shadow:0 8px 30px rgba(118,75,162,0.4),
               inset 0 -8px 20px rgba(0,0,0,0.2),
               inset 0 8px 20px rgba(255,255,255,0.1);
    transition:all 0.4s ease;
}

.pet-face{
    position:absolute;
    top:20%;left:50%;transform:translateX(-50%);
    width:80%;
    display:flex;flex-direction:column;align-items:center;
    gap:8px;
}

.pet-eyes{
    display:flex;gap:18px;
}
.pet-eye{
    width:20px;height:22px;
    background:#fff;
    border-radius:50%;
    position:relative;
    overflow:hidden;
    animation:blink 4s ease-in-out infinite;
}
@keyframes blink{
    0%,95%,100%{transform:scaleY(1)}
    97%{transform:scaleY(0.1)}
}
.pet-pupil{
    width:10px;height:10px;
    background:#2d1b69;
    border-radius:50%;
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    transition:all 0.3s ease;
}
.pet-pupil::after{
    content:'';position:absolute;
    top:2px;left:2px;width:3px;height:3px;
    background:#fff;border-radius:50%;
}

.pet-mouth{
    width:12px;height:6px;
    border-bottom:2.5px solid rgba(255,255,255,0.7);
    border-radius:0 0 50% 50%;
    transition:all 0.3s ease;
}

.pet-cheeks{
    position:absolute;
    top:35%;width:100%;
    display:flex;justify-content:space-between;
    padding:0 4px;
}
.pet-cheek{
    width:14px;height:8px;
    background:rgba(255,150,150,0.3);
    border-radius:50%;
    transition:all 0.3s ease;
}

.pet-arms{
    position:absolute;
    top:50%;width:140px;left:50%;
    transform:translateX(-50%);
    display:flex;justify-content:space-between;
}
.pet-arm{
    width:22px;height:30px;
    background:linear-gradient(135deg,#667eea,#764ba2);
    border-radius:50%;
    transition:all 0.3s ease;
}
.pet-arm--left{animation:arm-wave-left 3s ease-in-out infinite}
.pet-arm--right{animation:arm-wave-right 3s ease-in-out infinite}
@keyframes arm-wave-left{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-10deg)}}
@keyframes arm-wave-right{0%,100%{transform:rotate(0deg)}50%{transform:rotate(10deg)}}

.pet-legs{
    position:absolute;
    bottom:-14px;width:80px;left:50%;
    transform:translateX(-50%);
    display:flex;justify-content:space-between;
}
.pet-leg{
    width:18px;height:18px;
    background:linear-gradient(135deg,#667eea,#764ba2);
    border-radius:50%;
    transition:all 0.3s ease;
}

.pet-shadow{
    width:80px;height:12px;
    background:radial-gradient(ellipse,rgba(0,0,0,0.3) 0%,transparent 70%);
    border-radius:50%;
    margin:16px auto 0;
    animation:shadow-idle 3s ease-in-out infinite;
}
@keyframes shadow-idle{
    0%,100%{transform:scaleX(1);opacity:0.6}
    50%{transform:scaleX(0.85);opacity:0.4}
}

.pet-particles{
    position:absolute;inset:0;
    pointer-events:none;overflow:visible;
}

.mood-happy .pet-body{
    background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);
    box-shadow:0 8px 30px rgba(118,75,162,0.4),
               inset 0 -8px 20px rgba(0,0,0,0.2),
               inset 0 8px 20px rgba(255,255,255,0.15);
}
.mood-happy .pet-cheek{background:rgba(255,150,150,0.4)}

.mood-neutral .pet-body{
    background:linear-gradient(135deg,#5a6fd4 0%,#6a4295 100%);
}
.mood-neutral .pet-mouth{
    width:8px;height:0;
    border-bottom:2px solid rgba(255,255,255,0.5);
    border-radius:0;
}

.mood-sad .pet-body{
    background:linear-gradient(135deg,#4a5cb0 0%,#553d7a 100%);
    animation:pet-sad-bounce 4s ease-in-out infinite;
}
@keyframes pet-sad-bounce{
    0%,100%{transform:translateY(0) scale(1)}
    50%{transform:translateY(2px) scale(0.98)}
}
.mood-sad .pet-eye{height:18px}
.mood-sad .pet-mouth{
    width:14px;height:8px;
    border-top:2.5px solid rgba(255,255,255,0.5);
    border-bottom:none;
    border-radius:50% 50% 0 0;
}

.mood-angry .pet-body{
    background:linear-gradient(135deg,#e04060 0%,#c03050 100%);
    box-shadow:0 8px 30px rgba(224,64,96,0.4),
               inset 0 -8px 20px rgba(0,0,0,0.2);
}
.mood-angry .pet-mouth{
    width:18px;height:4px;
    border-bottom:none;
    background:rgba(255,255,255,0.6);
    border-radius:2px;
}
.mood-angry .pet-eye{
    background:#fff;
    clip-path:polygon(0 30%,100% 0,100% 100%,0 100%);
}
.mood-angry .pet-character{animation:pet-angry-shake 0.5s ease-in-out infinite}
@keyframes pet-angry-shake{
    0%,100%{transform:translateX(0)}
    25%{transform:translateX(-3px)}
    75%{transform:translateX(3px)}
}

.mood-sick .pet-body{
    background:linear-gradient(135deg,#7ebd7e 0%,#5a9a5a 100%);
    box-shadow:0 8px 30px rgba(90,154,90,0.4);
}
.mood-sick .pet-mouth{
    width:16px;height:10px;
    background:rgba(255,255,255,0.4);
    border-radius:0 0 50% 50%;border:none;
}
.mood-sick .pet-eye{height:14px}
.mood-sick .pet-cheek{background:rgba(100,255,100,0.3)}

.mood-sleeping .pet-body{
    background:linear-gradient(135deg,#4a50a0 0%,#5a3d8a 100%);
    filter:brightness(0.7);
}
.mood-sleeping .pet-eye{
    height:3px;width:20px;
    border-radius:2px;
    animation:none;
}
.mood-sleeping .pet-pupil{display:none}
.mood-sleeping .pet-mouth{
    width:8px;height:0;
    border-bottom:2px solid rgba(255,255,255,0.3);
    border-radius:0;
}
.mood-sleeping .pet-character{animation:pet-sleep-breathe 4s ease-in-out infinite}
@keyframes pet-sleep-breathe{
    0%,100%{transform:translateY(0) scale(1)}
    50%{transform:translateY(-3px) scale(1.03)}
}

.mood-dead .pet-body{
    background:linear-gradient(135deg,#444 0%,#333 100%);
    filter:grayscale(1) brightness(0.5);
}
.mood-dead .pet-eye{
    width:16px;height:16px;
    background:none;
    animation:none;
}
.mood-dead .pet-pupil{
    display:none;
}
.mood-dead .pet-eye::after{
    content:'×';font-size:14px;font-weight:700;
    color:rgba(255,255,255,0.5);
    position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);
}
.mood-dead .pet-mouth{
    width:16px;height:2px;
    border:none;background:rgba(255,255,255,0.3);
}
.mood-dead .pet-character{animation:none}
.mood-dead .pet-arm,.mood-dead .pet-leg{filter:grayscale(1) brightness(0.5)}
.mood-dead .pet-shadow{opacity:0.3}

.mood-hatching .pet-body{
    background:linear-gradient(135deg,#ffd93d 0%,#ffb347 100%);
    animation:pet-hatch-wiggle 0.3s ease-in-out infinite;
}
@keyframes pet-hatch-wiggle{
    0%,100%{transform:rotate(0deg)}
    25%{transform:rotate(5deg)}
    75%{transform:rotate(-5deg)}
}

.action-eating .pet-body{animation:pet-eat 0.3s ease-in-out 3}
@keyframes pet-eat{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.05)}
}
.action-playing .pet-character{animation:pet-jump 0.4s ease-in-out 3}
@keyframes pet-jump{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-25px)}
}
.action-cleaning .pet-body{animation:pet-spin 0.6s ease-in-out 2}
@keyframes pet-spin{
    0%{transform:rotate(0deg)}
    100%{transform:rotate(360deg)}
}
.action-healing .pet-body{
    animation:pet-heal-glow 0.5s ease-in-out 3;
}
@keyframes pet-heal-glow{
    0%,100%{box-shadow:0 0 20px rgba(168,85,247,0.4)}
    50%{box-shadow:0 0 40px rgba(168,85,247,0.8)}
}
.action-petting .pet-body{animation:pet-squish 0.4s ease-in-out 2}
@keyframes pet-squish{
    0%,100%{transform:scale(1,1)}
    50%{transform:scale(1.1,0.9)}
}

.stage-baby .pet-body{width:100px;height:100px}
.stage-baby .pet-eye{width:16px;height:18px}
.stage-baby .pet-arm{width:18px;height:24px}
.stage-baby .pet-leg{width:14px;height:14px}

.stage-child .pet-body{width:120px;height:120px}

.stage-teen .pet-body{
    width:130px;height:125px;
    border-radius:45% 45% 40% 40%;
}

.stage-adult .pet-body{
    width:140px;height:130px;
    border-radius:40% 40% 35% 35%;
    background:linear-gradient(135deg,#5a7fd4 0%,#8a4db5 50%,#c04dc0 100%);
}
.stage-adult .pet-arm{width:24px;height:34px}

.stage-elder .pet-body{
    width:135px;height:135px;
    background:linear-gradient(135deg,#8a8aaa 0%,#6a6a8a 100%);
}
.stage-elder .pet-arm{width:20px;height:28px}

.egg-large{
    position:relative;width:100px;height:120px;
    animation:egg-wobble 2s ease-in-out infinite;
}
@keyframes egg-wobble{
    0%,100%{transform:rotate(0deg)}
    25%{transform:rotate(3deg)}
    75%{transform:rotate(-3deg)}
}
.egg-shell{
    width:100%;height:100%;
    background:linear-gradient(135deg,#ffd93d,#ffb347);
    border-radius:50% 50% 60% 60%;
    box-shadow:0 8px 30px rgba(255,179,71,0.3),
               inset 0 -10px 20px rgba(0,0,0,0.1),
               inset 0 10px 20px rgba(255,255,255,0.2);
}
.egg-spots{
    position:absolute;top:30%;left:20%;width:60%;height:40%;
    background:radial-gradient(circle at 30% 40%,rgba(255,255,255,0.3) 0%,transparent 40%),
               radial-gradient(circle at 70% 60%,rgba(255,255,255,0.2) 0%,transparent 30%);
}

.particle{
    position:absolute;pointer-events:none;
    animation:particle-fade 1.5s ease forwards;
}
@keyframes particle-fade{
    0%{opacity:1;transform:translateY(0) scale(1)}
    100%{opacity:0;transform:translateY(-60px) scale(0.5)}
}
.particle-heart{font-size:16px}
.particle-star{font-size:14px;color:var(--accent-gold)}
.particle-zzz{font-size:18px;color:var(--accent-cyan)}
.particle-sparkle{font-size:12px;color:var(--accent-gold)}
.particle-stink{font-size:14px;color:#8f8}
