.chat-shell{max-width:850px}.chat-messages{list-style:none;padding:12px;display:flex;flex-direction:column;gap:14px;max-height:55vh;overflow:auto;border:1px solid var(--line);border-radius:18px}.chat-messages li{background:#f0e6d8;padding:12px 16px;border-radius:16px;align-self:flex-start;max-width:85%;overflow-wrap:anywhere;min-width:0}.chat-messages li.is-mine{align-self:flex-end;background:#70421f;color:#fff}.chat-messages p{white-space:pre-wrap;margin:0 0 8px}.chat-messages small{font-size:.75rem}.chat-compose{display:flex;align-items:end;gap:12px;margin:18px 0}.chat-compose textarea{flex:1;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px}.chat-thread-list{list-style:none;padding:0}.chat-thread-list a{display:flex;justify-content:space-between;gap:12px;padding:20px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.chat-report{white-space:pre-wrap;overflow-wrap:anywhere}.coverage-world{width:100%;height:auto;display:block;background:#faf7f0;border:1px solid var(--line);border-radius:20px}.coverage-land{fill:#e7d9c6;stroke:#fff;stroke-width:.4}.coverage-marker{fill:#70421f;stroke:#fff;stroke-width:1.5}.coverage-label{font-size:11px;fill:#2b1a12}.message-link{position:relative;display:inline-flex;align-items:center;gap:5px;min-width:44px;min-height:44px}.message-link .ui-icon{width:23px;height:23px}@media(max-width:599px){.chat-compose{flex-direction:column;align-items:stretch}.chat-compose textarea{width:100%}.chat-thread-list a{flex-direction:column}.chat-messages li{max-width:95%}}

.coverage-world [hidden]{display:none}

/* Contact actions keep contrast in every state and remain available without hover. */
.profile .contact .nyanga-contact,.nyanga-contact{background:#70421f;color:#fff;border:1px solid #70421f;text-decoration:none;gap:8px;white-space:normal;text-align:center}
.profile .contact .nyanga-contact:hover,.profile .contact .nyanga-contact:focus-visible,.nyanga-contact:hover,.nyanga-contact:focus-visible{background:#512f18;color:#fff;border-color:#512f18;text-decoration:none}
.contact .btn-ghost.icon-button:hover,.contact .btn-ghost.icon-button:focus-visible{background:#f0e4d6;color:#2b1a12;border-color:#70421f}
.profile-share:hover,.profile-share:focus-visible{background:#f0e4d6;color:#2b1a12}
.contact a:focus-visible,.contact button:focus-visible,.contact summary:focus-visible,.contact-resume .btn:focus-visible{outline:3px solid #70421f;outline-offset:4px}
.profile .contact .contact-alternatives{flex-basis:100%;min-width:0;margin:0;font-size:.875rem;color:#59412e}
.contact-alternatives>summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.contact-alternatives>summary::after{content:'+';font-size:1.1rem}
.contact-alternatives[open]>summary::after{content:'−'}
.contact-alternative-links{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 8px}
.contact-alternative-links .btn{margin:0}
@media(max-width:599px){.profile .contact .nyanga-contact{flex:1 1 100%;max-width:none;width:100%;min-height:48px}.profile .contact .contact-alternatives{flex:1 1 100%}.contact-resume .nyanga-contact{width:100%;min-height:48px}}
