/* ==========================================================================
   响应式与等比缩放逻辑
   屏幕 <= 750px 时，把页面宽度等分成 750 份 (1rem = 100px 对应 750px 设计稿)
   屏幕 > 750px 时，固定基准值为 100px，页面宽 750px 居中
   ========================================================================== */
html {
  font-size: calc(100vw / 7.5);
  -webkit-tap-highlight-color: transparent;
}

@media screen and (min-width: 751px) {
  html {
    font-size: 100px;
  }
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  width: 100%;
  min-height: 100vh;
  background-color: #49c9fa;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  overflow-x: hidden;
  display: flex;
  justify-content: center;
}

/* ==========================================================================
   页面主容器与背景设置
   ========================================================================== */
.app-container {
  position: relative;
  width: 7.5rem; /* 对应 750 个单位 */
  min-height: 100vh;
  background-color: #49c9fa; /* 未被图片覆盖的区域使用 #49c9fa 填充 */
  background-image: url('../img/banner.png'); /* 相对路径引用图片 */
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 7.5rem 8.53rem; /* 占位宽高 750 x 853 */
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ==========================================================================
   图标与按钮布局
   ========================================================================== */
.icon-wrapper {
  margin-top: 5.08rem; /* 页面顶部往下 508 个单位 */
  width: 2.68rem;      /* 尺寸 268 */
  height: 2.60rem;     /* 尺寸 260 */
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0.40rem; /* icon.png 底部往下间隔 40 个单位 */
}

.icon-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
}

.btn-group {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1.60rem; /* 底部留出 160 个单位空白 */
}

.btn-link {
  display: inline-block;
  width: 5.11rem;  /* 尺寸 511 */
  height: 1.35rem; /* 尺寸 135 */
  transition: transform 0.15s ease, opacity 0.15s ease;
  text-decoration: none;
  outline: none;
}

.btn-link:active {
  transform: scale(0.96);
  opacity: 0.9;
}

.btn-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
}

/* 当同时显示 Android 和 Apple 按钮时，两按钮之间间隔 85 个单位 */
#btn-android + #btn-apple {
  margin-top: 0.85rem;
}

/* ==========================================================================
   Toast 提示弹窗
   ========================================================================== */
.toast {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  background-color: rgba(0, 0, 0, 0.8);
  color: #ffffff;
  padding: 0.12rem 0.24rem;
  border-radius: 0.08rem;
  font-size: 0.28rem;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s ease;
  z-index: 9999;
}

.toast.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}