/* The trip replay page (journey-replay.js). Colours and radii come from atlas-story.css. */
.replay {
  margin-block: 12px 40px;
}

.replay h1 {
  margin-block: 6px 20px;
}

.replay-stage {
  aspect-ratio: 4 / 5;
  background: var(--canvas);
  border-radius: var(--content-radius);
  max-height: 78vh;
  overflow: hidden;
  position: relative;
  width: 100%;
}

@media (min-width: 760px) {
  .replay-stage {
    aspect-ratio: 16 / 10;
  }
}

.replay-map,
.replay-canvas {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.replay-canvas {
  pointer-events: none;
}

.replay-card {
  background: var(--soft-paper);
  border-radius: var(--control-radius);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.25);
  left: 0;
  margin: 0;
  padding: 4px;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform-origin: 50% 50%;
  width: 136px;
}

.replay-card img {
  aspect-ratio: 1;
  border-radius: calc(var(--control-radius) - 4px);
  display: block;
  object-fit: cover;
  width: 100%;
}

.replay-card figcaption {
  font-size: 0.75rem;
  font-weight: 700;
  overflow: hidden;
  padding: 4px 2px 0;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.replay-card.is-popping img,
.replay-card.is-popping figcaption {
  animation: replay-pop 0.4s cubic-bezier(0.34, 1.4, 0.64, 1);
}

@keyframes replay-pop {
  from { opacity: 0; transform: scale(0.6); }
  to { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .replay-card.is-popping img,
  .replay-card.is-popping figcaption {
    animation: none;
  }
}

.replay-controls {
  align-items: center;
  display: flex;
  gap: 16px;
  margin-top: 16px;
}

.replay-status,
.replay-note,
.replay-unavailable {
  color: var(--muted);
  margin: 0;
}

.replay-note {
  font-size: 0.875rem;
  margin-top: 12px;
}
