/* The cats get their own floor: a strip at the bottom that fades into the page, so text softly disappears behind them. */
:root{--cat-floor:88px}
@media(max-width:600px){:root{--cat-floor:64px}}
body.cat-floor{padding-bottom:var(--cat-floor)}
body.cat-floor #pokemon-toast{bottom:calc(var(--cat-floor) + 12px)}
.home-cats{position:fixed;left:0;right:0;bottom:0;height:var(--cat-floor);z-index:4;background:linear-gradient(#fff0,#fff 55%)}
.home-cats[hidden]{display:none}
.home-cat{position:absolute;left:0;bottom:10px;width:0;height:0;transform-origin:0 0}
.home-cat img{position:absolute;bottom:0;max-width:none;pointer-events:auto;cursor:pointer;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 2px 1px #0002)}
.home-cat img[hidden]{display:none}
.home-cat[data-state="pounce"] img{animation:cat-hop .55s ease-out}
.home-cat:is([data-state="sit"],[data-state="loaf"],[data-state="sleep"]) img{transform-origin:50% 100%;animation:cat-breathe 3.2s ease-in-out infinite}
.home-cat[data-state="sleep"] img{animation-duration:4.2s}
@keyframes cat-hop{0%,100%{transform:translateY(0)}45%{transform:translateY(-34px)}}
@keyframes cat-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.025)}}
.cat-toy{position:absolute;left:-9px;bottom:11px;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f6a6b2,#d9667c 70%);box-shadow:inset 0 0 0 1.5px #8c3a4d;pointer-events:none}
.cat-toy::before,.cat-toy::after{content:'';position:absolute;inset:3px;border-radius:50%;border:1.5px solid #fbd3da;border-left-color:transparent;border-bottom-color:transparent}
.cat-toy::after{inset:6px;transform:rotate(140deg)}
.cat-bubble{position:absolute;transform:translateX(-50%);font:700 15px/1 Lato,Arial,sans-serif;color:#8a7362;pointer-events:none;animation:cat-bubble 1.4s ease-out forwards}
.cat-bubble.heart{color:#e0607e;font-size:18px}
.cat-bubble.zzz{color:#97a0b3;font-style:italic}
@keyframes cat-bubble{0%{opacity:0;translate:0 6px}20%{opacity:1}100%{opacity:0;translate:10px -30px}}
.cats-toggle{border:0;background:none;color:#6e776b;text-decoration:underline;text-underline-offset:3px;padding:6px 0;font:inherit;font-size:12px;cursor:pointer}
.cats-toggle:hover{color:#253128}
.cats-toggle[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.home-cat img,.cat-bubble{animation:none!important}}
/* On touch screens the cats must never block taps on the content underneath. */
@media (pointer:coarse){.home-cat img{pointer-events:none}}
.home-cat[data-state="scuffle"] img{animation:cat-hop .45s ease-out infinite}
.cat-bubble.puff{color:#c9a46a;font-size:16px}
