.asmirel-entry {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  background: transparent;
  transition: opacity .32s ease;
}
.asmirel-entry[open] { display: grid; place-items: center; }
.asmirel-entry::backdrop { background: transparent; }
body:has(.asmirel-entry[open]) { overflow: hidden; }
.asmirel-entry-stage {
  position: relative;
  width: min(100vw, 56.28dvh);
  aspect-ratio: 941 / 1672;
  box-shadow: 0 0 0 100vmax #735678;
  transform-origin: center 52%;
}
.asmirel-entry-art { display: block; width: 100%; height: 100%; }
.asmirel-entry-leaves[hidden] { display: none; }
.asmirel-entry-opening .asmirel-entry-closed-art { visibility: hidden; }
.asmirel-entry-fade { opacity: 0; }
.asmirel-entry-button {
  position: absolute;
  left: 50%;
  bottom: max(8%, env(safe-area-inset-bottom));
  width: max-content;
  max-width: calc(100vw - 1.5rem);
  transform: translateX(-50%);
  border: 1px solid #edc67c;
  border-radius: 2rem;
  padding: .78rem clamp(.9rem, 4vw, 1.5rem);
  color: #fff0cc;
  background: linear-gradient(115deg, #462347 20%, #775280 38%, #d5a965 45%, #5c3767 56%, #462347 72%);
  background-size: 260% 100%;
  box-shadow: 0 4px 20px #301b28aa, inset 0 0 0 3px #efc38944;
  font: 600 clamp(.9rem, 3.9vw, 1.15rem)/1.25 Georgia, serif;
  cursor: pointer;
  animation: asmirel-entry-shine 3.8s ease-in-out infinite;
  transition: opacity .2s ease;
}
.asmirel-entry-button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.asmirel-entry-opening .asmirel-entry-button { opacity: 0; pointer-events: none; }
@keyframes asmirel-entry-shine {
  0%, 22% { background-position: 100% 50%; }
  67%, 100% { background-position: 0% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .asmirel-entry, .asmirel-entry-button { transition: none; animation: none; }
}
