:root{--safe-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--safe-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--safe-left:var(--safe-area-inset-left,env(safe-area-inset-left,0px));--safe-right:var(--safe-area-inset-right,env(safe-area-inset-right,0px))}html{-webkit-text-size-adjust:100%}body{overscroll-behavior-y:none;background:#fbfaf7;margin:0}#root{min-height:100vh;padding-left:var(--safe-left);padding-right:var(--safe-right)}button,input,select,textarea{touch-action:manipulation}.native-app{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.native-app input,.native-app textarea{-webkit-user-select:text;user-select:text}@keyframes celebrate-pop{0%{opacity:0;transform:scale(.7)translateY(6px)}60%{opacity:1;transform:scale(1.05)translateY(0)}to{opacity:1;transform:scale(1)translateY(0)}}.celebrate-pop{animation:.45s cubic-bezier(.34,1.56,.64,1) both celebrate-pop}@media (prefers-reduced-motion:reduce){.celebrate-pop{animation:none}}@keyframes coach-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.coach-rise{animation:.22s ease-out both coach-rise}@keyframes coach-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.coach-countdown{transform-origin:0;animation-name:coach-countdown;animation-timing-function:linear;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.coach-rise,.coach-countdown{animation:none}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-up{animation:.26s cubic-bezier(.22,1,.36,1) both sheet-up}@keyframes badge-pop{0%{opacity:0;transform:scale(.2)}70%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}.badge-pop{animation:.32s cubic-bezier(.34,1.56,.64,1) both badge-pop}@keyframes xp-float{0%{opacity:0;transform:translate(-50%)scale(.8)}20%{opacity:1;transform:translate(-50%,-6px)scale(1.05)}to{opacity:0;transform:translate(-50%,-38px)scale(1)}}.xp-float{animation:.9s ease-out both xp-float}@keyframes combo-bump{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}.combo-bump{animation:.35s ease-out combo-bump}@keyframes chip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chip-in{animation:.2s ease-out both chip-in}@keyframes pulse-soft{0%,to{opacity:.45}50%{opacity:.9}}.pulse-soft{animation:1.2s ease-in-out infinite pulse-soft}@media (prefers-reduced-motion:reduce){.sheet-up,.badge-pop,.xp-float,.combo-bump,.chip-in,.pulse-soft{animation:none}.xp-float{display:none}}@keyframes confetti-fall{0%{opacity:1;transform:translate(0,0)rotate(0)}to{opacity:0;transform:translate(18px,420px)rotate(540deg)}}.confetti-piece{animation-name:confetti-fall;animation-timing-function:cubic-bezier(.25,.46,.45,.94);animation-fill-mode:both}@media (prefers-reduced-motion:reduce){.confetti{display:none}}
