/* Custom Scrollbar */
        ::-webkit-scrollbar {
            width: 6px;
        }

        ::-webkit-scrollbar-track {
            background: transparent;
        }

        ::-webkit-scrollbar-thumb {
            background: #27272a;
            border-radius: 3px;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: #52525b;
        }

        .custom-scrollbar {
            scrollbar-width: thin;
            scrollbar-color: #27272a transparent;
        }

        html {
            scroll-behavior: smooth;
        }

        /* Typography Overrides for Markdown */
        .prose {
            max-width: none;
        }

        .prose h1 {
            font-size: 2.25rem;
            font-weight: 800;
            letter-spacing: -0.025em;
            color: white;
            margin-bottom: 1.5rem;
            margin-top: 0;
        }

        .prose h2 {
            font-size: 1.5rem;
            font-weight: 700;
            color: #f4f4f5;
            margin-top: 2.5rem;
            margin-bottom: 1rem;
            letter-spacing: -0.025em;
            border-bottom: 1px solid #27272a;
            padding-bottom: 0.5rem;
        }

        .prose h3 {
            font-size: 1.25rem;
            font-weight: 600;
            color: #e4e4e7;
            margin-top: 2rem;
            margin-bottom: 0.75rem;
        }

        .prose h4 {
            font-size: 1.1rem;
            font-weight: 600;
            color: #d4d4d8;
            margin-top: 1.5rem;
            margin-bottom: 0.5rem;
        }

        .prose p {
            color: #a1a1aa;
            line-height: 1.75;
            margin-bottom: 1.25rem;
        }

        .prose ul,
        .prose ol {
            color: #a1a1aa;
            margin-bottom: 1.25rem;
            padding-left: 1.5rem;
        }

        .prose li {
            margin-bottom: 0.5rem;
            line-height: 1.7;
        }

        .prose strong {
            color: #fbbf24;
            font-weight: 600;
        }

        .prose a {
            color: #fbbf24;
            text-decoration: none;
            border-bottom: 1px dashed #fbbf24;
            transition: 0.2s;
        }

        .prose a:hover {
            color: white;
            border-bottom-style: solid;
        }

        .prose code {
            background-color: #27272a;
            color: #fbbf24;
            padding: 0.2rem 0.4rem;
            border-radius: 4px;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.85em;
            font-weight: 500;
        }

        .prose pre {
            background-color: #18181b !important;
            border: 1px solid #27272a;
            border-radius: 8px;
            margin-top: 1rem;
            margin-bottom: 1.5rem;
            padding: 1rem;
            overflow-x: auto;
        }

        .prose pre code {
            background-color: transparent;
            color: inherit;
            padding: 0;
            font-size: 0.9em;
        }

        .prose blockquote {
            border-left: 3px solid #fbbf24;
            background: rgba(251, 191, 36, 0.05);
            padding: 1rem;
            color: #d4d4d8;
            font-style: normal;
            border-radius: 0 8px 8px 0;
            margin-bottom: 1.5rem;
        }

        .prose img {
            border-radius: 8px;
            border: 1px solid #27272a;
            box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
            max-width: 100%;
            height: auto;
            margin: 1.5rem 0;
        }

        .prose table {
            width: 100%;
            border-collapse: collapse;
            margin: 1.5rem 0;
        }

        .prose table th,
        .prose table td {
            border: 1px solid #27272a;
            padding: 0.75rem;
            text-align: left;
        }

        .prose table th {
            background-color: #18181b;
            color: #fbbf24;
            font-weight: 600;
        }

        .prose table td {
            color: #a1a1aa;
        }

        /* Active Sidebar Link */
        .sidebar-link-active {
            color: #fbbf24 !important;
            border-left-color: #fbbf24 !important;
            background: linear-gradient(90deg, rgba(251, 191, 36, 0.1) 0%, transparent 100%);
        }

        /* Mobile Improvements */
        @media (max-width: 768px) {
            .prose h1 {
                font-size: 1.75rem;
            }

            .prose h2 {
                font-size: 1.35rem;
            }

            .prose h3 {
                font-size: 1.15rem;
            }

            .prose pre {
                font-size: 0.8rem;
            }
        }

        /* Search Results Dropdown */
        .search-results {
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background: #18181b;
            border: 1px solid #27272a;
            border-radius: 8px;
            margin-top: 0.5rem;
            max-height: 400px;
            overflow-y: auto;
            box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.5);
            z-index: 50;
        }

        .search-result-item {
            padding: 0.75rem 1rem;
            border-bottom: 1px solid #27272a;
            cursor: pointer;
            transition: background 0.2s;
        }

        .search-result-item:hover {
            background: rgba(251, 191, 36, 0.1);
        }

        .search-result-item:last-child {
            border-bottom: none;
        }

        .search-result-category {
            font-size: 0.7rem;
            color: #71717a;
            text-transform: uppercase;
            font-weight: 600;
            letter-spacing: 0.05em;
        }

        .search-result-title {
            color: #e4e4e7;
            font-weight: 500;
            margin-top: 0.25rem;
        }

        .search-result-match {
            font-size: 0.75rem;
            color: #a1a1aa;
            margin-top: 0.25rem;
            font-style: italic;
        }

        .search-highlight {
            background: rgba(251, 191, 36, 0.3);
            color: #fbbf24;
            padding: 0.1rem 0.2rem;
            border-radius: 2px;
            font-weight: 600;
        }
