*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:Segoe UI,system-ui,sans-serif}button,a,[role=button]{touch-action:manipulation;user-select:none;-webkit-user-select:none}button:active{transform:scale(.95);transition:transform .08s ease-out}button:disabled:active{transform:none}@keyframes viewFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.view-enter{animation:viewFadeIn .18s ease-out}@keyframes _spin{to{transform:rotate(360deg)}}@keyframes iconPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.93)}}.loading-icon{animation:iconPulse 1.4s ease-in-out infinite}@keyframes choreComplete{0%{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.8}to{transform:scale(.95);opacity:0}}@keyframes checkmark{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.2) rotate(0);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes hamsterFall{0%{transform:translateY(-15vh) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(110vh) rotate(360deg);opacity:0}}@keyframes hamsterSway{0%{transform:translate(0)}50%{transform:translate(18px)}to{transform:translate(-14px)}}.chore-completing{animation:choreComplete .4s ease-out forwards;pointer-events:none}.checkmark-animation{animation:checkmark .3s ease-out forwards}.hamster-shower{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;pointer-events:auto}.hamster{position:absolute;top:-10vh;animation-name:hamsterFall;animation-timing-function:linear;animation-fill-mode:forwards;pointer-events:none;-webkit-user-select:none;user-select:none}.hamster-sway{animation-name:hamsterSway;animation-iteration-count:infinite;animation-timing-function:ease-in-out}@keyframes swipeLeft{to{transform:translate(-150%) rotate(-25deg);opacity:0}}@keyframes swipeRight{to{transform:translate(150%) rotate(25deg);opacity:0}}@keyframes cardIn{0%{transform:scale(.92) translateY(16px);opacity:.6}to{transform:scale(1) translateY(0);opacity:1}}.swipe-left{animation:swipeLeft .35s ease-in forwards;pointer-events:none}.swipe-right{animation:swipeRight .35s ease-in forwards;pointer-events:none}.card-in{animation:cardIn .25s ease-out forwards}@keyframes slideDown{0%{transform:translate(-50%) translateY(-40px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}
