/* chatpp: loading overlay do chat (v1.0.0) — visível enquanto o agente processa.
   Estética do app: vars do bundle (--brand, --surface-raised, --line, fontes). */
.ldgov {
  position: fixed;
  inset-inline: 0;
  inset-block-end: 8.5rem;
  display: flex;
  justify-content: center;
  z-index: 70;
  pointer-events: none;
}
.ldgov[hidden] { display: none; }
.ldgov__card {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 1.1rem 0.55rem 0.75rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-raised, #1c1c22) 85%, transparent);
  border: 1px solid var(--line, #34343c);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  overflow: hidden;
}
.ldgov__ring {
  inline-size: 1.25rem;
  block-size: 1.25rem;
  border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 12%, var(--brand, #e08850));
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  animation: ldgov-spin 0.9s linear infinite;
}
.ldgov__txt {
  display: inline-flex;
  align-items: baseline;
  gap: 0.6rem;
  font-family: var(--font-mono, monospace);
  font-size: var(--text-xs, 0.78rem);
  color: var(--ink-dim, #b9b9c0);
  letter-spacing: 0.03em;
}
.ldgov__label::after { content: ""; animation: ldgov-dots 1.6s infinite; }
.ldgov__time { color: var(--ink-faint, #85858d); font-variant-numeric: tabular-nums; }
.ldgov__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, 0.06) 50%, transparent 70%);
  transform: translateX(-100%);
  animation: ldgov-shimmer 2.4s ease-in-out infinite;
}
@keyframes ldgov-spin { to { transform: rotate(1turn); } }
@keyframes ldgov-dots {
  0%, 24% { content: ""; }
  25%, 49% { content: "."; }
  50%, 74% { content: ".."; }
  75%, 100% { content: "..."; }
}
@keyframes ldgov-shimmer {
  0%, 15% { transform: translateX(-100%); }
  60%, 100% { transform: translateX(100%); }
}
@media (prefers-reduced-motion: reduce) {
  .ldgov__ring, .ldgov__card::after, .ldgov__label::after { animation: none; }
}
