html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #f0f0f0; /* Or any gray you prefer */
}

#canvas-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

/* #overlay-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 85%;
  height: 100%;
  opacity: 0.5;
  z-index: 20;
  pointer-events: none; 
} */


div {
  position: absolute;
  top: 6.9vw;
  left: 6.6vw;
  font-size: 8.9vw;
  line-height: 10.65vw;
  letter-spacing: -0.3vw;
  font-family: "Noto Sans KR", sans-serif;
  font-weight: 700;
  font-feature-settings: 'palt';
  white-space: pre-wrap;
}

.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-feature-settings: 'palt';
}

audio {
  position: absolute;
  bottom: 10px;
  filter: sepia(20%) saturate(70%) grayscale(1) contrast(99%) invert(12%);
  width: 70%;
  height: 70px;
  z-index: 50;
}

span {
  display: inline-block;
  z-index: 20;
}

#black-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 1;
  z-index: 30;
  transition: opacity 1s ease;
  pointer-events: none; /* 避免干扰点击事件 */
}

span[class^="block-"] {
  opacity: 1;
  background-color: black;
  width: 0;
  height: 9.1vw;
  transform: translateY(1.2vw);
  display: inline-block;
}

.credits {
  position: relative;
  top: 0;
  left: 0.7vw;
  font-size: 3.8vw;
  line-height: 4.5vw;
  letter-spacing: -0.2vw;
  display: inline-block;
}

.credits span {
  display: inline;
}

.credits br {
  display: block;
  content: "";
  margin-top: 0.5vw;
}

.credits span[class^="block-"] {
  opacity: 1;
  background-color: black;
  width: 0;
  height: 3.8vw;
  transform: translateY(0.5vw);
  display: inline-block;
}

.credits .block-25a {
  width: 24.65vw;
}

.credits .block-35b {
  width: 34.4vw;
}

.credits .block-18e {
  width: 17.48vw;
}

.credits .block-25a,
.credits .block-35b,
.credits .block-18e {
  opacity: 0;
}

.ending-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0;
  z-index: 40;
  transition: opacity 1s ease;
  pointer-events: none;
}

#start-message {
  color: white;
  font-size: 3vw;
  font-family: "Noto Sans KR", sans-serif;
  z-index: 100;
  cursor: pointer;
  text-align: center;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
