/* ═══════════════════════════════════════════════════════════════════
 * ChatDrivers UI — animações do design system (v2)
 * Acompanha public/cd-ui.js. Carregar via <link rel="stylesheet" href="/cd-ui.css">.
 * Tudo respeita prefers-reduced-motion (bloco no fim).
 * ═══════════════════════════════════════════════════════════════════ */

@keyframes cd-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.18); opacity: 0.75; }
}
.cd-dot-pulse { animation: cd-pulse 1.8s ease-in-out infinite; }

@keyframes cd-fadein {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.cd-fadein { animation: cd-fadein 0.4s var(--ease-out) both; }

@keyframes cd-thinking {
  0%, 80%, 100% { opacity: 0.2; }
  40%           { opacity: 1; }
}
.cd-thinking-dots span { animation: cd-thinking 1.2s ease-in-out infinite; }
.cd-thinking-dots span:nth-child(2) { animation-delay: 0.15s; }
.cd-thinking-dots span:nth-child(3) { animation-delay: 0.3s; }

@keyframes cd-scan {
  0%   { transform: translateY(-100%); }
  100% { transform: translateY(100%); }
}
.cd-scan-line {
  position: absolute; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--primary), transparent);
  opacity: 0.5; animation: cd-scan 4s linear infinite; pointer-events: none;
}

/* Scrollbars discretas pra painéis internos */
.cd-scroll { overflow: auto; }
.cd-scroll::-webkit-scrollbar { width: 6px; height: 6px; }
.cd-scroll::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 3px; }
.cd-scroll::-webkit-scrollbar-track { background: transparent; }

@media (prefers-reduced-motion: reduce) {
  .cd-dot-pulse, .cd-fadein, .cd-thinking-dots span, .cd-scan-line {
    animation: none !important;
  }
}

/* Scrollbar slim agora vive em design-tokens.css (sistema todo). */
