.family-head{transform-origin:61px 70px;transition:transform .3s ease}.family-eyes{transform-box:fill-box;transform-origin:center}.family-tail{transform-box:fill-box;transform-origin:10% 85%}.lobby-mode:hover .family-head,.lobby-mode:focus-visible .family-head{animation:family-nod 1s ease-in-out}.lobby-mode:hover .family-tail,.lobby-mode:focus-visible .family-tail{animation:family-tail .65s ease-in-out 2}.lobby-mode-daily:hover .family-eyes{animation:family-blink .7s ease-in-out}.lobby-mode-custom:hover .family-head{animation:family-think 1s ease-in-out}.lobby-mode-quick:hover .club-cat-character{animation:family-ready .65s ease-in-out}.club-cat-character{transform-origin:80px 145px}.lobby-mode>.club-cat-art{width:96px;height:102px;right:0;bottom:62px;transform:none}.lobby-mode p{max-width:calc(100% - 66px)}.lobby-link-art>.club-cat-art{width:71px;height:71px}
.mascot-original{visibility:hidden!important;animation:none!important}.mascot-living{position:absolute;display:block;width:100%;max-width:450px;pointer-events:none}.mascot-living>svg{display:block;width:100%;height:auto;overflow:visible}.mascot-living .mascot-head{transform-origin:304px 252px;transform:rotate(var(--look,0deg));transition:transform .28s ease;animation:mascot-listen 11s 2s ease-in-out infinite}.mascot-living .mascot-arm{transform-origin:358px 306px;animation:mascot-wave 12s 4s ease-in-out infinite}.mascot-living .mascot-tail{transform-origin:370px 353px;animation:mascot-tail 8s ease-in-out infinite}.hero-art .mascot-living{filter:drop-shadow(0 20px 30px #0002)}.about-party-art .mascot-living{width:120%;max-width:520px}.app-play-art .mascot-living{width:180px;height:145px;transform:translateY(5px)}
.yarn-greeting{position:fixed;left:50%;top:17%;width:170px;height:88px;pointer-events:none;transform:translateX(-50%);z-index:2;animation:greeting-fade .95s ease both}.greeting-ball{display:block;width:75px;height:75px;filter:drop-shadow(0 5px 7px #35234420);animation:greeting-roll .85s cubic-bezier(.2,.8,.3,1) both}.greeting-ball>svg{width:100%;height:100%}.greeting-paws{position:absolute;left:66px;top:29px;display:flex;gap:8px;color:var(--orange)}.greeting-paws>.paw-icon{width:19px;height:19px;animation:greeting-paw .7s ease both}.greeting-paws>.paw-icon:nth-child(2){animation-delay:.08s;transform:rotate(18deg)}.greeting-paws>.paw-icon:nth-child(3){animation-delay:.16s;transform:rotate(-12deg)}
.cat-mood{min-height:20px;font-size:12px;font-weight:600;color:var(--mint);line-height:1.5;text-align:center}.cat-mood:empty{visibility:hidden}.cat-mood.is-speaking{animation:mood-in .25s ease both}.board-footer{flex-wrap:wrap}.board-footer .cat-mood{flex-basis:100%;order:3;margin-top:8px}.cell.cat-nod>svg{animation:cat-nod .7s var(--cat-delay,0s) ease both}.cell.cat-wink>svg{animation:cat-head-peek .9s var(--cat-delay,0s) ease both}.cell.cat-wink{--cat-eye-scale:1;--play-left-eye:.12}.cell.cat-curious>svg{animation:cat-curious .9s var(--cat-delay,0s) ease both}.cell.cat-celebrate>svg{animation:cat-celebrate .7s var(--cat-delay,0s) ease both}.cell.cat-celebrate{--cat-eye-scale:.25}
@keyframes family-nod{0%,100%{transform:rotate(0)}35%{transform:rotate(-9deg) translateY(2px)}65%{transform:rotate(4deg)}}@keyframes family-think{0%,100%{transform:rotate(0)}40%,65%{transform:rotate(11deg)}}@keyframes family-tail{50%{transform:rotate(-13deg)}}@keyframes family-blink{35%,55%{transform:scaleY(.12)}}@keyframes family-ready{40%{transform:translateY(3px) scale(1.03,.95)}70%{transform:translateY(-4px) scale(.98,1.02)}}
@keyframes mascot-listen{0%,72%,100%{transform:rotate(var(--look,0deg))}77%,84%{transform:rotate(calc(var(--look,0deg) - 5deg))}91%{transform:rotate(calc(var(--look,0deg) + 3deg))}}@keyframes mascot-wave{0%,78%,100%{transform:rotate(0)}83%,93%{transform:rotate(-9deg)}88%,97%{transform:rotate(4deg)}}@keyframes mascot-tail{0%,75%,100%{transform:rotate(0)}82%{transform:rotate(-8deg)}90%{transform:rotate(5deg)}}
@keyframes greeting-roll{0%{transform:translate(-32px,6px) rotate(-65deg) scale(.7)}50%{transform:translate(30px,-8px) rotate(20deg)}100%{transform:translate(65px,5px) rotate(55deg)}}@keyframes greeting-fade{0%,100%{opacity:0}12%,70%{opacity:1}}@keyframes greeting-paw{0%,100%{opacity:0;translate:0 5px}35%,70%{opacity:.8;translate:0 -5px}}@keyframes mood-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes cat-nod{0%,100%{transform:translateY(0)}30%{transform:translateY(5%) rotate(-4deg)}65%{transform:translateY(-4%) rotate(3deg)}}@keyframes cat-curious{0%,100%{transform:rotate(0)}35%,65%{transform:rotate(12deg) translateY(-2%)}}@keyframes cat-celebrate{0%,100%{transform:translateY(0) scale(1)}30%{transform:translateY(-12%) rotate(-8deg) scale(1.06)}65%{transform:translateY(-5%) rotate(7deg)}}
@media(min-width:1700px){.lobby-mode>.club-cat-art{width:125px;height:132px;bottom:60px}.lobby-mode p{max-width:calc(100% - 90px)}.mascot-living{max-width:480px}.cat-mood{font-size:14px}}
@media(min-width:2600px){.lobby-mode>.club-cat-art{width:170px;height:180px;bottom:74px}.lobby-mode p{max-width:calc(100% - 130px)}.mascot-living{max-width:700px}}
@media(min-width:651px) and (max-width:1100px){.lobby-mode>.club-cat-art{width:110px;height:117px;bottom:18px;right:15px}.lobby-mode p{max-width:calc(100% - 110px)}}
@media(max-width:650px){.yarn-greeting{top:12%}.cat-mood{font-size:12px}.app-play-art .mascot-living{max-width:180px}}
:root[data-motion=reduced] :is(.family-head,.family-tail,.family-eyes,.club-cat-character,.mascot-head,.mascot-arm,.mascot-tail,.is-speaking,.cell.cat-nod>svg,.cell.cat-wink>svg,.cell.cat-curious>svg,.cell.cat-celebrate>svg){animation:none!important;transition:none!important;transform:none!important}:root[data-motion=reduced] .yarn-greeting{display:none}
@media(prefers-reduced-motion:reduce){:is(.family-head,.family-tail,.family-eyes,.club-cat-character,.mascot-head,.mascot-arm,.mascot-tail,.is-speaking,.cell.cat-nod>svg,.cell.cat-wink>svg,.cell.cat-curious>svg,.cell.cat-celebrate>svg){animation:none!important;transition:none!important;transform:none!important}.yarn-greeting{display:none}}
.cell.cat-oops{--play-ear-angle:7deg;--cat-eye-scale:.7}.cell.cat-oops>svg{animation:cat-not-here .6s ease both}
@keyframes cat-not-here{0%,100%{transform:rotate(0)}35%{transform:rotate(-6deg)}65%{transform:rotate(3deg)}}
:root[data-motion=reduced] .cell.cat-oops>svg{animation:none!important}
@media(prefers-reduced-motion:reduce){.cell.cat-oops>svg{animation:none!important}}
