.app-install-prompt {
  position: fixed;
  z-index: 120;
  right: max(14px, env(safe-area-inset-right));
  bottom: calc(14px + env(safe-area-inset-bottom));
  left: max(14px, env(safe-area-inset-left));
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 14px;
  width: min(440px, calc(100vw - 28px));
  margin-left: auto;
  padding: 17px;
  color: #1d2b32;
  background: rgba(255, 255, 255, .98);
  border: 1px solid #d9e6e9;
  border-radius: 18px;
  box-shadow: 0 18px 54px rgba(19, 49, 56, .2), 0 3px 10px rgba(19, 49, 56, .08);
  font: inherit;
  animation: app-install-arrive .25s ease-out both;
}
.app-install-prompt[hidden], .app-install-steps[hidden], .app-install-browser-note[hidden] { display: none; }
.app-install-mark {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, #008792, #006a73);
  border-radius: 14px;
  font-size: 27px;
  font-weight: 750;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
}
.app-install-content { min-width: 0; }
.app-install-topline { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.app-install-kicker { color: #607982; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.app-install-close { display: grid; width: 30px; height: 30px; place-items: center; color: #607982; background: #f2f7f8; border: 0; border-radius: 50%; font: inherit; font-size: 22px; cursor: pointer; }
.app-install-prompt h2 { margin: 3px 0 5px; color: #1d2b32; font-size: 17px; line-height: 1.25; }
.app-install-prompt p { margin: 0; color: #60727a; font-size: 13px; line-height: 1.45; }
.app-install-browser-note { margin-top: 8px !important; padding: 9px 10px; background: #f2f7f8; border-radius: 10px; }
.app-install-steps { display: grid; gap: 9px; margin: 13px 0 2px; padding: 12px; list-style: none; background: #f3f8f9; border-radius: 12px; }
.app-install-steps li { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: start; gap: 8px; color: #40545c; font-size: 12px; line-height: 1.45; }
.app-install-steps li > span:first-child { display: grid; width: 22px; height: 22px; place-items: center; color: #00707a; background: #dceff0; border-radius: 50%; font-size: 11px; font-weight: 800; }
.app-install-steps strong { color: #24363d; }
.share-symbol { display: inline-block; color: #00707a; font-size: 17px; font-weight: 700; line-height: 1; vertical-align: -2px; }
.app-install-actions { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.app-install-primary, .app-install-later { min-height: 38px; border-radius: 10px; font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }
.app-install-primary { padding: 0 13px; color: #fff; background: #007780; border: 1px solid #007780; }
.app-install-primary:hover { background: #005f67; }
.app-install-later { padding: 0 8px; color: #60727a; background: transparent; border: 0; }
.app-install-prompt button:focus-visible { outline: 3px solid #40aeb5; outline-offset: 2px; }
@keyframes app-install-arrive { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 700px) { .app-install-prompt { right: 24px; bottom: 24px; left: auto; } }
@media (prefers-reduced-motion: reduce) { .app-install-prompt { animation: none; } }
