.photo-page{max-width:1080px;margin:32px auto;padding:0 18px;min-width:0}.photo-page h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.1;margin:.35em 0}.photo-page h2{font-size:clamp(1.35rem,3vw,1.9rem)}.photo-eyebrow{color:#0879aa;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.photo-lead{max-width:720px;font-size:1.13rem}.photo-deadline,.photo-limit{display:inline-block;padding:10px 14px;background:#f0f8fb;border-left:4px solid #0585c8}.photo-actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 32px}.photo-gallery-section{margin-top:36px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:20px}.photo-card{overflow:hidden;background:#fff;border:1px solid #d6e2e8;border-radius:10px;min-width:0}.photo-card-image{display:block;background:#edf4f7}.photo-card-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.photo-card-body{padding:16px}.photo-team{margin:0 0 7px;font-weight:700;color:#20495b}.photo-caption{margin:0 0 12px;white-space:pre-wrap;overflow-wrap:anywhere}.photo-card-links{display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-card-links a,.photo-card-links button{font-weight:700}.photo-share{border:1px solid #a7bdc8;border-radius:6px;background:#fff;color:#12394d;padding:8px 12px;font:inherit;cursor:pointer}.photo-share:hover{background:#f0f8fb}.photo-share:focus-visible,.photo-page a:focus-visible,.photo-page button:focus-visible{outline:3px solid #c98420;outline-offset:2px}.photo-share-status{min-height:1.3em;margin:8px 0 0;font-size:.9rem}.photo-empty{padding:24px;border:1px dashed #99b7c4;border-radius:9px;background:#f7fbfc}.photo-results{margin:30px 0;padding:20px;background:#fff8e7;border:1px solid #ead7a7;border-radius:10px}.photo-results ol{padding-left:1.5em}.photo-results li{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid #e5dcc4}.photo-results li:last-child{border-bottom:0}.photo-result-rank{font-weight:800;color:#76500c}.photo-detail-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);gap:28px;align-items:start}.photo-detail-image{display:block;width:100%;height:auto;max-height:72vh;aspect-ratio:auto;object-fit:contain;background:#edf4f7;border-radius:9px}.photo-detail-copy{min-width:0}.photo-vote-box{margin-top:24px;padding:20px;background:#f3f9fc;border:1px solid #c6e5f4;border-radius:10px}.photo-vote-box form,.photo-upload-form,.photo-admin-copy form{display:grid;gap:10px}.photo-page label{display:block;font-weight:700;margin-top:8px}.photo-page input[type=email],.photo-page input[type=text],.photo-page input[type=file],.photo-page textarea,.photo-page select{box-sizing:border-box;width:100%;max-width:620px;min-height:46px;padding:10px 12px;border:1px solid #91a8b4;border-radius:6px;background:#fff;color:#173d4e;font:inherit}.photo-page input[type=file]{padding:9px}.photo-page textarea{min-height:88px;resize:vertical}.photo-page .photo-rights{display:flex;align-items:flex-start;gap:11px;font-weight:400;line-height:1.45;margin:12px 0}.photo-page .photo-rights input{flex:0 0 auto;width:20px;height:20px;margin:2px 0}.photos-muted{color:#536873;font-size:.92rem;font-weight:400}.photo-privacy-note{margin-top:26px;color:#465f6a}.photo-vote-closed{padding:14px;background:#f5f8f9;border-left:4px solid #829ba6}.photo-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.photos-account{margin:28px 0;padding:22px;border:1px solid #d1e1e8;border-radius:10px;background:#fff}.photos-account-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.photos-account-heading h2{margin:.2em 0}.photo-limit-reached{padding:14px;background:#f4f7f8}.photo-upload-form{max-width:720px;margin:20px 0;padding:20px;background:#f6fbfd;border:1px solid #d3e8f0;border-radius:9px}.photo-upload-form .button{justify-self:start}.owned-photos{margin-top:32px}.owned-photo-list,.photo-admin-list{list-style:none;padding:0}.owned-photo,.photo-admin-item{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;padding:18px 0;border-top:1px solid #d8e3e8}.owned-photo>img,.photo-admin-item>img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#edf4f7;border-radius:7px}.owned-photo-info,.photo-admin-copy{min-width:0}.owned-photo-info p,.photo-admin-copy p{overflow-wrap:anywhere}.owned-photo-info form{margin-top:12px}.photos-admin{max-width:1080px;margin:30px auto;padding:0 18px}.photos-admin-stats{padding:14px;background:#f4f9fb;border:1px solid #d3e3e9}.photo-admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.photo-admin-copy label{margin-top:12px}.photo-vote-state{max-width:760px;padding:24px 18px}.photo-vote-state form{margin:24px 0}.photo-vote-state .button{margin-top:10px}
@media(max-width:700px){.photo-page{margin:22px auto;padding:0 12px}.photo-detail-card{grid-template-columns:1fr;gap:16px}.photo-detail-image{max-height:60vh}.owned-photo,.photo-admin-item{grid-template-columns:110px minmax(0,1fr);gap:13px;padding:14px 0}.photos-account{padding:16px}.photo-upload-form,.photo-vote-box{padding:15px}.photos-account-heading{align-items:flex-start;flex-direction:column}.photo-card-body{padding:13px}}
@media(max-width:380px){.owned-photo,.photo-admin-item{grid-template-columns:1fr}.owned-photo>img,.photo-admin-item>img{max-width:100%;max-height:230px}.photo-card-links{align-items:flex-start;flex-direction:column}}
.photo-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin:28px 0}.photo-team-needed,.photo-vote-open{padding:14px;background:#f3f9fc;border-left:4px solid #0585c8}.photo-detail-image{max-width:100%}.photo-card-image img,.owned-photo>img,.photo-admin-item>img{max-width:100%;height:auto;max-height:540px}.photo-card-image img{height:auto;aspect-ratio:4/3;object-fit:cover}
.photo-card-links .photo-share-status{flex-basis:100%;margin:0}

.photos-account input[type=text],.photos-account input[type=file],.photos-account textarea,.photos-account select,.photos-admin input[type=text],.photos-settings select,.photos-settings input[type=number],.photos-settings input[type=datetime-local],.photos-settings input[type=text]{box-sizing:border-box;width:100%;max-width:720px;min-height:46px;padding:10px 12px;border:1px solid #91a8b4;border-radius:6px;background:#fff;color:#173d4e;font:inherit}.photo-rights{display:flex;align-items:flex-start;gap:10px}.photo-rights input{width:20px;height:20px;flex:none}.photo-votes-admin .photo-admin-item{display:block}.photo-card-links{flex-wrap:wrap}.photo-card-links [data-share-status]{flex-basis:100%}
