.pzs-pwa-launch {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  overflow: hidden;
  place-items: center;
  background:
    radial-gradient(circle at 50% 42%, rgba(23,105,224,.16), transparent 34%),
    linear-gradient(160deg,#f6faff 0%,#eaf2fb 52%,#ddeafa 100%);
  opacity: 1;
  transition: opacity .48s ease, transform .48s ease;
}
html.pzs-pwa-launching,
html.pzs-pwa-launching body { overflow: hidden !important; }
html.pzs-pwa-launching .pzs-pwa-launch { display: grid; }
.pzs-pwa-launch.is-leaving { opacity: 0; transform: scale(1.035); }
.pzs-pwa-launch-glow {
  position: absolute;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  border: 1px solid rgba(23,105,224,.13);
  box-shadow: 0 0 80px rgba(23,105,224,.13), inset 0 0 60px rgba(255,255,255,.7);
  animation: pzsLaunchPulse 2s ease-in-out infinite;
}
.pzs-pwa-launch-brand { position:relative;display:flex;flex-direction:column;align-items:center;transform:translateY(-2vh); }
.pzs-pwa-launch-logo { position:relative;width:210px;height:210px;display:grid;place-items:center;animation:pzsLaunchRise .8s cubic-bezier(.16,1,.3,1) both; }
.pzs-pwa-launch-logo span { position:absolute;inset:5px;border-radius:48px;border:2px solid rgba(255,255,255,.82);box-shadow:0 0 0 8px rgba(23,105,224,.06),0 22px 48px rgba(8,43,98,.2);animation:pzsLaunchRing 1.8s ease-in-out infinite; }
.pzs-pwa-launch-logo img { position:relative;width:190px;height:190px;border-radius:42px;filter:drop-shadow(0 14px 25px rgba(8,43,98,.18)); }
.pzs-pwa-launch-copy { margin-top:22px;text-align:center;letter-spacing:.08em; }
.pzs-pwa-launch-copy b { display:block;color:#082b62;font-size:28px;font-style:normal;font-weight:900;letter-spacing:-.02em;opacity:0;animation:pzsLaunchText .55s .38s ease forwards; }
.pzs-pwa-launch-copy em { display:block;margin:5px 0 18px;color:#1769e0;font-size:10px;font-style:normal;font-weight:900;letter-spacing:.2em;opacity:0;animation:pzsLaunchText .55s .5s ease forwards; }
.pzs-pwa-launch-copy small { display:block;color:#58708f;font-size:10px;font-weight:800;letter-spacing:.28em;opacity:0;animation:pzsLaunchText .55s .55s ease forwards; }
.pzs-pwa-launch-copy strong { display:block;margin-top:8px;color:#082b62;font-size:17px;font-weight:900;letter-spacing:.09em;opacity:0;transform:translateY(8px);animation:pzsLaunchText .6s .78s ease forwards; }
.pzs-pwa-launch-copy i { display:block;width:0;height:3px;margin:14px auto 0;border-radius:99px;background:linear-gradient(90deg,#082b62,#1769e0,#e31f26);animation:pzsLaunchLine .7s 1.05s ease forwards; }
.pzs-pwa-launch-loading { position:absolute;left:50%;bottom:max(48px,calc(env(safe-area-inset-bottom) + 28px));width:min(260px,68vw);transform:translateX(-50%);text-align:center;opacity:0;animation:pzsLoadingReveal .45s 1.25s ease forwards; }
.pzs-pwa-launch-loading>span { display:block;margin-bottom:10px;color:#6f829a;font-size:8px;font-weight:800;letter-spacing:.22em; }
.pzs-pwa-launch-loading>div { position:relative;height:4px;overflow:hidden;border-radius:99px;background:rgba(8,43,98,.1);box-shadow:inset 0 1px 2px rgba(8,43,98,.08); }
.pzs-pwa-launch-loading i { display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#082b62 0%,#1769e0 72%,#e31f26 100%);box-shadow:0 0 12px rgba(23,105,224,.42);animation:pzsLoadingProgress 1.75s 1.25s cubic-bezier(.22,.8,.26,1) forwards; }
@keyframes pzsLaunchRise { from{opacity:0;transform:translateY(24px) scale(.82) rotate(-3deg)} to{opacity:1;transform:translateY(0) scale(1) rotate(0)} }
@keyframes pzsLaunchText { to{opacity:1;transform:translateY(0)} }
@keyframes pzsLaunchLine { to{width:92px} }
@keyframes pzsLoadingReveal { to{opacity:1} }
@keyframes pzsLoadingProgress { 0%{width:0} 35%{width:32%} 68%{width:69%} 100%{width:100%} }
@keyframes pzsLaunchPulse { 0%,100%{transform:scale(.92);opacity:.45} 50%{transform:scale(1.08);opacity:.9} }
@keyframes pzsLaunchRing { 0%,100%{transform:scale(.98);opacity:.78} 50%{transform:scale(1.035);opacity:1} }
@media (prefers-reduced-motion: reduce) {
  .pzs-pwa-launch * { animation-duration:.01ms !important;animation-delay:0ms !important; }
}

.pzs-pwa-install {
  position: fixed;
  right: 18px;
  bottom: 22px;
  z-index: 100000;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 15px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 14px;
  background: linear-gradient(135deg,#082b62,#1769e0);
  color: #fff;
  box-shadow: 0 12px 30px rgba(8,43,98,.28);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.pzs-pwa-install[hidden] { display: none !important; }
.pzs-pwa-install > span:first-child { display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.16);font-size:18px; }
.pzs-pwa-install strong,.pzs-pwa-install small { display:block; }
.pzs-pwa-install strong { font-size:13px; }
.pzs-pwa-install small { margin-top:2px;color:#dcecff;font-size:10px; }
@media (max-width: 700px) {
  .pzs-pwa-install { right: 14px; bottom: 92px; }
}
