/* Album media only: compact list, large cards and the app-owned viewer stay distinct. */
.album-selection .selection-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.album-selection .selection-toolbar [data-selection-toggle]{min-width:64px;min-height:44px;width:auto;margin:0}
.album-selection .selection-toolbar>span,.album-selection .selection-toolbar>[data-download-trigger]{grid-column:1/-1}
.album-selection .album-grid>article,.album-selection .album-grid>.photo-card{position:relative;min-width:0;container-type:inline-size}
.album-selection .media-select{display:none;position:absolute;left:0;top:0;width:44px;height:44px;align-items:center;justify-content:center;z-index:5;cursor:pointer}
.album-selection.is-selecting .media-select{display:flex}
.album-selection .media-select input{width:18px;height:18px;margin:0;accent-color:var(--primary)}
.album-selection.is-selecting .album-grid :is(.gallery-photo,.album-video-frame,.media-wait){cursor:pointer}
.album-selection.is-selecting .album-video-controls{pointer-events:none}
.album-selection.album-view-compact .album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.album-selection.album-view-compact .album-grid :is(article,.photo-card,.media-tile){margin:0;padding:0;min-width:0;border:0;border-radius:0;box-shadow:none}
.album-selection.album-view-compact .album-grid :is(.gallery-photo,.album-video-frame,.media-wait){display:block;width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:0;position:relative}
.album-selection.album-view-compact .album-grid :is(img,video){display:block;width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;border-radius:0}
.album-selection.album-view-compact .album-grid :is(figcaption,.album-video-controls,.mini-video-return){display:none!important}
.album-selection .media-video-mark{position:absolute;right:8px;top:8px;color:white;text-shadow:0 1px 4px black;font-size:16px;pointer-events:none}
.album-selection .media-tile{position:relative}
.album-selection.album-view-large .media-video-mark{display:none}
.album-selection.album-view-large .album-grid :is(.media-tile,.photo-card)>figcaption{padding:0}
.glory-app .album-selection .media-info{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;align-items:center;padding:8px;min-height:0;margin:0}
.glory-app .album-selection .media-info .media-author{display:block;min-width:0;overflow:hidden;flex:none}
.glory-app .album-selection .media-info .photo-uploader{display:block;min-width:0;overflow:hidden}
.glory-app .album-selection .media-info .photo-uploader a{display:block;line-height:44px;min-height:44px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.glory-app .album-selection .media-info .media-date{grid-row:2;grid-column:1/-1;text-align:center;margin:0;line-height:1.35;white-space:nowrap}
.glory-app .album-selection .media-info .photo-actions{display:flex;gap:0;flex-wrap:nowrap;margin:0;align-items:center}
.media-info :is(.photo-like,.photo-download,.media-more>summary){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:44px;min-height:44px;padding:4px;margin:0;border:0;background:transparent;border-radius:8px;color:inherit;text-decoration:none;cursor:pointer;list-style:none}
.media-info .photo-like{font-size:12px}
.media-info .photo-like [data-like-count]{max-width:40px;overflow:hidden;text-overflow:ellipsis}
.media-info .icon{width:24px;height:24px;stroke-width:1.7}
.media-info [data-heart]{display:flex}
.media-info [aria-pressed=true] .icon{fill:currentColor}
.media-more{position:relative}
.media-more>summary::-webkit-details-marker{display:none}
.media-more-actions{position:absolute;right:0;bottom:100%;min-width:148px;max-width:220px;padding:6px;background:var(--surface,#fff);color:var(--text-primary,#20372d);border:1px solid var(--border,#d9e0db);border-radius:10px;box-shadow:0 6px 20px #0002;z-index:30}
.media-more-actions :is(button,a){display:flex;align-items:center;gap:8px;min-width:44px;min-height:44px;width:100%;padding:8px;border:0;background:transparent;color:inherit;text-align:left;border-radius:6px}
.media-more-actions .admin-inline-danger{color:#a83a3a}
.media-info :is(button,a,summary):focus-visible{outline:2px solid var(--primary,#26744e);outline-offset:2px}
/* PhotoSwipe is outside album cards: all dark-viewer colours are scoped here. */
.pswp .pswp__bg{background:#000}
.pswp .pswp__button--close{position:absolute;left:max(8px,env(safe-area-inset-left));right:auto;top:0;width:48px;height:48px;color:white}
.pswp .pswp__button--close .pswp__icn{color:#fff}
.pswp .pswp__top-bar{top:env(safe-area-inset-top)}
.pswp .pswp__counter{right:12px;top:54px;color:white}
.pswp .viewer-photo-footer{position:absolute;left:0;right:0;bottom:0;display:block;min-height:156px;box-sizing:border-box;padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#000 30%);color:white;pointer-events:none}
.pswp .viewer-photo-footer .media-info{position:relative;display:block;width:100%;padding:0;min-height:124px;color:white}
.pswp .viewer-photo-footer .media-author{position:absolute;left:0;right:72px;bottom:32px;display:block;min-width:0;color:white;pointer-events:auto}
.pswp .viewer-photo-footer .photo-uploader{display:block;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px;line-height:1.4}
.pswp .viewer-photo-footer .media-date{position:absolute;left:0;right:72px;bottom:6px;display:block;transform:none;text-align:left;font-size:12px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pswp .viewer-photo-footer .photo-actions{position:absolute;right:0;bottom:0;width:52px;display:flex;flex-direction:column;gap:0;align-items:center;pointer-events:auto}
.pswp .viewer-photo-footer .photo-actions>:is(button,a,details){margin:0;flex:none;min-width:44px;min-height:44px}
.pswp .viewer-photo-footer .photo-actions>:is(button,a){display:flex;padding:4px;background:#0006;color:white;border:0;border-radius:8px}
.pswp .viewer-photo-footer .photo-like{flex-direction:column;gap:0;line-height:1;font-size:11px}
.pswp .viewer-photo-footer .media-more>summary{color:white;background:#0006}
.pswp .viewer-photo-footer .media-more-actions{pointer-events:auto;bottom:calc(100% + 52px);background:#202020;color:white;border-color:#555}
.pswp .viewer-feedback{position:absolute;left:16px;right:80px;top:0;color:white}
.pswp .viewer-video-content,.pswp .viewer-video-content .album-video-frame{width:100%;height:100%;background:black}
.pswp .viewer-video-content>.media-tile{width:100%;height:100%;margin:0}
.pswp .viewer-video-content video{width:100%;height:100%;object-fit:contain;background:black;aspect-ratio:auto}
.pswp .viewer-video-content .mini-video-return{display:none}
.pswp .album-video-controls{z-index:4}

/* Symmetric tracks keep the date centred on the whole card, in one 44px row. */
.glory-app .album-selection .media-info{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:0;padding:8px 0;min-width:0}
.glory-app .album-selection .media-info .media-author{grid-column:1;grid-row:1;max-width:100%;width:100%;align-self:center}
.glory-app .album-selection .media-info .media-date{grid-column:2;grid-row:1;position:static;transform:none;margin:0;padding:0;font-size:clamp(10.5px,3cqi,13px);line-height:1.35;letter-spacing:-.25px;max-width:none;align-self:center}
.glory-app .album-selection .media-info .photo-actions{grid-column:3;grid-row:1;justify-self:end;gap:0;min-width:132px;align-self:center}
.glory-app .album-selection .media-info .photo-actions>:is(button,a,details){width:44px;min-width:44px;flex:0 0 44px}
.glory-app .album-selection .media-info .photo-like{width:44px;padding:2px;gap:1px}
.glory-app .album-selection .media-info .photo-like [data-like-count]{max-width:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.media-info .media-more-actions{box-sizing:border-box;min-width:180px;width:max-content;max-width:calc(100vw - 32px)}
.media-info .media-more-actions :is(button,a){box-sizing:border-box;display:flex;flex-flow:row nowrap;white-space:nowrap;word-break:normal;overflow-wrap:normal;min-width:0;width:100%;gap:8px}
.media-info .media-more-actions .icon{flex:0 0 24px}
.pswp .viewer-photo-footer .photo-uploader a{display:block;min-height:44px;line-height:44px;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}


.glory-app .album-selection.album-view-large .album-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,312px),1fr))}

