:root{--bg-top: #faf9fd;--bg-bottom: #efeaf7;--ink: #2b2740;--hint: #6c6486;--heart: #d98ab0;--muted: #8a82a6}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--ink);background:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}.screen{position:relative;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:max(56px,env(safe-area-inset-top)) 20px max(40px,env(safe-area-inset-bottom))}.hint{position:absolute;top:max(64px,env(safe-area-inset-top));left:0;right:0;font-size:15px;font-weight:400;color:var(--hint);letter-spacing:.2px}.catwrap{position:relative;display:flex;align-items:center;justify-content:center;width:210px;height:210px;max-width:100%;border:0;background:transparent;cursor:pointer;touch-action:none;border-radius:24px}.catwrap:focus-visible{outline:3px solid var(--heart);outline-offset:4px}.gigi{transform-origin:100px 160px}.gigi-eyes--closed,.gigi--cuddling .gigi-eyes--open{opacity:0}.gigi--cuddling .gigi-eyes--closed{opacity:1}.hearts,.purr,.caption{opacity:0;transition:opacity .25s ease}.hearts{position:absolute;top:-6px;right:6px;display:flex;gap:6px}.heart{width:16px;height:16px;color:var(--heart)}.heart.small{width:11px;height:11px;opacity:.7}.purr{position:absolute;left:-4px;top:40px;font-size:13px;color:var(--muted);font-style:italic}.caption{position:absolute;bottom:max(54px,env(safe-area-inset-bottom));left:0;right:0;font-size:13px;color:var(--muted)}.screen--cuddling .caption,.screen--cuddling .purr{opacity:1}.screen--cuddling .hearts{opacity:1;animation:hearts-float 1.4s ease-out}.screen--cuddling .gigi{animation:cuddle-wiggle 1.4s ease-in-out}@keyframes cuddle-wiggle{0%{transform:scale(1) rotate(0)}15%{transform:scale(1.05) rotate(-3deg)}35%{transform:scale(1.04) rotate(3deg)}55%{transform:scale(1.05) rotate(-2deg)}75%{transform:scale(1.03) rotate(2deg)}to{transform:scale(1) rotate(0)}}@keyframes hearts-float{0%{transform:translateY(6px) scale(.8);opacity:0}25%{opacity:1}to{transform:translateY(-14px) scale(1.05);opacity:0}}@media (prefers-reduced-motion: reduce){.screen--cuddling .gigi,.screen--cuddling .hearts{animation:none}.hearts,.purr,.caption{transition:none}}
