/* Desktop artwork audit: existing rules below 1025px remain unchanged. */
@media (min-width: 1025px) {
  /* Portrait source art should never be cropped into a landscape viewport. */
  .entrance-only .entrance-art {
    object-fit: contain;
    object-position: right center;
    background: #050505;
  }
  .brand-logo img { object-fit: contain; }
  .entity-profile .entity-portrait {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0b0504;
  }
  .entity-profile .entity-portrait img,
  .brood-portrait img,
  .realm-portrait img,
  .auction-item-portrait > img {
    display: block;
    object-fit: contain;
    object-position: center center;
  }
  .entity-profile .entity-portrait img { height: 100%; max-height: 100%; }
  .brood-portrait,
  .realm-portrait,
  .auction-item-portrait { background: radial-gradient(ellipse at center, #20100c, #080403 75%); }
  .character-console .imp-record-image {
    height: clamp(430px, 62vh, 650px);
    background: #090807;
  }
  .character-console .imp-record-image img {
    object-fit: contain;
    object-position: center center;
  }
  .story-record-image {
    height: clamp(380px, 58vh, 620px);
    background: radial-gradient(ellipse at center, #1b111a, #080706 75%);
  }
  .story-record-image img {
    object-fit: contain;
    object-position: center center;
  }
  .story-record-panel.active .story-record-image img { transform: none; }
  .story-launch-cover { display: flex; align-items: center; background: #080706; }
  .story-launch-cover img {
    display: block;
    height: auto;
    max-height: 680px;
    object-fit: contain;
    object-position: center center;
  }
  /* Directory previews retain their text gradients and show the whole subject. */
  .entity-menu > button:not(.brood-record-card)::before {
    background-size: cover, auto 100%;
    background-position: center, right center;
    background-repeat: no-repeat;
  }
  .entity-menu > button:not(.brood-record-card):hover::before { transform: none; }
  .brood-record-card .brood-card-montage img {
    object-fit: contain;
    object-position: center center;
    background: #100403;
  }
  .brood-record-card:hover .brood-card-montage { transform: none; }
  .realm-menu button::before {
    background-size: contain;
    background-position: right center;
    background-repeat: no-repeat;
  }
  .realm-menu button:hover::before,
  .realm-menu button:focus-visible::before { transform: none; }
  .hell-layer-grid button::before {
    background-size: contain;
    background-position: right center;
    background-repeat: no-repeat;
  }
  .hell-layer-grid button:hover:not(:disabled)::before { transform: none; }
  .auction-listing::before {
    background-size: cover, contain;
    background-position: center, right center;
    background-repeat: no-repeat;
  }
  /* Keep provenance readable without running a banner through the face. */
  .system-generated {
    left: 16px;
    right: auto;
    top: auto;
    bottom: 48px;
    max-width: calc(100% - 32px);
    padding: 9px 12px;
    gap: 5px;
    transform: none;
    border: 1px solid #9d382b;
    box-shadow: none;
    background: #160403ed;
    pointer-events: none;
  }
  .system-generated > span {
    position: static;
    display: block;
    font-size: 12px;
    line-height: 1.3;
    letter-spacing: .12em;
    text-shadow: none;
  }
  .system-generated > small { font-size: 7px; line-height: 1.4; }
}

/* New provenance tags overlay the artwork without changing image layout. */
.art-provenance.art-provenance {
  position: absolute;
  z-index: 4;
  right: 12px;
  top: 12px;
  left: auto;
  bottom: auto;
  width: auto;
  max-width: calc(100% - 24px);
  padding: 6px 9px;
  border: 1px solid #9d382b;
  background: #160403ed;
  color: #edb78d;
  font: 600 9px/1.4 var(--body, sans-serif);
  letter-spacing: .06em;
  text-transform: uppercase;
  pointer-events: none;
}
.entity-menu > button > .art-provenance,
.realm-menu button > .art-provenance,
.auction-listing > .art-provenance {
  position: absolute;
  z-index: 4;
  margin: 0;
  color: #edb78d;
  font: 600 9px/1.4 var(--body, sans-serif);
  letter-spacing: .06em;
}
.brood-card-montage .art-provenance {
  right: 3px;
  top: 3px;
  padding: 3px 4px;
  max-width: calc(100% - 6px);
  font-size: 6px;
}
.brood-card-tile { position: relative; min-width: 0; min-height: 0; overflow: hidden; }
.brood-card-montage .brood-card-tile:nth-child(5) { grid-column: 2; }
