/*
 * Bileşen: AI Ally Recommendation (Web Teması için)
 * Amaç: Eklentideki AI Ally'nin modern, animasyonlu ve genişletilebilir yapısını web sitesine taşır.
 */

.ai-ally-container {
    background-color: var(--color-background);
    border: 1px solid var(--color-border-medium);
    border-radius: var(--border-radius-md);
    padding: var(--space-m);
    font-size: var(--font-size-200);
    line-height: var(--line-height-loose);
    color: var(--color-text-muted);
    overflow: hidden;
    position: relative;
    transition: padding-bottom var(--duration-slow) var(--timing-function-base);
}

.ai-ally-header {
    display: flex;
    align-items: center;
    gap: var(--space-2xs);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-base);
    margin-bottom: var(--space-xs);
}

.ai-ally-header .material-symbols-rounded {
    color: var(--color-primary);
    font-size: var(--font-size-700);
    animation: pulse 2s infinite;
}

.ai-ally-generating-view {
    opacity: 1;
    transition: opacity var(--duration-base) var(--timing-function-smooth);
}

.ai-ally-container:not(.generating) .ai-ally-generating-view {
    display: none;
}

.ai-ally-generating-text {
    font-style: italic;
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-200);
    color: var(--color-text-muted);
    margin-bottom: var(--space-xs);
}

.ai-ally-skeleton__line {
    height: 14px;
    border-radius: var(--border-radius-xs);
    animation: skeleton-pulse 1.5s ease-in-out infinite;
    margin-top: var(--space-2xs);
}

.ai-ally-content {
    opacity: 0;
    transform: translateY(10px);
    transition: all var(--duration-slow) var(--timing-function-smooth);
    max-height: 90px;
    overflow: hidden;
    position: relative;
}

.ai-ally-container:not(.generating) .ai-ally-content {
    opacity: 1;
    transform: translateY(0);
}

.ai-ally-container.collapsible .ai-ally-content {
    -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
}

.ai-ally-container.collapsible.expanded .ai-ally-content {
    max-height: 1000px;
    -webkit-mask-image: none;
    mask-image: none;
}

.ai-ally-expander {
    margin-top: calc(-1 * var(--space-xs));
}

.ai-ally-expand-button {
    background: none;
    border: none;
    color: var(--color-primary);
    font-weight: var(--font-weight-bold);
    cursor: pointer;
    padding: var(--space-2xs) 0 0 0;
    font-size: var(--font-size-200);
    display: block;
}

@keyframes skeleton-pulse {
  0% { background-color: var(--color-background-soft); }
  50% { background-color: var(--color-border-light); }
  100% { background-color: var(--color-background-soft); }
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}