/* Shared H5 / desktop promotion. Native app shells are excluded in app-banner.js. */
body.xiazi-has-app-banner { padding-top: calc(80px + env(safe-area-inset-top, 0px)); }
body.xiazi-has-app-banner .site-header,
body.xiazi-has-app-banner .pluto-site-header { top: calc(80px + env(safe-area-inset-top, 0px)); }
#xiazi-app-banner {
  position: fixed; z-index: 60; inset: 0 0 auto;
  box-sizing: border-box; height: calc(80px + env(safe-area-inset-top, 0px));
  padding-top: env(safe-area-inset-top, 0px);
  background: var(--canvas, #f2efe8); color: var(--ink, #292720);
  border-bottom: 1px solid var(--line, #d8d2c7);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
}
#xiazi-app-banner * { box-sizing: border-box; }
.xiazi-app-banner-inner { display: flex; align-items: center; gap: 12px; width: min(100%, 1480px); height: 80px; margin: auto; padding: 12px 24px 12px 8px; }
.xiazi-app-banner-close { display: grid; place-items: center; flex: none; width: 32px; height: 44px; margin: 0; padding: 0; border: 0; background: transparent; color: var(--muted, #696c70); cursor: pointer; }
.xiazi-app-banner-inner > img { flex: none; width: 48px; height: 48px; object-fit: contain; border-radius: 11px; background: #faf8f2; }
.xiazi-app-banner-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 4px; }
.xiazi-app-banner-copy strong { font-size: 14px; font-weight: 600; line-height: 1.4; }
.xiazi-app-banner-copy span { color: var(--muted, #696c70); font-size: 11px; line-height: 1.4; }
.xiazi-app-banner-action { flex: none; padding: 11px 17px; border-radius: 999px; background: #b93427; color: #fff; font-size: 13px; font-weight: 600; line-height: 1.4; text-decoration: none; white-space: nowrap; }
#xiazi-app-banner :focus-visible { outline: 2px solid var(--vermilion, #b93427); outline-offset: 3px; }
@media (max-width: 480px) {
  .xiazi-app-banner-inner { gap: 8px; padding-right: 12px; padding-left: 2px; }
  .xiazi-app-banner-close { width: 28px; }
  .xiazi-app-banner-copy strong { font-size: 13px; }
  .xiazi-app-banner-copy span { font-size: 10px; }
  .xiazi-app-banner-action { padding: 10px 12px; font-size: 12px; }
}
@media (max-width: 359px) {
  .xiazi-app-banner-inner { gap: 6px; }
  .xiazi-app-banner-inner > img { width: 40px; height: 40px; }
  .xiazi-app-banner-copy strong { font-size: 12px; }
  .xiazi-app-banner-action { padding: 10px; }
}
