/* Family conversations live here, independently of the photo gallery. */
#kindness-section{min-width:0;padding-top:18px}
.kindness-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0;margin:0 0 24px;padding:23px 29px;border:1px solid #e5d9b5;border-radius:24px;background:radial-gradient(ellipse at 90% 40%,#fffaf0 0,transparent 42%),#f4ebcc;overflow:hidden}
.kindness-welcome-copy{min-width:0;max-width:570px}
.kindness-welcome .eyebrow{margin:0 0 10px;font-size:9px;font-weight:800;letter-spacing:1.8px;color:#7a8049}
.world-panel #kindness-title{margin:0;font-size:clamp(30px,3.5vw,45px);line-height:1.08;letter-spacing:-1.5px;color:#284b37}
.kindness-welcome-copy>p:last-child{max-width:490px;margin:12px 0 0;font-size:14px;line-height:1.65;color:#60714d}
.kindness-welcome-art{position:relative;flex:none;align-self:center;width:148px;height:151px}
.kindness-welcome-art img{position:relative;z-index:1;width:148px;height:151px;object-fit:contain}
.kindness-art-heart{position:absolute;right:-9px;top:0;color:#bd9853;font-size:37px;line-height:1;transform:rotate(14deg)}
.kindness-layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:start;gap:24px}
.kindness-compose{min-width:0;padding:27px;border:1px solid #d9e0c7;border-radius:22px;background:#fffef6;box-shadow:0 5px 22px #233e2d06}
.kindness-compose>.eyebrow{margin:0 0 8px;color:#778454;font-size:9px;letter-spacing:1.6px;font-weight:800}
.kindness-compose h3,.kindness-board h3{margin:0;color:#2e503a;font-size:25px;line-height:1.2;letter-spacing:-.7px}
.kindness-compose-intro{margin:11px 0 21px;color:#6b795d;font-size:13px;line-height:1.65}
#kindness-form{gap:17px;min-width:0}
#kindness-form label{min-width:0;gap:8px;font-size:12px;line-height:1.45;color:#3d5c40}
#kindness-form textarea{min-width:0;max-width:100%;min-height:137px;padding:12px 14px;border-color:#c7d1b5;border-radius:12px;background:#fffef9;font-size:14px;line-height:1.6;resize:vertical}
#kindness-form textarea:focus,.message-thread textarea:focus{outline:2px solid #879f62;outline-offset:2px}
.message-preview-tools{margin:0 0 19px;padding:13px 15px;border:1px solid #d5ddba;border-radius:13px;background:#edf1dd}
.message-preview-tools p{margin:0 0 9px;color:#778460;font-size:11px;line-height:1.55}
.message-preview-tools button{min-height:44px;max-width:100%;padding:9px 13px;border:1px solid #bbcba1;border-radius:10px;background:#fffdf0;color:#4e6a40;font:inherit;font-size:11px;font-weight:700;line-height:1.4;cursor:pointer;touch-action:manipulation}
.message-preview-tools button:hover{background:#f6e9bd}
.message-preview-tools button[aria-pressed=true]{border-color:#b99f58;background:#f6e5b3;color:#5a572f}
.kindness-starters{display:flex;flex-wrap:wrap;gap:7px;margin:0}
.kindness-starters button{flex:1 1 120px;min-height:44px;padding:9px 10px;border:1px solid #d7dabc;border-radius:12px;background:#eff1dd;color:#5c6a40;font:inherit;font-size:10px;font-weight:700;line-height:1.35;text-align:center;cursor:pointer;touch-action:manipulation}
.kindness-starters button:hover{background:#f5e6b7;border-color:#d3c183}
.kindness-starters button:active{background:#eddb9f}
#kindness-form .form-help{margin:0;color:#7a8569;font-size:11px;line-height:1.6}
#kindness-form .button{justify-self:start;min-height:46px;padding:12px 20px;font-size:13px;gap:8px}
#kindness-form .button:disabled{opacity:.55;cursor:default;transform:none}
#kindness-form .form-error{font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.kindness-sent{margin:0;padding:13px 15px;border:1px solid #cbd8b1;border-radius:12px;background:#edf3dc;color:#4a663a;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.kindness-sent:empty{display:none}
.kindness-board{min-width:0;padding:26px;border:1px solid #e0d6ad;border-radius:22px;background:#eee6c7}
.kindness-board-heading{display:flex;align-items:center;gap:13px;min-width:0}
.kindness-board-heading>div{min-width:0}
.kindness-board-heading .eyebrow{margin:0 0 7px;color:#858455;font-size:8px;letter-spacing:1.5px;font-weight:800}
.kindness-board h3{font-size:23px;overflow-wrap:anywhere}
.kindness-board-heart{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid #daca91;border-radius:50%;background:#f9edbd;color:#8f8652;font-size:29px;line-height:1}
.kindness-board-intro{margin:12px 0 19px;font-size:12px;line-height:1.6;color:#777c55}
#kindness-notes{display:grid;gap:14px;min-width:0}
.message-thread{min-width:0;padding:21px 20px 17px;border:1px solid #e7dfbd;border-radius:17px;background:#fffdf2;box-shadow:0 3px 0 #8b824714;overflow:hidden}
.message-thread:focus{outline:2px solid #b5be8d;outline-offset:3px}
.message-post{min-width:0}
.message-author{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 9px;margin:0 0 10px;color:#657c51;font-size:11px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.message-author strong{color:#496641;font-size:12px}
.message-author small,.message-author time{color:#8d927b;font-size:9px;font-weight:400}
.message-post>p,.message-thread .message-body{margin:0 0 13px;color:#476044;font-size:15px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}
.message-thread-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;min-width:0;margin-top:10px;padding-top:11px;border-top:1px solid #eee9d6}
.message-thread-actions>span{color:#879175;font-size:10px;line-height:1.5}
.message-thread button[data-reply-to]{min-height:44px;max-width:100%;padding:9px 14px;border:1px solid #cad4b3;border-radius:10px;background:#edf2df;color:#557143;font:inherit;font-size:11px;font-weight:700;line-height:1.4;cursor:pointer;touch-action:manipulation}
.message-thread button[data-reply-to]:hover{background:#e2ebcf}
.message-thread .message-remove{min-height:44px;margin-left:8px;padding:8px 5px;border:0;background:none;color:#9a8770;font:inherit;font-size:10px;line-height:1.4;cursor:pointer;touch-action:manipulation}
.message-thread .message-remove:hover{color:#8d4838;text-decoration:underline}
.message-replies{display:grid;gap:0;margin:17px 0 13px 10px;padding:0 0 0 15px;border-left:2px solid #d8d9b6}
.message-replies:empty{display:none}
.message-replies .message-post{padding:15px 0 2px;border-top:1px solid #edead5}
.message-replies .message-post:first-child{padding-top:2px;border-top:0}
.message-replies .message-author{margin-bottom:7px}
.message-replies .message-post>p{font-size:13px;line-height:1.65;margin-bottom:8px}
.message-thread form[data-reply-form]{display:grid;min-width:0;gap:11px;margin-top:15px;padding:15px;border:1px solid #dfe5cc;border-radius:13px;background:#f3f6e7}
.message-thread form[data-reply-form] label{min-width:0;gap:7px;color:#536d46;font-size:11px;line-height:1.45}
.message-thread form[data-reply-form] textarea{width:100%;min-width:0;max-width:100%;min-height:86px;padding:11px 12px;border:1px solid #c8d4b5;border-radius:10px;background:#fffef8;color:#355437;font:inherit;font-size:13px;line-height:1.6;resize:vertical}
.message-thread form[data-reply-form] button[type=submit]{justify-self:start;min-height:44px;padding:10px 17px;border:1px solid #355c3f;border-radius:50px;background:#355c3f;color:#fffdf0;font:inherit;font-size:11px;font-weight:700;line-height:1.4;cursor:pointer;touch-action:manipulation}
.message-thread form[data-reply-form] button[type=submit]:hover{background:#284b33}
.message-thread .form-error{margin:0;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.message-reply-sent{margin:0;color:#55733f;font-size:11px;line-height:1.55;overflow-wrap:anywhere}
.message-reply-sent:empty{display:none}
.message-thread button:disabled,.message-preview-tools button:disabled{opacity:.5;cursor:default}
.kindness-empty{padding:27px 22px;border:1px dashed #c9c39f;border-radius:16px;background:#f7f2dc;color:#738060;text-align:center;font-size:13px;line-height:1.7}
.kindness-empty>span{display:block;margin-bottom:8px;color:#a7a373;font-size:33px;line-height:1}
.kindness-empty h3,.kindness-empty h4,.kindness-empty strong{display:block;margin:0 0 9px;font-size:17px;line-height:1.3;color:#536c47}
.kindness-empty p{margin:0;font-size:12px;line-height:1.7}
.kindness-status{margin:0 0 14px;padding:11px 13px;border:1px solid #ded2a8;border-radius:11px;background:#fbf5df;color:#6b744d;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.kindness-status:empty{display:none}
.kindness-board-actions{display:flex;flex-wrap:wrap;gap:5px 17px;margin-top:16px;padding-top:13px;border-top:1px solid #dace9f}
.kindness-board-actions button,#retry-kindness{min-height:44px;padding:8px 0;color:#5d7349;font-size:11px;line-height:1.4;white-space:normal;touch-action:manipulation}
#retry-kindness{margin-bottom:13px;text-align:left}
#kindness-section button:focus-visible{outline:3px solid #b88836;outline-offset:3px}
#kindness-title:focus{outline:none}
@media(max-width:1050px){.kindness-layout{gap:19px}.kindness-compose,.kindness-board{padding:22px}.kindness-welcome{padding:22px 25px}.kindness-welcome-art,.kindness-welcome-art img{width:126px;height:137px}.kindness-board h3{font-size:21px}}
@media(max-width:760px){
  #kindness-section{padding-top:15px}.kindness-welcome{gap:12px;margin-bottom:19px;padding:20px;border-radius:20px}.kindness-welcome-copy>p:last-child{font-size:12px;line-height:1.6}.kindness-welcome-art,.kindness-welcome-art img{width:100px;height:117px}.kindness-art-heart{right:-3px;font-size:29px}.kindness-welcome .eyebrow{font-size:7px;letter-spacing:1.4px}.world-panel #kindness-title{font-size:32px}
  .kindness-layout{grid-template-columns:minmax(0,1fr);gap:19px}.kindness-compose,.kindness-board{padding:23px;border-radius:20px}.kindness-compose h3{font-size:24px}.kindness-board h3{font-size:22px}#kindness-form textarea,.message-thread form[data-reply-form] textarea{font-size:16px}.kindness-starters button{font-size:11px}.kindness-board-actions button,#retry-kindness{font-size:12px}
}
@media(max-width:440px){
  .kindness-welcome{position:relative;display:block;padding:20px 18px}.kindness-welcome-copy{position:relative;z-index:1}.kindness-welcome .eyebrow{max-width:calc(100% - 55px);font-size:7px;line-height:1.6;margin-bottom:7px}.world-panel #kindness-title{font-size:30px;max-width:calc(100% - 50px);letter-spacing:-1px}.kindness-welcome-copy>p:last-child{max-width:none;margin-top:14px;font-size:12px}.kindness-welcome-art{position:absolute;right:4px;top:9px;width:72px;height:90px}.kindness-welcome-art img{width:72px;height:90px}.kindness-art-heart{right:2px;top:4px;font-size:21px}
  .kindness-compose,.kindness-board{padding:19px 17px}.kindness-compose-intro{font-size:12px;margin-bottom:18px}#kindness-form{gap:15px}#kindness-form label{font-size:11px}.kindness-starters{gap:6px}.kindness-starters button{flex-basis:108px;font-size:10px;padding-inline:7px}#kindness-form .button{justify-self:stretch;font-size:12px;padding-inline:13px}.kindness-board-heading{gap:10px}.kindness-board-heart{width:35px;height:35px;font-size:25px}.kindness-board-heading .eyebrow{font-size:6px;letter-spacing:1.1px}.kindness-board h3{font-size:20px}.message-thread{padding:17px 14px 14px}.message-post>p{font-size:14px}.message-replies{margin-left:4px;padding-left:10px}.message-thread form[data-reply-form]{padding:12px}.message-preview-tools{padding:12px}.message-author{gap:4px 7px}.kindness-empty{padding:23px 17px}.kindness-board-actions{display:grid;gap:4px}
}
@media(prefers-reduced-motion:reduce){#kindness-section *,#kindness-section *::before{animation:none;transition:none}}
