html, body, #root, .viewport {
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
  background: black;
  overflow: hidden;
}

/* 包裹内容，居中旋转 */
.wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center center;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 横屏内容区域，16:9 显示 */
.game {
  background: white;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* App.css */
.game {
  height: var(--real-vh);
  width: 100%;
}


.scrollable {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; /* 保留滚动惯性 */
  max-height: 100vh;
}


button:focus {
  outline: none;
  box-shadow: none;
}


/* 可以放在你的全局 CSS 或 component CSS module 中 */
.fade-in {
  animation: fadeIn 0.3s ease forwards;
}

.fade-out {
  animation: fadeOut 0.3s ease forwards;
}

.scale-in {
  animation: scaleIn 0.4s ease forwards;
}

.scale-out {
  animation: scaleOut 0.3s ease forwards;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes fadeOut {
  from { opacity: 1; }
  to   { opacity: 0; }
}

@keyframes scaleIn {
  from {
    transform: scale(1.2);
    opacity: 0;
  }
  to {
    transform: scale(1.0);
    opacity: 1;
  }
}

@keyframes scaleOut {
  from {
    transform: scale(1.0);
    opacity: 1;
  }
  to {
    transform: scale(0.9);
    opacity: 0;
  }
}



