.modal-open{overflow:hidden}.ai-finder-button{position:fixed;right:24px;bottom:24px;z-index:30;border:0;border-radius:99px;background:#c84f55;color:#fff;padding:13px 19px 13px 13px;box-shadow:0 12px 38px rgba(118,52,55,.24);font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:9px}.ai-finder-button span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);font-family:serif;font-size:15px}.ai-finder-backdrop{position:fixed;inset:0;z-index:60;background:rgba(58,42,39,.28);backdrop-filter:blur(7px);padding:24px;overflow:auto}.ai-finder-backdrop[hidden]{display:none}.ai-finder{width:min(620px,100%);margin:4vh auto;background:#fffaf7;border:1px solid rgba(136,95,87,.12);border-radius:28px;padding:32px;box-shadow:0 28px 90px rgba(81,48,42,.22)}.ai-finder header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.ai-finder header small,.ai-result-heading small{color:#c84f55;font-size:10px;letter-spacing:.13em}.ai-finder h2{font-size:30px;letter-spacing:-.055em;margin:7px 0 0}.ai-close{border:1px solid rgba(136,95,87,.14);background:#fff;width:36px;height:36px;border-radius:50%;font-size:22px;cursor:pointer}.ai-intro{color:#7e6e69;font-size:13px;line-height:1.75;margin:20px 0}.ai-examples{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:24px}.ai-examples button{border:1px solid rgba(200,79,85,.18);background:#fff4f0;color:#80635d;border-radius:99px;padding:8px 12px;font-size:11px;cursor:pointer}.ai-input-wrap{display:grid;gap:9px;font-size:12px;font-weight:700}.ai-input-wrap textarea{background:#fff;border:1px solid rgba(136,95,87,.14);border-radius:14px;padding:15px;min-height:105px}.ai-input-wrap textarea.input-error{border-color:#c84f55}.ai-submit{width:100%;border:0;border-radius:13px;background:#c84f55;color:#fff;padding:16px 18px;margin-top:14px;display:flex;justify-content:space-between;font-weight:700;cursor:pointer}.ai-results{margin-top:26px;border-top:1px solid rgba(136,95,87,.12);padding-top:22px}.ai-result-heading{display:grid;gap:5px;margin-bottom:12px}.ai-result-card{display:grid;grid-template-columns:30px 1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid rgba(136,95,87,.1);border-radius:15px;padding:14px;margin-top:8px}.ai-result-card>span{color:#c84f55;font-size:10px}.ai-result-card h3{font-size:14px;margin:0}.ai-result-card p{font-size:10px;color:#897772;margin:5px 0 0;line-height:1.5}.ai-result-card button{border:1px solid rgba(200,79,85,.22);background:#fff4f0;color:#b0444a;border-radius:99px;padding:8px 11px;font-size:10px;white-space:nowrap;cursor:pointer}.ai-result-card button.added{background:#c84f55;color:#fff}.ai-result-note,.ai-disclaimer{color:#9a8984;font-size:9px;line-height:1.6}.ai-result-note{margin:12px 2px}.ai-disclaimer{border-top:1px solid rgba(136,95,87,.1);padding-top:15px;margin:22px 0 0}@media(max-width:700px){.ai-finder-button{right:14px;bottom:82px}.ai-finder-backdrop{padding:10px}.ai-finder{margin:2vh auto;padding:23px 18px;border-radius:22px}.ai-finder h2{font-size:25px}.ai-result-card{grid-template-columns:24px 1fr}.ai-result-card button{grid-column:2;justify-self:start}}
.ai-unavailable{background:#fff;border:1px solid rgba(200,79,85,.15);border-radius:15px;padding:20px}.ai-unavailable span{display:block;color:#c84f55;font-size:9px;letter-spacing:.14em;margin-bottom:8px}.ai-unavailable strong{font-size:15px}.ai-unavailable p{color:#897772;font-size:11px;line-height:1.65;margin:9px 0 0}
.chat-panel{width:min(620px,100%)}.chat-panel h2{font-size:25px}.chat-messages{max-height:360px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;margin:18px 0;padding:2px}.chat-message{max-width:92%;padding:14px 16px;border-radius:16px;font-size:13px;line-height:1.8}.chat-message.assistant{align-self:flex-start;background:#fff;border:1px solid #e9ddd7}.chat-message.user{align-self:flex-end;background:#f7e5e4}.chat-message small{display:block;font-size:10px;color:#a64d51;margin-bottom:5px}.chat-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chat-sources a{font-size:10px;color:#a64d51;border-bottom:1px solid #e2c6c0;line-height:1.5}.chat-panel .ai-examples{margin-bottom:16px}.chat-panel textarea{min-height:76px;resize:vertical;font-size:13px;line-height:1.6}.chat-panel .ai-submit:disabled{opacity:.6;cursor:wait}.chat-status{font-size:11px;color:#a64d51;min-height:16px;margin:8px 0}.chat-contact{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.chat-contact a,.chat-reset{font-size:11px;color:#80635d}.chat-reset{border:0;background:none;text-decoration:underline;margin-left:auto;cursor:pointer}.chat-panel .ai-disclaimer{font-size:10px;margin-top:14px}@media(max-width:700px){.chat-messages{max-height:34vh}.chat-message{font-size:12px}.chat-panel h2{font-size:23px}.chat-panel .ai-intro{margin:12px 0}.chat-panel .ai-submit{padding:13px 16px}}

.chat-cat{display:block;width:100%;height:100%;flex-shrink:0}.ai-finder-button .cat-button-avatar{width:38px;height:38px;background:#fff8ed;padding:2px;border:1px solid #f0d5bf;transition:transform .2s}.ai-finder-button:hover .cat-button-avatar{transform:rotate(-8deg)}.cat-heading{display:flex;align-items:center;gap:14px}.cat-heading-avatar{display:block;width:66px;height:66px;flex-shrink:0;background:#fff1e2;border-radius:22px;padding:6px;border:1px solid #efded0}.cat-heading .cat-greeting{display:block;margin-top:5px;color:#92796b;font-size:11px}.chat-message .cat-message-label{display:flex;align-items:center;gap:6px}.cat-message-label .chat-cat{width:25px;height:25px}.chat-panel .cat-heading h2{margin-top:5px}@media(max-width:700px){.cat-heading{gap:10px}.cat-heading-avatar{width:54px;height:54px;border-radius:18px}.cat-heading .cat-greeting{font-size:10px}.chat-panel .cat-heading h2{font-size:22px}}

.cat-eyes-happy,.cat-eyes-thinking,.cat-eyes-sleepy{display:none}.cat-eyes-normal{transform-box:fill-box;transform-origin:center;animation:cat-blink 6s infinite}body[data-cat-mood="happy"] .cat-eyes-normal,body[data-cat-mood="thinking"] .cat-eyes-normal,body[data-cat-mood="sleepy"] .cat-eyes-normal{display:none}body[data-cat-mood="happy"] .cat-eyes-happy,body[data-cat-mood="thinking"] .cat-eyes-thinking,body[data-cat-mood="sleepy"] .cat-eyes-sleepy{display:block}body[data-cat-mood="happy"] .cat-heading-avatar{animation:cat-nod 1.4s ease-in-out 2}body[data-cat-mood="thinking"] .cat-heading-avatar .chat-cat{animation:cat-think 2s ease-in-out infinite}body[data-cat-mood="thinking"] .cat-heading-avatar{position:relative}body[data-cat-mood="thinking"] .cat-heading-avatar:after{content:'···';position:absolute;right:-7px;top:-8px;background:#fff;border:1px solid #ead7ce;border-radius:12px;color:#a64d51;font-size:16px;padding:0 6px;letter-spacing:2px}@keyframes cat-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.08)}74%,78%{transform:scaleY(1)}76%{transform:scaleY(.08)}}@keyframes cat-nod{0%,100%{transform:rotate(0)}35%{transform:rotate(-7deg)}70%{transform:rotate(5deg)}}@keyframes cat-think{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}@media(prefers-reduced-motion:reduce){.cat-eyes-normal,.cat-heading-avatar,.cat-heading-avatar .chat-cat{animation:none!important}.ai-finder-button .cat-button-avatar{transition:none}}

/* A small, mostly resting companion stays along the bottom edge. */
.ai-finder-button.roaming-cat{width:88px;height:106px;right:22px;bottom:12px;padding:0;border-radius:24px;background:transparent;box-shadow:none;display:block;animation:cat-stroll 38s ease-in-out infinite;touch-action:manipulation}
.roaming-cat .cat-whole{display:block;position:relative;width:88px;height:100px;background:none;border-radius:0;pointer-events:none}
.cat-body{position:absolute;inset:0;width:100%;height:100%}.roaming-cat .cat-walker-head{position:absolute;left:12px;top:0;width:64px;height:64px;background:none;border-radius:0;animation:cat-walk-bob 38s linear infinite}.roaming-cat .cat-tooltip{position:absolute;right:0;bottom:112px;width:max-content;height:auto;padding:8px 12px;background:#fffaf7;border:1px solid #ead7ce;border-radius:14px;color:#93605a;font-family:inherit;font-size:11px;box-shadow:0 4px 14px #573a2910;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;pointer-events:none}
.roaming-cat:hover .cat-tooltip,.roaming-cat:focus-visible .cat-tooltip{opacity:1;transform:translateY(0)}.roaming-cat:focus-visible{outline:2px solid #c84f55;outline-offset:4px}.roaming-cat:hover,.roaming-cat:focus-within,.roaming-cat:hover *,.roaming-cat:focus-within *{animation-play-state:paused!important}.modal-open .roaming-cat{visibility:hidden}.cat-paw{animation:cat-paws 38s linear infinite;transform-box:fill-box;transform-origin:center}.cat-paw-right{animation-delay:-.25s}.cat-tail{transform-box:fill-box;transform-origin:bottom left;animation:cat-tail-wave 5s ease-in-out infinite}
@keyframes cat-stroll{0%,20%,100%{transform:translateX(0)}35%,60%{transform:translateX(calc(-1 * min(620px, max(0px, calc(100vw - 158px)))))}75%,86%{transform:translateX(calc(-1 * min(280px, max(0px, calc(100vw - 158px)))))}}
@keyframes cat-walk-bob{0%,20%,35%,60%,75%,86%,100%{transform:translateY(0)}22%,26%,30%,62%,66%,70%,88%,92%,96%{transform:translateY(-2px)}24%,28%,32%,64%,68%,72%,90%,94%,98%{transform:translateY(1px)}}
@keyframes cat-paws{0%,20%,35%,60%,75%,86%,100%{transform:translateY(0)}22%,26%,30%,62%,66%,70%,88%,92%,96%{transform:translateY(-3px)}24%,28%,32%,64%,68%,72%,90%,94%,98%{transform:translateY(0)}}
@keyframes cat-tail-wave{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(6deg)}}
@media(max-width:700px){.ai-finder-button.roaming-cat{width:70px;height:84px;right:12px;bottom:78px;animation-name:cat-stroll-mobile}.roaming-cat .cat-whole{width:70px;height:80px}.roaming-cat .cat-walker-head{width:51px;height:51px;left:9px}.roaming-cat .cat-tooltip{bottom:88px}@keyframes cat-stroll-mobile{0%,20%,100%{transform:translateX(0)}35%,60%{transform:translateX(calc(-1 * min(112px, max(0px, calc(100vw - 127px)))))}75%,86%{transform:translateX(calc(-1 * min(48px, max(0px, calc(100vw - 127px)))))}}}
@media(prefers-reduced-motion:reduce){.roaming-cat,.roaming-cat *{animation:none!important;transition:none!important}}

/* Four paws and a horizontal silhouette for the walking companion. */
.ai-finder-button.roaming-cat{width:112px;height:84px}.roaming-cat .cat-whole{width:112px;height:80px}.roaming-cat .cat-tooltip{bottom:88px}.cat-quadruped .cat-tail{transform-origin:105px 52px;transform-box:view-box}.cat-side-shape{transform-origin:70px 50px;animation:cat-facing 38s step-end infinite}.cat-leg{transform-box:view-box;animation:cat-leg-stride 38s linear infinite;transform-origin:48px 65px}.cat-leg-back-near,.cat-leg-back-far{transform-origin:93px 65px}.cat-leg-front-far,.cat-leg-back-near{animation-name:cat-leg-stride-other}
@keyframes cat-facing{0%,35%{transform:scaleX(1)}60%,75%{transform:scaleX(-1)}86%,100%{transform:scaleX(1)}}
@keyframes cat-leg-stride{0%,20%,35%,60%,75%,86%,100%{transform:rotate(0)}22%,26%,30%,62%,66%,70%,88%,92%,96%{transform:rotate(17deg)}24%,28%,32%,64%,68%,72%,90%,94%,98%{transform:rotate(-17deg)}}
@keyframes cat-leg-stride-other{0%,20%,35%,60%,75%,86%,100%{transform:rotate(0)}22%,26%,30%,62%,66%,70%,88%,92%,96%{transform:rotate(-17deg)}24%,28%,32%,64%,68%,72%,90%,94%,98%{transform:rotate(17deg)}}
@media(max-width:700px){.ai-finder-button.roaming-cat{width:91px;height:68px}.roaming-cat .cat-whole{width:91px;height:65px}.roaming-cat .cat-tooltip{bottom:72px}}

/* During a long rest, sit down and wash a paw and cheek. */
.cat-groom-shape{opacity:0;animation:cat-groom-show 38s step-end infinite}.cat-side-shape{animation:cat-facing 38s step-end infinite,cat-walk-show 38s step-end infinite}.cat-groom-head{transform-origin:70px 48px;animation:cat-groom-nuzzle 1.8s ease-in-out infinite}.cat-groom-paw{transform-origin:61px 72px;animation:cat-groom-wash 1.8s ease-in-out infinite}.cat-groom-tongue{animation:cat-groom-lick 1.8s step-end infinite}
@keyframes cat-groom-show{0%,40%{opacity:0}41%,57%{opacity:1}58%,100%{opacity:0}}
@keyframes cat-walk-show{0%,40%{opacity:1}41%,57%{opacity:0}58%,100%{opacity:1}}
@keyframes cat-groom-nuzzle{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg) translateY(2px)}65%{transform:rotate(-5deg)}}
@keyframes cat-groom-wash{0%,100%{transform:rotate(0)}25%{transform:rotate(8deg)}65%{transform:rotate(25deg) translateY(-9px)}}
@keyframes cat-groom-lick{0%,15%{opacity:0}16%,32%{opacity:1}33%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.cat-groom-shape{display:none}.cat-side-shape{opacity:1}}

/* Plush kitten proportions: round cheeks and two visible eyes in a three-quarter view. */
.cat-quadruped{filter:drop-shadow(0 2px 1px rgba(118,80,54,.06))}.cat-groom-head{transform-origin:69px 51px}.cat-groom-tongue{transform:translate(9px,0)}

.ai-finder,.ai-finder-button{box-sizing:border-box;font-family:'Noto Sans KR',sans-serif;color:#38332f}.ai-finder button,.ai-finder textarea{font-family:inherit}.ai-finder .ai-submit{color:#fff}.ai-finder a{text-decoration:none}.ai-finder button{cursor:pointer}.ai-finder-backdrop{box-sizing:border-box}.chat-panel .ai-input-wrap>span{width:auto;height:auto;background:none;border-radius:0}.cat-groom-paw{transform-box:view-box;transform-origin:61px 76px;animation:cat-groom-wash 2.8s ease-in-out infinite}.cat-groom-head{animation:cat-groom-nuzzle 2.8s ease-in-out infinite}.cat-groom-tongue{animation:cat-groom-lick 2.8s step-end infinite;transform:translate(9px,0)}
@keyframes cat-groom-wash{0%,20%,100%{transform:rotate(0)}40%,60%{transform:rotate(20deg)}80%{transform:rotate(4deg)}}
@keyframes cat-groom-nuzzle{0%,100%{transform:rotate(0)}12%,24%{transform:rotate(-7deg) translateY(2px)}40%,60%{transform:rotate(-3deg)}80%{transform:rotate(-5deg)}}
@keyframes cat-groom-lick{0%{opacity:0}10%,23%{opacity:1}24%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.roaming-cat,.roaming-cat *{animation:none!important;transition:none!important}.cat-groom-shape{display:none}.cat-side-shape{opacity:1}}

/* Each resting period alternates between a snack, toy time and grooming. */
.cat-eat-shape,.cat-play-shape{display:none;opacity:0;animation:cat-groom-show 38s step-end infinite}body[data-cat-activity="eat"] .cat-eat-shape,body[data-cat-activity="play"] .cat-play-shape{display:block}body[data-cat-activity="eat"] .cat-groom-shape,body[data-cat-activity="play"] .cat-groom-shape{display:none}.cat-eat-shape .cat-leg,.cat-play-shape .cat-leg{animation:none}.cat-eat-head{transform-box:view-box;transform-origin:42px 44px;animation:cat-nibble 1.3s ease-in-out infinite}.cat-play-head{transform-box:view-box;transform-origin:42px 44px;animation:cat-watch-toy 2s ease-in-out infinite}.cat-play-shape .cat-leg-front-near{transform-box:view-box;transform-origin:48px 65px;animation:cat-toy-tap 2s ease-in-out infinite}.cat-toy-ball{transform-box:view-box;transform-origin:17px 88px;animation:cat-toy-roll 2s ease-in-out infinite}.cat-food-bowl{pointer-events:none}
@keyframes cat-nibble{0%,100%{transform:translate(-4px,15px) rotate(-16deg)}45%{transform:translate(-4px,18px) rotate(-19deg)}65%{transform:translate(-4px,16px) rotate(-17deg)}}
@keyframes cat-watch-toy{0%,100%{transform:rotate(-5deg) translateY(4px)}45%{transform:rotate(-11deg) translateY(7px)}}
@keyframes cat-toy-tap{0%,100%{transform:rotate(0)}30%{transform:rotate(35deg) translate(-6px,-3px)}45%{transform:rotate(48deg) translate(-8px,-3px)}65%{transform:rotate(0)}}
@keyframes cat-toy-roll{0%,20%,100%{transform:translateX(0) rotate(0)}50%,65%{transform:translateX(-7px) rotate(-25deg)}}
@media(prefers-reduced-motion:reduce){.cat-eat-shape,.cat-play-shape{display:none!important}.roaming-cat,.roaming-cat *{animation:none!important;transition:none!important}.cat-side-shape{opacity:1}}
.modal-open .roaming-cat,.modal-open .roaming-cat *{animation-play-state:paused!important}

/* Take a bite, lift the head, then chew before the next bite. */
.cat-eat-head{transform-origin:59px 57px;animation:cat-natural-eating 4.5s ease-in-out infinite}.cat-eat-shape .cat-leg-front-near{animation:cat-eat-weight 4.5s ease-in-out infinite}.cat-eat-shape .cat-eat-head path:last-child{transform-box:fill-box;transform-origin:center;animation:cat-chew 4.5s ease-in-out infinite}.cat-toy-ball{transform-origin:15px 83px;animation:cat-large-ball-roll 2s ease-in-out infinite}
@keyframes cat-natural-eating{0%,8%,100%{transform:translate(0,0) rotate(0)}22%,36%{transform:translate(-2px,4px) rotate(-20deg)}42%{transform:translate(-2px,5px) rotate(-22deg)}58%,67%,77%,87%{transform:translate(0,-1px) rotate(-2deg)}62%,72%,82%,92%{transform:translate(0,0) rotate(0)}}
@keyframes cat-eat-weight{0%,8%,58%,100%{transform:rotate(0)}22%,42%{transform:rotate(-3deg)}}
@keyframes cat-chew{0%,55%,100%{transform:scaleY(1)}60%,70%,80%,90%{transform:scaleY(.75)}65%,75%,85%,95%{transform:scaleY(1)}}
@keyframes cat-large-ball-roll{0%,20%,100%{transform:translateX(0) rotate(0)}50%,65%{transform:translateX(-6px) rotate(-16deg)}}
@media(prefers-reduced-motion:reduce){.roaming-cat,.roaming-cat *{animation:none!important;transition:none!important}}

/* Keep blush out of the moving play face; loaf quietly between walks. */
.cat-play-head .cat-blush{display:none}.cat-loaf-shape{opacity:1;animation:cat-loaf-show 38s step-end infinite}.cat-loaf-shape .cat-leg{display:none}.cat-loaf-shape .cat-tail{animation:none;transform:rotate(48deg)}.cat-side-shape{animation:cat-facing 38s step-end infinite,cat-walking-only 38s step-end infinite}
@keyframes cat-loaf-show{0%{opacity:1}20%{opacity:0}35%{opacity:1}41%{opacity:0}58%{opacity:1}60%{opacity:0}75%{opacity:1}86%{opacity:0}100%{opacity:1}}
@keyframes cat-walking-only{0%{opacity:0}20%{opacity:1}35%{opacity:0}60%{opacity:1}75%{opacity:0}86%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.cat-side-shape,.cat-eat-shape,.cat-play-shape,.cat-groom-shape{display:none!important}.cat-loaf-shape{opacity:1;animation:none!important}}

.cat-paw-trail{position:fixed;inset:0;pointer-events:none;z-index:29;overflow:hidden}.cat-paw-print{position:absolute;width:11px;height:11px;opacity:0;animation:cat-paw-fade 1.7s ease-out forwards;transform:rotate(var(--paw-angle))}.cat-paw-print svg{display:block;width:100%;height:100%;fill:#bb9b79}.modal-open .cat-paw-trail{display:none}@keyframes cat-paw-fade{0%{opacity:0}12%{opacity:.32}55%{opacity:.18}100%{opacity:0}}@media(max-width:700px),(prefers-reduced-motion:reduce){.cat-paw-trail{display:none}}

/* Tuck the paws under the body, leaving rounded toes visible. */
.cat-loaf-shape .cat-leg-front-near,.cat-loaf-shape .cat-leg-back-near{display:block;animation:none;transform:translateY(10px) scale(.85,.4)}

/* A water break alternates with food, play and grooming. */
.cat-drink-shape{display:none;opacity:0;animation:cat-groom-show 38s step-end infinite}body[data-cat-activity="drink"] .cat-drink-shape{display:block}body[data-cat-activity="drink"] .cat-groom-shape{display:none}.cat-drink-shape .cat-leg{animation:none}.cat-drink-head{transform-box:view-box;transform-origin:59px 57px;animation:cat-drink-dip 4.8s ease-in-out infinite}.cat-drink-tongue{transform-origin:27px 49px;animation:cat-lap-water .32s ease-in-out infinite}.cat-water-ripple{transform-box:fill-box;transform-origin:center;animation:cat-water-ripple .65s ease-out infinite}.cat-water-bowl{pointer-events:none}
@keyframes cat-drink-dip{0%,10%,100%{transform:rotate(0)}24%,70%{transform:translate(-2px,5px) rotate(-21deg)}78%,90%{transform:translate(0,-1px) rotate(-2deg)}}
@keyframes cat-lap-water{0%,100%{transform:scaleY(.15);opacity:0}45%,65%{transform:scaleY(1);opacity:1}}
@keyframes cat-water-ripple{0%{transform:scale(.5);opacity:.9}100%{transform:scale(2);opacity:0}}
.roaming-cat.is-looking .cat-eyes-normal{display:block!important;animation:none;transform:translate(var(--cat-gaze-x,0px),var(--cat-gaze-y,0px));transition:transform .12s ease-out}.roaming-cat.is-looking .cat-eyes-happy,.roaming-cat.is-looking .cat-eyes-thinking,.roaming-cat.is-looking .cat-eyes-sleepy{display:none!important}
.roaming-cat.is-petted .cat-eyes-normal,.roaming-cat.is-petted .cat-eyes-thinking,.roaming-cat.is-petted .cat-eyes-sleepy{display:none!important}.roaming-cat.is-petted .cat-eyes-happy{display:block!important}.roaming-cat.is-petted .cat-whole{animation:cat-pet-nuzzle .75s ease-in-out infinite!important;animation-play-state:running!important;transform-origin:center bottom}.roaming-cat.is-petted .cat-whole:after{content:'♥';position:absolute;right:30px;top:-8px;font-size:15px;color:#d88b94;animation:cat-pet-heart 1.3s ease-out infinite!important;animation-play-state:running!important;pointer-events:none}
@keyframes cat-pet-nuzzle{0%,100%{transform:rotate(0) translateY(0)}50%{transform:rotate(-2deg) translateY(-2px)}}
@keyframes cat-pet-heart{0%{opacity:0;transform:translateY(3px) scale(.8)}25%{opacity:.8}100%{opacity:0;transform:translateY(-10px) scale(1)}}
@media(prefers-reduced-motion:reduce){.cat-drink-shape{display:none!important}.roaming-cat.is-petted .cat-whole{animation:none!important}.roaming-cat.is-petted .cat-whole:after{animation:none!important;opacity:.7}.roaming-cat.is-looking .cat-eyes-normal{transition:none}}

/* Rounded resting body, with folded front paws and a relaxed haunch. */
.cat-rest-body{transform-box:view-box;transform-origin:75px 85px;animation:cat-rest-breathe 3.5s ease-in-out infinite}.cat-sleep-shape{display:none;opacity:0;animation:cat-groom-show 38s step-end infinite}body[data-cat-activity="sleep"] .cat-sleep-shape{display:block}body[data-cat-activity="sleep"] .cat-groom-shape{display:none}.cat-sleep-body{transform-box:view-box;transform-origin:75px 85px;animation:cat-rest-breathe 4s ease-in-out infinite}.cat-sleep-head{transform-box:view-box;transform-origin:37px 68px;transform:translate(0,5px) rotate(-10deg)}.cat-sleep-shape .cat-eyes-normal,.cat-sleep-shape .cat-eyes-happy,.cat-sleep-shape .cat-eyes-thinking{display:none!important}.cat-sleep-shape .cat-eyes-sleepy{display:block!important}.cat-sleep-zzz{animation:cat-sleep-dream 3s ease-out infinite}
@keyframes cat-rest-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.018)}}
@keyframes cat-sleep-dream{0%{opacity:0;transform:translateY(4px)}25%{opacity:.65}100%{opacity:0;transform:translateY(-7px)}}
.roaming-cat.is-following,.roaming-cat.is-following *{animation-play-state:paused!important}.roaming-cat.is-following .cat-loaf-shape,.roaming-cat.is-following .cat-sleep-shape,.roaming-cat.is-following .cat-eat-shape,.roaming-cat.is-following .cat-drink-shape,.roaming-cat.is-following .cat-play-shape,.roaming-cat.is-following .cat-groom-shape{display:none!important}.roaming-cat.is-following .cat-side-shape{display:block!important;opacity:1!important;animation:none;transform:scaleX(var(--cat-follow-facing,1))}.roaming-cat.is-following .cat-leg{animation:none;transform:none}.roaming-cat.is-follow-walking .cat-side-shape{animation:cat-follow-bob .48s ease-in-out infinite!important;animation-play-state:running!important}.roaming-cat.is-follow-walking .cat-leg{animation:cat-follow-paws .48s ease-in-out infinite!important;animation-play-state:running!important}.roaming-cat.is-follow-walking .cat-leg-front-far,.roaming-cat.is-follow-walking .cat-leg-back-near{animation-delay:-.24s!important}
@keyframes cat-follow-bob{0%,100%{transform:scaleX(var(--cat-follow-facing,1)) translateY(0)}50%{transform:scaleX(var(--cat-follow-facing,1)) translateY(-1.5px)}}
@keyframes cat-follow-paws{0%,100%{transform:rotate(-13deg)}50%{transform:rotate(13deg)}}
@media(prefers-reduced-motion:reduce){.cat-sleep-shape{display:none!important}.cat-rest-body{animation:none!important}}

/* Exclusive pose visibility: no independent show/hide animation clocks. */
.roaming-cat .cat-quadruped > g[class$="-shape"]{display:none!important;opacity:1!important;animation:none!important}
.roaming-cat[data-cat-pose="loaf"] .cat-quadruped > .cat-loaf-shape,.roaming-cat[data-cat-pose="eat"] .cat-quadruped > .cat-eat-shape,.roaming-cat[data-cat-pose="drink"] .cat-quadruped > .cat-drink-shape,.roaming-cat[data-cat-pose="play"] .cat-quadruped > .cat-play-shape,.roaming-cat[data-cat-pose="groom"] .cat-quadruped > .cat-groom-shape,.roaming-cat[data-cat-pose="sleep"] .cat-quadruped > .cat-sleep-shape,.roaming-cat[data-cat-pose="side"] .cat-quadruped > .cat-side-shape{display:block!important}
.roaming-cat[data-cat-pose="side"] .cat-side-shape{transform:scaleX(var(--cat-follow-facing,1))}.roaming-cat[data-cat-pose="side"] .cat-leg{animation:cat-follow-paws .48s ease-in-out infinite}.roaming-cat[data-cat-pose="side"] .cat-leg-front-far,.roaming-cat[data-cat-pose="side"] .cat-leg-back-near{animation-delay:-.24s}
.roaming-cat.is-returning,.roaming-cat.is-returning *{animation-play-state:paused!important}

/* Rest the muzzle near the water; a rounded pink tongue laps in short strokes. */
.cat-drink-head{animation:cat-water-sip 7.2s ease-in-out infinite}.cat-drink-lapping,.cat-drink-splash{animation:cat-lapping-window 7.2s linear infinite}.cat-drink-tongue,.cat-drink-tongue-line{transform-box:view-box;transform-origin:27px 48px;animation:cat-tongue-lap .42s ease-in-out infinite}.cat-water-ripple{animation:cat-lap-ripple .42s ease-out infinite;animation-delay:.17s}
@keyframes cat-water-sip{0%,10%,100%{transform:translate(0,0) rotate(0)}24%,34%,46%,58%,70%{transform:translate(-2px,4px) rotate(-19deg)}40%,52%,64%,75%{transform:translate(-2px,4.5px) rotate(-19.5deg)}86%,93%{transform:translate(0,-1px) rotate(-2deg)}}
@keyframes cat-lapping-window{0%,21%,80%,100%{opacity:0}24%,76%{opacity:1}}
@keyframes cat-tongue-lap{0%,100%{transform:scaleY(.12);opacity:0}20%{opacity:1;transform:scaleY(.35)}48%,58%{opacity:1;transform:scaleY(1)}80%{opacity:1;transform:scaleY(.45)}}
@keyframes cat-lap-ripple{0%{transform:scale(.3);opacity:0}12%{opacity:.85}100%{transform:scale(1.9);opacity:0}}
