        @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=JetBrains+Mono:wght@400;600&display=swap');

        :root {
            --bg: #050505;
            --panel: #0a0a0a;
            --text: #e5e7eb;
            --muted: #9ca3af;
            --accent: #8b5cf6;
            --border: rgba(255, 255, 255, 0.1);
        }

        html,
        body {
            margin: 0;
            padding: 0;
            background: var(--bg);
            color: var(--text);
            font-family: 'Space Grotesk', sans-serif;
            overflow-x: hidden;
        }

        html {
            scroll-behavior: auto;
            scroll-padding-top: 96px;
        }

        body {
            cursor: default;
        }

        .theme-root.theme-light {
            background: #f4f7ff !important;
            color: #334155 !important;
        }

        .theme-root.theme-light .mix-blend-difference,
        .theme-root.theme-light .mix-blend-screen {
            mix-blend-mode: normal;
        }

        .theme-root.theme-light [class*="bg-[#050505]"] {
            background-color: #f4f7ff !important;
        }

        .theme-root.theme-light [class*="bg-[#0a0a0a]"],
        .theme-root.theme-light [class*="bg-[#111111]"] {
            background-color: #ffffff !important;
        }

        .theme-root.theme-light [class*="bg-white/5"],
        .theme-root.theme-light [class*="bg-white/[0.03]"],
        .theme-root.theme-light [class*="bg-white/[0.02]"] {
            background-color: rgba(15, 23, 42, 0.04) !important;
        }

        .theme-root.theme-light [class*="bg-black/60"] {
            background-color: rgba(255, 255, 255, 0.88) !important;
        }

        .theme-root.theme-light [class*="border-white/10"],
        .theme-root.theme-light [class*="border-white/5"],
        .theme-root.theme-light [class*="border-white/40"],
        .theme-root.theme-light [class*="border-white/[0.15]"] {
            border-color: rgba(15, 23, 42, 0.16) !important;
        }

        .theme-root.theme-light [class*="text-white"] {
            color: #0f172a !important;
        }

        .theme-root.theme-light [class*="text-gray-200"] {
            color: #334155 !important;
        }

        .theme-root.theme-light [class*="text-gray-300"] {
            color: #334155 !important;
        }

        .theme-root.theme-light [class*="text-gray-400"] {
            color: #475569 !important;
        }

        .theme-root.theme-light [class*="text-gray-500"],
        .theme-root.theme-light [class*="text-gray-600"] {
            color: #64748b !important;
        }

        .theme-root.theme-light [class*="bg-[#8b5cf6]"] {
            color: #ffffff !important;
        }

        .theme-root.theme-light .chat-user-bubble {
            color: #ffffff !important;
        }

        .font-mono {
            font-family: 'JetBrains Mono', monospace;
        }

        ::-webkit-scrollbar {
            width: 8px;
        }

        ::-webkit-scrollbar-track {
            background: #070707;
        }

        ::-webkit-scrollbar-thumb {
            background: #2a2a2a;
            border-radius: 999px;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: #3b3b3b;
        }

        .line-clamp-3 {
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .line-clamp-2 {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .scrollbar-hide::-webkit-scrollbar {
            display: none;
        }

        .scrollbar-hide {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        .section-reveal {
            opacity: 0;
            transform: translateY(26px);
            transition: opacity 700ms ease, transform 700ms ease;
            transition-delay: 80ms;
            will-change: opacity, transform;
        }

        .section-reveal.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        .section-tone {
            opacity: 1;
            transform: none;
            transition: opacity 180ms ease;
            will-change: opacity, transform;
        }

        .section-tone.is-active {
            opacity: 1;
            transform: none;
        }

        @media (min-width: 1024px) {
            body.snap-enabled {
                scroll-snap-type: y proximity;
                overscroll-behavior-y: none;
            }

            .snap-section {
                scroll-snap-align: start;
            }
        }

        .focus-ring:focus-visible {
            outline: 2px solid #8b5cf6;
            outline-offset: 2px;
        }

        .noise-overlay {
            background-image: url('https://grainy-gradients.vercel.app/noise.svg');
            background-size: 180px;
        }

        @media (prefers-reduced-motion: reduce) {
            *,
            *::before,
            *::after {
                animation-duration: 0.001ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.001ms !important;
                scroll-behavior: auto !important;
            }

            .section-reveal {
                opacity: 1;
                transform: none;
            }

            .section-tone {
                opacity: 1;
                transform: none;
            }
        }
