.has-yixiu-banner {
  --yixiu-banner-height: calc(76px + env(safe-area-inset-top, 0px));
  padding-top: var(--yixiu-banner-height);
  box-sizing: border-box;
}
.has-yixiu-banner #root { height: calc(100dvh - var(--yixiu-banner-height)); }
.has-yixiu-banner .h5-stage { min-height: calc(100dvh - var(--yixiu-banner-height)); }
.yixiu-download-banner {
  position: fixed; z-index: 1000; inset: 0 0 auto;
  display: flex; align-items: center; gap: 12px;
  box-sizing: border-box; min-height: 76px;
  padding: calc(12px + env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) 12px max(8px, env(safe-area-inset-left, 0px));
  background: #08252e; color: #f2f9f8;
  border-bottom: 1px solid #31535b;
  font-family: "Noto Sans SC", "PingFang SC", sans-serif;
  text-align: left;
}
.yixiu-banner-close {
  display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 44px;
  padding: 0; border: 0; background: transparent; color: #a9c5ca; cursor: pointer;
}
.yixiu-download-banner > img { flex: none; width: 44px; height: 44px; border-radius: 10px; }
.yixiu-banner-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 4px; }
.yixiu-banner-copy strong { font-size: 15px; line-height: 1.35; font-weight: 600; }
.yixiu-banner-copy span { color: #bad1d4; font-size: 11px; line-height: 1.5; }
.yixiu-banner-action {
  display: inline-flex; align-items: center; justify-content: center;
  flex: none; min-height: 44px; box-sizing: border-box; padding: 10px 18px;
  color: #062830; background: #b9f5f7; border-radius: 999px;
  font-size: 13px; line-height: 1.3; font-weight: 600; text-decoration: none; white-space: nowrap;
}
.yixiu-banner-action:active { background: #8fd6dc; }
.yixiu-download-banner :focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 390px) {
  .yixiu-download-banner { gap: 7px; padding-right: 12px; padding-left: 4px; }
  .yixiu-banner-close { flex-basis: 28px; width: 28px; }
  .yixiu-download-banner > img { width: 38px; height: 38px; border-radius: 9px; }
  .yixiu-banner-copy strong { font-size: 13px; }
  .yixiu-banner-copy span { font-size: 10px; }
  .yixiu-banner-action { padding: 9px 12px; font-size: 12px; }
}
@media (min-width: 768px) {
  .yixiu-download-banner { padding-right: max(32px, calc((100vw - 1100px) / 2)); padding-left: max(20px, calc((100vw - 1100px) / 2)); }
}
@media (max-width: 719px), (max-height: 560px) {
  .has-yixiu-banner { --yixiu-banner-height: calc(64px + env(safe-area-inset-top, 0px)); }
  .yixiu-download-banner { min-height: 64px; padding-top: calc(8px + env(safe-area-inset-top, 0px)); padding-bottom: 8px; gap: 8px; }
  .yixiu-download-banner > img { width: 38px; height: 38px; }
  .yixiu-banner-copy { gap: 2px; }
  .yixiu-banner-action { min-height: 42px; }
}
