.mpp-splash-active,
.mpp-splash-active body {
  overflow: hidden !important;
}

.mpp-launch-splash {
  --mpp-splash-background: #fff;
  --mpp-splash-accent: #0f766e;
  position: fixed;
  z-index: 9000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
  background: var(--mpp-splash-background);
  opacity: 0;
  visibility: hidden;
  transition: opacity 220ms ease, visibility 0s linear 220ms;
}

.mpp-launch-splash.is-visible {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.mpp-launch-splash.is-leaving {
  opacity: 0;
  visibility: hidden;
}

.mpp-launch-splash__brand {
  display: grid;
  width: min(72vw, 280px);
  justify-items: center;
  gap: 18px;
  color: var(--mpp-splash-accent);
  text-align: center;
}

.mpp-launch-splash__icon {
  width: 112px;
  height: 112px;
  border-radius: 24px;
  box-shadow: 0 18px 40px rgb(15 23 42 / 16%);
}

.mpp-launch-splash__name {
  max-width: 100%;
  font-size: clamp(20px, 6vw, 30px);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.mpp-launch-splash__progress {
  position: relative;
  display: block;
  width: 82px;
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgb(15 118 110 / 18%);
}

.mpp-launch-splash__progress::after {
  position: absolute;
  inset: 0;
  width: 42%;
  border-radius: inherit;
  background: var(--mpp-splash-accent);
  content: '';
  animation: mpp-splash-progress 850ms ease-in-out infinite alternate;
}

@keyframes mpp-splash-progress {
  from { transform: translateX(-110%); }
  to { transform: translateX(250%); }
}

.mpp-panel {
  position: fixed;
  z-index: 8500;
  right: 1rem;
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  max-width: 22rem;
  padding: 1.1rem 1.2rem;
  border: 1px solid #cbd5e1;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 14px 36px rgb(15 23 42 / 20%);
  color: #0f172a;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.mpp-panel h2 { margin: .1rem 1.8rem .45rem 0; font-size: 1.1rem; }
.mpp-panel p { margin: .45rem 0; font-size: .9rem; line-height: 1.45; }
.mpp-panel__eyebrow { color: #0f766e; font-size: .75rem !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mpp-panel__close { position: absolute; top: .45rem; right: .55rem; border: 0; background: transparent; color: #475569; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.mpp-panel__actions { display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; margin: .85rem 0; }
.mpp-panel__status[data-state="error"] { color: #b91c1c; }
.mpp-panel__status[data-state="success"] { color: #047857; }
.mpp-panel a { color: #0f766e; font-size: .8rem; }

@media (max-width: 480px) {
  .mpp-panel { right: .65rem; bottom: calc(.65rem + env(safe-area-inset-bottom, 0px)); left: .65rem; max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  .mpp-launch-splash,
  .mpp-launch-splash.is-visible,
  .mpp-launch-splash.is-leaving { transition: none; }
  .mpp-launch-splash__progress::after { animation: none; transform: none; }
  .mpp-panel { scroll-behavior: auto; }
}
