.lands-page button.portrait-trigger {
  display:inline-grid; place-items:center; align-self:end; flex-shrink:0;
  width:max-content; max-width:100%; min-height:44px; padding:0; margin:0;
  border:0; border-radius:8px; background:transparent; line-height:0; cursor:zoom-in; touch-action:manipulation;
}
.lands-page button.portrait-trigger:hover { background:transparent; filter:brightness(1.12); }
.lands-page button.portrait-trigger:focus-visible { outline:3px solid var(--gold, #d9b35a); outline-offset:3px; }
.lands-page button.portrait-trigger:active { filter:brightness(.9); }
.portrait-trigger > img { display:block; }
.portrait-viewer-open, .portrait-viewer-open body { overflow:hidden; }
.portrait-dialog {
  position:fixed; inset:0; box-sizing:border-box; width:min(900px, calc(100vw - 24px));
  max-width:none; max-height:calc(100dvh - 24px); margin:auto; padding:12px;
  border:1px solid #a58e59; border-radius:10px; background:#10140f; color:#f4edda;
  overflow:auto; overscroll-behavior:contain; box-shadow:0 16px 60px #000b;
}
.portrait-dialog::backdrop { background:#030503e8; }
.portrait-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.portrait-dialog h2 { min-width:0; margin:0; overflow-wrap:anywhere; font:600 22px/1.2 Georgia,serif; color:#e3ca89; }
.portrait-dialog .portrait-close { flex-shrink:0; min-width:44px; min-height:44px; padding:0; border:1px solid #8a805f; border-radius:6px; background:#20271d; color:#fff; font:24px/1 system-ui,sans-serif; cursor:pointer; }
.portrait-dialog .portrait-close:hover { background:#39412d; }
.portrait-dialog .portrait-close:focus-visible { outline:3px solid #e3ca89; outline-offset:2px; }
.portrait-dialog .portrait-close:active { background:#4c573d; }
.portrait-dialog > img { display:block; width:100%; height:auto; max-height:calc(100dvh - 120px); object-fit:contain; border-radius:4px; }
.portrait-dialog > img[hidden], .portrait-dialog .portrait-status[hidden] { display:none; }
.portrait-dialog .portrait-status { margin:8px 0 0; font:16px/1.4 system-ui,sans-serif; color:#d8ceb8; }
