:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#19352f;background:#f6f6f0}*{box-sizing:border-box}body{margin:0}a{color:#176c5a;text-decoration:none}a:hover{text-decoration:underline}.top{background:#123c35;color:white;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem max(1rem,calc((100vw - 1180px)/2))}.top a,.top button{color:white}.brand{font-weight:750;font-size:1.25rem;white-space:nowrap}nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}nav form{margin:0}.link{border:0;background:none;padding:0;cursor:pointer;font:inherit}.wrap{max-width:1180px;margin:auto;padding:2rem 1rem;min-height:75vh}footer{text-align:center;padding:2rem;color:#61736e}h1{font-size:clamp(1.8rem,4vw,3rem);margin:.2rem 0 1rem}h2{margin:0 0 1rem}.muted{color:#677b75}.hero{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.button,button.primary{display:inline-block;background:#146b57;color:white;border:0;border-radius:.7rem;padding:.8rem 1.1rem;font:inherit;font-weight:650;cursor:pointer}.button:hover,button.primary:hover{background:#0c5948;text-decoration:none}.card{background:white;border:1px solid #d9e4dc;border-radius:1rem;padding:1.2rem;box-shadow:0 3px 15px #19352f0b}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.photo-card{overflow:hidden;padding:0}.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.photo-card .content{padding:.9rem}.photo-card h3{margin:0;font-size:1rem}.photo-card p{margin:.4rem 0 0}.form{max-width:650px}.field{margin:0 0 1rem}label{display:block;font-weight:650;margin-bottom:.35rem}input,textarea,select{width:100%;font:inherit;padding:.7rem;border:1px solid #aabdb4;border-radius:.55rem;background:white}textarea{min-height:110px}.hint{font-size:.88rem;color:#667771}.errors,.notice{padding:.8rem 1rem;border-radius:.6rem;margin:1rem 0}.errors{background:#ffe8e4;color:#8b2719}.notice{background:#e4f4e9}.filters{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;align-items:end;margin-bottom:1.5rem}.filters button{height:44px}.detail{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:1.5rem}.detail img{max-width:100%;border-radius:.8rem}.tag{display:inline-block;background:#e5efe9;padding:.3rem .6rem;margin:.2rem;border-radius:1rem}.admin-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.7rem;align-items:center;border-top:1px solid #ddd;padding:1rem 0}.inline{display:flex;gap:.5rem;align-items:center}.inline select{min-width:125px}.inline button{white-space:nowrap}@media(max-width:680px){.top{align-items:start;flex-direction:column}nav{gap:.7rem}.filters{grid-template-columns:1fr 1fr}.detail{grid-template-columns:1fr}.admin-row{grid-template-columns:1fr}.wrap{padding:1.2rem .85rem}}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}.avatar.small{width:32px;height:32px;font-size:.85rem}.avatar.large{width:96px;height:96px;font-size:2rem}.avatar.placeholder{background:#dcece2;color:#185947;font-weight:750}.online-strip{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:0 0 1.5rem}.online-strip p{margin:.25rem 0 0;font-size:.9rem}.online-people{display:flex;align-items:center;gap:.8rem;flex:1;flex-wrap:wrap}.online-person,.member-card,.profile-head{display:flex;align-items:center;gap:.65rem}.member-card{min-height:100px}.member-card .muted{color:#19745d}.profile-head{margin-bottom:1.4rem}.profile-head h2{margin:0}.profile-head p{margin:.25rem 0}.secondary-form{margin-top:1rem}.secondary-form button{background:none;color:#176c5a;border:0;padding:0;font:inherit;cursor:pointer}
.home-board{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1rem;margin-bottom:1.5rem}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.section-heading h2{margin:0}.board-entry{border-top:1px solid #e1eae3;padding:1rem 0}.board-entry h3{margin:.35rem 0}.board-entry p{margin:.3rem 0}.preview-text,.full-text{white-space:pre-line;overflow-wrap:anywhere}.stack{display:grid;gap:1rem;max-width:850px}.stack h2{margin:.2rem 0 .8rem}.event-date{font-weight:700;color:#176c5a}.item-actions{border-top:1px solid #e1eae3;padding-top:1rem;margin-top:1rem;display:flex;gap:1rem;align-items:center}.item-actions form{margin:0}.item-actions button{background:none;border:0;color:#9a3b2a;font:inherit;cursor:pointer;padding:0}.checkbox-field{display:flex;gap:.6rem;align-items:center}.checkbox-field input{width:auto}.checkbox-field label{margin:0}.view-switch{margin:-.5rem 0 1.5rem}@media(max-width:760px){.home-board{grid-template-columns:1fr}}
.top{background:#278c24;border-bottom:4px solid #b8df9c}.brand{display:flex;align-items:center;gap:.65rem;font-family:Georgia,serif;font-weight:400;line-height:1.05}.brand img{width:40px;height:40px;flex:none}.brand small{display:block;font:500 .68rem/1.4 system-ui,-apple-system,Segoe UI,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#e5f5da}.admin-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.invite-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid #ddd;padding:1rem 0}.invite-row form{margin:0}.invite-row button{width:auto}@media(max-width:680px){.admin-cards{grid-template-columns:1fr}.invite-row{align-items:flex-start;flex-direction:column}}
footer{display:flex;justify-content:center;gap:1.5rem}.legal-page{max-width:850px;margin:auto;line-height:1.6}.legal-page h2{margin:1.8rem 0 .6rem}.legal-page address{font-style:normal}.contact-card{overflow-wrap:anywhere}
.filter-picker{min-width:0;position:relative}.filter-picker select{min-width:0}.filter-picker.is-enhanced select{display:none}.filter-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:44px;text-align:left;font:inherit;color:#19352f;background:white;border:1px solid #aabdb4;border-radius:.55rem;padding:.7rem;cursor:pointer}.filter-trigger::after{content:"▾";font-size:.9rem;color:#176c5a}.filter-menu{position:absolute;z-index:20;top:100%;left:0;width:max(100%,220px);max-width:min(320px,calc(100vw - 2rem));background:white;border:1px solid #aabdb4;border-radius:.65rem;box-shadow:0 10px 24px #19352f30;padding:.5rem;margin-top:.25rem}.filter-menu[hidden]{display:none}.filter-menu-search{margin:0 0 .4rem}.filter-options{max-height:240px;overflow:auto}.filter-option{display:block;width:100%;border:0;background:white;text-align:left;font:inherit;color:#19352f;padding:.6rem .7rem;border-radius:.35rem;cursor:pointer;overflow-wrap:anywhere}.filter-option:hover,.filter-option:focus,.filter-option[aria-selected=true]{background:#e5efe9}.filter-empty{margin:.5rem;color:#667771;font-size:.9rem}
.photo-browser{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1rem;align-items:start}.archive-tree{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto}.archive-tree h3{margin:0 0 1rem}.archive-tree p{margin:.5rem 0}.archive-tree details{border-top:1px solid #e1eae3;padding:.65rem 0}.archive-tree summary{cursor:pointer;font-weight:700;display:list-item}.archive-tree ul{list-style:none;margin:.45rem 0 0;padding:0 0 0 .7rem}.archive-tree li{margin:.25rem 0}.archive-tree a{display:flex;justify-content:space-between;gap:.5rem;padding:.3rem .4rem;border-radius:.4rem;overflow-wrap:anywhere}.archive-tree a:hover,.archive-tree a.tree-active{background:#e5efe9;text-decoration:none}.tree-count{color:#667771;font-size:.82rem;font-weight:500;white-space:nowrap}.archive-tree summary .tree-count{float:right;margin-left:.3rem}.photo-results{min-width:0}@media(max-width:820px){.photo-browser{grid-template-columns:1fr}.archive-tree{position:static;max-height:none}}
.download-filtered{margin:0 0 1.25rem}.photo-card>a{display:block}.photo-card>a:hover{text-decoration:none}.delete-photo{border-top:1px solid #e1eae3;margin-top:1rem;padding-top:1rem}.delete-photo button{background:#9a3b2a;color:white;border:0;border-radius:.5rem;padding:.6rem .9rem;font:inherit;cursor:pointer}
.top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.25rem;padding-top:.8rem;padding-bottom:.8rem}.main-nav{justify-content:flex-end;min-width:0;gap:.5rem 1rem}.account-menu{position:relative;z-index:30}.account-menu summary{display:flex;align-items:center;gap:.35rem;list-style:none;cursor:pointer;padding:.3rem .4rem;border-radius:2rem}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary::marker{content:""}.account-menu summary:hover,.account-menu[open] summary{background:#ffffff2a}.account-menu summary:focus-visible,.main-nav a:focus-visible{outline:2px solid white;outline-offset:3px}.account-menu .avatar.small{width:36px;height:36px}.account-chevron{font-size:.8rem}.account-panel{position:absolute;right:0;top:calc(100% + .5rem);width:210px;padding:.5rem;background:white;color:#19352f;border:1px solid #d9e4dc;border-radius:.8rem;box-shadow:0 12px 30px #19352f38}.account-panel-name{display:block;padding:.55rem .7rem;color:#667771;font-size:.85rem;overflow-wrap:anywhere;border-bottom:1px solid #e1eae3}.top .account-panel a,.top .account-panel button{display:block;width:100%;padding:.7rem;border:0;border-radius:.4rem;background:none;color:#19352f;text-align:left;font:inherit;cursor:pointer}.top .account-panel a:hover,.top .account-panel button:hover{background:#e5efe9;text-decoration:none}.account-panel form{margin:0;border-top:1px solid #e1eae3;padding-top:.25rem}@media(max-width:860px){.top{grid-template-columns:minmax(0,1fr) auto;gap:.6rem 1rem}.main-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:.35rem 1rem}.account-menu{grid-column:2;grid-row:1}.brand{min-width:0;font-size:1.1rem}.brand span{min-width:0;overflow-wrap:anywhere;white-space:normal}}@media(max-width:400px){.top{padding-left:.8rem;padding-right:.8rem}.brand img{width:36px;height:36px}.brand small{font-size:.6rem}.main-nav{font-size:.9rem}}
.errors.validation-summary-valid{display:none}
.people-section{border-top:1px solid #e1eae3;border-bottom:1px solid #e1eae3;margin:1rem 0;padding:1rem 0}.people-section>div{margin:.4rem 0}.people-form{margin-top:1rem}.people-form .hint{margin:.35rem 0 .75rem}.people-form button{width:auto}
