.cat-mascot{--cat-eye-x:0px;--cat-eye-y:0px;--cat-eye-left-x:0px;--cat-eye-left-y:0px;--cat-eye-right-x:0px;--cat-eye-right-y:0px;--cat-head-rotate:0deg;left:max(14px, env(safe-area-inset-left));bottom:max(10px, env(safe-area-inset-bottom));z-index:4;aspect-ratio:2/3;outline-offset:3px;cursor:pointer;touch-action:manipulation;transform-origin:0 100%;contain:layout paint style;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:42% 42% 34% 34%;width:clamp(132px,11vw,190px);min-width:44px;min-height:44px;margin:0;padding:0;transition:opacity .18s,transform .22s cubic-bezier(.22,1,.36,1);display:block;position:fixed;transform:translate(0,0)}.cat-mascot:focus-visible{outline:3px solid #4e826dd1}.cat-mascot[data-tucked=true],.cat-mascot[data-safe=false]{opacity:0;pointer-events:none;transform:translate(-94%,4%)scale(.92)}.cat-mascot__stage,.cat-mascot__neutral,.cat-mascot__head,.cat-mascot__ear,.cat-mascot__hearts{display:block;position:absolute;inset:0}.cat-mascot__stage{pointer-events:none;filter:drop-shadow(0 12px 14px #5b36471f);transform-origin:50% 92%;animation:4.8s ease-in-out infinite cat-breathe;overflow:visible}.cat-mascot__neutral{transform-origin:51% 88%;transition:opacity .14s,transform .22s cubic-bezier(.22,1,.36,1)}.cat-mascot__layer,.cat-mascot__groom{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.cat-mascot__body{clip-path:inset(37% 0 0)}.cat-mascot__head{transform:rotate(var(--cat-head-rotate));transform-origin:50% 46%;will-change:transform;transition:transform 90ms linear}.cat-mascot__face{clip-path:inset(23.5% 13% 51.5%);-webkit-mask-image:linear-gradient(#000 0 43%,#000000fa 44%,#0000 48%);mask-image:linear-gradient(#000 0 43%,#000000fa 44%,#0000 48%)}.cat-mascot__closed-eyes{z-index:3;opacity:0;transition:opacity 55ms}.cat-mascot__ear{will-change:transform;transform:rotate(0)}.cat-mascot__ear--left{clip-path:polygon(18% 5%,56% 5%,56% 26%,18% 26%);transform-origin:42% 31%}.cat-mascot__ear--right{clip-path:polygon(49% 10%,89% 10%,89% 26%,49% 26%);transform-origin:59% 38%}.cat-mascot[data-ear=left] .cat-mascot__ear--left{animation:.36s cubic-bezier(.22,1,.36,1) cat-ear-left}.cat-mascot[data-ear=right] .cat-mascot__ear--right{animation:.36s cubic-bezier(.22,1,.36,1) cat-ear-right}.cat-mascot__eye-shell{z-index:2;background:0 0;border-radius:50%;place-items:center;width:11.7%;height:7.1%;display:grid;position:absolute}.cat-mascot__eye-shell--left{--cat-pupil-counter-rotate:7deg;--cat-pupil-x:var(--cat-eye-left-x);--cat-pupil-y:var(--cat-eye-left-y);top:27.6%;left:31.26%;transform:rotate(-7deg)}.cat-mascot__eye-shell--right{--cat-pupil-counter-rotate:-8deg;--cat-pupil-x:var(--cat-eye-right-x);--cat-pupil-y:var(--cat-eye-right-y);top:30.65%;left:47.91%;transform:rotate(8deg)}.cat-mascot__eye{z-index:1;transform-origin:50%;background:0 0;border-radius:62% 38% 55% 45%/58% 58% 42% 42%;transition:transform 85ms;display:block;position:relative;overflow:hidden}.cat-mascot__eye-shell--left .cat-mascot__eye{width:64%;height:62%}.cat-mascot__eye-shell--right .cat-mascot__eye{border-radius:38% 62% 45% 55%/58% 58% 42% 42%;width:80%;height:58%}.cat-mascot__pupil{width:36%;height:62%;transform:translate(calc(-50% + var(--cat-pupil-x)), calc(-50% + var(--cat-pupil-y))) rotate(var(--cat-pupil-counter-rotate));transform-origin:50%;will-change:transform;background:#302e29;border-radius:50%;transition:opacity 80ms;position:absolute;top:51%;left:50%}.cat-mascot__pupil:after{aspect-ratio:1;content:"";background:#fffcf7d1;border-radius:50%;width:34%;position:absolute;top:11%;left:5%}.cat-mascot[data-closed-eyes-asset=ready][data-blinking=true] .cat-mascot__eye,.cat-mascot[data-closed-eyes-asset=ready][data-cat-state=petted] .cat-mascot__eye{opacity:0;transform:scaleY(.08)}.cat-mascot[data-closed-eyes-asset=ready][data-blinking=true] .cat-mascot__pupil,.cat-mascot[data-closed-eyes-asset=ready][data-cat-state=petted] .cat-mascot__pupil{opacity:0}.cat-mascot[data-closed-eyes-asset=ready][data-blinking=true] .cat-mascot__closed-eyes,.cat-mascot[data-closed-eyes-asset=ready][data-cat-state=petted] .cat-mascot__closed-eyes{opacity:1}.cat-mascot__groom{z-index:3;opacity:0;transform-origin:52% 89%}.cat-mascot[data-cat-state=grooming] .cat-mascot__neutral{animation:2.8s linear both cat-neutral-groom}.cat-mascot[data-cat-state=grooming] .cat-mascot__groom{animation:2.8s cubic-bezier(.4,0,.2,1) both cat-groom}.cat-mascot[data-cat-state=petted] .cat-mascot__neutral{transform:translateY(-1.4%)rotate(-2.3deg)}.cat-mascot[data-cat-state=celebrating] .cat-mascot__neutral{animation:1.8s cubic-bezier(.22,1,.36,1) both cat-celebrate}.cat-mascot__hearts{z-index:5;color:#dc8fab;text-shadow:0 2px 4px #5b364729;font-family:Georgia,serif;font-weight:700;overflow:visible}.cat-mascot__pet-heart,.cat-mascot__celebration-heart{line-height:1;display:block;position:absolute}.cat-mascot__pet-heart:first-child{font-size:clamp(16px,1.6vw,25px);animation:1.4s cubic-bezier(.22,1,.36,1) both cat-heart-one;top:23%;right:9%}.cat-mascot__pet-heart:last-child:not(:first-child){font-size:clamp(12px,1.2vw,19px);animation:1.4s cubic-bezier(.22,1,.36,1) 80ms both cat-heart-two;top:31%;right:0}.cat-mascot__celebration-heart:first-child{color:#dc8fab;font-size:clamp(18px,1.8vw,28px);animation:1.8s cubic-bezier(.22,1,.36,1) both cat-celebration-heart-one;top:14%;right:8%}.cat-mascot__celebration-heart:last-child{color:#4e826d;font-size:clamp(14px,1.4vw,22px);animation:1.8s cubic-bezier(.22,1,.36,1) 90ms both cat-celebration-heart-two;top:22%;left:2%}@keyframes cat-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.006,1.009)}}@keyframes cat-ear-left{0%,to{transform:rotate(0)}42%{transform:rotate(-3deg)}72%{transform:rotate(1deg)}}@keyframes cat-ear-right{0%,to{transform:rotate(0)}42%{transform:rotate(3deg)}72%{transform:rotate(-1deg)}}@keyframes cat-neutral-groom{0%,8%,92%,to{opacity:1;transform:translate(0,0)rotate(0)}15%,85%{opacity:0;transform:translateY(1.4%)rotate(-1.3deg)}}@keyframes cat-groom{0%,10%,90%,to{opacity:0;transform:translateY(1%)scale(.995)}17%,28%,48%,68%,83%{opacity:1;transform:translate(0,0)scale(1)}38%,58%{opacity:1;transform:translateY(-.7%)scale(1.004)}}@keyframes cat-celebrate{0%,to{transform:translate(0,0)rotate(0)}28%{transform:translateY(-2.4%)rotate(1.4deg)}55%{transform:translateY(-1.1%)rotate(-.8deg)}}@keyframes cat-heart-one{0%{opacity:0;transform:translate(-4px,12px)scale(.55)rotate(-8deg)}24%,70%{opacity:1}to{opacity:0;transform:translate(3px,-16px)scale(1.05)rotate(5deg)}}@keyframes cat-heart-two{0%{opacity:0;transform:translate(-10px,9px)scale(.5)rotate(7deg)}24%,68%{opacity:.88}to{opacity:0;transform:translate(-1px,-12px)scale(.96)rotate(-5deg)}}@keyframes cat-celebration-heart-one{0%{opacity:0;transform:translate(-10px,16px)scale(.45)rotate(-12deg)}24%,68%{opacity:1}to{opacity:0;transform:translate(6px,-20px)scale(1.12)rotate(8deg)}}@keyframes cat-celebration-heart-two{0%{opacity:0;transform:translate(12px,14px)scale(.5)rotate(10deg)}20%,66%{opacity:.92}to{opacity:0;transform:translate(-2px,-17px)scale(1.05)rotate(-7deg)}}@keyframes cat-static-heart-hold{0%,99%{opacity:1}to{opacity:0}}@media (hover:hover) and (pointer:fine){.cat-mascot:hover .cat-mascot__stage{filter:drop-shadow(0 13px 16px #5b364726)brightness(1.015)}}@media (width>=981px){.cat-mascot[data-compact=true]{width:132px}}@media (height<=760px) and (width>=981px){.cat-mascot,.cat-mascot[data-compact=true]{width:112px;bottom:4px}}@media (width<=980px){.cat-mascot{left:max(6px, env(safe-area-inset-left));bottom:calc(118px + env(safe-area-inset-bottom));z-index:4;width:clamp(78px,22vw,104px)}.cat-mascot__stage{filter:drop-shadow(0 8px 10px #5b36471c)}}@media (width<=390px){.cat-mascot{bottom:calc(122px + env(safe-area-inset-bottom));width:clamp(78px,24vw,96px)}}@media (prefers-reduced-motion:reduce){.cat-mascot,.cat-mascot__stage,.cat-mascot__neutral,.cat-mascot__head,.cat-mascot__ear,.cat-mascot__eye,.cat-mascot__closed-eyes,.cat-mascot__groom{transition:none!important;animation:none!important}.cat-mascot[data-motion=reduced] .cat-mascot__pet-heart,.cat-mascot[data-motion=reduced] .cat-mascot__celebration-heart{opacity:1;transform:none;animation:1.4s step-end both cat-static-heart-hold!important}}
