/* Achievement art: generated assets for defaults, compact SVG fallback for custom awards. */
.trophy-art.trophy-image-art {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid rgba(8, 116, 84, 0.12);
  border-radius: 14px;
  background: #eef4f1;
  box-shadow: none;
  isolation: isolate;
}

.trophy-art.trophy-image-art::before,
.trophy-art.trophy-image-art::after {
  display: none !important;
  content: none !important;
}

.trophy-image-art .trophy-image {
  display: block;
  width: 100%;
  min-width: 0;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.trophy-image-art .trophy-image[hidden],
.trophy-image-art .trophy-image.image-load-failed {
  display: none !important;
}

.trophy-image-art .trophy-svg-fallback {
  width: 100%;
  height: 100%;
}

.trophy-image-art .trophy-svg-fallback[hidden] {
  display: none !important;
}

.trophy-image-art .trophy-svg-fallback:not([hidden]) {
  display: grid !important;
  place-items: center;
  color: var(--trophy-color);
}

.trophy-image-art .trophy-svg-fallback .trophy-svg {
  width: 80%;
  height: 80%;
}

.trophy-card:not(.earned) .trophy-image {
  filter: saturate(0.74) contrast(0.94);
  opacity: 0.82;
}

.trophy-card.earned .trophy-image {
  filter: saturate(1.02) contrast(1.01);
}

@media (max-width: 480px) {
  .trophy-card,
  .profile-page .trophy-card,
  .profile-achievement-card .trophy-card {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 10px;
  }

  .trophy-card .trophy-art,
  .profile-page .trophy-card .trophy-art,
  .profile-achievement-card .trophy-card .trophy-art {
    width: 54px;
    min-width: 54px;
    height: 54px;
  }
}
