.family-voice{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:20px 0 28px}.family-voice-copy strong{font-size:22px;letter-spacing:-.4px}.family-voice-copy p{margin:3px 0 0;color:#69717c;font-size:15px}.family-voice-actions{display:flex;gap:10px;flex-wrap:wrap}.family-voice-actions button{display:flex;align-items:center;gap:8px;min-height:46px;padding:10px 18px;border:1px solid #e4e4e4;border-radius:24px;background:#fff;color:#111;font-weight:600;cursor:pointer}.family-voice-actions button:hover{border-color:#111;background:#fafafa}.family-voice-actions svg{width:21px;height:21px}#feedback-dialog{max-height:90dvh;overflow-y:auto;width:min(650px,94vw)}.feedback-intro{font-size:16px;color:#69717c;margin:0 0 20px}.feedback-tabs{display:flex;gap:8px;margin:0 0 18px}.feedback-tabs button{flex:1;border:1px solid #e4e4e4;background:#fff;color:#111;border-radius:24px;padding:12px;font-weight:600;cursor:pointer}.feedback-tabs button[aria-pressed=true]{background:#ffda00;border-color:#ffda00}#feedback-form label{display:block;font-size:16px;margin:14px 0}#feedback-form input[type=text],#feedback-form textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #dce0e6;border-radius:12px;font:inherit}#feedback-form textarea{min-height:110px}#feedback-submit{display:block;margin-left:auto}#feedback-success{color:#24633f;font-size:16px}#feedback-error{color:#a02121;font-size:15px}.feedback-history-heading{font-size:22px;margin:30px 0 8px}.feedback-entry{padding:20px 0;border-bottom:1px solid #eee}.feedback-entry-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.feedback-kind-label{font-size:14px;color:#69717c}.feedback-status{font-size:14px;font-weight:600;background:#f4f4f4;border-radius:20px;padding:5px 10px}.feedback-status.status-planned{background:#fff5bc}.feedback-status.status-done{background:#e8f5eb;color:#24633f}.feedback-entry h4{font-size:18px;margin:12px 0 6px;overflow-wrap:anywhere}.feedback-entry>p{font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px}.feedback-byline{display:flex;align-items:center;gap:8px;font-size:14px;color:#69717c}.feedback-byline .mini-avatar{width:28px;height:28px;overflow:hidden}.feedback-status-control{display:flex;align-items:center;gap:10px;font-size:14px;margin-top:12px}.feedback-status-control select{font:inherit;background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px}.feedback-empty{font-size:16px;color:#69717c}.feedback-privacy{font-size:14px;color:#69717c;line-height:1.5}
/* A consistent white canvas keeps faces and transparent portraits prominent. */
.mini-avatar,.post-avatar,.post-avatar.personal-avatar,.post-avatar.brand-post-avatar,.comment-avatar,.person-initials,.anniversary-card .person-initials,.poll-creator .mini-avatar,#onboarding-photo-preview{background:#fff;color:#171717;border-color:transparent}
.person-avatar{background:#fff;object-fit:cover;object-position:center 35%}.post-avatar .person-avatar{object-fit:cover}.person-initials:has(.person-avatar){overflow:hidden}.mini-avatar:focus-visible,.post-avatar:focus-visible{outline:2px solid #111;outline-offset:3px}
@media(max-width:650px){.family-voice{gap:12px}.family-voice-copy strong{font-size:20px}.family-voice-actions{width:100%}.family-voice-actions button{flex:1;justify-content:center;padding:10px 12px}.feedback-tabs button{font-size:16px}#feedback-dialog{padding:20px}}

.person-avatar.portrait-preparing{opacity:.35;transition:opacity .2s}

/* A readable, stable portrait frame on phones, tablets and desktop. */
.directory-person>.mini-avatar{width:72px;height:72px;flex:0 0 72px;overflow:hidden;border-radius:50%;background:#f7f7f7;box-shadow:0 0 0 1px #ececec}
.person-avatar.framed-portrait{overflow:hidden;flex-shrink:0}
.directory-person .love-person-button{margin-left:auto}
@media(max-width:520px){.directory-person>.mini-avatar{width:64px;height:64px;flex-basis:64px}.directory-person .love-person-button{margin-left:78px}.directory-person{gap:10px 14px}}
