html, body {
  height: 100%;
  margin: 0;
}

body {
  background: #ffffff;
}

/* 화면 중앙 정렬 */
.stage {
  min-height: 100svh;
  display: grid;
  place-items: center;
}

/* 프레임 */
.board {
  position: relative;
  width: min(100vw, 520px);
  aspect-ratio: calc(var(--bw) / var(--bh));
  overflow: hidden;
}

/* 배경 움짤 */
.bg-gif {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  z-index: 0;
}

.hit {
  position: absolute;
  left: calc(var(--x) * 100% / var(--bw));
  top:  calc(var(--y) * 100% / var(--bh));
  width:  calc(var(--w) * 100% / var(--bw));
  height: calc(var(--h) * 100% / var(--bh));
  z-index: 10;
  display: block;
}

.hit > .item {
  position: static;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}
