/* esc-stage-resilience.css — APP-50 Wave 4 item 37 (staging).
   Owner: Unknown Artist. ONLY the quiet reconnect status pill lives here.
   The Stage's two bars (.er-below: deck bar + crowd bar) get NO rules in
   this file — they must render from cache/state exactly as esc-stage.css
   leaves them during an outage. Nothing here disables, overlays or locks
   any control: the pill is in-flow (or a small fixed note when no Stage
   room is mounted), pointer events reach only its own Retry button. */

.esc-res-status {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: var(--s-chrome, #14100a);
  border-top: 1px solid var(--s-bd, #3a2f14);
  color: var(--s-mu, #cbbd93);
  font: 500 12.5px/1.35 system-ui, sans-serif;
  letter-spacing: .02em;
}
.esc-res-status[hidden] { display: none; }
.esc-res-status .esc-res-txt::before {
  content: "";
  display: inline-block;
  width: 7px; height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--gold, #ffc83a);
  vertical-align: 1px;
  animation: esc-res-pulse 1.2s ease-in-out infinite alternate;
}
.esc-res-status .esc-res-retry { flex: 0 0 auto; }
.esc-res-status.esc-res-fixed {
  position: fixed;
  left: 12px; bottom: 12px;
  z-index: 140;
  max-width: min(420px, calc(100vw - 24px));
  border: 1px solid var(--s-bd, #3a2f14);
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .55);
}
@keyframes esc-res-pulse { from { opacity: .35; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .esc-res-status .esc-res-txt::before { animation: none; }
}
