/* Both styles share hitboxes and the same map/cat nodes. */
.farm-classic-visual{display:none}
.farm-cel-visual{display:block}
.farm-icon>.farm-classic-visual,.farm-icon>.farm-cel-visual{width:100%;height:100%}
.farm-classic .farm-classic-visual{display:block}
.farm-classic .farm-cel-visual{display:none}
.farm-classic .farm-season-label{visibility:hidden}
.farm-cel .farm-cat-art svg{overflow:visible}
.farm-cel .farm-cat-station .cat-seeds{opacity:0}
.farm-cel .farm-cat-station.cat-action-plant .cat-seeds,.farm-cel .farm-cat-station.cat-action-fertilize .cat-seeds{animation:cel-cat-sow .8s ease-in infinite}
.farm-cel .farm-cat-station.cat-action-buy .cat-working-arm,.farm-cel .farm-cat-station.cat-action-sell .cat-working-arm{animation:cel-cat-offer .95s ease-in-out infinite;transform-origin:82px 94px}
.farm-cel .farm-cat-station.cat-action-deliver .cat-left-arm{animation:cel-cat-check 1s ease-in-out infinite;transform-origin:40px 94px}
.farm-cel .farm-cat-station.cat-action-research .cat-science-tube{animation:cel-cat-tube 1.8s ease-in-out infinite;transform-origin:96px 109px}
.farm-cel .farm-cat-station.cat-action-wellness .cat-working-arm{animation:cel-cat-towel 2.6s ease-in-out infinite;transform-origin:82px 94px}
.farm-cel .farm-cat-station[data-cat-reaction=wave] .cat-left-arm{animation:cel-cat-wave .55s ease-in-out 4;transform-origin:40px 94px}
.farm-cel .farm-cat-station[data-cat-reaction=laugh] .cat-character{animation:cel-cat-laugh .4s ease-in-out 5;transform-origin:62px 130px}
.farm-cel .farm-cat-station[data-cat-reaction=nod] .cat-character{animation:cel-cat-nod .7s ease-in-out 3;transform-origin:62px 110px}
.farm-cel .farm-cat-station[data-cat-reaction=tired] .cat-character{animation:cel-cat-sleep 1.1s ease-in-out 2;transform-origin:62px 130px}
@keyframes cel-cat-sow{0%{opacity:0;transform:translateY(-5px)}25%{opacity:1}100%{opacity:0;transform:translate(5px,7px)}}
@keyframes cel-cat-offer{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(8deg) translateY(-3px)}}
@keyframes cel-cat-check{0%,100%{transform:rotate(0)}50%{transform:rotate(-12deg)}}
@keyframes cel-cat-tube{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}
@keyframes cel-cat-towel{0%,100%{transform:rotate(0)}50%{transform:translateY(-3px) rotate(-5deg)}}
@keyframes cel-cat-wave{0%,100%{transform:rotate(0)}40%{transform:rotate(40deg) translateY(-8px)}70%{transform:rotate(25deg) translateY(-6px)}}
@keyframes cel-cat-laugh{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px) rotate(2deg)}}
@keyframes cel-cat-nod{0%,100%{transform:rotate(0)}50%{transform:rotate(3deg) translateY(2px)}}
@keyframes cel-cat-sleep{0%,100%{transform:rotate(0)}50%{transform:rotate(-5deg) translateY(2px)}}
/* User and device motion preferences stop every new animation, including SVG parts. */
.game-pref-reduced .farm-cat-station,.game-pref-reduced .farm-cat-station svg *{animation:none!important}
.game-pref-reduced .farm-cat-station .cat-seeds{opacity:0!important}
@media(prefers-reduced-motion:reduce){.farm-cat-station,.farm-cat-station svg *{animation:none!important}.farm-cat-station .cat-seeds{opacity:0!important}}

