.project-gallery header{display:flex;justify-content:space-between;align-items:center;gap:16px}.project-gallery h2,.project-gallery h3{margin:0 0 6px}.project-gallery header p{margin:0;color:var(--muted,var(--galen-color-muted-ink))}.project-gallery-filters{display:flex;gap:16px;margin:24px 0}.project-gallery-filters label{display:grid;gap:7px;min-width:180px}.project-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:24px 18px}.project-gallery figure{margin:0;min-width:0}.project-gallery-photo{display:block;width:100%;padding:0;border:1px solid var(--galen-color-quiet-line);border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:var(--galen-color-drafting-table);cursor:pointer}.project-gallery-photo img{display:block;width:100%;height:100%;object-fit:cover}.project-gallery-photo:focus-visible,.project-gallery button:focus-visible{outline:3px solid var(--galen-color-blueprint);outline-offset:3px}.project-gallery figcaption{padding:10px 2px;display:grid;gap:4px;overflow-wrap:anywhere}.project-gallery figcaption strong{font-size:14px}.project-gallery figcaption span,.project-gallery time{font-size:13px;color:var(--galen-color-muted-ink)}.project-gallery-placeholder{display:grid;place-items:center;height:100%;padding:20px;font-size:14px;color:var(--galen-color-muted-ink)}.project-gallery-empty{padding:50px 0;max-width:550px}.project-gallery-overlay{position:fixed;inset:0;z-index:1200;background:rgba(16,24,32,.65);display:grid;place-items:center;padding:24px}.project-gallery-viewer{display:flex;flex-direction:column;width:min(1120px,100%);max-height:calc(100dvh - 48px);background:var(--galen-color-paper);border-radius:12px;padding:20px;box-shadow:0 20px 80px #0004}.project-gallery-viewer header>div{min-width:0;overflow-wrap:anywhere}.project-gallery-large{display:grid;place-items:center;min-height:180px;overflow:auto;margin:18px 0}.project-gallery-large img{display:block;max-width:100%;max-height:calc(100dvh - 250px);object-fit:contain}.project-gallery-viewer footer{display:flex;justify-content:space-between}.project-gallery button:not(:disabled),.project-gallery select{cursor:pointer}.project-gallery button:disabled{cursor:default}@media(max-width:600px){.project-gallery-filters{flex-wrap:wrap}.project-gallery-filters label{flex:1;min-width:130px}.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.project-gallery-overlay{padding:10px}.project-gallery-viewer{padding:14px;max-height:calc(100dvh - 20px)}.project-gallery-large img{max-height:calc(100dvh - 260px)}}
.project-gallery-upload{margin:24px 0 32px;padding:20px 0;border-block:1px solid var(--galen-color-quiet-line)}.project-gallery-upload .project-gallery-filters{margin:16px 0}.project-gallery-drop{display:grid;justify-items:center;gap:10px;padding:28px 16px;border:1px dashed #a6b5c6;border-radius:10px;background:var(--galen-color-choice-surface)}.project-gallery-drop.is-dragging{border-color:var(--galen-color-blueprint);background:var(--galen-color-choice-selected-surface)}.project-gallery-drop p{margin:0}.project-gallery-picker{position:relative;color:var(--galen-color-blueprint);cursor:pointer;font-weight:600;padding:8px}.project-gallery-picker input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.project-gallery-picker:focus-within{outline:3px solid var(--galen-color-blueprint);outline-offset:2px;border-radius:4px}.project-gallery-drop small{color:var(--galen-color-muted-ink)}.project-gallery-queue{padding:0;list-style:none;display:grid;gap:12px}.project-gallery-queue li{display:flex;gap:14px;align-items:center;min-width:0}.project-gallery-queue img{width:64px;height:64px;border-radius:6px;object-fit:cover}.project-gallery-queue li>div{display:grid;gap:4px;flex:1;min-width:0;overflow-wrap:anywhere}.project-gallery-queue span{font-size:13px;color:var(--galen-color-muted-ink)}.project-gallery-upload-actions{display:flex;gap:16px}.project-gallery-upload select:disabled,.project-gallery-picker:has(input:disabled){cursor:default;opacity:.6}@media(max-width:600px){.project-gallery-upload .project-gallery-filters{flex-wrap:wrap}.project-gallery-queue img{width:48px;height:48px}.project-gallery-upload-actions{flex-wrap:wrap}}
.project-gallery-drop>svg{display:block;width:32px;height:32px;flex:none;color:var(--galen-color-muted-ink)}

.project-gallery-curate-actions{display:flex;flex-wrap:wrap;gap:12px}.project-gallery-category-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;padding:14px;background:var(--galen-color-choice-surface);border-radius:8px}.project-gallery-category-editor label{display:grid;gap:6px;min-width:0}.project-gallery-category-editor .project-gallery-curate-actions{grid-column:1/-1}.project-gallery-viewer .project-gallery-curate-actions{flex-shrink:0}@media(max-width:600px){.project-gallery-category-editor{grid-template-columns:1fr}.project-gallery-curate-actions .galen-action-label{font-size:12px}}

.project-gallery-bulk{padding:16px 0;margin:0 0 20px;border-bottom:1px solid var(--galen-color-quiet-line)}.project-gallery-bulk p{margin:0 0 12px}.project-gallery-select{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;cursor:pointer;font-size:13px;overflow-wrap:anywhere}.project-gallery-select input{flex:none;width:18px;height:18px;margin:0;cursor:pointer}.project-gallery-select input:focus-visible{outline:3px solid var(--galen-color-blueprint);outline-offset:3px}.project-gallery-select:has(input:disabled){cursor:default}.project-gallery-select input:disabled{cursor:default}.project-gallery-bulk .project-gallery-curate-actions{gap:14px}@media(max-width:600px){.project-gallery-bulk .project-gallery-curate-actions{gap:12px}.project-gallery-select{font-size:12px}}

.project-gallery-cover-badge{align-self:center;padding:4px 8px;border-radius:6px;background:var(--galen-color-blueprint-wash);color:#2454a0;font-size:12px;font-weight:600}

.project-gallery-framing{padding:14px;background:var(--galen-color-choice-surface);border-radius:8px;display:grid;gap:12px;margin:14px 0;min-width:0}.project-gallery-framing h4,.project-gallery-framing p{margin:0}.project-gallery-frame-ratio{width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--galen-color-choice-icon-surface);border-radius:8px}.project-gallery-frame-ratio img{width:100%;height:100%;display:block;object-fit:cover}.project-gallery-framing label{display:grid;gap:8px}.project-gallery-framing input[type=range]{width:100%;cursor:pointer}.project-gallery-framing input:focus-visible{outline:3px solid var(--galen-color-blueprint);outline-offset:3px}.project-gallery-framing small{color:var(--galen-color-muted-ink)}.project-gallery-viewer:has(.project-gallery-framing){overflow:auto}.project-gallery-viewer .project-gallery-framing{flex-shrink:0;width:min(480px,100%);align-self:center}.project-gallery-viewer:has(.project-gallery-framing) .project-gallery-large{display:none}
