.chat-messages{position:relative}
.cat-empty-state{position:absolute;inset:0;pointer-events:none;z-index:1}
.cat-empty-anchor{position:absolute;top:45%;left:50%;width:min(92%,560px);transform:translate(-50%,-50%);text-align:center}
.cat-empty-sticker-entry{animation:catPresenceEnter 420ms ease-out both}
.cat-empty-hover{display:inline-block;pointer-events:auto;transition:transform 180ms ease}
.cat-empty-hover img{display:block;width:clamp(180px,15vw,230px);height:auto;animation:catPresenceFloat 4.5s ease-in-out infinite}
.cat-empty-opener{margin:16px 0 0;color:var(--ink,#432c36);font-family:inherit;font-weight:600;font-size:clamp(20px,2vw,28px);line-height:1.4;text-align:center;animation:catPresenceText 300ms 120ms ease-out both;text-wrap:balance}
.cat-empty-state.leaving{animation:catPresenceExit 200ms ease both;pointer-events:none}
.cat-empty-state.leaving .cat-empty-hover{pointer-events:none}
[data-motion=breathe] img{animation-name:catPresenceBreathe!important;animation-duration:4s!important}
[data-motion=deep] img{animation-name:catPresenceBreathe!important;animation-duration:5.5s!important}
[data-motion=late] img{animation-name:catPresenceLate!important;animation-duration:5s!important}
[data-motion=stretch] img{animation-name:catPresenceStretch!important}
[data-motion=sway] img{animation-name:catPresenceSway!important;animation-duration:6s!important}
[data-motion=bob] img{animation-name:catPresenceBob!important;animation-duration:4s!important}
[data-motion=explore] img{animation-name:catPresenceExplore!important}
[data-motion=observe] img{animation-name:catPresenceObserve!important;animation-duration:5.5s!important}
[data-motion=play] img{animation-name:catPresencePlay!important;animation-duration:3.2s!important}
[data-motion=zoom] img{animation-name:catPresenceZoom!important;animation-duration:2.8s!important}
@keyframes catPresenceEnter{from{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}
@keyframes catPresenceText{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes catPresenceExit{to{opacity:0;transform:translateY(-4px) scale(.98)}}
@keyframes catPresenceFloat{50%{transform:translateY(-3px) scale(1.01)}}
@keyframes catPresenceBreathe{50%{transform:scale(1.01)}}
@keyframes catPresenceStretch{0%,100%{transform:scaleY(.98)}50%{transform:translateY(-2px) scaleY(1.02)}}
@keyframes catPresenceSway{0%,100%{transform:rotate(-.8deg)}50%{transform:rotate(.8deg)}}
@keyframes catPresenceBob{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg) scale(1.015)}}
@keyframes catPresenceExplore{0%,100%{transform:translateX(-2px) rotate(-.5deg)}50%{transform:translateX(2px) rotate(.5deg)}}
@keyframes catPresenceObserve{0%,100%{transform:rotate(-.4deg)}50%{transform:rotate(.4deg)}}
@keyframes catPresencePlay{50%{transform:translateY(-4px) rotate(1deg)}}
@keyframes catPresenceZoom{0%,100%{transform:translateX(-3px) rotate(-1deg)}50%{transform:translateX(3px) rotate(1deg)}}
@keyframes catPresenceLate{50%{transform:scale(1.01);opacity:.96}}
@media(hover:hover) and (pointer:fine){.cat-empty-hover:hover{transform:scale(1.015)}}
@media(max-width:820px){.cat-empty-hover img{width:clamp(140px,22vw,190px)}.cat-empty-opener{font-size:clamp(18px,3vw,22px)}}
@media(prefers-reduced-motion:reduce){.cat-empty-hover img{animation:none!important}.cat-empty-hover{transition:none}.cat-empty-hover:hover{transform:none}.cat-empty-sticker-entry,.cat-empty-opener{animation:catPresenceFade 150ms ease both}.cat-empty-state.leaving{animation:catPresenceFadeOut 150ms ease both}}
@keyframes catPresenceFade{from{opacity:0}to{opacity:1}}@keyframes catPresenceFadeOut{to{opacity:0}}
.cat-empty-state.paused img{animation-play-state:paused!important}
body.numerology-page #chatMessages.has-cat-empty{overflow-y:hidden!important;scrollbar-gutter:auto!important}
