.co-loading { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 28px 0 22px; color: var(--muted); font-size: 13px; }
      .co-loading[hidden] { display: none; }
      .co-loading-icon { display: grid; place-items: center; width: 48px; height: 48px; flex: none; border-radius: 15px; background: var(--brand-soft); color: var(--accent, var(--brand-primary)); }
      .co-loading-dots { display: flex; align-items: center; gap: 4px; }
      .co-loading-dots i { display: block; width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: co-loading-bounce 1.2s ease-in-out infinite; }
      .co-loading-dots i:nth-child(2) { animation-delay: .16s; }
      .co-loading-dots i:nth-child(3) { animation-delay: .32s; }
      .co-loading-copy { display: grid; gap: 4px; line-height: 1.45; text-align: left; }
      .co-loading-copy strong { color: var(--ink); font-size: 14px; font-weight: var(--fw-emphasis); }
      @keyframes co-loading-bounce { 0%, 70%, 100% { opacity: .35; transform: translateY(0); } 35% { opacity: 1; transform: translateY(-4px); } }
      @keyframes co-loading-pulse { 0%, 70%, 100% { opacity: .35; } 35% { opacity: 1; } }
      #co-body { animation: co-reveal .28s ease-out; }
      #co-body[hidden] { display: none; }
      .co-existing { margin-top: 18px; padding: 16px; background: var(--brand-tint); border: 1px solid var(--brand-border); border-radius: 12px; text-align: left; }
      .co-existing[hidden] { display: none; }
      .co-existing h3 { margin: 0 0 8px; font-size: 16px; }
      .co-existing p { margin: 0 0 14px; color: var(--text-copy); font-size: 14px; line-height: var(--lh-copy); overflow-wrap: anywhere; }
      .co-existing button { width: 100%; margin-top: 8px; white-space: normal; }
      .co-existing button[hidden] { display: none; }
      @keyframes co-reveal { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
      @media (prefers-reduced-motion: reduce) {
        #co-body { animation: none; }
        /* Keep the dots visible; fading communicates activity without bouncing. */
        .co-loading-dots i { animation-name: co-loading-pulse; }
      }
