*{box-sizing:border-box;margin:0;padding:0}:root{--masu:40px;--gap:20px;--masu-font:24px}@media (max-width:640px){:root{--masu:32px;--gap:16px;--masu-font:19px}}@media (max-width:420px){:root{--masu:27px;--gap:13px;--masu-font:16px}}@media (max-width:340px){:root{--masu:23px;--gap:11px;--masu-font:14px}}body,html{min-height:100%}body{background:#f7f4ea;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@keyframes stampIn{0%{transform:scale(1.8) rotate(-14deg);opacity:0}60%{transform:scale(.92) rotate(3deg);opacity:1}to{transform:scale(1) rotate(-6deg);opacity:1}}@keyframes popIn{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}@keyframes markIn{0%{transform:scale(1.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes comboPulse{0%,to{transform:scale(1)}40%{transform:scale(1.18)}}@keyframes floatUp{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}.hanko{animation:stampIn .5s cubic-bezier(.2,1.2,.4,1) both}.pop{animation:popIn .45s cubic-bezier(.2,1.2,.4,1) both}.mark-anim{animation:markIn .28s ease-out both}.combo-badge{animation:comboPulse .6s ease-in-out}.float-up{animation:floatUp .4s ease-out both}.gap-btn:active{transform:scale(.86)}@keyframes drawStroke{0%{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}.ink-draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:drawStroke .42s cubic-bezier(.6,.1,.3,1) forwards;animation-delay:var(--delay,0s)}@media (prefers-reduced-motion:reduce){.combo-badge,.float-up,.hanko,.mark-anim,.pop{animation:none!important}.gap-btn:active{transform:none}.ink-draw{animation:none!important;stroke-dashoffset:0}}