html.tpa-album-open { overflow: hidden; }
#sec-6f9d .u-gallery-item[role="button"] { cursor: zoom-in; }
#sec-6f9d .u-gallery-item[role="button"]:focus-visible { outline: 3px solid #245c46; outline-offset: 4px; }
dialog.tpa-album { width: min(1100px, calc(100vw - 24px)); max-width: none; max-height: calc(100dvh - 24px); padding: 0; border: 0; border-radius: 14px; background: #111916; color: #fff; }
dialog.tpa-album::backdrop { background: rgba(0, 0, 0, .88); }
.tpa-album-panel { padding: 48px 16px 16px; position: relative; }
.tpa-album figure { margin: 0; }
.tpa-album-photo { display: block; width: 100%; height: min(70dvh, 760px); object-fit: contain; }
.tpa-album figcaption { text-align: center; min-height: 24px; margin: 12px 0; font: 16px/1.5 system-ui, sans-serif; }
.tpa-album button { min-height: 44px; padding: 10px 18px; border: 1px solid #63776c; border-radius: 8px; background: #244c3c; color: #fff; font: 600 16px/1.25 system-ui, sans-serif; cursor: pointer; }
.tpa-album button:hover { background: #34654f; }
.tpa-album button:focus-visible { outline: 3px solid #f3d47e; outline-offset: 3px; }
.tpa-album-controls { display: flex; justify-content: center; gap: 12px; }
.tpa-album-controls button { display: grid; place-items: center; width: 58px; height: 58px; min-height: 58px; padding: 0; border: 5px solid #c5c5c5; border-radius: 50%; background: radial-gradient(circle at 65% 28%, #fff 10%, #f0f0f0 50%, #d4d4d4 100%); color: #444; box-shadow: inset 0 2px 3px #999, inset 0 -2px 2px #fff, 0 2px 4px #0005; }
.tpa-album-controls button:hover { background: radial-gradient(circle at 65% 28%, #fff, #e3e3e3); border-color: #e0e0e0; }
.tpa-album-controls button:active { box-shadow: inset 0 2px 5px #888; }
.tpa-album-controls svg { width: 26px; height: 26px; fill: currentColor; }
.tpa-album .tpa-album-close { position: absolute; top: 4px; right: 6px; font-size: 28px; padding: 0; width: 44px; background: transparent; border: 0; }
@media (max-width: 575px) {
  .tpa-album-panel { padding: 48px 8px 12px; }
  .tpa-album-photo { height: 60dvh; }
  .tpa-album-controls { gap: 6px; }
  .tpa-album-controls { gap: 16px; }
}
