/* Phase 13.1 — story-only presentation refinements. No game logic changes. */
.ls-card #ls-copy[hidden] { display: none !important; }

/* Short and calm transition when the visitor advances a chapter. */
@keyframes lb-story-appear {
  from { opacity: .3; transform: translateY(5px); }
  to   { opacity: 1; transform: translateY(0); }
}
.ls-card.lb-story-chapter-enter #ls-chapter,
.ls-card.lb-story-chapter-enter #ls-heading,
.ls-card.lb-story-chapter-enter #ls-copy:not([hidden]),
.ls-card.lb-story-chapter-enter #ls-choices,
.ls-card.lb-story-chapter-enter #ls-ending:not([hidden]) {
  animation: lb-story-appear 190ms ease-out both;
}
@media (prefers-reduced-motion: reduce) {
  .ls-card.lb-story-chapter-enter #ls-chapter,
  .ls-card.lb-story-chapter-enter #ls-heading,
  .ls-card.lb-story-chapter-enter #ls-copy,
  .ls-card.lb-story-chapter-enter #ls-choices,
  .ls-card.lb-story-chapter-enter #ls-ending { animation: none !important; }
}
@media (max-width: 600px) {
  .ls-card #ls-copy { margin-bottom: 12px; }
  .ls-card #ls-choices { margin-top: 10px; margin-bottom: 10px; }
  .ls-card #ls-start { margin-top: 9px; }
  .ls-card #ls-next { margin-top: 10px; }
  .ls-card #ls-save-note { margin-top: 8px; }
  .ls-card #ls-ending { margin-top: 8px; }
  .ls-card #ls-ending-copy { margin-bottom: 12px; }
}
