.flash {
  position: absolute;
  inset: 0;
  background: #fff;
  z-index: var(--layer-flash);
  animation: flash 0.7s ease-out forwards;
  pointer-events: none;
}
.flash.red {
  background: var(--accent);
}
.conf {
  position: absolute;
  top: -14px;
  width: 9px;
  height: 15px;
  border-radius: 2px;
  z-index: calc(var(--layer-flash) + 2);
  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 0.4s;
}
.bounce {
  animation: bounce 0.6s cubic-bezier(0.3, 1.6, 0.5, 1);
}
@keyframes bounce {
  from {
    transform: translateY(50px) scale(0.6);
  }
  to {
    transform: none;
  }
}
