:root{font-family:system-ui,-apple-system,sans-serif;color:#253831;background:#f4f3ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1440px;margin:auto;padding:30px 5%}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9ded4}.brand{color:inherit;text-decoration:none;font-size:26px}.brand span{font-size:13px;letter-spacing:3px;font-weight:700;margin-left:10px}.muted{color:#69776e}.intro{padding:35px 0 40px}.eyebrow{font-size:11px;letter-spacing:3px;color:#68786c}h1{font-family:Georgia,serif;font-size:clamp(36px,5vw,68px);line-height:1.08;font-weight:400;margin:20px 0}.toolbar{display:flex;gap:16px;align-items:end;background:#e7e9e1;padding:20px;border-radius:12px;flex-wrap:wrap}label{display:grid;gap:7px;font-size:12px;font-weight:600}select,input,button,.controls a{font:inherit;border:1px solid #cbd2c7;border-radius:7px;padding:11px 13px;background:#fff;color:inherit}button,a,select{cursor:pointer}button:hover{background:#e1e7db}button:disabled{opacity:.45;cursor:default}.primary{background:#294a3e;color:white;border-color:#294a3e}.primary:hover{background:#3a6050}.search{flex:1}.search input{width:100%}.status{display:flex;justify-content:space-between;font-size:12px;color:#69776e;margin:25px 0 18px}.gallery{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}.gallery.small{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr))}.gallery.large{grid-template-columns:repeat(auto-fill,minmax(min(400px,100%),1fr))}.card{break-inside:avoid;margin:0;min-width:0}.photo{display:block;width:100%;padding:0;border:0;background:#e0e4da;overflow:hidden;border-radius:9px}.photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}.photo:hover img{transform:scale(1.035)}.card figcaption{padding:12px 2px;font-size:13px}.card p{color:#69776e;font-size:12px;margin:6px 0}.gallery.masonry{display:block;columns:3 260px}.masonry .card{margin-bottom:20px}.masonry img{aspect-ratio:auto}.gallery.list{display:flex;flex-direction:column}.list .card{display:flex;gap:24px;padding-bottom:20px;border-bottom:1px solid #d9ded4}.list .photo{width:160px;flex-shrink:0}.list figcaption{align-self:center}#empty{text-align:center;padding:70px 15px 90px;border:1px dashed #bfcaba;border-radius:12px}#empty p{color:#69776e;line-height:1.8}.empty-icon{font-size:50px;color:#80917b}a{color:#294a3e}footer{border-top:1px solid #d9ded4;font-size:11px;letter-spacing:2px;display:flex;justify-content:space-between}dialog{border:0;background:#14221e;color:#fff;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:20px 4%;overflow:auto}dialog::backdrop{background:#14221e}.lightbox-head{display:flex;align-items:center;justify-content:space-between}.lightbox-head button,.controls button,.controls select{background:#294137;color:white;border-color:#506357}.stage{height:calc(100dvh - 250px);min-height:180px;display:flex;align-items:center;justify-content:center}.stage img{max-height:100%;max-width:100%;object-fit:contain}.caption{text-align:center}.caption h2{font-size:18px;margin:12px 0}.caption p{font-size:13px;color:#b8c8bf}.controls{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.controls a{color:white;background:transparent}.controls label{display:flex;align-items:center}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #b89a51;outline-offset:4px}@media(max-width:600px){header>.muted{display:none}header,main,footer{padding:22px 5%}.intro{padding-top:15px}.toolbar{gap:12px}.toolbar label{flex:1;min-width:120px}.toolbar .search{flex-basis:100%}.toolbar button{width:100%}.status span:last-child{display:none}.gallery{gap:12px}.list .photo{width:100px}footer span{display:none}.controls{gap:8px}.controls label{font-size:11px}.stage{height:calc(100dvh - 290px)}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

#upload-dialog{width:min(620px,94vw);height:auto;max-height:90dvh;margin:auto;padding:28px;background:#f4f3ed;color:#253831;border-radius:14px}#upload-dialog::backdrop{background:#14221ebd}.upload-header{display:flex;align-items:center;justify-content:space-between;gap:20px}#upload-dialog form{display:grid;gap:18px}#upload-dialog [hidden]{display:none}#upload-dialog p{line-height:1.6;font-size:14px}#upload-results{max-height:200px;overflow:auto;padding-left:20px;overflow-wrap:anywhere}#upload-results li{padding:6px 0;font-size:13px}
.selection-dialog{width:min(760px,94vw);height:auto;max-height:90dvh;margin:auto;padding:28px;background:#f4f3ed;color:#253831;border-radius:14px}.selection-dialog::backdrop{background:#14221ebd}.selection-dialog p{line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.selection-item{padding:20px 0;border-bottom:1px solid #cbd2c7;display:grid;gap:12px}.selection-item strong{overflow-wrap:anywhere}.selection-item textarea{font:inherit;width:100%;padding:12px;border:1px solid #cbd2c7;border-radius:7px;resize:vertical}.selection-item button{justify-self:start}.mark-photo{font-size:12px;margin:0 0 12px}.list .mark-photo{align-self:center;margin-left:auto}.selection-dialog>button{margin-top:18px}
