/* Entre Dois — melhorias de experiência, presença, timeline e privacidade */
.partner-presence{display:flex;align-items:center;gap:6px;margin-top:2px;color:var(--muted);font-size:.72rem;font-weight:750}
.presence-dot{width:7px;height:7px;border-radius:50%;background:#72636a;box-shadow:0 0 0 3px rgba(114,99,106,.12)}
.partner-presence.online{color:#bce9cf}
.partner-presence.online .presence-dot{background:#54d38a;box-shadow:0 0 0 3px rgba(84,211,138,.15)}
.mobile-nav button.attention{animation:navAttention 1.2s ease-in-out 2}
@keyframes navAttention{0%,100%{transform:none}50%{transform:translateY(-2px);background:#3a1a29}}

.message.timeline-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015))}
.message.timeline-card.question{border-left:3px solid #ff8ab1}
.message.timeline-card.challenge,.message.timeline-card.challenge-update{border-left:3px solid #d9a8ff}
.message.timeline-card.media,.message.timeline-card.voice{border-left:3px solid #8cc8ff}
.message-kind{display:inline-flex;align-items:center;gap:5px;margin:0 0 6px;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.06);color:#e9c9d5;font-size:.65rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.message-actions{display:flex;align-items:center;gap:6px;margin-top:7px}
.message-action,.message-reply-btn{border:0;background:rgba(255,255,255,.07);color:#e7cbd6;border-radius:9px;padding:5px 8px;font-size:.66rem;font-weight:850;cursor:pointer}
.message-action:hover,.message-reply-btn:hover{background:rgba(255,255,255,.12)}
.message-receipt{display:inline-block;margin-left:6px;color:#9b8790;font-size:.72rem;letter-spacing:-2px}
.message-receipt.delivered{color:#c2aab4}
.message-receipt.read{color:#ff7dab}
.message-reply{border-left:2px solid rgba(255,255,255,.18);padding-left:8px;margin-bottom:7px;color:#d9c0ca;font-size:.75rem}
.message-reply strong{display:block;color:#fff;font-size:.68rem;margin-bottom:2px}
.message-reply-meta{opacity:.72}

.protected-media{position:relative;display:block;overflow:hidden;border-radius:12px;background:#10080d}
.protected-media .message-media,.protected-media .media-preview{margin:0;border-radius:0}
.media-watermark{position:absolute;inset:0;pointer-events:none;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);align-items:center;justify-items:center;overflow:hidden;z-index:3}
.media-watermark span{display:block;white-space:nowrap;transform:rotate(-24deg);color:rgba(255,255,255,.32);font-size:10px;font-weight:850;text-shadow:0 1px 4px rgba(0,0,0,.65)}
body.privacy-hidden .protected-media img,
body.privacy-hidden .protected-media video,
body.privacy-hidden #mediaViewerContent img,
body.privacy-hidden #mediaViewerContent video{filter:blur(28px) brightness(.45)}
body.privacy-hidden .protected-media::after,
body.privacy-hidden #mediaViewerContent::after{content:"Conteúdo protegido";position:absolute;inset:0;display:grid;place-items:center;background:rgba(12,6,10,.58);color:#fff;font-weight:850;z-index:5}

.gallery-tabs{display:flex;gap:6px;margin:10px 0}
.gallery-tab{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:7px 11px;font-size:.68rem;font-weight:850;cursor:pointer}
.gallery-tab.active{background:#351825;color:#fff;border-color:#593044}
.audio-gallery{display:grid;gap:8px}
.audio-gallery-item{padding:9px;border:1px solid var(--line-soft);border-radius:12px;background:rgba(255,255,255,.025)}
.audio-gallery-item strong{display:block;font-size:.72rem;margin-bottom:6px}
.audio-gallery-item audio{width:100%;height:38px}
.media-card .protected-media{cursor:zoom-in}
.media-card .media-meta{padding-top:7px}
.media-expiry{display:block;color:var(--muted);font-size:.66rem;margin-top:2px}

.media-viewer{position:fixed;inset:0;z-index:120;background:rgba(8,4,7,.96);display:grid;grid-template-columns:56px minmax(0,1fr) 56px;grid-template-rows:54px minmax(0,1fr) 72px;align-items:center}
.media-viewer.hidden{display:none}
.media-viewer-close{grid-column:3;grid-row:1;justify-self:center;width:40px;height:40px;border:0;border-radius:50%;background:#2d1721;color:#fff;font-size:1.4rem;cursor:pointer}
.media-viewer-nav{width:44px;height:58px;border:0;border-radius:14px;background:#2a151f;color:#fff;font-size:1.6rem;cursor:pointer}
#mediaViewerPrev{grid-column:1;grid-row:2;justify-self:center}
#mediaViewerNext{grid-column:3;grid-row:2;justify-self:center}
.media-viewer-stage{grid-column:2;grid-row:2;position:relative;display:grid;place-items:center;min-width:0;min-height:0;max-height:calc(100dvh - 140px)}
.media-viewer-stage img,.media-viewer-stage video{max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain;border-radius:14px}
.media-viewer-footer{grid-column:1/4;grid-row:3;display:flex;justify-content:center;align-items:center;gap:12px;padding:10px 18px;border-top:1px solid var(--line-soft)}
.media-viewer-footer span{max-width:min(650px,65vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem}
.leave-room-btn{width:100%;margin-top:18px;border-color:#673444!important;color:#ffb7ca!important}

@media(max-width:760px){
  .media-viewer{grid-template-columns:42px minmax(0,1fr) 42px;grid-template-rows:48px minmax(0,1fr) 74px}
  .media-viewer-nav{width:36px;height:52px}
  .message-actions{opacity:1}
  .partner-presence{font-size:.67rem}
}

.chat-head-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.feedback-toggle-btn{font-size:.94rem}
.feedback-toggle-btn.muted{opacity:.55;background:#1d1118;color:var(--muted)}
@media(max-width:760px){
  .chat-head-actions{gap:5px}
  .chat-head-actions .chat-live-btn{width:38px;height:38px}
}

/* Ícones de interface: linguagem visual 2D, sem emojis coloridos */
.ui-icon{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.composer-icon.send .ui-icon{width:20px;height:20px;stroke-width:2}
.profile-close .ui-icon,.media-viewer-close .ui-icon{width:20px;height:20px}
.media-viewer-nav .ui-icon{width:26px;height:26px;margin:auto}
#cancelReplyBtn .ui-icon{width:17px;height:17px;margin:auto}
