/* game_box */
#game_box { position: relative; overflow: hidden; margin: auto; padding-bottom: 5%; width: min(95%, 880px); aspect-ratio: 440 / 321; background: url(img/game_background.webp) no-repeat 50% 0 / cover; display: flex; justify-content: center; align-items: flex-end; }
#game_box::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: url(img/floating.webp) no-repeat 50% / cover; animation: pulsate-fwd 1.5s infinite var(--ease); }
#game_box > img { position: relative; max-height: 100%; cursor: pointer; }
#game_box .yuanbao { position: absolute; inset: 0; pointer-events: none; background: url(img/yuanbao.webp) no-repeat 50% / cover; }

#game_box .cloud .fix--left, #game_box .cloud .fix--right { --offset-x: 0; --offset-y: 0; animation: cloud 2.5s infinite var(--ease); }
#game_box .cloud .fix--left { --w: 183px; --ratio: 61 / 36; left: var(--offset-x); }
#game_box .cloud .fix--right { --w: 172px; --ratio: 43 / 28; right: var(--offset-x); animation-delay: 1s; }

/* Animations */
@keyframes pulsate-fwd { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }
@keyframes cloud { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(5px); } }

@media screen and (max-width: 768px) {
	#game_box .cloud .fix--left { --w: 25%; }
	#game_box .cloud .fix--right { --w: 24%; }
}
@media screen and (max-width: 640px) {
	#game_box { aspect-ratio: 1 / 1; }
}