/* ============================================================
   心岛 v1.0 · 屏 1.5 · 推门入屋（B02 登岸木屋 · 过场 2.5s）
   ============================================================ */

.s-arrival {
  background-color: var(--ink-deeper, #1d262e);
  cursor: pointer;
}

.arrival-doorlight {
  position: absolute;
  left: 0; top: 0; right: 0; bottom: 0;
  background: radial-gradient(
    ellipse 14% 26% at 56% 50%,
    rgba(247, 220, 168, 0.42) 0%,
    rgba(247, 220, 168, 0.18) 40%,
    transparent 75%
  );
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  animation: arrival-doorlight 2400ms ease-out forwards;
}
@keyframes arrival-doorlight {
  0%   { opacity: 0; }
  40%  { opacity: 0.55; }
  100% { opacity: 0.55; }
}

.arrival-caption {
  position: absolute;
  left: 50%;
  bottom: 12%;
  transform: translateX(-50%);
  z-index: 10;
  color: var(--paper, #f7f1e3);
  text-align: center;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.7);
  font-family: var(--font-body, "Noto Serif SC", serif);
  max-width: 80%;
  pointer-events: none;
}
.arrival-caption p {
  margin: 6px 0;
  letter-spacing: 0.08em;
}
.arrival-line-1 {
  font-size: 22px;
  opacity: 0;
  animation: arrival-fadein 600ms ease-out 200ms forwards;
}
.arrival-line-2 {
  font-size: 26px;
  font-weight: 500;
  opacity: 0;
  animation: arrival-fadein 600ms ease-out 1000ms forwards;
}
.arrival-hint {
  margin-top: 18px !important;
  font-size: 13px;
  letter-spacing: 0.18em;
  font-family: var(--font-mono, monospace);
  color: rgba(247, 241, 227, 0.7);
  opacity: 0;
  animation: arrival-fadein 600ms ease-out 1800ms forwards;
}
@keyframes arrival-fadein {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .arrival-doorlight, .arrival-line-1, .arrival-line-2, .arrival-hint {
    animation: none; opacity: 1; transform: none;
  }
}
