:root{--bg:var(--tg-theme-bg-color,#fff8f0);--text:var(--tg-theme-text-color,#2b2118);--hint:var(--tg-theme-hint-color,#8a7a6a);--accent:var(--tg-theme-button-color,#e08a3c);--accent-text:var(--tg-theme-button-text-color,#fff);--track:var(--tg-theme-secondary-bg-color,#f0e4d6);--danger:#c0564b}*{box-sizing:border-box}html,body{touch-action:manipulation}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:hidden}.app{max-width:420px;padding:24px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:12px;margin:0 auto;display:flex}.kitten{cursor:pointer;-webkit-tap-highlight-color:transparent;transform-origin:50% 100%;place-items:center;width:100%;height:100%;display:grid;position:relative}.kitten-pop,.kitten-sprite{transform-origin:50% 100%;place-items:center;width:100%;height:100%;display:grid}.kitten img{-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%}.kitten-emoji{font-size:150px;line-height:1}.kitten-sprite{position:relative}.tear{pointer-events:none;opacity:0;margin:-.5em 0 0 -.5em;font-size:.95rem;line-height:1;animation:2.4s ease-in infinite tear;position:absolute}@keyframes tear{0%{opacity:0;transform:translateY(0)scale(.5)}15%{opacity:.95;transform:translateY(2px)scale(.9)}to{opacity:0;transform:translateY(40px)scale(1)}}.kitten-sprite{animation:4s ease-in-out infinite breathe}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012,1.02)}}.kitten-pop.pop{animation:.6s ease-out pop}@keyframes pop{0%{transform:scale(.92)}50%{transform:scale(1.08)}to{transform:scale(1)}}.fx-shake{animation:.9s ease-in-out .3s both shake}.fx-shake .kitten-sprite{animation:.9s ease-in-out .3s both shake-tint}@keyframes shake{0%,to{transform:translate(0)rotate(0)}10%{transform:translate(-18px)rotate(-10deg)}22%{transform:translate(18px)rotate(10deg)}34%{transform:translate(-16px)rotate(-9deg)}46%{transform:translate(16px)rotate(9deg)}58%{transform:translate(-11px)rotate(-6deg)}70%{transform:translate(11px)rotate(6deg)}82%{transform:translate(-5px)rotate(-3deg)}92%{transform:translate(3px)rotate(2deg)}}@keyframes shake-tint{0%,to{filter:none}15%,75%{filter:saturate(.6)brightness(.92)}}.aura{pointer-events:none;background:radial-gradient(circle,#ffd65acc 0%,#ffd65a00 65%);border-radius:50%;animation:1.9s ease-out forwards aura;position:absolute;inset:-25%}@keyframes aura{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}.fx-glow .kitten-sprite{animation:1.9s ease-in-out glow-pulse}@keyframes glow-pulse{0%,to{filter:none;transform:scale(1)}35%{filter:drop-shadow(0 0 14px #ffc83cf2)brightness(1.08);transform:scale(1.04)}70%{filter:drop-shadow(0 0 8px #ffc83c99)brightness(1.04);transform:scale(1.02)}}.sparkle{margin-left:var(--x,0);pointer-events:none;opacity:0;font-size:1.4rem;animation:1.6s ease-out forwards rise;position:absolute;bottom:35%;left:50%}@keyframes rise{0%{opacity:0;transform:translateY(0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translateY(-130px)scale(1.1)}}.fist{pointer-events:none;opacity:0;margin:-.5em 0 0 -.5em;line-height:1;animation:.7s ease-in forwards punch;position:absolute;top:50%;left:50%}@keyframes punch{0%{opacity:0;transform:translate(var(--sx), var(--sy)) rotate(var(--rot)) scale(.5)}15%{opacity:1}55%{opacity:1;transform:translate(var(--ix), var(--iy)) rotate(var(--rot)) scale(1)}70%{opacity:1;transform:translate(calc(var(--ix) * 1.2), calc(var(--iy) * 1.2)) rotate(var(--rot)) scale(1.3)}to{opacity:0;transform:translate(calc(var(--ix) * 1.3), calc(var(--iy) * 1.3)) rotate(var(--rot)) scale(1.1)}}.kitten-row{aspect-ratio:1;width:min(100%,380px,48dvh);position:relative}.bowl{z-index:2;background:0 0;border-radius:12px;width:28%;padding:0;line-height:0;position:absolute;bottom:0;right:0}.bowl img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.bowl-emoji{font-size:2.6rem;line-height:1}.bowl:not(.full){animation:1.8s ease-in-out infinite nudge}.bowl.full:disabled{opacity:1;cursor:default}@keyframes nudge{0%,to{transform:translateY(0)rotate(0)}20%{transform:translateY(-6px)rotate(-6deg)}40%{transform:translateY(0)rotate(4deg)}60%{transform:translateY(0)rotate(0)}}.fx-eat .kitten-sprite{animation:.9s ease-in-out nod}@keyframes nod{0%,to{transform:translateY(0)scale(1)}15%{transform:translateY(6px)scale(1.02,.96)}30%{transform:translateY(0)scale(1)}45%{transform:translateY(6px)scale(1.02,.96)}60%{transform:translateY(0)scale(1)}75%{transform:translateY(6px)scale(1.02,.96)}}.fx-hop{animation:.55s ease-out hop}@keyframes hop{0%,to{transform:translateY(0)scale(1)}25%{transform:translateY(0)scale(1.06,.92)}55%{transform:translateY(-26px)scale(.96,1.05)}80%{transform:translateY(0)scale(1.04,.95)}}@media (prefers-reduced-motion:reduce){.kitten,.kitten-pop,.kitten-sprite,.aura,.sparkle,.fist,.tear,.bowl{animation:none!important}}.actions{justify-content:center;gap:24px;display:flex}.actions.secondary{gap:16px}.app.home{min-height:100dvh;padding-top:calc(20px + env(safe-area-inset-top));gap:0;overflow:clip}.stage{flex:1;justify-content:center;align-items:center;width:100%;padding:16px 0;display:flex}.dock{flex-direction:column;align-items:center;gap:16px;padding-top:8px;display:flex}button{font:inherit;cursor:pointer;border:0;border-radius:12px;padding:14px 16px}button.primary{background:var(--accent);color:var(--accent-text)}button.danger{color:var(--danger);border:1px solid var(--danger);background:0 0}button.emoji{border-radius:50%;width:88px;height:88px;padding:0;font-size:2.6rem;line-height:1}button.emoji.small{background:var(--track);width:48px;height:48px;font-size:1.4rem}button.emoji.danger{border-color:var(--track);background:var(--track)}button.link{color:var(--hint);background:0 0;padding:8px;font-size:.9rem}.error{color:var(--danger);margin:0}button:disabled{opacity:.6;cursor:default}.overlay{z-index:10;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--bg);border-radius:16px;width:100%;max-width:360px;padding:20px}.dialog p{margin:0 0 16px}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.dialog.calendar{max-width:380px}.cal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cal-title{text-transform:capitalize}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px;display:grid}.cal-weekday{text-align:center;color:var(--hint);padding-bottom:4px;font-size:.75rem}.cal-day{background:var(--track);border-radius:8px;flex-direction:column;align-items:center;min-height:46px;padding:3px 0;display:flex}.cal-day.outside{opacity:.35}.cal-day.today{outline:2px solid var(--accent)}.cal-num{color:var(--hint);font-size:.75rem}.cal-marks{font-size:1rem;line-height:1.2}.cal-stats{justify-content:space-around;margin:4px 0 8px;font-size:1.6rem;display:flex}.name-row{justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;display:flex}.kitten-name{overflow-wrap:anywhere;text-align:center;margin:0;font-size:1.9rem}.name-field{align-items:center;gap:8px;width:100%;display:flex}.name-field input{min-width:0;font:inherit;border:1px solid var(--track);background:var(--track);color:var(--text);border-radius:12px;flex:1;padding:12px 14px;font-size:1.1rem}.name-field input:focus{outline:2px solid var(--accent)}.welcome{gap:14px}.welcome h1{margin:0;font-size:1.6rem}.welcome-cat{width:min(200px,55vw);height:auto}.steps{flex-direction:column;gap:10px;width:100%;margin:0;padding:0;list-style:none;display:flex}.steps li{align-items:flex-start;gap:12px;font-size:.95rem;line-height:1.35;display:flex}.step-icon{flex:none;font-size:1.5rem;line-height:1.1}.ask{margin:6px 0 0;font-weight:600}
