.pet-stage{position:relative;display:grid;place-items:center;padding:28px 16px 20px;border-radius:var(--radius);background:radial-gradient(420px 200px at 50% 0,rgba(210,255,0,.1),transparent 70%),var(--surface);border:1px solid var(--border);overflow:hidden}.pet-stage:after{content:"♪ ♫ ♪";position:absolute;bottom:6px;right:12px;font-size:12px;letter-spacing:6px;color:var(--muted);opacity:.35;pointer-events:none}.pet-emoji{font-size:clamp(84px,18vw,132px);line-height:1;filter:drop-shadow(0 10px 24px rgba(0,0,0,.5));-webkit-user-select:none;-moz-user-select:none;user-select:none}.pet-mood-happy .pet-emoji{animation:pet-bounce 1.6s ease-in-out infinite}.pet-mood-egg .pet-emoji{animation:pet-wobble 2.2s ease-in-out infinite}@keyframes pet-wobble{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg) translateY(-4px)}}.pet-mood-hungry .pet-emoji{animation:pet-sway 3s ease-in-out infinite;filter:saturate(.85) drop-shadow(0 10px 24px rgba(0,0,0,.5))}.pet-mood-sad .pet-emoji,.pet-mood-very-hungry .pet-emoji{animation:pet-weak 2.4s ease-in-out infinite;filter:saturate(.6)}.pet-mood-critical .pet-emoji{animation:pet-shiver .9s ease-in-out infinite;filter:saturate(.5) hue-rotate(-15deg)}.pet-mood-dead .pet-emoji{filter:grayscale(1);opacity:.55;animation:none}.pet-mood-messy .pet-emoji{animation:pet-sway 3.4s ease-in-out infinite;filter:saturate(.75)}.pet-mood-dirty .pet-emoji{animation:pet-weak 2.8s ease-in-out infinite;filter:saturate(.55) sepia(.35)}.pet-mood-normal .pet-emoji{animation:pet-sway 4s ease-in-out infinite;filter:saturate(.9)}.pet-mood-sleepy .pet-emoji{animation:pet-weak 3.2s ease-in-out infinite;filter:saturate(.7) brightness(.92)}.pet-mood-lonely .pet-emoji{animation:pet-weak 2.6s ease-in-out infinite;filter:saturate(.55) brightness(.9)}.pet-walker{display:inline-block;will-change:transform;max-width:100%}.pet-mess{position:absolute;left:0;right:0;bottom:4px;height:30px;pointer-events:none}.pet-poop{position:absolute;bottom:0;font-size:22px;line-height:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5));animation:poop-pop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes poop-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.pet-waddle{animation:petWaddle .55s steps(2) infinite}@keyframes petWaddle{0%,to{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-4px)}}.pet-held{position:absolute;inset:0;pointer-events:none}.pet-held-food{position:absolute;bottom:30%;left:50%;margin-left:-22px;font-size:44px;transform-origin:50% 90%;animation:eatShrink 2s steps(6) forwards}@keyframes eatShrink{0%{transform:scale(1) rotate(-7deg);opacity:1}80%{opacity:1}to{transform:scale(.12) rotate(7deg);opacity:0}}.pet-fx-nibble{animation:fxNibble .4s ease-in-out 5}@keyframes fxNibble{0%,to{transform:scale(1)}50%{transform:scale(1.07,.88)}}.pet-paw{position:absolute;bottom:27%;font-size:20px;animation:pawNibble .42s ease-in-out infinite alternate}.pet-paw.left{left:50%;margin-left:-40px}.pet-paw.right{left:50%;margin-left:22px;animation-delay:.21s}@keyframes pawNibble{0%{transform:translateY(2px) rotate(-8deg)}to{transform:translateY(-5px) rotate(8deg)}}.pet-crumb{position:absolute;bottom:30%;left:50%;font-size:11px;color:var(--accent);opacity:0;animation:fxRise 1.2s ease-out forwards}.pet-crumb.c1{margin-left:-26px;animation-delay:.4s}.pet-crumb.c2{margin-left:18px;animation-delay:.8s;font-size:9px}.pet-crumb.c3{margin-left:-4px;animation-delay:1.1s}.pet-crumb.c4{margin-left:-30px;animation-delay:1.4s;font-size:10px}.pet-crumb.c5{margin-left:24px;animation-delay:1.6s;font-size:8px}.pet-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden}.pet-fx span{position:absolute;bottom:26%;left:50%;font-size:26px;opacity:0;animation:fxRise 1.5s ease-out forwards}.pet-fx span:first-child{margin-left:-34px;animation-delay:0s}.pet-fx span:nth-child(2){margin-left:-8px;animation-delay:.18s;font-size:22px}.pet-fx span:nth-child(3){margin-left:20px;animation-delay:.36s}.pet-fx span:nth-child(4){margin-left:2px;animation-delay:.1s;font-size:15px;font-weight:900;color:var(--accent)}@keyframes fxRise{0%{opacity:0;transform:translateY(14px) scale(.6)}20%{opacity:1}to{opacity:0;transform:translateY(-64px) scale(1.15)}}.pet-fx-squash{animation:fxSquash .55s ease}@keyframes fxSquash{0%{transform:scale(1)}35%{transform:scale(1.12,.82)}70%{transform:scale(.94,1.08)}to{transform:scale(1)}}.pet-fx-shake{animation:fxShake .5s ease}@keyframes fxShake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px) rotate(-3deg)}75%{transform:translateX(5px) rotate(3deg)}}@keyframes pet-bounce{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-14px) scale(.97,1.04)}55%{transform:translateY(0) scale(1.03,.96)}70%{transform:translateY(-6px) scale(1)}}@keyframes pet-sway{0%,to{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-5px)}}@keyframes pet-weak{0%,to{transform:translateY(0) scale(1);opacity:.9}50%{transform:translateY(4px) scale(.98);opacity:.65}}@keyframes pet-shiver{0%,to{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}.pet-notes span{position:absolute;bottom:18px;font-size:18px;color:var(--accent);opacity:0;animation:pet-note 2.6s ease-in infinite;pointer-events:none}.pet-notes span:first-child{left:32%;animation-delay:0s}.pet-notes span:nth-child(2){left:55%;animation-delay:.9s}.pet-notes span:nth-child(3){left:68%;animation-delay:1.7s}@keyframes pet-note{0%{opacity:0;transform:translateY(0) scale(.7)}25%{opacity:.9}to{opacity:0;transform:translateY(-70px) scale(1.1)}}.stat-row{display:grid;grid-template-columns:118px 1fr 44px;grid-gap:10px;gap:10px;align-items:center;font-size:13px}.stat-row .stat-label{font-weight:700;white-space:nowrap}.stat-row .stat-val{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted2)}.stat-track{height:10px;border-radius:999px;background:hsla(0,0%,100%,.07);overflow:hidden}.stat-fill{height:100%;border-radius:999px;transition:width .5s cubic-bezier(.4,0,.2,1)}.stat-hunger{background:linear-gradient(90deg,#ffb020,#ffd257)}.stat-clean{background:linear-gradient(90deg,#7dd3fc,#b7dff2)}.stat-happiness{background:linear-gradient(90deg,#f27bb5,#f2b9d2)}.stat-health{background:linear-gradient(90deg,#7ddf8e,#d2ff00)}.stat-xp{background:linear-gradient(90deg,var(--violet),var(--cyan))}.stat-low{animation:stat-blink 1.2s ease-in-out infinite}@keyframes stat-blink{0%,to{opacity:1}50%{opacity:.55}}.pet-actions{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}@media (max-width:560px){.pet-actions{grid-template-columns:repeat(2,1fr)}}.pet-action-btn{position:relative}.pet-flash{animation:pet-pop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes pet-pop{0%{transform:scale(.96)}60%{transform:scale(1.02)}to{transform:scale(1)}}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.shop-tabs{display:flex;gap:8px;flex-wrap:wrap}.pet-feedback{min-height:24px;font-size:13px}.pet-feedback.ok{color:var(--accent)}.pet-feedback.warn{color:#ffd257}.pet-feedback.err{color:#ff7a7a}.status-dot{display:inline-block;width:9px;height:9px;border-radius:999px;margin-right:6px}@media (prefers-reduced-motion:reduce){.pet-crumb,.pet-emoji,.pet-fx span,.pet-fx-nibble,.pet-fx-shake,.pet-fx-squash,.pet-held-food,.pet-notes span,.pet-paw,.pet-waddle{animation:none!important}}