.home-cat{position:fixed;left:0;top:0;width:88px;height:88px;z-index:10;pointer-events:none;user-select:none;contain:layout style;will-change:transform}
.home-cat svg{width:64px;height:64px;margin:12px;overflow:visible}
.cat-facing{transform-origin:32px 32px;transform:scaleX(var(--cat-direction,1))}
.cat-run,.cat-look{display:none}
.cat-tail{animation:cat-tail 2.4s steps(1) infinite}
.cat-eyes{animation:cat-blink 4.8s steps(1) infinite}
.is-running .cat-idle,.is-looking .cat-idle{display:none}
.is-running .cat-run{display:block;animation:cat-frames .24s steps(1) infinite}
.is-running .cat-run-b{animation-delay:-.12s}
.is-looking .cat-look{display:block}
.is-looking .cat-look{animation:cat-glance .24s steps(2) both}
body:has(dialog[open]) .home-cat{visibility:hidden}
@keyframes cat-tail{0%,100%{transform:translateX(0)}50%{transform:translateX(1px)}}
@keyframes cat-blink{0%,43%,47%,100%{opacity:1}45%{opacity:0}}
@keyframes cat-frames{0%,100%{visibility:visible}50%{visibility:hidden}}
@keyframes cat-glance{from{transform:translateX(3px)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.home-cat *{animation:none!important;transition:none!important}.is-running .cat-run-b{display:none}}
.cat-feeder{display:flex;align-items:center}
.fish-button{width:32px;height:36px;color:#777;touch-action:none;cursor:grab;border-radius:6px}
.fish-button:hover,.is-active .fish-button{color:#ff5a1f}.fish-button:active{cursor:grabbing}.fish-button:disabled{cursor:default;opacity:.4}
.header .fish-button svg{width:26px;height:18px;margin:auto;fill:none;stroke:none}.feed-count,.feed-hint{display:block;line-height:1.7}.feed-hint{color:#999;font-size:10px}
.cat-food{position:fixed;width:32px;height:20px;transform:translate(-50%,-50%);z-index:12;pointer-events:none;color:#ff5a1f}.cat-food svg{width:100%;height:100%}.cat-food[hidden]{display:none}
.cat-food.is-eaten{animation:fish-eaten 1.2s steps(3) forwards}
.cat-eat{display:none}.is-eating .cat-idle,.is-eating .cat-look{display:none}.is-eating .cat-eat{display:block}.cat-eat-head{transform-origin:42px 38px;animation:cat-chew .24s steps(2) infinite}
.cat-heart{display:none;position:absolute;left:37px;top:-2px;color:#ff5a1f;font:18px monospace}.is-happy .cat-heart{display:block;animation:cat-love .9s ease-out both}
body:has(dialog[open]) .cat-feeder,body:has(dialog[open]) .cat-food{visibility:hidden}
@keyframes cat-chew{50%{transform:translateY(2px) rotate(5deg)}}
@keyframes fish-eaten{to{transform:translate(-50%,-50%) scale(.1);opacity:0}}
@keyframes cat-love{from{opacity:0;transform:translateY(5px)}30%{opacity:1}to{opacity:0;transform:translateY(-10px)}}
@media(max-width:480px){.cat-feeder{display:flex;align-items:center}}
@media(prefers-reduced-motion:reduce){.cat-food,.cat-heart,.cat-eat-head{animation:none!important}}
.cat-food{transform:translate(-50%,-50%) scale(var(--remaining,1))}.cat-food.is-carried{transform:translate(-50%,-50%) scale(var(--remaining,1)) rotate(-20deg)}

#cat-home{width:100%;height:88px}.cat-note{position:fixed;width:140px;text-align:center;z-index:10;pointer-events:none;font:10px/1.6 Arial,"Microsoft YaHei",sans-serif;color:#888}.cat-note .feed-hint{font-size:10px;color:#999}.cat-note .feed-count{font-size:10px}body:has(dialog[open]) .cat-note{visibility:hidden}
.cat-note{opacity:0;visibility:hidden;padding:7px 9px;border:1px solid #e5e4dc;border-radius:9px;background:#fffffff5;box-shadow:0 3px 10px #00000008;transition:opacity .16s ease;color:#666}.cat-note.is-visible{opacity:1;visibility:visible}.cat-note::before{content:"";position:absolute;top:-4px;left:calc(50% - 4px);width:6px;height:6px;background:white;border-top:1px solid #e5e4dc;border-left:1px solid #e5e4dc;transform:rotate(45deg)}.cat-note .feed-count{display:none}.cat-note.show-count .feed-count{display:block}.cat-note .feed-hint{color:#666}

@media (any-hover:hover) and (any-pointer:fine){html.pixel-mouse-near,html.pixel-mouse-near *{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2236%22%20viewBox%3D%220%200%2040%2036%22%20shape-rendering%3D%22crispEdges%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M1%2020h4v-3h4v-3h1V8h2V6h6v2h2v5h7v2h4v4h2v5h3v-6h4v11h-3v3h-9v-3H12v2H7v-3H4v-3H1Z%22%2F%3E%3Cpath%20fill%3D%22%23343330%22%20d%3D%22M3%2021h4v-3h4v-3h7v-1h8v2h4v4h2v5h-3v3H12v-2H7v-2H3Z%22%2F%3E%3Cpath%20fill%3D%22%2377746d%22%20d%3D%22M18%2017h7v2h4v5h-3v2H15v-3h-3v-3h6Z%22%2F%3E%3Cpath%20fill%3D%22%23343330%22%20d%3D%22M11%2015V9h2V7h4v2h2v6h-2v2h-4v-2Z%22%2F%3E%3Cpath%20fill%3D%22%23b7a292%22%20d%3D%22M13%2010h3v4h-3Z%22%2F%3E%3Cpath%20fill%3D%22%23171717%22%20d%3D%22M8%2020h2v2H8Z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M8%2020h1v1H8Z%22%2F%3E%3Cpath%20fill%3D%22%23ff5a1f%22%20d%3D%22M2%2022h2v2H2Z%22%2F%3E%3Cpath%20fill%3D%22%2377746d%22%20d%3D%22M29%2025h3v3h4v-2h1v-7h2v9h-2v3h-7v-2h-1Z%22%2F%3E%3Cpath%20fill%3D%22%23545047%22%20d%3D%22M10%2027h4v2h-4ZM23%2027h4v2h-4Z%22%2F%3E%3C%2Fsvg%3E") 2 23,auto!important}}
