@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@500;600;700;800&display=swap');

:root {
    --bg-obsidian: #0B0F19;
    --bg-obsidian-900: #0d121f;
    --bg-obsidian-950: #070910;
    --color-indigo-600: #4f46e5;
    --color-indigo-500: #6366f1;
    --color-indigo-400: #818cf8;
    --color-emerald-400: #34d399;
}

*, ::before, ::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background-color: var(--bg-obsidian);
    color: #f1f5f9;
}

.font-display {
    font-family: 'Outfit', 'Inter', system-ui, sans-serif;
}

.bg-obsidian {
    background-color: #0B0F19;
}
.bg-obsidian-900 {
    background-color: #0d121f;
}
.bg-obsidian-950 {
    background-color: #070910;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #0B0F19;
}
::-webkit-scrollbar-thumb {
    background: #1e293b;
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: #334155;
}

/* Waveform Visualizer */
.wave-bar {
    width: 6px;
    border-radius: 4px;
    background: linear-gradient(180deg, #6366f1 0%, #a855f7 100%);
    transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s ease, opacity 0.3s ease;
}

@keyframes pulseWave {
    0%, 100% {
        transform: scaleY(0.4);
        opacity: 0.7;
    }
    50% {
        transform: scaleY(1.1);
        opacity: 1;
    }
}

.wave-active {
    animation: pulseWave 1.4s ease-in-out infinite alternate;
}

.wave-flat {
    height: 6px !important;
    background: #334155 !important;
    opacity: 0.4 !important;
    animation: none !important;
}
