/*
 * poller.css
 *
 * Watermark status-poller visual states. The poller itself adds a small
 * "watermarking…" pill to image captions while a task is queued or
 * processing; this styles that pill and the success state when the
 * watermarked image becomes available.
 */
.biohb-wm-pending-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    padding: 0.15em 0.55em;
    border-radius: 9999px;
    background: rgba(47, 126, 247, 0.12);
    color: #2f7ef7;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.biohb-wm-pending-pill::before {
    content: '';
    width: 0.55em;
    height: 0.55em;
    border-radius: 50%;
    background: currentColor;
    animation: biohb-wm-pulse 1.2s ease-in-out infinite;
}

.biohb-wm-pending-pill[data-state='done'] {
    background: rgba(34, 197, 94, 0.14);
    color: #16a34a;
}

.biohb-wm-pending-pill[data-state='done']::before {
    animation: none;
    background: currentColor;
}

.biohb-wm-pending-pill[data-state='error'],
.biohb-wm-pending-pill[data-state='failed'] {
    background: rgba(239, 68, 68, 0.12);
    color: #dc2626;
}

.biohb-wm-pending-pill[data-state='error']::before,
.biohb-wm-pending-pill[data-state='failed']::before {
    animation: none;
    background: currentColor;
}

@keyframes biohb-wm-pulse {
    0%, 100% { opacity: 0.4; transform: scale(1); }
    50%      { opacity: 1;   transform: scale(1.4); }
}