.farm-classic .farm-fence-wood{stroke:#876c4e;stroke-width:8px}
.farm-classic .farm-fence-light{stroke:#d4b987;stroke-width:4px}
.farm-classic .farm-fence-highlight{stroke:#f2ead3;stroke-width:2px}
.farm-classic .farm-fence-post{fill:#aa865a;stroke:#796949}
.farm-classic .farm-fence-cap{fill:#f1e7cf}

.farm-cel .farm-cat-station.cat-action-process .cat-working-arm{animation:cel-cat-hammer .7s ease-in-out infinite;transform-origin:82px 94px}
.farm-cel .farm-cat-station.cat-action-therapy .cat-working-arm{animation:cel-cat-towel 2.6s ease-in-out infinite;transform-origin:82px 94px}
@keyframes cel-cat-hammer{0%,100%{transform:rotate(-15deg)}65%{transform:rotate(14deg)}}

.farm-cel .farm-cat-station.cat-action-fishing .cat-angler-rod{animation:cel-cat-rod 2.2s ease-in-out infinite;transform-origin:88px 122px}
@keyframes cel-cat-rod{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}

/* Living Paws 1.64.53 — one articulated SVG family in every cat view. */
.cat-life-butterfly,.cat-life-rest{opacity:0;pointer-events:none}
.cat-life-head{transform-origin:62px 77px;transform-box:view-box}
.cat-cel-ears{transform-origin:62px 37px}
.farm-cel .farm-cat-art .cat-eyes{transform-origin:62px 59px;animation:cat-life-blink 8.3s ease-in-out infinite;animation-delay:var(--cat-idle-delay,-2s)}
.farm-cel .farm-cat-character-portrait .cat-life-head{animation:cat-life-listen 7s ease-in-out infinite}
.farm-cel [data-cat-life]:not([data-cat-life=""]) .cat-life-head{animation:cat-life-listen 3.2s ease-in-out infinite;animation-delay:var(--cat-life-delay,0s)}
.farm-cel :is([data-cat-life=sniff],[data-cat-life=inspect],[data-cat-life=pawlick],[data-cat-life=groom]) .cat-life-head{animation-name:cat-life-sniff}
.farm-cel :is([data-cat-life=pawlick],[data-cat-life=groom],[data-cat-life=scratch]) .cat-left-arm{animation:cat-life-wash 1.4s ease-in-out infinite;transform-origin:40px 94px}
.farm-cel :is([data-cat-life=scratch]) .cat-right-foot{animation:cat-life-scratch .4s ease-in-out infinite;transform-origin:75px 126px}
.farm-cel :is([data-cat-life=yawn],[data-cat-life=sleep],[data-cat-life=pair-rest],[data-cat-life=sit]) .cat-character{animation:cat-life-rest 4s ease-in-out infinite;transform-origin:62px 143px}
.farm-cel :is([data-cat-life=sleep],[data-cat-life=pair-rest]) .cat-eyes{transform:scaleY(.12);animation:none}
.farm-cel :is([data-cat-life=sleep],[data-cat-life=pair-rest]) .cat-life-rest{animation:cat-life-dream 4s ease-out infinite}
.farm-cel [data-cat-life=yawn] .cat-life-head{animation:cat-life-yawn 4s ease-in-out infinite}
.farm-cel :is([data-cat-life=stretch],[data-cat-life=roll]) .cat-character{animation:cat-life-stretch 4.2s ease-in-out infinite;transform-origin:62px 142px}
.farm-cel [data-cat-life=roll] .cat-character{animation-name:cat-life-roll}
.farm-cel :is([data-cat-life=pounce],[data-cat-life=pair-play],[data-cat-life=stumble]) .cat-character{animation:cat-life-hop 3s ease-in-out infinite;transform-origin:62px 142px}
.farm-cel [data-cat-life=stumble] .cat-character{animation-name:cat-life-stumble}
.farm-cel :is([data-cat-life=ears],[data-cat-life=watch],[data-cat-life=greet]) .cat-cel-ears{animation:cat-life-ears 2s ease-in-out infinite}
.farm-cel :is([data-cat-life=sky],[data-cat-life=pose]) .cat-life-head{animation:cat-life-sky 4s ease-in-out infinite}
.farm-cel :is([data-cat-life=peek],[data-cat-life=tailwatch]) .cat-life-head{animation:cat-life-peek 3.2s ease-in-out infinite}
.farm-cel [data-cat-life=wink] .cat-eye:first-child{transform-origin:49px 59px;animation:cat-life-blink 2s ease-in-out infinite}
.farm-cel :is([data-cat-life=purr],[data-cat-life=nuzzle]) .cat-character{animation:cat-life-purr 3s ease-in-out infinite;transform-origin:62px 143px}
.farm-cel [data-cat-life=butterfly] .cat-life-butterfly{opacity:1;animation:cat-life-butterfly 3s ease-in-out infinite;transform-origin:98px 62px}
.farm-cel [data-cat-life=explore] .cat-character{animation:cat-life-explore 5s ease-in-out infinite;transform-origin:62px 143px}
.farm-cat-arrival .farm-cat-art .cat-character{animation:cat-life-arrive 1.6s ease-in-out 2;transform-origin:62px 143px}
@keyframes cat-life-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.1)}}
@keyframes cat-life-listen{0%,70%,100%{transform:rotate(0)}35%{transform:rotate(-5deg)}55%{transform:rotate(3deg)}}
@keyframes cat-life-sniff{0%,100%{transform:translate(0,0)}35%,65%{transform:translate(0,3px) rotate(-5deg)}50%{transform:translate(1px,4px) rotate(-4deg)}}
@keyframes cat-life-wash{0%,100%{transform:rotate(0)}35%,65%{transform:rotate(42deg) translate(0,-5px)}50%{transform:rotate(37deg) translate(0,-5px)}}
@keyframes cat-life-scratch{50%{transform:translate(1px,-8px) rotate(-13deg)}}
@keyframes cat-life-rest{0%,100%{transform:translateY(0) scaleY(1)}30%,75%{transform:translateY(2px) scaleY(.82)}}
@keyframes cat-life-dream{0%{opacity:0;transform:translateY(5px)}35%{opacity:.7}100%{opacity:0;transform:translate(3px,-8px)}}
@keyframes cat-life-yawn{0%,100%{transform:rotate(0)}35%{transform:translateY(-3px) rotate(7deg)}60%{transform:translateY(2px) rotate(-3deg)}}
@keyframes cat-life-stretch{0%,100%{transform:scale(1)}40%,65%{transform:scale(.94,1.1) rotate(-3deg)}}
@keyframes cat-life-roll{0%,100%{transform:rotate(0)}40%,60%{transform:rotate(55deg) scale(.94,.78)}}
@keyframes cat-life-hop{0%,30%,75%,100%{transform:translate(0,0)}45%{transform:translate(3px,-7px) rotate(5deg)}60%{transform:translate(-2px,0) scale(1.03,.96)}}
@keyframes cat-life-stumble{0%,100%{transform:rotate(0)}35%{transform:rotate(9deg) translateX(3px)}55%{transform:rotate(-6deg)}75%{transform:rotate(2deg)}}
@keyframes cat-life-ears{0%,70%,100%{transform:rotate(0)}30%{transform:rotate(-4deg)}45%{transform:rotate(3deg)}}
@keyframes cat-life-sky{0%,100%{transform:rotate(0)}40%,70%{transform:translateY(-3px) rotate(-7deg)}}
@keyframes cat-life-peek{0%,100%{transform:rotate(0)}40%{transform:rotate(9deg) translateX(2px)}65%{transform:rotate(-4deg)}}
@keyframes cat-life-purr{0%,100%{transform:rotate(0)}40%,60%{transform:rotate(calc(var(--cat-life-direction,1)*5deg)) translateX(calc(var(--cat-life-direction,1)*3px))}50%{transform:rotate(calc(var(--cat-life-direction,1)*6deg)) translateX(calc(var(--cat-life-direction,1)*3px))}}
@keyframes cat-life-butterfly{0%,100%{transform:translate(0,0) rotate(0)}35%{transform:translate(4px,-9px) rotate(18deg)}70%{transform:translate(-6px,-3px) rotate(-14deg)}}
@keyframes cat-life-explore{0%,100%{transform:translateX(0)}35%{transform:translateX(-4px) rotate(-3deg)}65%{transform:translateX(4px) rotate(3deg)}}
@keyframes cat-life-arrive{0%,100%{transform:translateY(0)}45%{transform:translateY(-4px) rotate(-3deg)}}
.game-pref-reduced .farm-cat-art *,.game-pref-reduced .farm-cat-character-portrait *{animation:none!important}
.game-pref-reduced .cat-life-rest,.game-pref-reduced .cat-life-butterfly{opacity:0!important}
@media(prefers-reduced-motion:reduce){.farm-cat-art *,.farm-cat-character-portrait *{animation:none!important}.cat-life-rest,.cat-life-butterfly{opacity:0!important}}
.farm-atmosphere-paused .farm-cat-art *{animation-play-state:paused!important}
.ui-reduced-motion .farm-cat-art *{animation:none!important}
.farm-cel-visual .cat-character{transform-origin:62px 143px}
