@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Source+Sans+Pro:wght@300;400;600&display=swap');

/* Typography Defaults */
h1, h2, h3, h4, .serif {
    font-family: 'Playfair Display', serif;
}

body {
    font-family: 'Source Sans Pro', sans-serif;
}

/* Application Layout */
.chart-container {
    position: relative;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    height: 350px;
}

/* Interactive Elements */
.symbol-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.symbol-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

/* Animations */
.fade-in {
    animation: fadeIn 0.5s ease-out forwards;
}

@keyframes fadeIn {
    from { 
        opacity: 0; 
        transform: translateY(10px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

.loading-dots:after {
    content: '.';
    animation: dots 1.5s steps(5, end) infinite;
}

@keyframes dots {
    0%, 20% { content: '.'; }
    40% { content: '..'; }
    60% { content: '...'; }
    80%, 100% { content: ''; }
}

/* Scrollbar Styling */
#chat-window::-webkit-scrollbar {
    width: 4px;
}

#chat-window::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}

#chat-window::-webkit-scrollbar-track {
    background: transparent;
}