/* Connection state belongs to each page header; it is never a floating banner. */
[data-connection-status] {
  display: block;
  min-height: 1.2em;
  color: var(--muted, #8c9a93);
  font-size: clamp(.76rem, 1.8vw, .9rem);
  font-weight: 700;
  line-height: 1.2;
  transition: color .18s ease, opacity .18s ease;
}

.connection-inline-connecting {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: #df7f25 !important;
}
.connection-inline-connecting::before {
  content: "";
  box-sizing: border-box;
  flex: 0 0 10px;
  width: 10px;
  height: 10px;
  border: 1.3px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: connection-inline-spin .72s linear infinite;
}
@keyframes connection-inline-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .connection-inline-connecting::before { animation-duration: 1.4s; }
}
.connection-inline-connected,
.connection-inline-native-online { color: #62a614 !important; }
.connection-inline-offline { color: #d64a4a !important; }
.connection-inline-hidden { display: none !important; }
.offline-banner { display: none !important; }

.chat-list > header > div { position: relative; }
#chat-list-status {
  position: absolute;
  top: calc(100% - 2px);
  left: 0;
  white-space: nowrap;
}
.chat-list > header { padding-bottom: 25px !important; }

#profile-connection-status {
  margin: 2px 0 7px;
  text-align: center;
}

@media (min-width: 701px) {
  #chat-list-status { font-size: .78rem; }
}
