.portal-gallery-trigger { display:block; min-width:0; cursor:zoom-in; }
.portal-gallery-trigger > img { display:block; width:100%; height:auto; }
.portal-gallery-trigger:is(.detail-art,.career-intro__art,.npc-profile__icon,.arsenal-ability__art,.chronicle-entry__photo) > img { max-height:inherit; object-fit:inherit; object-position:inherit; }
.portal-gallery-trigger:is(.career-intro__art,.npc-profile__icon) > img { height:100%; }
.portal-gallery-trigger:focus-visible { outline:3px solid #eac878; outline-offset:4px; }
.portal-lightbox { box-sizing:border-box; width:min(96vw,1600px); max-width:96vw; max-height:96svh; padding:60px 18px 18px; border:1px solid #ad945c; border-radius:4px; background:#080a13; color:#f3ead8; font:16px/1.5 system-ui,sans-serif; }
.portal-lightbox::backdrop { background:#03040bec; }
.portal-lightbox > img { display:block; width:auto; height:auto; max-width:100%; max-height:calc(96svh - 180px); margin:auto; object-fit:contain; }
.portal-lightbox > img[hidden] { display:none; }
.portal-lightbox > button { position:absolute; right:12px; top:8px; min-height:44px; padding:8px 12px; border:1px solid #ad945c; border-radius:3px; background:#171923; color:#f3ead8; font:inherit; cursor:pointer; }
.portal-lightbox > button:focus-visible { outline:3px solid #eac878; outline-offset:2px; }
.portal-lightbox > p { margin:12px 0 0; text-align:center; overflow-wrap:anywhere; }
.portal-lightbox > p:empty { display:none; }
