/* worlds.css — the living world inside the arena (pairs with worlds.js). The old drawn arena stays as the fallback. */
.arena.has-world > :not(.world) { display: none; }
.world { position: absolute; inset: 0; overflow: hidden; background: var(--navy, #1B1E53); }
.world-still, .world-loop { position: absolute; inset: 0; width: 100%; height: 100%; }
.world-still { background: center / cover no-repeat; }
.world-loop { object-fit: cover; opacity: 0; transition: opacity 900ms ease; }
.world-loop.on { opacity: 1; }
/* the scrim keeps every word on top readable: darker at the top bar and the bottom cards, open in the middle */
.world-scrim { position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,12,36,.50) 0%, rgba(10,12,36,.08) 26%, rgba(10,12,36,.06) 52%, rgba(10,12,36,.42) 100%); }
/* bright worlds need less darkening; the night worlds need a touch more at the bottom */
.world[data-world="tod"] .world-scrim, .world[data-world="k"] .world-scrim, .world[data-world="farm"] .world-scrim,
.world[data-world="garden"] .world-scrim, .world[data-world="farmstand"] .world-scrim {
  background: linear-gradient(180deg, rgba(10,12,36,.36) 0%, rgba(10,12,36,0) 24%, rgba(10,12,36,0) 56%, rgba(10,12,36,.28) 100%); }
.world[data-world="g4"] .world-scrim, .world[data-world="tt"] .world-scrim, .world[data-world="duel"] .world-scrim {
  background: linear-gradient(180deg, rgba(10,12,36,.45) 0%, rgba(10,12,36,.05) 28%, rgba(10,12,36,.10) 55%, rgba(10,12,36,.55) 100%); }
@media (prefers-reduced-motion: reduce) { .world-loop { display: none; } }
/* words that sit straight on the scenery get a dark backing, so a busy picture never eats them (parent, round 10: "Pick-Two!
   Tap both right answers.", "NBA bonus.", "Your turn!", "Shot 4 of 8" and Question / Court Math / Scoreboard were hard to
   read over the gym photo) */
.run-feed:not(:empty), .run-shots .run-shotn, .tdy-turn > .section-h, .path-labels {
  background: rgba(16, 18, 58, 0.86); border-radius: 999px; padding: 3px 12px; text-shadow: none;
}
.run-feed:not(:empty) { display: table; margin-left: auto; margin-right: auto; }
.tdy-turn > .section-h { display: inline-block; }
.path-labels { border-radius: 14px; }
/* ...and every line a screen writes straight on the scenery (1st grader, round 11: "Nobody goes out. Everybody plays the next
   round." over the busy gym photo) */
.screen > .screen-sub { display: table; margin-left: auto; margin-right: auto; background: rgba(16, 18, 58, 0.86); border-radius: 14px; padding: 4px 12px; text-shadow: none; }
.run-feed.run-feed-two { color: #CFC2FF; }
