/* World and story pages: Around Glimmeria ticker + /feed, townsfolk, lost & found, treasure map, Starfall Isle. */

/* Ticker: two copies of the list slide left forever; hover or keyboard focus pauses it. */
.ticker-window { display: flex; overflow: hidden; border: 2px solid var(--ink); border-radius: var(--r-sm); background: var(--hi-soft); }
.ticker-track {
  flex: none; display: flex; gap: 32px; margin: 0; padding: 10px 32px 10px 0; list-style: none;
  animation: ticker var(--ticker-s, 60s) linear infinite;
}
.ticker-track li { white-space: nowrap; }
.ticker-track li::before { content: '✦ '; color: var(--pink); }
.ticker-window:hover .ticker-track, .ticker-window:focus-within .ticker-track { animation-play-state: paused; }
@keyframes ticker { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) {
  .ticker-window { display: block; }
  .ticker-copy { display: none; }
  .ticker-track { flex-direction: column; gap: 6px; padding: 10px 14px; }
  .ticker-track li { white-space: normal; }
  .ticker-track li:nth-child(n+6) { display: none; }
}

.feed-list { list-style: none; margin: 0; padding: 0; }
.feed-list li { display: flex; gap: 12px; align-items: baseline; justify-content: space-between; padding: 8px 0; border-bottom: 2px dashed var(--rule); }
.feed-list li:last-child { border-bottom: 0; }
.feed-list small { flex: none; color: var(--muted); font-size: var(--fs-xs); }


/* Townsfolk + lost & found: one portrait card per NPC. */
.folk { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 4px 12px; align-items: start; }
.folk > svg { grid-row: span 3; width: 84px; height: 84px; }
.folk h3 { margin: 0; font-size: 1.15rem; }
.folk p { margin: 0; }
.folk .btn-row, .folk form { margin-top: 6px; }
.folk-groups h2 { margin-top: 8px; }
.lost-item svg { float: left; margin: 0 6px 0 -4px; }
.folk.is-done { opacity: .75; }

/* Treasure map */
.tmap { display: block; width: 100%; max-width: 560px; height: auto; margin: 0 auto 12px; }
.item-tile.is-missing { opacity: .55; }
.tmap-missing { fill: var(--tint-2); stroke: var(--ink); stroke-width: 2; stroke-dasharray: 8 6; }

/* Starfall Isle */
.pool-prizes { margin-top: 16px; }
.locked-isle { text-align: center; }
.locked-isle svg { display: block; margin: 0 auto 8px; }
