.hv-pet{--pet-size:160px;position:relative;display:inline-block;width:var(--pet-size);height:var(--pet-size);isolation:isolate;vertical-align:middle}
.hv-pet-body{--tilt-x:0deg;--tilt-y:0deg;position:absolute;inset:10%;width:80%;height:80%;padding:0;border:1px solid var(--pet-color);border-radius:50%;background:#191326;overflow:hidden;cursor:pointer;box-shadow:0 0 22px color-mix(in srgb,var(--pet-color) 30%,transparent);animation:hv-breathe 4s ease-in-out infinite;transform:perspective(400px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:filter .3s}
.hv-pet-body:focus-visible{outline:3px solid #fff;outline-offset:4px}
.hv-pet-body img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.hv-pet-eyes{position:absolute;left:25%;top:39%;width:50%;height:8%;background:linear-gradient(90deg,transparent,#fff9,transparent);border-radius:50%;opacity:0;animation:hv-blink 6.3s infinite;pointer-events:none}
.hv-pet[data-tipo=fenrir] .hv-pet-eyes{animation-delay:1.8s}
.hv-pet[data-tipo=ajolote] .hv-pet-eyes{animation-delay:3s}
.hv-pet-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hv-pet-heart{position:absolute;left:42%;top:14%;font-size:28px;color:#ff789f;opacity:0;pointer-events:none}
.hv-pet-loved .hv-pet-heart{animation:hv-heart 1.3s ease-out}
.hv-pet-loved .hv-pet-body,.hv-pet[data-estado=celebra] .hv-pet-body{animation:hv-hop .65s ease-in-out 3}
.hv-pet[data-estado=feliz] .hv-pet-body{filter:saturate(1.35) brightness(1.13)}
.hv-pet[data-estado=triste] .hv-pet-body{inset:17%;width:66%;height:66%;filter:saturate(.3) brightness(.75)}
.hv-pet-wanderer{position:fixed;bottom:8px;z-index:40;pointer-events:none}
.hv-pet-wanderer .hv-pet-body{pointer-events:auto}
body.hv-life-paused .hv-pet *,body.hv-life-paused .hv-fx-toast{animation-play-state:paused!important}
.hv-fx-stack{position:fixed;right:16px;bottom:18px;width:min(370px,calc(100vw - 32px));z-index:10000;display:grid;gap:12px;pointer-events:none}
.hv-fx-toast{position:relative;padding:20px;border:1px solid #d6a452;border-radius:12px;background:linear-gradient(125deg,#292035,#11131c);box-shadow:0 0 25px #df9e343f;display:flex;gap:14px;animation:hv-toast .4s ease-out;overflow:hidden;pointer-events:auto;color:#fff;font:14px/1.5 system-ui}
.hv-fx-toast small{color:#efbb68;display:block}.hv-fx-toast strong{display:block;font-size:18px}.hv-fx-toast p{margin:4px 0 0;color:#d2c6da}.hv-fx-icon{font-size:32px}.hv-fx-close{position:absolute;right:5px;top:3px;border:0;background:transparent;color:#fff;cursor:pointer;font-size:20px}
.hv-fx-toast:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff16,transparent 70%);animation:hv-shine 2s;pointer-events:none}
.hv-fx-reward{position:fixed;z-index:10001;font:bold 22px system-ui;color:#edbd65;text-shadow:0 2px 6px #000;pointer-events:none;animation:hv-reward 1.4s ease-out forwards;white-space:nowrap}
@keyframes hv-breathe{50%{transform:perspective(400px) translateY(-5px) scale(1.035) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}}
@keyframes hv-blink{0%,92%,96%,100%{opacity:0}94%{opacity:.65}}
@keyframes hv-hop{50%{transform:translateY(-18px) rotate(-5deg)}}
@keyframes hv-heart{15%{opacity:1}100%{opacity:0;transform:translateY(-40px)}}
@keyframes hv-toast{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes hv-shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes hv-reward{0%{opacity:0;transform:translate(-50%,0)}15%{opacity:1}100%{opacity:0;transform:translate(-50%,-85px)}}
@media(prefers-reduced-motion:reduce){.hv-pet *,.hv-fx-toast,.hv-fx-toast:after,.hv-fx-reward{animation:none!important;transition:none!important}.hv-pet-loved .hv-pet-heart{opacity:1}.hv-pet-body{transform:none!important}.hv-fx-reward{transform:translateX(-50%)}.hv-pet[data-estado=celebra] .hv-pet-body{filter:brightness(1.3) saturate(1.5)}}
