/* ═══════════════════════════════════════════════════════════════════════════════
   DΛREΛKT_ ATOM — ui.chrome.status
   Status pulse pill (.gns-pulse) + alarm flag chip (.gns-oc__flag) — rule-for-
   rule the blocks that lived in genesis.css / genesis.cockpit.css, now owned
   by the atom (self-injected via ensureCss).
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ─── PULSE PILL (status indicator with animated dot) ──────────────────── */
.gns-pulse {
  display: inline-flex; align-items: center; gap: 0.45rem;
  padding: 0.32rem 0.7rem; border-radius: 999px;
  border: 1px solid var(--ha-border-hi);
  background: var(--ha-surface-2);
  font-family: var(--gns-mono, ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace);
  font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ha-text);
}
.gns-pulse__dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--ha-text-muted);
  animation: gns-pulse-anim 2.4s ease-out infinite;
}
.gns-pulse[data-tone="ok"]   { color: var(--ha-ok);     border-color: var(--ha-ok);     background: var(--ha-ok-dim); }
.gns-pulse[data-tone="warn"] { color: var(--ha-warn);   border-color: var(--ha-warn);   background: var(--ha-warn-dim); }
.gns-pulse[data-tone="down"] { color: var(--ha-danger); border-color: var(--ha-danger); background: var(--ha-danger-dim); }
.gns-pulse[data-tone="info"] { color: var(--ha-accent-cool); border-color: var(--ha-accent-cool); background: var(--ha-accent-cool-dim); }
.gns-pulse[data-tone="ok"]   .gns-pulse__dot { background: var(--ha-ok); }
.gns-pulse[data-tone="warn"] .gns-pulse__dot { background: var(--ha-warn); }
.gns-pulse[data-tone="down"] .gns-pulse__dot { background: var(--ha-danger); }
.gns-pulse[data-tone="info"] .gns-pulse__dot { background: var(--ha-accent-cool); }
@keyframes gns-pulse-anim {
  0%   { box-shadow: 0 0 0 0 currentColor; }
  60%  { box-shadow: 0 0 0 6px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}
.gns-pulse--btn { cursor: pointer; }

/* Stable repaint host for polled pulses — swapping its innerHTML leaves the
   decode-revealed wordmark beside it untouched. */
.gns-oc__pulses { display: inline-flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.gns-oc__pulses:empty { display: none; }

/* ─── ALARM FLAG CHIPS (cockpit ctl row) ───────────────────────────────── */
/* Pages render them with static text + [hidden] and only toggle the hidden
   attribute — no re-decode, no re-render. */
.gns-oc__flag {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.6rem;
  border: 1px solid var(--ha-border-hi);
  border-radius: 999px;
  font-family: var(--gns-mono, ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--ha-text-muted);
}
.gns-oc__flag:empty,
.gns-oc__flag[hidden] { display: none; }
.gns-oc__flag[data-tone="down"] {
  color: var(--ha-danger);
  border-color: color-mix(in srgb, var(--ha-danger) 55%, transparent);
  background: color-mix(in srgb, var(--ha-danger) 14%, transparent);
}
.gns-oc__flag[data-tone="warn"] {
  color: var(--ha-warn);
  border-color: color-mix(in srgb, var(--ha-warn) 55%, transparent);
  background: color-mix(in srgb, var(--ha-warn) 14%, transparent);
}
