:root{--spring-gentle-easing: linear( 0, .007, .029 2.4%, .067, .12 5.3%, .239 7.9%, .629 15.8%, .739, .829, .904, .964, 1.01, 1.044 30.9%, 1.06, 1.07, 1.076 36.9%, 1.077 39.3%, 1.066 44.2%, 1.017 58%, 1 66.2%, .994 76.7%, .999 );--spring-gentle-duration: .667s;--spring-moderate-easing: linear( 0, .011, .045 1.7%, .181 3.6%, .896 9.8%, 1.136 12.4%, 1.283 14.7%, 1.325, 1.347 17.2%, 1.351, 1.347, 1.334, 1.313 20.6%, 1.249 22.6%, 1.052 27.4%, .969 29.7%, .907 32.3%, .889, .879 35%, .878 36.7%, .89, .913 40.6%, .981 45.3%, 1.01 47.6%, 1.032, 1.042 52.7%, 1.043 54.5%, 1.039 56.5%, .997 65.4%, .989, .986 70.2% 74.4%, 1.001 83%, 1.005 87.3% 92%, 1 );--spring-moderate-duration: 1.167s;--spring-bouncy-easing: linear( 0, .012, .049 1.1%, .2 2.3%, .982 6.2%, 1.234, 1.385 9.1%, 1.425, 1.443, 1.442, 1.429 11.7%, 1.363 13%, 1.004 17%, .892 18.6%, .829 20%, .811, .803 21.4% 21.9%, .809 22.5%, .838 23.8%, .998 27.9%, 1.048, 1.076, 1.087, 1.085, 1.072 34.6%, 1.001 38.7%, .979, .966, .961 42.9%, .962, .966 45%, 1.007 50.6%, 1.014, 1.017 53.6%, 1.015 55.8%, .997 61.4%, .992 64.4%, 1.003, .999 85.7%, 1 );--spring-bouncy-duration: 1.5s;--spring-wobbly-easing: linear( 0, .013, .053 1%, .22 2.1%, 1.039 5.6%, 1.307, 1.469 8.2%, 1.511, 1.53 9.6%, 1.53, 1.517 11%, 1.448 12.3%, 1.149 15.2%, 1.026 16.8%, .955 18.2%, .933 19.1%, .923 19.9%, .921 20.6%, .927 21.5%, .96 23.1%, 1.056 26.4%, 1.093 28%, 1.107 29.6%, 1.106 30.7%, 1.094 32.2%, 1.006 36.6%, .976 38.3%, .96 39.9%, .956 41.1%, .958 42.2%, .968 43.9%, 1.015 48.3%, 1.024 50.1%, 1.027 51.8%, 1.024 53.9%, .999 58.6%, .992 61%, .991 63.4%, .994 66.7%, 1.005 73.2%, 1.006 76.2%, 1.004 80.1%, 1 );--spring-wobbly-duration: 1.3s;--spring-solid-easing: linear( 0, .009, .035 2.1%, .141 4.4%, .723 10.7%, .938, 1.077, 1.121, 1.149 17.3%, 1.159, 1.163, 1.161, 1.154 21.8%, 1.129 24%, 1.051 28.2%, .989 31.1%, .942 34.1%, .925, .915 37.4%, .914 39.5%, .925 42.8%, .984 49.5%, 1.008, 1.022, 1.028 55.8%, 1.029 57.9%, 1.023 61.6%, .992 68.8%, .988 72.6%, .991 79.3%, 1.001 88.4%, 1 );--spring-solid-duration: .85s;--boop-duration: .15s;--boop-easing: ease-out}@keyframes twinkle{0%{opacity:var(--twinkle-amount, .5)}to{opacity:1}}@keyframes hueRotate{to{filter:hue-rotate(var(--hue-rotation, 180deg))}}@keyframes fadeToTransparent{to{opacity:0}}@keyframes fadeFromOpaque{0%{opacity:1}}@keyframes disperse{to{transform:translate(calc(cos(var(--angle, 0deg)) * var(--distance, 50px)),calc(sin(var(--angle, 0deg)) * var(--distance, 50px)))}}@keyframes popCircle{0%{transform:scale(0);opacity:1}50%{opacity:.8}to{transform:scale(2);opacity:0}}@keyframes sparkle{0%,to{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1) rotate(180deg);opacity:1}}@keyframes starBurst{0%{transform:scale(0) rotate(0);opacity:0}50%{opacity:1}to{transform:scale(1) rotate(180deg);opacity:0}}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100px) rotate(720deg);opacity:0}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.particle-star{position:absolute;inset:0;width:var(--size);height:var(--size);margin:auto;pointer-events:none;animation:twinkle var(--twinkle-duration) infinite alternate ease-in-out,fadeToTransparent var(--fade-duration) var(--fade-delay) forwards,hueRotate 1s linear forwards,disperse var(--pop-duration) forwards cubic-bezier(.2,.56,0,1)}.particle-star svg{width:100%;height:100%;fill:var(--color)}.envelope-icon{display:block;transform-origin:50% 50%;filter:drop-shadow(0 0 0 transparent)}.envelope-body{transform-origin:50% 100%}.envelope-flap{transform-origin:50% 35%}button:hover .envelope-icon{transform:scale(1.15) translateY(-2px);filter:drop-shadow(0 4px 8px rgba(234,179,8,.3))}button:hover .envelope-flap{transform:translateY(-8px) scaleY(1.15)}button:hover .envelope-body{transform:scaleY(.95) translateY(1px)}.enrollment-icon{transition:transform var(--spring-bouncy-easing) var(--spring-bouncy-duration);transform-origin:center}.group:hover .enrollment-icon{transform:rotate(90deg) scale(1.15);transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.completion-checkmark{animation:checkmark-pop-in var(--spring-bouncy-easing) var(--spring-bouncy-duration);transform-origin:center}@keyframes checkmark-pop-in{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.squishy-arrow .arrow-shaft,.squishy-arrow .arrow-tip{transition:d var(--spring-solid-easing) var(--spring-solid-duration)}.link-animated{position:relative;display:inline-block;text-decoration:none;isolation:isolate}.link-animated:before{content:"";position:absolute;width:100%;height:1px;background:currentColor;bottom:-2px;left:0;pointer-events:none;transform-origin:100% 50%;transform:scale3d(0,1,1);transition:transform .3s ease-out}.link-animated:hover:before{transform-origin:0% 50%;transform:scaleZ(1)}@keyframes sparkle-twinkle{0%,to{opacity:.3;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}@keyframes celebration-burst{0%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:0}10%{opacity:1}to{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1) rotate(360deg);opacity:0}}@keyframes celebration-burst-repeat{0%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:0}3%{opacity:1}20%{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1) rotate(360deg);opacity:0}25%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:0}28%{opacity:1}48%{transform:translate(calc(-50% + var(--tx) * 1.2),calc(-50% + var(--ty) * 1.2)) scale(1.1) rotate(360deg);opacity:0}53%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:0}56%{opacity:1}80%{transform:translate(calc(-50% + var(--tx) * 1.4),calc(-50% + var(--ty) * 1.4)) scale(1.2) rotate(360deg);opacity:0}to{transform:translate(calc(-50% + var(--tx) * 1.4),calc(-50% + var(--ty) * 1.4)) scale(0) rotate(360deg);opacity:0}}@keyframes sparkle-pop-in{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.3) rotate(0)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes sparkle-multi-pop{0%,to{transform:scale(1) rotate(0)}5%{transform:scale(1.4) rotate(10deg)}10%{transform:scale(1) rotate(0)}35%{transform:scale(1.5) rotate(-10deg)}40%{transform:scale(1) rotate(0)}65%{transform:scale(1.6) rotate(10deg)}70%{transform:scale(1) rotate(0)}}.animate-sparkle-1{animation:sparkle-pop-in .6s var(--spring-bouncy-easing) forwards,sparkle-multi-pop 4s ease-in-out .6s forwards,sparkle-twinkle 2s ease-in-out infinite 4.6s;display:inline-block}.animate-sparkle-2{animation:sparkle-pop-in .6s var(--spring-bouncy-easing) .1s forwards,sparkle-multi-pop 4s ease-in-out .7s forwards,sparkle-twinkle 2.5s ease-in-out infinite 4.7s;display:inline-block;opacity:0}.animate-sparkle-3{animation:sparkle-pop-in .6s var(--spring-bouncy-easing) .2s forwards,sparkle-multi-pop 4s ease-in-out .8s forwards,sparkle-twinkle 2.2s ease-in-out infinite 4.8s;display:inline-block;opacity:0}.animate-sparkle-4{animation:sparkle-pop-in .6s var(--spring-bouncy-easing) .15s forwards,sparkle-multi-pop 4s ease-in-out .75s forwards,sparkle-twinkle 2.8s ease-in-out infinite 4.75s;display:inline-block;opacity:0}@keyframes float-candy{0%,to{transform:translate(0) rotate(0) scale(var(--scale, 1))}25%{transform:translate(20px,-30px) rotate(90deg) scale(var(--scale, 1))}50%{transform:translate(-10px,-50px) rotate(180deg) scale(var(--scale, 1))}75%{transform:translate(-30px,-20px) rotate(270deg) scale(var(--scale, 1))}}@keyframes candy-bounce{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(180deg)}}.magic-wand-wrapper{display:inline-block;cursor:pointer;color:#fbbf24;transition:transform var(--spring-solid-easing) var(--spring-solid-duration)}.magic-wand-wrapper.is-booped{transform:rotate(15deg)}.magic-wand-body{display:block;filter:drop-shadow(0 2px 8px rgba(251,191,36,.4))}.star{transform-origin:center;transition:transform var(--spring-wobbly-easing) var(--spring-wobbly-duration)}.is-booped .star-1{transform:rotate(30deg) scale(1.2);transition-duration:calc(var(--spring-wobbly-duration) * 1.2)}.is-booped .star-2{transform:rotate(-25deg) scale(1.15);transition-duration:calc(var(--spring-wobbly-duration) * 1.1)}.is-booped .star-3{transform:rotate(20deg) scale(1.1);transition-duration:var(--spring-wobbly-duration)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
