.server-status {
  position: fixed;
  left: 50%;
  bottom: 1rem;
  z-index: 89;
  display: flex;
  width: calc(100% - 2rem);
  max-width: 28rem;
  transform: translateX(-50%);
  align-items: center;
  gap: .75rem;
  border: 1px solid #475569;
  border-radius: .5rem;
  background: #162033;
  padding: .75rem 1rem;
  color: #fff;
  box-shadow: 0 20px 35px rgba(15, 23, 42, .28);
}
.server-status[hidden] { display: none; }
.server-status > div { display: flex; min-width: 0; flex-direction: column; gap: .125rem; }
.server-status strong { font-size: .875rem; font-weight: 600; }
.server-status span { color: #cbd5e1; font-size: .75rem; }
.server-status .server-status-pulse {
  width: .625rem;
  height: .625rem;
  flex: none;
  border-radius: 9999px;
  background: #fbbf24;
  animation: server-status-pulse 1.2s ease-in-out infinite;
}
@keyframes server-status-pulse {
  0%, 100% { opacity: .45; transform: scale(.82); }
  50% { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .server-status .server-status-pulse { animation: none; }
}
