.flash{position:absolute;inset:0;background:#fff;z-index:70;animation:flash .7s ease-out forwards;pointer-events:none}
.flash.red{background:var(--accent)}
@keyframes flash{from{opacity:1}to{opacity:0}}
.conf{position:absolute;top:-14px;width:9px;height:15px;border-radius:2px;z-index:75;pointer-events:none;animation:conf 1.6s ease-in forwards}
@keyframes conf{to{transform:translate(var(--dx),640px) rotate(var(--r));opacity:0}}
.opet{position:relative;display:flex;justify-content:center;padding-top:44px;min-height:330px}
.opet .isle2{position:absolute;left:50%;bottom:-6px;width:300px;height:80px;margin-left:-150px;border-radius:50%;background:var(--grass)}
.opet svg{position:relative;height:300px;width:auto}
.opet .say{top:4px}
.shake{animation:shake .4s}
@keyframes shake{0%,100%{transform:rotate(0)}20%{transform:rotate(-7deg)}40%{transform:rotate(7deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(5deg)}}
.bounce{animation:bounce .6s cubic-bezier(.3,1.6,.5,1)}
@keyframes bounce{from{transform:translateY(50px) scale(.6)}to{transform:none}}
