.gallery-dialog{border:0;background:var(--paper);padding:18px;width:min(1140px,94vw);max-width:none;max-height:94dvh;color:var(--ink)}
.gallery-dialog::backdrop{background:rgba(29,34,25,.86)}
.dialog-close{position:absolute;right:25px;top:25px;z-index:2;width:48px;height:48px;background:var(--ivory);border:0;color:var(--deep);font-size:28px}
.dialog-photo{width:100%;height:min(72dvh,780px);object-fit:contain;background:#ece9e2}
.dialog-caption{font-size:15px;padding:13px 5px 0}
@media(max-width:540px){.gallery-dialog{padding:10px;width:96vw}
.dialog-photo{height:70dvh}
.dialog-close{right:18px;top:18px}
.dialog-caption{font-size:14px}}
.gallery-dialog{width: min(1200px, 96vw); max-height: calc(100dvh - 28px); padding: 20px;}
.gallery-dialog[open]{display: flex; flex-direction: column; gap: 12px;}
.dialog-header{display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; flex: 0 0 auto;}
.dialog-header > div{min-width: 0;}
.dialog-header h2{font-size: 27px; line-height: 1.2; letter-spacing: -.025em;}
.dialog-credit{font-size: 12px; line-height: 1.5; color: var(--deep); letter-spacing: .09em; text-transform: uppercase; margin-bottom: 7px;}
.dialog-close{position: static; flex: 0 0 46px; width: 46px; height: 46px; font-size: 28px;}
.dialog-media{display: grid; place-items: center; min-height: 0; flex: 0 1 auto;}
.dialog-media[aria-busy="true"]{min-height: 180px;}
.dialog-photo{width: auto; height: auto; max-width: 100%; max-height: calc(100dvh - 230px); object-fit: contain; background: transparent;}
.dialog-photo[hidden], .dialog-status[hidden]{display: none;}
.dialog-status{color: var(--muted); font-size: 16px; padding: 28px; max-width: 570px; text-align: center;}
.dialog-caption{font-size: 15px; line-height: 1.5; color: var(--muted); padding: 0; flex: 0 0 auto;}
.dialog-actions{display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding-top: 10px; flex: 0 0 auto;}
.dialog-navigation{display: flex; align-items: center; gap: 16px;}
.dialog-navigation button{display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid var(--line); background: transparent; color: var(--deep); min-width: 46px; min-height: 46px; padding: 8px 14px; font-size: 15px;}
.dialog-navigation button:hover:not(:disabled){border-color: var(--deep);}
.dialog-navigation button:disabled{opacity: .4;}
.dialog-count{font-size: 14px; color: var(--deep); white-space: nowrap; min-width: 42px; text-align: center;}
.dialog-original{display: inline-flex; align-items: center; gap: 12px; min-height: 46px; font-size: 15px; color: var(--deep); white-space: nowrap;}
.dialog-original:hover{text-decoration: underline; text-underline-offset: 5px;}
@media (max-width: 540px){.gallery-dialog{padding: 14px; gap: 10px;}
.dialog-header{gap: 14px;}
.dialog-header h2{font-size: 23px;}
.dialog-credit{font-size: 12px; letter-spacing: .06em;}
.dialog-close{flex-basis: 44px; width: 44px; height: 44px;}
.dialog-photo{max-height: calc(100dvh - 250px);}
.dialog-caption{font-size: 14px;}
.dialog-actions{gap: 12px;}
.dialog-navigation{gap: 8px;}
.dialog-navigation button{min-width: 44px; min-height: 44px; padding: 7px;}
.dialog-control-label{display: none;}
.dialog-original{font-size: 14px; gap: 8px;}}
@media (max-height: 550px){.gallery-dialog[open]{gap: 8px;}
.dialog-header h2{font-size: 21px;}
.dialog-credit{margin-bottom: 3px;}
.dialog-caption{display: none;}
.dialog-photo{max-height: calc(100dvh - 210px);}}
.gallery-dialog{overflow-y: auto; overscroll-behavior: contain;}
.dialog-media{flex-shrink: 0;}
@media (max-width: 820px){.dialog-header h2{font-size: 1.6875rem; line-height: 1.25; overflow-wrap: anywhere;}
.dialog-credit{font-size: .875rem; line-height: 1.6; overflow-wrap: anywhere;}
.dialog-caption{display: block; font-size: 1rem; line-height: 1.6; overflow-wrap: break-word;}
.dialog-status{font-size: 1.125rem; line-height: 1.65;}
.dialog-actions{flex-wrap: wrap; row-gap: 8px;}
.dialog-navigation{flex-wrap: wrap; max-width: 100%;}
.dialog-navigation button{min-width: 48px; min-height: 48px; font-size: 1rem; line-height: 1.4; border-color: var(--olive);}
.dialog-count{font-size: 1rem; line-height: 1.5;}
.dialog-original{min-height: 48px; font-size: 1rem; line-height: 1.5;}
.dialog-close{flex-basis: 48px; width: 48px; height: 48px; min-height: 48px;}
.dialog-photo{max-height: max(100px, calc(100dvh - 16rem));}}
@media (max-width: 540px){.dialog-header h2{font-size: 1.4375rem;}}
@media (max-width: 820px) and (max-height: 550px){.dialog-header h2{font-size: 1.3125rem;}}
.dialog-media{position: relative;}
.dialog-media[aria-busy="true"]{min-height: 0;}
.dialog-status{position: absolute; inset: 0; max-width: none; max-height: 100%; overflow: auto; display: grid; place-items: center; padding: 16px; background: var(--paper);}
@media (prefers-reduced-motion: no-preference){.gallery-dialog[open]::backdrop{animation: gallery-backdrop-in 200ms ease-out both;}
.gallery-dialog.is-closing::backdrop{animation: gallery-backdrop-out 140ms ease-out both;}}
.dialog-credit{font-size:14px;}
.dialog-count,.dialog-original,.dialog-caption{font-size:16px;}
