/* A non-modal invitation: the page remains visible, scrollable and usable. */
.app-prompt[hidden] { display: none !important; }
.app-prompt {
  position: fixed;
  z-index: 110;
  left: 50%;
  bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  width: calc(100% - 24px);
  max-width: 420px;
  transform: translateX(-50%);
}
.app-prompt-card {
  position: relative;
  overflow: auto;
  max-height: calc(100vh - 40px);
  max-height: calc(100svh - 40px - env(safe-area-inset-bottom, 0px));
  padding: 16px 48px;
  border: 1px solid #41536b;
  border-radius: 20px;
  background: linear-gradient(145deg, #24364c, #172231 75%);
  color: #fff;
  box-shadow: 0 18px 60px #0006, 0 2px 8px #0003;
  animation: app-prompt-enter 650ms both;
}
.app-prompt-actions { display: flex; justify-content: center; }
.app-prompt-store { display: inline-flex; align-items: center; justify-content: center; width: 220px; max-width: 100%; border-radius: 8px; }
.app-prompt-store img { display: block; width: 100%; height: auto; }
/* Google's supplied artwork includes clear space: match the visible badge width
   to Apple's without cropping or altering either official asset. */
.app-prompt[data-platform="android"] .app-prompt-store { width: 254px; margin: -12px 0; }
.app-prompt-close {
  position: absolute; top: 8px; right: 8px;
  display: grid; place-items: center;
  width: 44px; height: 44px;
  cursor: pointer; border: 1px solid #ffffff24; border-radius: 50%;
  color: #fff; background: #ffffff0d;
}
.app-prompt-close:hover { background: #ffffff1f; }
.app-prompt a:focus-visible, .app-prompt button:focus-visible { outline: 3px solid #90cdf4; outline-offset: 4px; }
@keyframes app-prompt-enter {
  0% { opacity: 0; transform: translateY(calc(100% + 40px)); }
  72% { opacity: 1; transform: translateY(-6px); }
  100% { opacity: 1; transform: translateY(0); }
}
@media (max-width: 360px) {
  .app-prompt-card { padding: 16px 40px; }
  .app-prompt-store { width: 164px; }
  .app-prompt[data-platform="android"] .app-prompt-store { width: 190px; margin: -9px 0; }
}
@media (max-height: 500px) {
  .app-prompt-card { padding-top: 16px; padding-bottom: 16px; }
  .app-prompt-store { width: 180px; }
  .app-prompt[data-platform="android"] .app-prompt-store { width: 208px; margin: -10px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .app-prompt-card { animation: none; }
}
