*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5de;border-radius:9999px}:root{--ease-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}@keyframes gl-pageIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes gl-headerIn{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes gl-fieldIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gl-btnIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes gl-successPop{0%{opacity:0;transform:scale(.7) rotate(-10deg)}60%{transform:scale(1.15) rotate(4deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes gl-successText{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes gl-confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-80px) rotate(720deg);opacity:0}}@keyframes gl-consentIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes gl-progressFill{0%{width:0%}}@keyframes gl-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes gl-spin{to{transform:rotate(360deg)}}@keyframes cardSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes gl-sheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.gl-page-enter{animation:gl-pageIn .55s var(--ease-out) both}.gl-header-enter{animation:gl-headerIn .5s var(--ease-out) .05s both}.gl-field-enter{animation:gl-fieldIn .45s var(--ease-out) both}.gl-btn-enter{animation:gl-btnIn .4s var(--ease-spring) both}.gl-consent-enter{animation:gl-consentIn .5s var(--ease-out) both}.gl-progress-fill{animation:gl-progressFill .8s var(--ease-out) .3s both}.gl-shake{animation:gl-shake .4s var(--ease-out)}.gl-success-icon{animation:gl-successPop .6s var(--ease-spring) .1s both}.gl-success-text{animation:gl-successText .4s var(--ease-out) .4s both}.gl-success-sub{animation:gl-successText .4s var(--ease-out) .55s both}.gl-success-btn{animation:gl-successText .4s var(--ease-out) .7s both}.gl-sheet-enter{animation:gl-sheetIn .35s var(--ease-out) both}.gl-spin{animation:gl-spin .8s linear infinite}@keyframes gl-cardIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes gl-iconPop{0%{opacity:0;transform:scale(.5) rotate(-20deg)}65%{transform:scale(1.15) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes gl-successIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gl-pulse{0%,to{opacity:1}50%{opacity:.4}}.gl-card-enter{animation:gl-cardIn .5s var(--ease-out) both}.gl-icon-pop{animation:gl-iconPop .6s var(--ease-spring) both}.gl-success-in{animation:gl-successIn .4s var(--ease-out) both}.gl-pulse{animation:gl-pulse 1.5s ease infinite}
