@keyframes hwShake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}45%{transform:translate(4px)}70%{transform:translate(-2px)}}.hw-shake{animation:hwShake .32s var(--ease-snappy) both}@keyframes hwHint{0%,to{opacity:1}50%{opacity:.35}}.hw-hint{animation:hwHint 1.2s var(--ease-smooth) infinite}@media (prefers-reduced-motion:reduce){.hw-hint{opacity:1;animation:none}}
.stroke-draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:strokeDraw var(--sd-ms,.42s) var(--ease-smooth) forwards;animation-delay:var(--sd-delay,0s)}@keyframes strokeDraw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.stroke-draw{animation-delay:0s!important}}
@keyframes optPop{0%{transform:scale(1)}45%{transform:scale(var(--pop,1.06))}to{transform:scale(1)}}.opt-pop{animation:optPop var(--dur-gentle) var(--ease-elastic) both}@keyframes optRipple{0%{opacity:.5;transform:scale(.35)}to{opacity:0;transform:scale(2.6)}}.opt-ripple{animation:optRipple var(--dur-celebrate) var(--ease-smooth) both}@keyframes optShake{0%,to{transform:translate(0)}15%{transform:translate(-8px)}30%{transform:translate(7px)}45%{transform:translate(-5px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}}.opt-shake{animation:optShake .42s var(--ease-snappy) both}@keyframes riseIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.rise{animation:riseIn var(--dur-gentle) var(--ease-smooth) both;animation-delay:var(--d,0s)}@keyframes comboRoll{0%{opacity:0;transform:translateY(10px)scale(.86)}60%{opacity:1;transform:translateY(0)scale(1.16)}to{opacity:1;transform:translateY(0)scale(1)}}.combo-roll{animation:comboRoll var(--dur-quick) var(--ease-elastic) both}@keyframes flashOnce{0%{opacity:0}30%{opacity:calc(.95 * var(--glow,1))}to{opacity:0}}.bar-flash{animation:flashOnce var(--dur-celebrate) var(--ease-smooth) both}@media (hover:hover){.opt:not(:disabled):hover{border-color:var(--hairline-hi)}}.opt:disabled{cursor:default}.locked:disabled{opacity:.42;cursor:not-allowed}[data-theme=light] .locked:disabled{opacity:.72}.kbd-hint{display:none}@media (min-width:860px) and (hover:hover){.kbd-hint{display:block}}
