/* «Остров» SrepPortal — при запуске приложения на iPhone с Dynamic Island.
   Живёт ПРЯМО ПОД настоящим островом iPhone: выезжает из-за него, висит пару секунд
   и уезжает обратно за него (из DOM не удаляется и не исчезает).
   Скрипт: /assets/js/island.js (решает, показывать ли его, и задаёт --sp-top / --sp-drop). */
.sp-island {
  position: fixed; z-index: 2147483000;
  left: 50%; top: var(--sp-top, 11px);
  width: min(250px, 72vw); margin: 0; padding: 0; line-height: 0;
  transform-origin: 50% 0;
  /* «спрятан»: уменьшен и целиком лежит внутри настоящего острова (он чёрный и сверху) */
  transform: translate3d(-50%, 2px, 0) scale(.36);
  opacity: 1;
  pointer-events: none;
  transition: transform .5s cubic-bezier(.5, 0, .75, 0), filter .3s ease;
  will-change: transform;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none; user-select: none; -webkit-touch-callout: none;
}
.sp-island img { display: block; width: 100%; height: auto; pointer-events: none; -webkit-user-drag: none; }
/* «выехал»: опускается из-за острова вниз */
.sp-island.is-in {
  transform: translate3d(-50%, var(--sp-drop, 45px), 0) scale(1);
  filter: drop-shadow(0 10px 22px rgba(0, 70, 255, .35));
  pointer-events: auto;
  transition: transform .6s cubic-bezier(.2, 1.15, .3, 1), filter .4s ease;
}
@media (prefers-reduced-motion: reduce) {
  .sp-island, .sp-island.is-in { transition: none; }
}
