/* ChatGPT Assistent Styles - Verbesserte Version */
#chatgpt-assistant {
    font-family: 'Inter', sans-serif;
}

#assistant-chat {
    transition: max-height 0.4s cubic-bezier(0.25, 0.1, 0.25, 1), 
                opacity 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.25);
    border-radius: 0.75rem;
    overflow: hidden;
    max-width: calc(100vw - 2rem);
}

#assistant-toggle {
    transition: transform 0.3s ease, background-color 0.2s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 60;
}

#assistant-toggle:hover {
    transform: scale(1.1) rotate(10deg);
}

#assistant-history {
    scrollbar-width: thin;
    scrollbar-color: rgba(156, 163, 175, 0.5) transparent;
}

#assistant-history::-webkit-scrollbar {
    width: 6px;
}

#assistant-history::-webkit-scrollbar-track {
    background: transparent;
}

#assistant-history::-webkit-scrollbar-thumb {
    background-color: rgba(156, 163, 175, 0.5);
    border-radius: 3px;
}

.dark #assistant-history::-webkit-scrollbar-thumb {
    background-color: rgba(156, 163, 175, 0.3);
}

/* Verbesserte Message-Bubbles mit Schatten und Animation */
#assistant-history .flex > div {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    animation: messageAppear 0.3s ease-out forwards;
    opacity: 0;
    transform: translateY(10px);
}

@keyframes messageAppear {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Verzögerte Animation für Messages */
#assistant-history .flex:nth-child(1) > div { animation-delay: 0.05s; }
#assistant-history .flex:nth-child(2) > div { animation-delay: 0.1s; }
#assistant-history .flex:nth-child(3) > div { animation-delay: 0.15s; }
#assistant-history .flex:nth-child(4) > div { animation-delay: 0.2s; }
#assistant-history .flex:nth-child(5) > div { animation-delay: 0.25s; }

/* Vorschläge styling */
#assistant-suggestions {
    padding: 0.5rem 0.75rem;
    transition: all 0.3s ease;
}

.suggestion-pill {
    animation: pillAppear 0.4s ease forwards;
    opacity: 0;
    transform: scale(0.9);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

@keyframes pillAppear {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Styling für verschiedene Verzögerungen bei Vorschlägen */
#assistant-suggestions button:nth-child(1) { animation-delay: 0.1s; }
#assistant-suggestions button:nth-child(2) { animation-delay: 0.2s; }
#assistant-suggestions button:nth-child(3) { animation-delay: 0.3s; }

/* Mach Platz für Notifications, damit sie nicht mit dem Assistenten überlappen */
.notification-area {
    bottom: 5rem;
}

/* Verbesserte Glassmorphism-Effekt */
.glass-morphism {
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.dark .glass-morphism {
    background: rgba(15, 23, 42, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.06);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4);
}

/* Verbesserte Farbpalette für Dark Theme */
.dark {
    --tw-bg-opacity: 1;
    background-color: rgba(10, 15, 25, var(--tw-bg-opacity)) !important;
    min-height: 100vh;
}

.dark .bg-dark-900 {
    --tw-bg-opacity: 1;
    background-color: rgba(10, 15, 25, var(--tw-bg-opacity)) !important;
}

.dark .bg-dark-800 {
    --tw-bg-opacity: 1;
    background-color: rgba(15, 23, 42, var(--tw-bg-opacity)) !important;
}

.dark .bg-dark-700 {
    --tw-bg-opacity: 1;
    background-color: rgba(23, 33, 64, var(--tw-bg-opacity)) !important;
}

/* Typing Indicator Animation Styles */
.typing-indicator {
    display: flex;
    align-items: center;
}

.typing-indicator span {
    height: 8px;
    width: 8px;
    background-color: #888;
    border-radius: 50%;
    display: inline-block;
    margin: 0 2px;
    opacity: 0.4;
    animation: bounce 1.4s infinite ease-in-out;
}

.typing-indicator span:nth-child(1) { animation-delay: 0s; }
.typing-indicator span:nth-child(2) { animation-delay: 0.2s; }
.typing-indicator span:nth-child(3) { animation-delay: 0.4s; }

@keyframes bounce {
    0%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-8px); }
}

/* Chat Input Fokus-Effekt */
#assistant-chat input:focus {
    border-color: var(--primary-500, #3B82F6);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.25);
}

.dark #assistant-chat input:focus {
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.4);
}

/* Verbesserte Responsive Layouts */
@media (max-width: 640px) {
    #assistant-chat {
        width: calc(100vw - 2rem) !important;
    }
    
    #chatgpt-assistant {
        right: 1rem;
        bottom: 1rem;
    }
}

/* Footer immer unten */
html, body {
    height: 100%;
    margin: 0;
    min-height: 100vh;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1 0 auto;
}

footer {
    flex-shrink: 0;
} 