/* A quieter hide-and-seek layer; object art and accepted scene positions stay intact. */
.forest-token:not(.uncovered) .quest-object{
  opacity:.18;
  filter:brightness(.6) drop-shadow(0 0 9px #fff29d00);
}
.forest-token.is-near .object-leaves,
.forest-token:hover .object-leaves,
.forest-token:focus-visible .object-leaves{
  transform:translate(-39px,-19px) rotate(-19deg);
  opacity:.18;
}
.forest-token.is-near .quest-object,
.forest-token:hover .quest-object,
.forest-token:focus-visible .quest-object{
  opacity:1;
  filter:brightness(1) drop-shadow(0 0 8px #ffe58566);
}
/* A deliberate Peek or Rustle clears the object for the next collection action. */
.forest-token.uncovered:not(.is-near) .object-leaves,
.forest-token.found .object-leaves{
  transform:translate(-52px,-25px) rotate(-24deg);
  opacity:0;
}
@media(hover:hover) and (pointer:fine){
  .forest-token .token-state{
    opacity:0;
    transition:opacity .18s;
  }
  .forest-token:is(:hover,:focus-visible,.is-near,.uncovered,.found) .token-state{
    opacity:1;
  }
}
@media(hover:none){
  .forest-token .token-state{opacity:1}
}
.still-world .forest-token .object-leaves{
  opacity:0!important;
  transform:none!important;
}
.still-world .forest-token .quest-object,
.still-world .forest-token .token-state{
  opacity:1;
  filter:none;
  transition:none;
}
@media(prefers-reduced-motion:reduce){
  .forest-token .object-leaves{opacity:0!important;transform:none!important}
  .jungle-world .forest-token .quest-object,
  .jungle-world .forest-token .token-state{opacity:1;filter:none;transition:none!important}
}
