.profile-overview .profile-photo.profile-gallery{position:relative;aspect-ratio:4/5;height:auto;max-height:none;min-width:0;background:var(--surface-alt);isolation:isolate}
.profile-gallery .pg-image{display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;overflow:hidden;touch-action:pan-y pinch-zoom;cursor:zoom-in}
.profile-gallery .pg-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none}
.pg-placeholder{display:grid;place-items:center;width:100%;height:100%;padding:20px;color:var(--muted);font-size:20px;text-align:center}
.pg-progress{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:4px;pointer-events:none}.pg-progress i{flex:1;height:3px;border-radius:3px;background:#ffffff65;box-shadow:0 1px 4px #0006}.pg-progress i.active{background:white}
.pg-count{position:absolute;top:24px;right:12px;padding:4px 8px;border-radius:12px;background:#14132280;color:white;font-size:12px;pointer-events:none}
.profile-gallery .pg-prev,.profile-gallery .pg-next,.profile-gallery .pg-edit{position:absolute;z-index:1;min-width:44px;min-height:44px;border:1px solid #ffffff35;color:#fff;background:#15132199;box-shadow:0 2px 12px #0002;backdrop-filter:blur(12px)}
.pg-prev,.pg-next{top:50%;transform:translateY(-50%);padding:0;font-size:28px;border-radius:50%}.pg-prev{left:10px}.pg-next{right:10px}.pg-prev:disabled,.pg-next:disabled{opacity:.3;pointer-events:none}.pg-edit{bottom:12px;right:12px;padding:9px 14px;border-radius:22px;font-size:14px;font-weight:600}
.pg-error{position:absolute;left:12px;bottom:58px;margin:0;max-width:calc(100% - 24px);border-radius:8px;background:#191622a8;color:white;font-size:12px;padding:5px 8px;pointer-events:none}.pg-error:empty,.pg-count:empty{display:none}
.pg-dialog{width:min(540px,calc(100% - 24px));max-height:90dvh;border:1px solid var(--line);border-radius:24px;padding:20px;background:var(--surface);color:var(--text);overflow:auto;overscroll-behavior:contain}.pg-dialog::backdrop{background:#080b147a;backdrop-filter:blur(6px)}.pg-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pg-dialog-head h2{font-size:21px;margin:0}.pg-close{min-width:44px;min-height:44px;font-size:26px;border:0;background:var(--surface-alt);color:var(--text);border-radius:50%}.pg-note,.pg-upload small{font-size:13px;color:var(--muted);line-height:1.5}
.pg-select-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pg-select-grid button{position:relative;aspect-ratio:4/5;padding:0;border:3px solid transparent;border-radius:14px;overflow:hidden;background:var(--surface-alt)}.pg-select-grid button[aria-pressed=true]{border-color:var(--accent)}.pg-select-grid img{width:100%;height:100%;object-fit:cover;display:block}.pg-select-grid span{position:absolute;bottom:6px;right:6px;background:var(--accent);color:var(--accent-ink);width:26px;height:26px;display:grid;place-items:center;border-radius:50%;font-size:13px;font-weight:700}.pg-select-grid span:empty{display:none}.pg-upload{margin-top:18px;display:grid;gap:10px}.pg-upload label{display:grid;gap:6px;font-size:14px}.pg-upload select{width:100%;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)}.pg-add{position:relative;min-height:46px;display:grid;place-items:center;background:var(--tint);color:var(--accent);border:1px dashed var(--accent);border-radius:12px;font-weight:600;cursor:pointer}.pg-add input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.pg-editor-status{font-size:13px;line-height:1.5;overflow-wrap:anywhere;color:var(--muted)}.pg-dialog .pg-save{width:100%;min-height:46px;margin-top:4px}
@media(max-width:700px){.profile-gallery .pg-prev,.profile-gallery .pg-next{min-width:44px;min-height:44px;background:#15132160}.pg-dialog{padding:16px;border-radius:20px}.profile-pane .profile-gallery{border-radius:0}}
