/* Image resources and a native viewer; no selectors target SAPE output. */
#contentwrapper img { max-width: 100%; height: auto; }
#main .rightdiscimg-block img { width: auto; max-width: min(100%, 239px); height: auto; }
#randomvideo .views-field-field-videolink-embed img { height: auto; }
.asset-notice { padding: 10px; border: 1px solid #555; color: #ccc; }
.asset-link-label { display: inline; }
#main .asset-notice { margin-bottom: 15px; }
.image-viewer { box-sizing: border-box; margin: auto; padding: 14px; width: min(92vw, 1100px); max-height: 92vh;
  overflow: auto; border: 1px solid #777; border-radius: 8px; background: #191919; color: #eee; }
.image-viewer[open] { display: flex; flex-direction: column; gap: 12px; align-items: center; }
.image-viewer::backdrop { background: rgba(0, 0, 0, .85); }
.image-viewer .image-viewer-picture { width: auto; max-width: 100%; max-height: 72vh;
  height: auto; object-fit: contain; }
.image-viewer .image-viewer-picture[hidden] { display: none; }
.image-viewer .image-viewer-caption { margin: 0; text-align: center; line-height: 1.5; }
.image-viewer button { padding: 9px 14px; border: 1px solid #888; border-radius: 4px;
  background: #303030; color: #fff; cursor: pointer; font: inherit; }
.image-viewer button:hover { background: #454545; }
.image-viewer button:focus-visible { outline: 3px solid #e2c785; outline-offset: 3px; }
.image-viewer .image-viewer-close { align-self: flex-end; }
.image-viewer .image-viewer-controls { display: flex; gap: 12px; }
.image-viewer .image-viewer-controls[hidden] { display: none; }
