/* Coordinates use the 1321 × 2877 artwork. Short screens scroll the scene
   instead of cropping the characters or separating the button from its mask. */
.dayout-index .page-shell {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 540px;
  aspect-ratio: 1321 / 2877;
  min-height: 100svh;
  margin: 0 auto;
  background: var(--dayout-page-bg) center top / 100% 100% no-repeat;
}
.dayout-index .brand-logo,
.dayout-index .activity-logo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: auto;
  display: block;
}
.dayout-index .brand-logo {
  top: max(4.5%, env(safe-area-inset-top, 0px));
  width: 25.6%;
}
.dayout-index .activity-logo {
  top: 50.65%;
  width: 40.5%;
}
.dayout-index .entry-stage {
  position: absolute;
  inset: auto 0 0;
  /* Both artwork layers share this width; the notch always stays centered. */
  width: 100%;
  aspect-ratio: 1321 / 767;
}
.dayout-index .bottom-cover {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  pointer-events: none;
  z-index: 0;
}
.dayout-index .entry-btn {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -54%);
  z-index: 1;
  width: 33.69%;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.dayout-index .entry-btn img {
  display: block;
  width: 100%;
  height: auto;
}
.dayout-index .entry-btn:active { filter: brightness(0.96); }
.dayout-index .page-footer-note {
  position: absolute;
  left: 4%;
  right: 4%;
  bottom: max(1.8%, env(safe-area-inset-bottom, 0px));
  z-index: 2;
  font-size: clamp(9px, 2.55vw, 13px);
  line-height: 1.8;
  text-align: center;
  color: #727b7e;
}
@supports not (height: 100svh) {
  .dayout-index .page-shell { min-height: 100vh; }
}
