*{-ms-overflow-style:none;scrollbar-width:none}*::-webkit-scrollbar{display:none}:root{--app-vh: 100vh;--app-transition: .18s cubic-bezier(.22, 1, .36, 1);--app-font: "Inter", system-ui, -apple-system, sans-serif}html,body{margin:0;padding:0;overflow:hidden;height:100%;min-height:100%;background:#0f0f12;color:#fff;-webkit-tap-highlight-color:transparent;font-family:var(--app-font);transition:background-color var(--app-transition),color var(--app-transition)}body{min-height:var(--app-vh)}#root{height:var(--app-vh);min-height:var(--app-vh);margin:0 auto;box-sizing:border-box;max-width:100%;background:#0f0f12;transition:background-color var(--app-transition),color var(--app-transition)}*{box-sizing:border-box}button{font-family:inherit;-webkit-tap-highlight-color:transparent}@keyframes tf-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tf-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes tf-slide-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes tf-pop-in{0%{transform:scale(.98);opacity:0}to{transform:scale(1);opacity:1}}@keyframes tf-slide-right{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes tf-slide-left{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes tf-dropdown-in{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes tf-dropdown-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(-20px);opacity:0}}@keyframes tf-month-dropdown-in{0%{transform:translate(-50%,-100%);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes tf-month-dropdown-out{0%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,-100%);opacity:0}}@keyframes tf-confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}.animate-fade{animation:tf-fade-in var(--app-transition) forwards}.animate-slide{animation:tf-slide-up var(--app-transition) forwards}.animate-slide-down{animation:tf-slide-down var(--app-transition) forwards}.animate-pop{animation:tf-pop-in var(--app-transition)}.animate-page-right{animation:tf-slide-right var(--app-transition) forwards}.animate-page-left{animation:tf-slide-left var(--app-transition) forwards}.animate-dropdown-in{animation:tf-dropdown-in var(--app-transition) forwards}.animate-dropdown-out{animation:tf-dropdown-out var(--app-transition) forwards}.animate-month-dropdown-in{animation:tf-month-dropdown-in var(--app-transition) forwards}.animate-month-dropdown-out{animation:tf-month-dropdown-out var(--app-transition) forwards}.button-feedback-preview:active{transform:scale(.96)}@keyframes tf-skeleton-sweep{0%{background-position:150% 0}to{background-position:-150% 0}}.skeleton-shimmer{animation:tf-skeleton-sweep 1.4s linear infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){.skeleton-shimmer{animation:none}}.button-feedback-enabled button.no-feedback:active{transform:none}.button-feedback-enabled button:active{transform:scale(.96);transition:transform .12s ease!important}@keyframes tf-ptr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ptr-spin{animation:tf-ptr-spin .9s linear infinite}@media (prefers-reduced-motion: reduce){.ptr-spin{animation:none}}
