/* Photo library — scoped to the module and its existing viewer/editor hooks. */
.pv-shell{--pv-accent:#ffa200;--pv-text:#24282d;--pv-muted:#7b858e;--pv-line:#e7eaee;--pv-soft:#f7f8fa;max-width:1440px;margin:0 auto;padding:26px 32px 64px;color:var(--pv-text)}
.pv-nav{display:flex;flex-wrap:nowrap;gap:26px;overflow-x:auto;white-space:nowrap;border-bottom:1px solid var(--pv-line);margin:0 0 30px;padding:0;scrollbar-width:thin;overscroll-behavior-x:contain}
.pv-nav a{flex:0 0 auto;display:flex;align-items:center;min-height:46px;padding:9px 0 13px;border-bottom:2px solid transparent;color:var(--pv-muted);font-size:14px;font-weight:500}
.pv-nav a:is(.active,[aria-current="page"]){color:var(--pv-accent);border-bottom-color:var(--pv-accent);font-weight:600}
.pv-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.pv-heading>div{min-width:0}
.pv-shell h1{font-size:30px;line-height:1.2;letter-spacing:-.6px;font-weight:700;margin:0}
.pv-description{font-size:14px;line-height:1.6;color:var(--pv-muted);max-width:65ch;margin:9px 0 0;overflow-wrap:anywhere}
.pv-shell .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 17px;border-radius:8px;font-size:13px;font-weight:600;line-height:20px;white-space:normal}
.pv-heading>.btn{flex-shrink:0}
.pv-shell .btn i{font-size:18px;line-height:1;color:inherit}
.pv-shell .btn-primary,.pv-shell .btn-primary i{color:#fff!important}
.pv-shell .btn-outline-secondary{background:transparent;border:1px solid var(--pv-line);color:var(--pv-muted)}
.pv-shell .btn-outline-secondary:is(:hover,:focus-visible){color:var(--pv-accent);background:transparent;border-color:var(--pv-accent)}
.pv-shell :is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--pv-accent);outline-offset:3px}
.pv-context{display:flex;flex-wrap:wrap;gap:12px 22px;margin:0 0 24px}
.pv-context a{display:inline-flex;align-items:center;min-height:36px;font-size:13px;color:var(--pv-muted);font-weight:500}
.pv-filters{display:grid;grid-template-columns:minmax(200px,1fr) minmax(135px,165px) auto auto;align-items:start;gap:10px;margin:0 0 30px;padding:16px;background:var(--pv-soft);border:1px solid var(--pv-line);border-radius:12px}
.pv-filters label{margin:0;min-width:0}
.pv-search{position:relative}
.pv-search>i{position:absolute;top:13px;left:13px;font-size:20px;color:var(--pv-muted);pointer-events:none}
.pv-shell input:not([type=checkbox]):not([type=radio]),.pv-shell select,.pv-shell textarea{width:100%;box-sizing:border-box;min-height:44px;padding:11px 12px;border:1px solid var(--pv-line);border-radius:7px;background:#fff;color:var(--pv-text);font-size:13px;line-height:20px}
.pv-shell .pv-search input[type=search]{padding-left:40px}
.pv-shell input::placeholder,.pv-shell textarea::placeholder{color:var(--pv-muted);opacity:1}
.pv-shell input[type=checkbox],.pv-shell input[type=radio]{accent-color:var(--pv-accent)}
.pv-filters>.btn{min-height:44px}
.pv-date-range{min-width:0;font-size:13px}
.pv-date-range summary{display:flex;align-items:center;gap:6px;min-height:44px;padding:8px;cursor:pointer;color:var(--pv-muted);list-style:none}
.pv-date-range summary::-webkit-details-marker{display:none}
.pv-date-range summary i{font-size:18px}
.pv-date-range summary::after{content:"";width:6px;height:6px;margin-left:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
.pv-date-range[open]{grid-column:1/-1}
.pv-date-range[open] summary{color:var(--pv-accent)}
.pv-date-range[open] summary::after{transform:rotate(225deg)}
.pv-date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;padding:8px 0 0}
.pv-date-fields label{font-size:12px;color:var(--pv-muted)}
.pv-date-fields input{display:block;margin-top:5px}
.pv-reset{grid-column:1/-1;justify-self:start;font-size:13px;min-height:28px;display:flex;align-items:center;color:var(--pv-muted)}
.pv-collection-preview{margin:0 0 30px}
.pv-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-bottom:12px}
.pv-section-heading h2{font-size:16px;font-weight:600;line-height:1.4;margin:0}
.pv-section-heading>a{color:var(--pv-muted);font-size:13px;white-space:nowrap}
.pv-collection-rail{display:flex;gap:12px;overflow-x:auto;padding:0 0 5px;scrollbar-width:thin}
.pv-collection-rail>a{display:flex;align-items:center;gap:12px;flex:0 0 225px;min-width:0;padding:8px;border:1px solid var(--pv-line);border-radius:9px;color:var(--pv-text);font-size:14px;font-weight:600}
.pv-collection-rail img,.pv-collection-icon{width:52px;height:52px;flex:0 0 52px;object-fit:cover;border-radius:5px}
.pv-collection-icon{display:grid;place-items:center;background:var(--pv-soft);color:var(--pv-muted);font-size:24px}
.pv-collection-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-collection-label small{display:block;font-size:11px;font-weight:400;color:var(--pv-muted);margin-top:3px}
.pv-collection-rail>a>i{margin-left:auto;color:var(--pv-muted);font-size:15px}
.pv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}
.pv-photo{min-width:0;margin:0}
.pv-open{position:relative;display:block;overflow:hidden;border-radius:10px;background:var(--pv-soft,#f7f8fa)}
.pv-open img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;transition:transform .2s ease}
.pv-view-hint{position:absolute;right:10px;bottom:10px;width:30px;height:30px;display:grid;place-items:center;background:#fff;color:#7b858e;border-radius:50%;opacity:0;transition:opacity .2s ease}
.pv-view-hint i{font-size:18px}
.pv-photo-info{padding:10px 0 0}
.pv-photo-byline{display:flex;align-items:center;gap:8px;min-height:32px}
.pv-author{min-width:0;font-size:14px;font-weight:600;color:var(--pv-text,#24282d);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-photo-info p{font-size:13px;line-height:1.5;color:var(--pv-muted,#7b858e);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;margin:2px 0 0}
.pv-photo-info .pv-manage{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;margin-left:auto;color:var(--pv-muted,#7b858e);font-size:18px;border-radius:5px}
.pv-badge{position:absolute;top:10px;left:10px;max-width:calc(100% - 20px);padding:5px 9px;background:#fff;color:#414952;font-size:11px;font-weight:600;line-height:1.3;border-radius:5px}
.pv-more{display:flex;margin:32px auto 0}
.pv-shell [hidden]{display:none!important}
.pv-empty{padding:64px 20px;border:1px dashed var(--pv-line);border-radius:12px;text-align:center;color:var(--pv-muted)}
.pv-empty>i{font-size:36px;color:var(--pv-muted);display:block;margin-bottom:16px}
.pv-empty h2{font-size:20px;font-weight:600;color:var(--pv-text)}
.pv-empty p{font-size:14px;margin-bottom:20px}
.pv-collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}
.pv-collections article{min-width:0}
.pv-collections img,.pv-placeholder{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;background:var(--pv-soft)}
.pv-placeholder{display:grid;place-items:center;color:var(--pv-muted);font-size:13px}
.pv-collections h2{font-size:18px;line-height:1.4;font-weight:600;margin:12px 0 5px;color:var(--pv-text);overflow-wrap:anywhere}
.pv-collections p{font-size:13px;line-height:1.6;color:var(--pv-muted);margin:0 0 8px;overflow-wrap:anywhere}
.pv-collections small,.pv-collections article>a:not(:first-child){font-size:12px;color:var(--pv-muted)}
.pv-editor{max-width:1100px}
.pv-form>label{display:block;margin:22px 0;font-size:14px;font-weight:500}
.pv-form>label>input,.pv-form>label>textarea,.pv-fields label>select{display:block;margin-top:8px}
.pv-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pv-fields label{min-width:0;font-size:14px;font-weight:500}
.pv-form>.text-muted{font-size:13px;line-height:1.6}
.pv-select-item{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--pv-line,#e7eaee);padding:12px 0}
.pv-select-item>img{height:64px;width:64px;object-fit:cover;border-radius:6px}
.pv-select-item>label{flex:1;min-width:0;margin:0;font-size:13px;overflow-wrap:anywhere}
.pv-select-item .pv-cover-choice{flex:0 0 auto;font-size:12px}
.pv-select-item button{border:1px solid var(--pv-line,#e7eaee);background:transparent;color:var(--pv-muted,#7b858e);width:38px;height:38px;border-radius:6px}
.pv-select-list{margin:16px 0 24px}
.pv-feedback{margin-top:12px;font-size:14px}
.pv-delete{border-top:1px solid var(--pv-line);margin-top:40px;padding-top:20px}
.pv-subheading{font-size:20px;font-weight:600;margin-top:30px}
.pv-selection-count{font-size:13px;font-weight:400;color:var(--pv-muted);white-space:nowrap}
.pv-picker{margin:24px 0 30px;border-top:1px solid var(--pv-line);padding-top:18px}
.pv-picker summary{font-weight:600;cursor:pointer;min-height:36px}
.pv-picker-tools{display:flex;align-items:center;gap:12px;margin:18px 0}
.pv-picker-tools label{flex:1;margin:0;min-width:0}
.pv-picker-results .pv-cover-choice,.pv-picker-results .pv-selection-order{display:none}
.pv-picker-more{margin-top:18px}
.pv-picker-feedback,.pv-selection-empty{color:var(--pv-muted);font-size:14px}
.pv-selected .pv-select-item{background:var(--pv-soft);padding:12px;border-radius:6px;margin-bottom:4px}
.pv-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:30px 0 22px}
.pv-stats>div{display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:22px;border:1px solid var(--pv-line);border-radius:10px;min-width:0}
.pv-stats dt{font-size:13px;font-weight:400;line-height:1.5;color:var(--pv-muted)}
.pv-stats dt i{display:block;color:var(--pv-accent);font-size:24px;margin-bottom:12px}
.pv-stats dd{font-size:36px;line-height:1.1;font-weight:600;margin:0}
.pv-stat-note{font-size:13px;line-height:1.7;color:var(--pv-muted);max-width:85ch}
.pv-image-page{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px;margin-top:22px}
.pv-image-page>img{width:100%;max-height:75vh;object-fit:contain;background:var(--pv-soft);border-radius:10px}
.pv-image-page aside{padding:16px 0;overflow-wrap:anywhere}
.pv-image-page h1{font-size:24px;line-height:1.3;margin-bottom:12px}
.pv-image-page aside>p{margin:16px 0;color:var(--pv-muted);font-size:14px;line-height:1.7}
.pv-asset-collections{margin:24px 0}
.pv-asset-collections a{display:inline-block;margin:0 18px 12px 0}
.pv-legacy-edit textarea{width:100%}
/* Preserve the existing lightbox tools, gestures and navigation. */
.pv-viewing{overflow:hidden}
.pv-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:0;background:rgba(0,0,0,.95);color:#fff;overflow:hidden;--pv-panel:400px}
.pv-dialog::backdrop{background:rgba(0,0,0,.85);backdrop-filter:blur(10px)}
.pv-dialog [hidden]{display:none!important}
.pv-dialog-stage{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-width:0}
.pv-dialog-canvas{flex:1;min-height:0;position:relative;margin:12px 12px 0;overflow:hidden;touch-action:none}
/* Fill the available stage, not the image's intrinsic dimensions. Contain keeps
   the entire photo visible at its original aspect ratio, including small files. */
.pv-dialog-img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;user-select:none}
.pv-dialog button,.pv-dialog-support{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;min-height:40px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:16px;cursor:pointer}
.pv-dialog button:hover,.pv-dialog-support:hover{background:rgba(255,255,255,.2);color:#ffa200}
.pv-dialog button:disabled{opacity:.4;cursor:default}
.pv-dialog button[aria-pressed="true"],.pv-dialog button[aria-expanded="true"]{color:#ffa200}
.pv-dialog button.pv-comments-toggle{position:relative;overflow:visible}
.pv-comments-badge{position:absolute;top:-5px;right:-7px;min-width:18px;height:18px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#ffa200;color:#fff;font-size:11px;font-weight:600;line-height:18px;white-space:nowrap;pointer-events:none}
.pv-dialog :is(button,a,select,textarea):focus-visible{outline:2px solid #ffa200;outline-offset:3px}
.pv-dialog button.pv-close{position:absolute;top:20px;right:20px;width:50px;height:50px;z-index:2;font-size:20px;background:rgba(0,0,0,.55)}
.pv-dialog button.pv-prev,.pv-dialog button.pv-next{position:absolute;top:45%;transform:translateY(-50%);width:60px;height:60px;font-size:24px;z-index:2;background:rgba(0,0,0,.55)}
.pv-dialog button:is(.pv-prev,.pv-next,.pv-close):hover{background:rgba(0,0,0,.75)}
.pv-prev{left:30px}.pv-next{right:30px}
.pv-dialog-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding:24px 20px 20px;background:linear-gradient(transparent,rgba(0,0,0,.8));flex-shrink:0;max-height:35%;overflow:auto}
.pv-dialog-context{flex:1;min-width:180px}
.pv-dialog a{color:#d5d9de;text-decoration:none}
.pv-dialog-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pv-control-group{display:flex;gap:6px;align-items:center;background:rgba(255,255,255,.1);padding:8px 10px;border-radius:28px}
.pv-speed{color:#fff;background:#ffffff1a;border:1px solid #ffffff33;border-radius:20px;height:40px;padding:0 8px;width:64px;font-size:14px}
.pv-speed option{background:#333;color:#fff}
.pv-dialog-caption{color:#fff!important;font-size:24px;font-weight:600;line-height:1.3;margin:0 0 8px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pv-dialog-profile{font-size:14px}
.pv-dialog-count{font-size:14px;color:#c4c8cd;margin-left:16px;white-space:nowrap}
.pv-dialog-feedback{font-size:13px;color:#f5cf97;margin:4px 0 0}
.pv-dialog-feedback:empty{display:none}
.pv-comments-open .pv-dialog-stage{width:calc(100% - var(--pv-panel))}
.pv-comments{position:absolute;right:0;top:0;width:var(--pv-panel);height:100%;display:flex;flex-direction:column;background:rgba(0,0,0,.9);border-left:1px solid #ffffff1a;backdrop-filter:blur(15px)}
.pv-comments-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #ffffff1a;gap:8px;flex-shrink:0}
.pv-comments-header h3{font-size:18px;color:#fff!important;font-weight:600;margin:0}
.pv-comments-total{font-size:14px;color:#b9c1cb}
.pv-comments-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px 20px}
.pv-comments-status{font-size:14px;line-height:1.5;color:#b9c1cb}
.pv-comment{display:flex;align-items:flex-start;gap:10px;margin:0 0 24px;overflow-wrap:anywhere}
.pv-comment>img{width:36px;height:36px;object-fit:cover;border-radius:50%;flex-shrink:0}
.pv-comment>div{flex:1;min-width:0}
.pv-comment a{color:#fff;font-weight:600;font-size:14px}
.pv-comment p{font-size:14px;line-height:1.5;white-space:pre-line;margin:6px 0;color:#d5d9de}
.pv-comment time{font-size:12px;color:#9da7b2}
.pv-comment-reply{margin-left:24px;padding-left:10px;border-left:1px solid #ffffff33}
.pv-thread{margin-bottom:24px}
.pv-thread>.pv-comment{margin-bottom:4px}
.pv-dialog button.pv-replies-toggle,.pv-dialog button.pv-replies-more{width:auto;height:auto;min-height:40px;padding:8px 4px;border:0;border-radius:0;background:transparent;color:#ffa200;font-size:13px;text-align:left;white-space:normal}
.pv-replies-toggle{margin-left:46px}
.pv-replies{padding-top:12px}
.pv-replies>.pv-comments-status,.pv-replies>.pv-replies-more{margin-left:24px}
.pv-dialog button.pv-comment-delete{width:28px;height:28px;min-height:28px;background:transparent;color:#aeb6bf;font-size:14px}
.pv-dialog button.pv-comments-more{width:auto;height:auto;border-radius:6px;padding:8px 12px;margin-bottom:12px;font-size:13px}
.pv-dialog-discussion{display:block;font-size:13px;color:#ffa200!important;padding:8px 0}
.pv-comment-form{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:16px 20px;border-top:1px solid #ffffff1a;flex-shrink:0}
.pv-comment-input-row{display:flex;align-items:flex-end;gap:10px;min-width:0}
.pv-comment-context{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#ddd;font-size:13px;line-height:1.4}
.pv-comment-context-text{min-width:0;overflow-wrap:anywhere}
.pv-comment-parent{display:block;margin-top:5px;color:#aaa;font-size:12px}
.pv-comment-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:5px}
.pv-dialog .pv-comment-actions button,.pv-dialog button.pv-comment-cancel,.pv-dialog button.pv-comments-first{width:auto;height:auto;min-height:36px;padding:5px 2px;border:0;border-radius:0;background:transparent;color:#b9c1cb;font-size:13px}
.pv-dialog .pv-comment-actions button:hover,.pv-dialog button.pv-comment-cancel:hover,.pv-dialog button.pv-comments-first:hover{color:#ffa200}
.pv-dialog .pv-comment-actions button:focus-visible,.pv-dialog button.pv-comment-cancel:focus-visible{outline:2px solid #ffa200;outline-offset:2px}
.pv-dialog button.pv-comment-cancel{flex-shrink:0;color:#ffa200}
.pv-dialog .pv-comment-actions button.pv-comment-like{gap:5px;min-width:36px}
.pv-dialog .pv-comment-actions button.pv-comment-like[aria-pressed="true"]{color:#ffa200}
.pv-comment-input{flex:1;min-width:0;width:100%;resize:vertical;min-height:60px;max-height:140px;background:#ffffff0f;border:1px solid #ffffff33;border-radius:8px;color:#fff;font-size:14px;padding:10px;line-height:1.4}
.pv-comment-input::placeholder{color:#aeb6bf}
.pv-dialog button.pv-comment-submit{background:#ffa200;color:#fff}
.pv-comments-login{display:block;text-align:center;padding:20px;color:#ffa200!important;border-top:1px solid #ffffff1a;font-size:14px}
@media(max-width:1100px) and (min-width:769px){.pv-dialog{--pv-panel:360px}.pv-comments-open .pv-dialog-bottom{gap:12px}.pv-comments-open .pv-dialog-actions{gap:6px}.pv-comments-open .pv-control-group{padding:6px}}
@media(max-width:768px){
 .pv-dialog-canvas{margin:8px 8px 0}
 .pv-dialog button.pv-close{width:40px;height:40px;top:12px;right:12px}
 .pv-dialog button.pv-prev,.pv-dialog button.pv-next{width:40px;height:40px;font-size:18px}
 .pv-prev{left:8px}.pv-next{right:8px}
 .pv-dialog-bottom{display:block;padding:16px 12px;max-height:35%}
 .pv-dialog-caption{font-size:18px;margin-bottom:6px}
 .pv-dialog-actions{flex-wrap:nowrap;overflow-x:auto;max-width:100%;gap:8px;padding:12px 0 2px}
 .pv-control-group{flex-shrink:0;padding:6px;gap:4px}
 .pv-dialog button,.pv-dialog-support{width:36px;height:36px;min-height:36px}
 .pv-speed{height:36px;width:56px;padding:0 4px}
 .pv-comments{top:60%;width:100%;height:40%;border-left:0;border-top:1px solid #ffffff1a}
 .pv-comments-open .pv-dialog-stage{width:100%;height:60%}
 .pv-comments-open .pv-dialog-bottom{display:none}
 .pv-comments-open .pv-dialog-canvas{margin-bottom:8px}
 .pv-comments-header{padding:10px 14px}
 .pv-comments-scroll{padding:12px 14px}
 .pv-comment-form{padding:10px 14px}
 .pv-comment-input{min-height:50px;max-height:100px}
}
@media(max-width:576px){.pv-comments{top:50%;height:50%}.pv-comments-open .pv-dialog-stage{height:50%}}
.pv-post-options{margin:22px 0;border-top:1px solid #e7eaee;padding-top:15px}
.pv-post-options summary{font-weight:600;cursor:pointer}
.pv-post-options label{display:block;margin-top:14px}
.pv-post-options input[type=checkbox]{width:auto}
.pv-media-detail{margin:15px 0;padding:15px 0;border-top:1px solid #e7eaee}
.pv-media-detail img{width:60px;height:60px;object-fit:cover;float:right;border-radius:5px}
.pv-media-detail input{max-width:100%}
.pv-prepare-dialog{width:min(650px,96vw);max-height:94dvh;overflow:auto;border:0;border-radius:12px;padding:24px}
.pv-prepare-dialog::backdrop{background:#000b}
.pv-prepare-dialog h2{font-size:22px}
.pv-prepare-dialog canvas{display:block;max-width:100%;max-height:50dvh;object-fit:contain;margin:16px auto}
.pv-prepare-dialog button,.pv-prepare-dialog select{min-height:44px;padding:9px 12px;border:1px solid #e7eaee;border-radius:6px;background:#fff;margin:5px}
.pv-prepare-dialog p{font-size:13px;color:#7b858e}
.pv-prepare-dialog button:nth-last-child(3){background:#ffa200;color:#fff;border-color:#ffa200}
@media(hover:hover) and (pointer:fine){
.pv-nav a:hover,.pv-context a:hover,.pv-section-heading>a:hover,.pv-reset:hover,.pv-author:hover,.pv-manage:hover,.pv-collection-rail>a:hover,.pv-dialog a:hover,.pv-dialog button:hover{color:#ffa200}
.pv-collection-rail>a:hover{border-color:#ffa200}
.pv-open:hover img{transform:scale(1.025)}
.pv-open:hover .pv-view-hint{opacity:1}
}
.pv-open:focus-visible .pv-view-hint{opacity:1}
.dark-mode .pv-shell{--pv-text:#eef0f3;--pv-muted:#aeb6bf;--pv-line:#3a4048;--pv-soft:#24292f}
.dark-mode .pv-shell input:not([type=checkbox]):not([type=radio]),.dark-mode .pv-shell select,.dark-mode .pv-shell textarea{background:#20252b;color:var(--pv-text);border-color:var(--pv-line)}
@media(max-width:1100px){
.pv-shell{padding:22px 24px 50px}
.pv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pv-filters{grid-template-columns:minmax(180px,1fr) minmax(135px,165px) auto}
.pv-date-range{grid-column:1/-1}
.pv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
.pv-shell{padding:16px 14px 40px}
.pv-nav{gap:24px;margin-bottom:24px}
.pv-nav a{font-size:13px;min-height:44px}
.pv-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;margin-bottom:20px}
.pv-heading>div{display:contents}
.pv-heading h1{grid-column:1;grid-row:1}
.pv-heading .pv-description{grid-column:1/-1;grid-row:2;margin:0}
.pv-heading>.btn{grid-column:2;grid-row:1;padding:9px 12px;font-size:12px}
.pv-shell h1{font-size:26px}
.pv-description{font-size:13px;margin-top:8px}
.pv-heading>.btn{min-height:42px}
.pv-filters{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;margin-bottom:24px}
.pv-search{grid-column:1/-1}
.pv-date-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.pv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
.pv-open{border-radius:8px}
.pv-photo-byline{min-height:36px}
.pv-photo-info .pv-manage{width:36px;height:36px;flex-basis:36px}
.pv-author{font-size:13px}
.pv-photo-info p{font-size:12px}
.pv-view-hint{opacity:1;width:26px;height:26px;right:8px;bottom:8px}
.pv-section-heading h2{font-size:15px}
.pv-collection-rail>a{flex-basis:200px}
.pv-collections{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
.pv-collections h2{font-size:16px}
.pv-fields,.pv-image-page{grid-template-columns:1fr}
.pv-image-page{gap:12px}
.pv-select-item{flex-wrap:wrap}
.pv-select-item>label{flex-basis:50%}
.pv-select-item .pv-cover-choice{margin-left:76px}
.pv-stats{gap:12px}
.pv-stats>div{padding:16px;gap:14px}
.pv-stats dd{font-size:30px}
}
@media(prefers-reduced-motion:reduce){.pv-open img,.pv-view-hint{transition:none}}

/* Confirmation above the photo viewer, including its mobile comments panel. */
.pv-confirm{box-sizing:border-box;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:1px solid #454545;border-radius:16px;background:#202020;color:#fff;box-shadow:0 16px 60px #0008;overflow:auto}
.pv-confirm::backdrop{background:rgba(0,0,0,.6)}
.pv-confirm h2{margin:0 0 12px;font-size:20px;line-height:1.35;color:#fff}
.pv-confirm p{margin:0;color:#ddd;line-height:1.5;font-size:14px}
.pv-confirm-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:24px}
.pv-confirm-actions button{min-height:44px;padding:10px 18px;border:1px solid #666;border-radius:24px;background:#333;color:#fff;font:inherit;cursor:pointer}
.pv-confirm-actions .pv-confirm-accept{background:#ffa200;border-color:#ffa200;color:#fff}
.pv-confirm-actions button:focus-visible{outline:2px solid #ffa200;outline-offset:3px}
