.live-premiere {
  position: fixed;
  inset: 0;
  z-index: 2000;
  isolation: isolate;
}
.live-premiere-veil {
  position: absolute;
  inset: 0;
  background: rgba(247, 249, 255, 0.48);
  backdrop-filter: blur(7px) saturate(0.8);
  -webkit-backdrop-filter: blur(7px) saturate(0.8);
  opacity: 0;
}
.live-premiere-dust {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.live-premiere-aura {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  pointer-events: none;
  background: radial-gradient(ellipse, #fffdfdf2 0%, #f4e9ff80 30%, #e3eaff40 52%, transparent 72%);
  will-change: opacity, transform;
}
.live-premiere-photo {
  position: absolute;
  opacity: 0.001;
  transform-origin: top left;
  border-radius: var(--image-radius, 18px);
  box-shadow:
    0 30px 100px #3c48652b,
    0 3px 12px #59698012;
  overflow: hidden;
  pointer-events: none;
  will-change: transform, opacity;
}
.live-premiere-photo > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: inherit;
}
.live-premiere-photo > .live-premiere-soft {
  position: absolute;
  inset: 0;
  filter: blur(14px);
  transform: scale(1.035);
}
.live-premiere-photo > .live-premiere-sharp {
  position: relative;
  mask-image: radial-gradient(
    ellipse at center,
    #000 0%,
    #000 var(--focus-solid, 0%),
    transparent var(--focus-edge, 0%)
  );
  -webkit-mask-image: radial-gradient(
    ellipse at center,
    #000 0%,
    #000 var(--focus-solid, 0%),
    transparent var(--focus-edge, 0%)
  );
}
.live-premiere-photo > .live-premiere-sharp.focus-ready {
  mask-image: none;
  -webkit-mask-image: none;
}
.live-premiere-wave {
  position: absolute;
  opacity: 0;
  border: 1px solid #ffffffd9;
  border-radius: 26px;
  box-shadow:
    0 0 14px #fff9,
    0 0 30px #d5c8ef66,
    inset 0 0 12px #ffffff80;
  pointer-events: none;
  will-change: transform, opacity;
}
.live-premiere-gleam {
  position: absolute;
  inset: 0;
  opacity: 0;
  border: 1px solid #ffffff80;
  border-radius: inherit;
  background: linear-gradient(
    110deg,
    transparent 25%,
    #ffffff00 42%,
    #ffffff55 50%,
    #ffffff00 58%,
    transparent 75%
  );
  pointer-events: none;
}
.live-premiere-close {
  position: absolute;
  top: calc(22px + env(safe-area-inset-top, 0px));
  right: calc(22px + env(safe-area-inset-right, 0px));
  width: 42px;
  height: 42px;
  border: 1px solid #fff9;
  border-radius: 50%;
  background: #ffffffb3;
  color: #66718a;
  font: 300 28px/1 system-ui;
  cursor: pointer;
  box-shadow: 0 4px 20px #3948630c;
}
.live-premiere-close:hover {
  background: #fff;
}
.live-premiere-close:focus-visible {
  outline: 3px solid var(--accent, #7388ff);
  outline-offset: 4px;
}
.gallery-frame.premiere-destination {
  visibility: hidden !important;
}
.gallery-frame.premiere-reflow-card {
  transition: none !important;
  will-change: transform;
}
.live-premiere-lift-shadow {
  position: absolute;
  pointer-events: none;
  transform-origin: center;
  border-radius: 18px;
  box-shadow:
    0 32px 95px #3c486534,
    0 5px 18px #59698018;
  will-change: transform, opacity;
}
.live-premiere.is-departing .live-premiere-photo {
  box-shadow: none;
}
@media (max-width: 760px) {
  .live-premiere-veil {
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }
  .live-premiere-photo {
    box-shadow: 0 18px 55px #3c486522;
  }
  .live-premiere-close {
    top: calc(14px + env(safe-area-inset-top, 0px));
    right: 14px;
  }
}
