/**
 * Reasoning Tooltips & Processing Indicators
 * Handles AI reasoning displays, tooltips, and processing animations
 */

/* Reasoning icon styles */
.reasoning-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin-left: var(--spacing-xs);
    border-radius: 50%;
    background: var(--color-surface-secondary);
    color: var(--color-accent);
    font-size: 14px; /* Design system minimum font size */
    cursor: help;
    position: relative;
    transition: all var(--transition-fast);
}

.reasoning-icon:hover {
    background: var(--color-accent-bg);
    transform: scale(1.1);
    color: var(--color-accent-hover);
}

/* Reasoning tooltip container */
.reasoning-tooltip {
    position: fixed;
    z-index: 10000;
    background: var(--color-glass-bg);
    backdrop-filter: var(--blur-md);
    color: var(--color-text-primary);
    padding: var(--spacing-md);
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    max-width: 300px;
    box-shadow: var(--shadow-xl);
    border: 1px solid var(--color-border);
    pointer-events: none;
    opacity: 0;
    transform: translateY(-5px);
    transition: all var(--transition-normal);
}

.reasoning-tooltip.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Tooltip arrow */
.reasoning-tooltip::before {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background: var(--color-glass-bg);
    border: 1px solid var(--color-border);
    transform: rotate(45deg);
}

.reasoning-tooltip.tooltip-top::before {
    bottom: -5px;
    left: 50%;
    margin-left: -4px;
    border-top: none;
    border-left: none;
}

.reasoning-tooltip.tooltip-bottom::before {
    top: -5px;
    left: 50%;
    margin-left: -4px;
    border-bottom: none;
    border-right: none;
}

/* Processing indicator */
.processing-indicator {
    display: inline-block;
    margin-left: var(--spacing-sm);
    vertical-align: middle;
}

.processing-dot {
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: var(--color-accent);
    margin: 0 2px;
    animation: processingPulse 1.4s infinite ease-in-out both;
}

.processing-dot:nth-child(1) {
    animation-delay: -0.32s;
}

.processing-dot:nth-child(2) {
    animation-delay: -0.16s;
}

/* Processing pulse animation */
@keyframes processingPulse {
    0%, 80%, 100% {
        transform: scale(0.8);
        opacity: 0.5;
    }
    40% {
        transform: scale(1.2);
        opacity: 1;
    }
}

/* Thinking animation */
.thinking-icon {
    width: 16px;
    height: 16px;
    border: 2px solid var(--color-border);
    border-top: 2px solid var(--color-accent);
    border-radius: 50%;
    animation: thinking 1s linear infinite;
}

@keyframes thinking {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}