@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400&family=Merriweather:wght@300;400;700;900&family=Source+Serif+4:ital,opsz,wght@0,8..60,300..900;1,8..60,300..900&display=swap');

:root {
    --background: #fafafa;
    --foreground: #216FED;
    --card: #ffffff;
    --card-foreground: #09090b;
    --popover: #ffffff;
    --popover-foreground: #09090b;
    --primary: oklch(0.5705 0.2044 260.0778);
    --primary-foreground: oklch(0.9882 0.0069 88.6415);
    --secondary: #f4f4f5;
    --secondary-foreground: #18181b;
    --muted: #f4f4f5;
    --muted-foreground: #71717a;
    --accent: #f4f4f5;
    --accent-foreground: #18181b;
    --destructive: oklch(0.7136 0.0981 29.9827);
    --destructive-foreground: oklch(0.979 0.0082 91.4818);
    --border: #e4e4e7;
    --input: #e4e4e7;
    --ring: oklch(0.5705 0.2044 260.0778);

    --radius: 0.5rem;
    --font-sans: 'Merriweather', serif;
    --font-serif: 'Source Serif 4', serif;
    --font-mono: 'JetBrains Mono', monospace;
}

body {
    background-color: var(--background);
    color: var(--foreground);
    font-family: var(--font-sans);
    margin: 0;
    padding: 0;
}

.font-sans {
    font-family: var(--font-sans);
}

.font-serif {
    font-family: var(--font-serif);
}

.glass-nav {
    background-color: color-mix(in oklch, var(--background), transparent 20%);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.animate-scroll {
    animation: scroll 40s linear infinite;
    display: flex;
    width: max-content;
}

.animate-scroll:hover {
    animation-play-state: paused;
}

/* Ensure details animation works if Tailwind group-open misses */
details[open] summary svg[data-lucide="chevron-down"],
details[open] summary .lucide-chevron-down {
    transform: rotate(180deg);
}