@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=BIZ+UDPGothic:wght@400;700&family=Archivo+Black&display=swap");body,html{font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background-color:#f2efe7;color:#1f2328;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}*{padding:0;margin:0;box-sizing:border-box}@keyframes sign-slide-in{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes lane-shift{0%{background-position:0 0}to{background-position:56px 0}}@keyframes caution-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes signal-flip{0%{transform:perspective(600px) rotateX(-90deg);opacity:0}to{transform:perspective(600px) rotateX(0);opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cta-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes float-bob{0%{transform:translateY(-2px)}to{transform:translateY(4px)}}@keyframes milestone-pop{0%{transform:translate(-50%,-58%) scale(.74);filter:brightness(1.85)}42%{transform:translate(-50%,-68%) scale(1.16);filter:brightness(1.35)}to{transform:translate(-50%,-58%) scale(1);filter:brightness(1)}}@keyframes score-pop{0%{transform:scale(1)}45%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes milestone-ring{0%{transform:translate(-50%,-50%) scale(.58);opacity:.95}to{transform:translate(-50%,-50%) scale(1.7);opacity:0}}@keyframes milestone-spark{0%{opacity:0;transform:translate(0) rotate(45deg) scale(.6)}30%{opacity:1}to{opacity:0;transform:translate(var(--x,0),var(--y,-24px)) rotate(45deg) scale(1.2)}}@keyframes milestone-finish-ring{0%{transform:translate(-50%,-50%) scale(.8);opacity:.85}to{transform:translate(-50%,-50%) scale(1.35);opacity:0}}@keyframes milestone-halo-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.65}50%{transform:translate(-50%,-50%) scale(1.14);opacity:.95}}@keyframes milestone-celebrate{0%{transform:translate(-50%,-58%) scale(1)}to{transform:translate(-50%,-66%) scale(1.05)}}.anim-sign-slide-in{animation:sign-slide-in .45s cubic-bezier(.2,.8,.2,1) both}.anim-pop-in{animation:pop-in .35s cubic-bezier(.2,.8,.2,1) both}.anim-pop-in.anim-cta-pulse{animation:pop-in .35s cubic-bezier(.2,.8,.2,1) both,cta-pulse 1.4s ease-in-out .7s 2}.anim-lane-shift{animation:lane-shift .8s linear infinite}.anim-caution-pulse{animation:caution-pulse .9s ease-in-out infinite}.anim-signal-flip{animation:signal-flip .5s ease both}.anim-float-bob{animation:float-bob .75s ease-in-out infinite alternate;transform-origin:50% 90%}.anim-milestone-pop{animation:milestone-pop .72s ease-out}.anim-score-pop{display:inline-block;animation:score-pop .3s ease-out}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}