.heart-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:64px;min-height:44px;padding:8px 14px;border:1px solid #edd5c3;border-radius:24px;background:#fff8f2;color:#ad450c;font:inherit;font-weight:700;cursor:pointer}.heart-button svg{width:21px;height:21px}.heart-button.hearted svg,.heart-profile svg{fill:currentColor}.heart-button.hearted{background:#ffeadb;border-color:#cc5816}.heart-button:disabled{opacity:1;cursor:default}.heart-button:focus-visible,.author-profile:focus-visible,.webcam-discovery:focus-visible{outline:3px solid #007f70;outline-offset:3px}.heart-row{margin:14px 0 8px}.reply-feedback summary{font-size:12px;color:#60777d;cursor:pointer;min-height:32px;padding:8px 0}.reply-sort{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#526970;margin:12px 0 20px}.reply-sort select{min-height:44px;max-width:65%;border:1px solid #d9e4e2;border-radius:9px;padding:8px;background:white;color:#18343e;font:inherit}.author-profile{display:block;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:700;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:#b7cbc5;text-underline-offset:3px}.heart-profile{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;background:#fff4ea;border:1px solid #f2d9c5;border-radius:16px;padding:22px 16px;margin-bottom:18px;color:#a84109}.heart-profile svg{width:32px;height:32px}.heart-profile strong{font-size:32px}.heart-profile span{font-size:14px}.profile-observations{text-align:center;color:#526970}.heart-news svg{width:20px;height:20px;fill:#b94c0c;color:#b94c0c;float:left;margin-right:10px}.heart-news span{display:block;font-size:12px;margin-top:6px}.webcam-discovery{display:flex;align-items:center;gap:7px;border:0;background:none;color:#55716c;padding:10px 0;font-size:12px;text-align:left;min-height:44px;cursor:pointer}.webcam-discovery svg{width:16px;height:16px;flex-shrink:0}.webcam-mode .webcam-discovery{display:none}.webcam-preview-note{font-size:11px;line-height:1.5;color:#586e71;margin:0;padding:7px 12px;background:#f7faf9}.webcam-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.webcam-actions button{min-height:44px}.webcam-actions [aria-pressed=true]{color:#007f70;background:#e4f2ee}#savedWebcamsLink{margin:10px 0}.reply-feedback .vote-row{flex-wrap:wrap}

.suggestion-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.suggestion-buttons button{min-height:44px;white-space:normal;text-align:left}.reply-suggestions>.text-button{min-height:44px}.webcam-search-hint{padding-top:24px}

.linked-webcam{border:1px solid #d5e5df;border-radius:12px;padding:12px;margin:14px 0;background:#f5faf8}.linked-camera-label{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:10px}.linked-camera-label svg{width:20px;height:20px;flex-shrink:0}.linked-camera-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.linked-camera-actions button{min-height:44px}.linked-webcam small{display:block;font-size:11px;line-height:1.5;color:#59736d}.linked-webcam .webcam-photo{aspect-ratio:auto;min-height:80px;max-height:150px}.linked-webcam .webcam-photo img{max-height:150px}.webcam-threads{margin-top:24px;border-top:1px solid #dce8e3;padding-top:12px}.webcam-thread{padding:10px 0 16px;border-bottom:1px solid #dce8e3}.webcam-thread .notification-item{padding:12px 0}.webcam-thread .button{min-height:44px;white-space:normal}
