.flock-search { display:flex; align-items:end; gap:1rem; flex-wrap:wrap; padding:1.3rem; border:1px solid var(--line); border-radius:1rem; background:rgba(255,255,255,.7); }
.flock-search .field { margin:0; flex:1 1 12rem; }
.flock-search .button { margin-bottom:0; }
.flock-count,.flock-help { color:var(--muted); line-height:1.6; font-size:.9rem; }
.flock-manager-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.flock-resident { overflow:hidden; border:1px solid var(--line); border-radius:1.25rem; background:white; box-shadow:0 .5rem 2rem rgba(43,18,56,.04); }
.flock-portrait { display:flex; aspect-ratio:4/3; flex-direction:column; align-items:center; justify-content:center; gap:.6rem; background:linear-gradient(135deg,var(--teal-100),var(--cream)); text-decoration:none; }
.flock-portrait img { width:100%; height:100%; object-fit:cover; }
.flock-portrait small { color:var(--teal-700); }
.flock-initial { color:var(--teal-700); font:5rem Georgia,serif; }
.flock-resident-body { padding:1.4rem; }
.flock-resident-body h2 { font-size:1.8rem; line-height:1.15; margin:.8rem 0; }
.flock-resident-body p { color:var(--muted); min-height:2rem; }
.flock-tabs { display:flex; gap:.7rem; flex-wrap:wrap; }
.flock-tabs a { padding:.8rem 1rem; border:1px solid var(--line); border-radius:2rem; background:white; font-weight:700; }
.chicken-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:1.5rem; align-items:start; }
.flock-panel { background:white; border:1px solid var(--line); border-radius:1.3rem; padding:clamp(1rem,3vw,2rem); margin-bottom:1.5rem; min-width:0; scroll-margin-top:8rem; }
.flock-panel h2 { font-size:2.1rem; }
.flock-panel form { margin-top:1.25rem; }
.flock-upload { padding:1rem; border:1px dashed var(--teal-500); border-radius:1rem; background:var(--teal-050); }
.flock-check { display:flex; align-items:start; gap:.6rem; margin:1rem 0; color:var(--muted); font-size:.9rem; line-height:1.5; }
.flock-check input { margin-top:.25rem; flex-shrink:0; }
.chicken-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.chicken-photo-card { border:1px solid var(--line); border-radius:.9rem; padding:.8rem; min-width:0; }
.chicken-photo-card img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:.5rem; }
.chicken-photo-card .button { font-size:.8rem; padding:.5rem .7rem; margin-bottom:.4rem; }
.chicken-photo-card .pill { margin-top:.5rem; }
.flock-photo-missing { padding:1.5rem .5rem; background:var(--cream); color:var(--muted); border-radius:.5rem; line-height:1.6; font-size:.85rem; }
.chicken-photo-card details,.chicken-note details { margin-top:1rem; font-size:.8rem; }
.chicken-photo-card summary,.chicken-note summary { cursor:pointer; color:var(--muted); padding:.5rem 0; }
.chicken-note { border-top:1px solid var(--line); margin-top:1.3rem; padding-top:.7rem; }
.note-body { white-space:pre-wrap; line-height:1.7; overflow-wrap:anywhere; }
.bird-registry-photo { width:4.5rem; height:4.5rem; border-radius:1rem; object-fit:cover; flex-shrink:0; }
.build-upload > summary { cursor:pointer; font:1.7rem Georgia,serif; color:var(--purple-900); padding:.3rem 0; }
.build-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; align-items:start; }
.build-photo { overflow:hidden; border:1px solid var(--line); border-radius:1.2rem; background:white; }
.build-image { display:block; background:var(--teal-100); }
.build-image img { display:block; width:100%; height:auto; max-height:38rem; object-fit:contain; }
.build-photo-body { padding:1.5rem; }
.build-photo-body h2 { font-size:2rem; margin:.6rem 0; }
.build-photo-body time { color:var(--teal-700); font-size:.8rem; font-weight:800; letter-spacing:.03em; }
.build-edit { border-top:1px solid var(--line); padding-top:.7rem; margin-top:1rem; }
.build-edit summary { cursor:pointer; color:var(--purple-700); font-weight:700; padding:.4rem 0; }
.build-edit form { margin-top:1rem; }
.build-empty { padding:clamp(2rem,6vw,5rem); border:1px solid var(--line); border-radius:1.5rem; background:linear-gradient(120deg,var(--cream),var(--teal-100)); }
.build-empty p { max-width:40rem; color:var(--muted); line-height:1.7; }
.build-empty .button { display:table; margin-top:1.5rem; }
.build-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
@media(max-width:1000px) { .flock-manager-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .chicken-layout { grid-template-columns:1fr; } }
@media(max-width:540px) { .flock-manager-grid,.chicken-gallery { grid-template-columns:1fr; } .flock-search { align-items:stretch; } .flock-search .field { flex-basis:100%; } .flock-tabs { gap:.4rem; } }
@media(max-width:700px) { .build-gallery { grid-template-columns:1fr; } }
.bird-card { position:relative; }
.bird-profile-link { color:inherit; text-decoration:none; }
.bird-profile-link::after { content:""; position:absolute; inset:0; border-radius:inherit; }
.bird-card:hover .bird-profile-link { text-decoration:underline; }
.bird-card:focus-within { outline:3px solid var(--teal-700); outline-offset:4px; }
.bird-profile-hint { display:block; margin-top:.8rem; font-size:.8rem; color:var(--teal-700); font-weight:800; }
.bird-profile-hero { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(1.5rem,4vw,4rem); align-items:center; padding:2rem 0 3rem; }
.bird-profile-hero h1 { font-size:clamp(2.6rem,5vw,5rem); line-height:1.05; }
.bird-profile-portrait { display:grid; place-items:center; min-height:18rem; background:var(--teal-100); border-radius:1.5rem; overflow:hidden; }
.bird-profile-portrait a { display:block; width:100%; }
.bird-profile-portrait img { display:block; width:100%; max-height:35rem; object-fit:contain; }
.bird-profile-badges { display:flex; gap:.5rem; flex-wrap:wrap; margin:1.5rem 0; }
.bird-profile-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:2rem 0; }
.bird-profile-facts dt { color:var(--muted); font-size:.8rem; font-weight:700; margin-bottom:.35rem; }
.bird-profile-facts dd { margin:0; color:var(--purple-900); font-weight:700; overflow-wrap:anywhere; }
.bird-profile-section,.bird-profile-about { scroll-margin-top:8rem; }
.bird-public-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; align-items:start; }
.bird-public-gallery figure { margin:0; border:1px solid var(--line); border-radius:1rem; overflow:hidden; background:white; }
.bird-public-gallery img { display:block; width:100%; height:auto; max-height:30rem; object-fit:contain; background:var(--teal-100); }
.bird-public-gallery figcaption { padding:1rem; color:var(--muted); line-height:1.6; overflow-wrap:anywhere; white-space:pre-wrap; }
.bird-public-stories { max-width:60rem; }
.story-compose { padding:1rem; border:1px solid var(--teal-300); border-radius:.8rem; background:var(--teal-050); margin:1.5rem 0; }
.story-compose > summary { cursor:pointer; font-weight:800; color:var(--purple-700); }
.subscriber-password-controls { border-top:1px solid var(--line); margin-top:1.5rem; padding-top:1rem; }
.subscriber-password-controls summary { cursor:pointer; font-weight:800; color:var(--purple-700); }
.subscriber-password-controls form { padding:1rem; margin-top:1rem; background:var(--teal-050); border-radius:.8rem; }
.subscriber-password-controls p { line-height:1.6; color:var(--muted); }
.temporary-password { display:inline-block; padding:.6rem; border:1px solid var(--line); border-radius:.4rem; background:var(--cream); font-size:1.1rem; overflow-wrap:anywhere; }
@media(max-width:800px) { .bird-profile-hero { grid-template-columns:1fr; } .bird-public-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .bird-public-gallery { grid-template-columns:1fr; } .bird-profile-facts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
