:root{
  --sd-pwa-navy:#073b6f;
  --sd-pwa-teal:#079bb2;
  --sd-pwa-cyan:#42c7d6;
  --sd-pwa-ink:#0b2e63;
  --sd-pwa-soft:#f4f9fb;
}

html.sd-pwa-launching,
html.sd-pwa-launching body{
  background:
    radial-gradient(circle at 50% 16%, rgba(7,155,178,.13), transparent 34%),
    linear-gradient(180deg,#f9fcfd 0%,#eef6f9 100%)!important;
}

#sdPwaSplash{
  position:fixed;
  inset:0;
  z-index:2147483646;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 26%,rgba(7,155,178,.16),transparent 29%),
    radial-gradient(circle at 78% 72%,rgba(7,59,111,.08),transparent 27%),
    linear-gradient(180deg,#fbfefe 0%,#f0f7fa 100%);
  opacity:1;
  visibility:visible;
  transition:opacity .42s ease,visibility .42s ease;
  font-family:Inter,Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

#sdPwaSplash::before,
#sdPwaSplash::after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}

#sdPwaSplash::before{
  width:min(72vw,520px);
  aspect-ratio:1;
  border:1px solid rgba(7,155,178,.09);
  box-shadow:
    0 0 0 44px rgba(7,155,178,.025),
    0 0 0 88px rgba(7,155,178,.018);
}

#sdPwaSplash::after{
  width:180px;
  height:180px;
  right:-80px;
  bottom:8%;
  background:rgba(7,155,178,.06);
  filter:blur(2px);
}

#sdPwaSplash.sd-pwa-splash--hide{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.sd-pwa-splash__content{
  position:relative;
  z-index:2;
  width:min(88vw,380px);
  text-align:center;
  transform:translateY(-2vh);
}

.sd-pwa-splash__mark{
  position:relative;
  width:126px;
  height:126px;
  margin:0 auto 24px;
  display:grid;
  place-items:center;
  border-radius:34px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(7,59,111,.08);
  box-shadow:
    0 24px 60px rgba(7,59,111,.13),
    0 8px 20px rgba(7,155,178,.08),
    inset 0 1px 0 rgba(255,255,255,.9);
}

.sd-pwa-splash__mark::before{
  content:"";
  position:absolute;
  inset:-12px;
  border:1px solid rgba(7,155,178,.18);
  border-radius:42px;
  animation:sdPwaPulse 1.8s ease-out infinite;
}

.sd-pwa-splash__mark img{
  width:92px;
  height:92px;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(7,59,111,.13));
}

.sd-pwa-splash__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:9px;
  color:var(--sd-pwa-teal);
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.sd-pwa-splash__eyebrow::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--sd-pwa-teal);
  box-shadow:0 0 0 5px rgba(7,155,178,.11);
}

.sd-pwa-splash__title{
  margin:0;
  color:var(--sd-pwa-navy);
  font-size:clamp(29px,7vw,38px);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:800;
}

.sd-pwa-splash__subtitle{
  max-width:280px;
  margin:11px auto 0;
  color:#667b8d;
  font-size:13px;
  line-height:1.55;
  font-weight:550;
}

.sd-pwa-splash__loader{
  width:150px;
  height:3px;
  margin:26px auto 13px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(7,59,111,.08);
}

.sd-pwa-splash__loader span{
  display:block;
  width:45%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--sd-pwa-teal),var(--sd-pwa-cyan));
  animation:sdPwaLoad 1.05s ease-in-out infinite;
}

.sd-pwa-splash__status{
  color:#80909e;
  font-size:10px;
  font-weight:700;
  letter-spacing:.035em;
}

#sdPwaInstallBtn{
  position:relative;
  color:var(--sd-pwa-teal)!important;
  border-color:rgba(7,155,178,.22)!important;
  background:linear-gradient(180deg,#fff,#f3fbfc)!important;
  box-shadow:0 6px 18px rgba(7,155,178,.08)!important;
}

#sdPwaInstallBtn::after{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  right:4px;
  top:4px;
  border-radius:50%;
  background:var(--sd-pwa-teal);
  box-shadow:0 0 0 3px rgba(7,155,178,.12);
}

#sdEnableNativeNotifications{
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

#sdEnableNativeNotifications:not(:disabled):hover{
  transform:translateY(-1px);
  box-shadow:0 7px 16px rgba(8,103,207,.12);
}

@keyframes sdPwaPulse{
  0%{transform:scale(.94);opacity:0}
  30%{opacity:1}
  100%{transform:scale(1.12);opacity:0}
}

@keyframes sdPwaLoad{
  0%{transform:translateX(-120%)}
  55%{transform:translateX(90%)}
  100%{transform:translateX(250%)}
}

@media (max-width:560px){
  .sd-pwa-splash__content{transform:translateY(-4vh)}
  .sd-pwa-splash__mark{width:112px;height:112px;border-radius:30px;margin-bottom:21px}
  .sd-pwa-splash__mark::before{border-radius:38px}
  .sd-pwa-splash__mark img{width:82px;height:82px}
  .sd-pwa-splash__subtitle{font-size:12px}
}

@media (prefers-reduced-motion:reduce){
  #sdPwaSplash,
  .sd-pwa-splash__mark::before,
  .sd-pwa-splash__loader span{
    animation:none!important;
    transition:none!important;
  }
}
