/* Shared EventPhone, incoming/outgoing bubbles and relationship result; no extra image assets. */
.incoming-phone:not(.is-sent) .event-phone-header::after{content:"";position:absolute;top:0;right:0;width:6px;height:6px;border:1px solid var(--surface);border-radius:50%;background:var(--accent);animation:incoming-notification-pulse 1.7s infinite}
.incoming-phone.is-success .event-card .portrait{transform:scale(1.03)}
.incoming-phone .incoming-time{text-align:center;color:var(--muted);font-size:9px;flex:none}.incoming-phone .incoming-bubble{transform-origin:left bottom;animation:incoming-message-pop .55s both}
.incoming-phone .first-thought{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:0;text-align:center;color:var(--muted);font-size:12px;line-height:1.6}.incoming-phone .first-thought strong{color:var(--ink);font-weight:500}.incoming-phone .reply-narration{font-size:12px;line-height:1.65;word-break:keep-all;padding:0 8px;min-height:32px}
.incoming-phone .self-typing{align-self:flex-end;display:flex;align-items:center;gap:4px;padding:13px 17px;border-radius:16px;background:color-mix(in srgb,var(--accent) 15%,var(--surface));flex:none}.incoming-phone .self-typing i{width:5px;height:5px;background:var(--accent);border-radius:50%;animation:event-dot .9s infinite}.incoming-phone .self-typing i:nth-child(2){animation-delay:.15s}.incoming-phone .self-typing i:nth-child(3){animation-delay:.3s}
.incoming-phone .event-choices{grid-template-columns:1fr}.incoming-phone .event-hearts{z-index:4}.incoming-phone.is-failure .reply-narration{color:var(--muted)}
.incoming-phone .reply-narration{animation:incoming-reaction .65s both}
@keyframes incoming-reaction{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes incoming-notification-pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}}@keyframes incoming-message-pop{from{opacity:0;transform:translateY(7px) scale(.92)}to{opacity:1;transform:none}}
@media(max-width:600px){
 .incoming-phone .first-thought,.incoming-phone .reply-narration{font-size:11px}
}
@media(max-height:660px){
 .incoming-phone .incoming-time{font-size:8px}.incoming-phone .first-thought,.incoming-phone .reply-narration{font-size:10px;line-height:1.55;gap:4px}.incoming-phone.is-sent .incoming-time{display:none}.incoming-phone.is-sent .reply-narration{min-height:26px}
}
