/* ============================================================
   BOB - shared assistant identity styles
   Siri-style circular wave orb used across all BOB surfaces.
   ============================================================ */

.bob-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #c97bbf;
}

.bob-btn-orb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 0;
}

/* ---- Circular wave orb (Siri-like) ---- */

.bob-wave-orb {
    --bob-orb-size: 48px;
    position: relative;
    width: var(--bob-orb-size);
    height: var(--bob-orb-size);
    flex: 0 0 auto;
    border-radius: 50%;
    overflow: visible;
}

.bob-wave-orb__glow {
    position: absolute;
    inset: 20%;
    border-radius: 50%;
    background: radial-gradient(
        circle at 42% 38%,
        rgba(244, 214, 238, 0.95) 0%,
        rgba(201, 123, 191, 0.72) 42%,
        rgba(122, 58, 135, 0.28) 68%,
        transparent 78%
    );
    filter: blur(0.4px);
    animation: bob-wave-glow 3.6s ease-in-out infinite;
}

.bob-wave-orb__ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid transparent;
    opacity: 0.9;
    animation: bob-wave-spin 2.8s linear infinite;
}

.bob-wave-orb__ring--1 {
    border-top-color: rgba(230, 199, 224, 0.92);
    border-right-color: rgba(167, 78, 158, 0.42);
    border-bottom-color: rgba(122, 58, 135, 0.18);
    border-left-color: rgba(201, 123, 191, 0.55);
}

.bob-wave-orb__ring--2 {
    inset: 11%;
    animation-duration: 3.6s;
    animation-direction: reverse;
    border-top-color: rgba(201, 123, 191, 0.75);
    border-right-color: rgba(167, 78, 158, 0.28);
    border-bottom-color: rgba(230, 199, 224, 0.45);
    border-left-color: rgba(122, 58, 135, 0.2);
}

.bob-wave-orb__ring--3 {
    inset: 22%;
    animation-duration: 2.2s;
    border-width: 1.5px;
    border-top-color: rgba(244, 214, 238, 0.82);
    border-right-color: rgba(167, 78, 158, 0.35);
    border-bottom-color: transparent;
    border-left-color: rgba(201, 123, 191, 0.48);
}

.bob-wave-orb__ring--4 {
    inset: 33%;
    animation-duration: 4.1s;
    animation-direction: reverse;
    border-width: 1.5px;
    border-top-color: rgba(167, 78, 158, 0.55);
    border-right-color: transparent;
    border-bottom-color: rgba(230, 199, 224, 0.4);
    border-left-color: rgba(122, 58, 135, 0.25);
}

.bob-wave-orb[data-bob-mode="thinking"] .bob-wave-orb__glow {
    animation-duration: 1.4s;
}

.bob-wave-orb[data-bob-mode="thinking"] .bob-wave-orb__ring {
    animation-duration: 1.1s;
    opacity: 1;
}

.bob-wave-orb[data-bob-mode="thinking"] .bob-wave-orb__ring--2 {
    animation-duration: 1.45s;
}

.bob-wave-orb[data-bob-mode="thinking"] .bob-wave-orb__ring--3 {
    animation-duration: 0.95s;
}

.bob-wave-orb[data-bob-mode="thinking"] .bob-wave-orb__ring--4 {
    animation-duration: 1.65s;
}

@keyframes bob-wave-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes bob-wave-glow {
    0%, 100% {
        transform: scale(0.94);
        opacity: 0.82;
    }
    50% {
        transform: scale(1.06);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bob-wave-orb__ring,
    .bob-wave-orb__glow {
        animation: none !important;
    }
}
