* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html, body {
  height: 100%;
  background: #000;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  overflow: hidden;
}

.app {
  max-width: 480px;
  margin: 0 auto;
  height: 100vh;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  background: #0a0a12;
  position: relative;
  overflow: hidden;
}

.top-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  color: #fff;
  background: linear-gradient(180deg, rgba(0,0,0,.65), transparent);
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 5;
  pointer-events: none;
}

.title { font-size: 15px; font-weight: 600; }
.progress { font-size: 12px; opacity: .7; }

.stage {
  position: relative;
  flex: 1;
  background: #000;
}

.story-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #000;
}

.overlay {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 10;
}

/* 开场层 */
.start-overlay {
  display: flex;
  background: radial-gradient(circle at 50% 32%, #1b2a4a, #060812 70%);
}
.start-box { text-align: center; color: #fff; padding: 24px; }
.start-logo {
  width: 84px; height: 84px; line-height: 84px;
  margin: 0 auto 18px; border-radius: 50%;
  background: linear-gradient(135deg, #3b82f6, #ec4899);
  font-size: 40px; font-weight: 700;
  box-shadow: 0 0 30px rgba(59,130,246,.5);
}
.start-title { font-size: 26px; letter-spacing: 2px; margin-bottom: 10px; }
.start-sub { font-size: 14px; opacity: .75; margin-bottom: 28px; }
.start-btn {
  padding: 13px 46px; font-size: 16px; border: none; border-radius: 30px;
  background: linear-gradient(135deg, #3b82f6, #8b5cf6); color: #fff; font-weight: 600;
  box-shadow: 0 6px 20px rgba(139,92,246,.4);
}
.start-btn:active { transform: scale(.97); }

/* 系统提示 */
.system-layer { pointer-events: none; }
.system-box {
  background: rgba(0,0,0,.55); color: #ffe08a;
  padding: 12px 26px; border-radius: 30px; font-size: 16px; letter-spacing: 3px;
  border: 1px solid rgba(255,224,138,.4);
  animation: pop .3s ease;
}

/* 选择按钮 */
.choice-layer {
  background: linear-gradient(0deg, rgba(0,0,0,.88), rgba(0,0,0,.2));
  gap: 14px;
  padding: 0 22px 38px;
  justify-content: flex-end;
}
.choice-btn {
  width: 100%; max-width: 420px;
  padding: 16px; font-size: 16px; color: #fff;
  background: linear-gradient(135deg, rgba(59,130,246,.92), rgba(139,92,246,.92));
  border: none; border-radius: 14px; font-weight: 600;
  box-shadow: 0 4px 16px rgba(0,0,0,.4);
  animation: slideUp .35s ease;
}
.choice-btn:active { transform: scale(.98); }

/* 自动跳转提示 */
.auto-layer { pointer-events: none; }
.auto-text {
  color: #fff; font-size: 15px; opacity: .85; letter-spacing: 2px;
  animation: fade 1s ease;
}

/* 结局层 */
.end-layer { background: rgba(6,8,18,.96); color: #fff; gap: 16px; }
.end-title { font-size: 24px; }
.end-sub { font-size: 14px; opacity: .7; }
.follow-btn {
  margin-top: 8px; padding: 12px 38px; font-size: 15px;
  border: 1px solid rgba(255,255,255,.35); border-radius: 28px;
  background: transparent; color: #fff;
}

@keyframes pop { from { transform: scale(.8); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes slideUp { from { transform: translateY(30px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes fade { from { opacity: 0; } to { opacity: .85; } }

/* 微信环境引导遮罩 */
.wx-tip {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 999;
  align-items: center;
  justify-content: center;
  background: rgba(6, 8, 18, .97);
  padding: 24px;
}
.wx-tip-card { text-align: center; color: #fff; max-width: 320px; }
.wx-tip-icon { font-size: 46px; margin-bottom: 16px; color: #8b5cf6; }
.wx-tip-t1 { font-size: 19px; font-weight: 700; margin-bottom: 12px; line-height: 1.5; }
.wx-tip-t2 { font-size: 14px; line-height: 1.8; opacity: .8; }
