@tailwind base;@tailwind components;@tailwind utilities;@layer base{html {
        @apply scroll-smooth;
    }

    body {
        @apply font-sans text-gray-800 bg-white;
    }

    h1, h2, h3, h4, h5, h6 {
        @apply font-bold text-gray-900;
    }

    h1 {
        @apply text-4xl mb-6;
    }

    h2 {
        @apply text-3xl mb-4 mt-8;
    }

    h3 {
        @apply text-2xl mb-3 mt-6;
    }

    h4 {
        @apply text-xl mb-2 mt-4;
    }

    p {
        @apply mb-4;
    }

    a {
        @apply text-indigo-600 hover:text-indigo-800 transition-colors;
    }

    ul, ol {
        @apply pl-5 mb-4;
    }

    ul {
        @apply list-disc;
    }

    ol {
        @apply list-decimal;
    }

    blockquote {
        @apply pl-4 border-l-4 border-indigo-300 text-gray-600 italic my-4;
    }
}@layer components{.btn {
        @apply inline-flex items-center justify-center px-5 py-2.5 font-medium rounded-lg transition-colors;
    }

    .btn-primary {
        @apply bg-indigo-600 text-white hover:bg-indigo-700;
    }

    .btn-secondary {
        @apply bg-gray-200 text-gray-800 hover:bg-gray-300;
    }

    .btn-outline {
        @apply border border-indigo-600 text-indigo-600 hover:bg-indigo-50;
    }

    
    .card {
        @apply bg-white rounded-lg shadow-md overflow-hidden transition-all;
    }

    .card:hover {
        @apply shadow-lg transform -translate-y-1;
    }

    
    .badge {
        @apply inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium;
    }

    .badge-blue {
        @apply bg-blue-100 text-blue-800;
    }

    .badge-green {
        @apply bg-green-100 text-green-800;
    }

    .badge-yellow {
        @apply bg-yellow-100 text-yellow-800;
    }

    .badge-red {
        @apply bg-red-100 text-red-800;
    }
}@layer utilities{.wave {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100px;
        background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23ffffff' fill-opacity='1' d='M0,288L48,272C96,256,192,224,288,197.3C384,171,480,149,576,165.3C672,181,768,235,864,250.7C960,267,1056,245,1152,208C1248,171,1344,117,1392,90.7L1440,64L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");
        background-size: cover;
        background-repeat: no-repeat;
    }

    
    .prose img {
        @apply rounded-lg shadow-md;
    }

    .prose h2, .prose h3, .prose h4 {
        @apply text-indigo-900;
    }

    .prose pre {
        @apply bg-gray-900 text-gray-100 rounded-lg;
    }

    .prose code {
        @apply bg-gray-100 text-indigo-800 px-1 py-0.5 rounded text-sm;
    }

    .prose pre code {
        @apply bg-transparent text-gray-100 p-0;
    }

    
    .toc a.active {
        @apply text-indigo-600 font-medium border-l-2 border-indigo-500 pl-2 -ml-2;
    }
}.header-anim{background:linear-gradient(90deg,#4338ca,#6366f1,#4f46e5);background-size:200% 200%;animation:gradient 15s ease infinite}@keyframes gradient{0%{background-position:0}50%{background-position:100%}100%{background-position:0}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{@apply bg-gray-100}::-webkit-scrollbar-thumb{@apply bg-indigo-300 rounded-full}::-webkit-scrollbar-thumb:hover{@apply bg-indigo-400}.prose{color:#374151;line-height:1.75}.prose h1{color:#1e293b;font-weight:800;font-size:2.25em;margin-top:1.5em;margin-bottom:.8em;line-height:1.1}.prose h2{color:#1e293b;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:.8em;line-height:1.3;border-bottom:1px solid #e5e7eb;padding-bottom:.5em}.prose h3{color:#1e293b;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose h4{color:#1e293b;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose ul{margin-top:1.25em;margin-bottom:1.25em;list-style-type:disc;padding-left:1.625em}.prose ol{margin-top:1.25em;margin-bottom:1.25em;list-style-type:decimal;padding-left:1.625em}.prose li{margin-top:.5em;margin-bottom:.5em}.prose blockquote{font-style:italic;color:#4b5563;border-left-width:.25rem;border-left-color:#e5e7eb;quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose pre{color:#e5e7eb;background-color:#1e293b;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose code{color:#4b5563;font-weight:600;font-size:.875em;background-color:#f3f4f6;padding:.25em .4em;border-radius:.25rem}.prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit}.prose a{color:#4f46e5;font-weight:500}.prose a:hover{color:#4338ca}.prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857;border-collapse:collapse}.prose table thead{color:#1e293b;font-weight:600;border-bottom-width:1px;border-bottom-color:#d1d5db}.prose table th{vertical-align:bottom;padding:.75em;text-align:left}.prose table td{vertical-align:top;padding:.75em;border-top-width:1px;border-top-color:#e5e7eb}.prose hr{border-color:#e5e7eb;margin-top:3em;margin-bottom:3em}.prose img{margin-top:2em;margin-bottom:2em;border-radius:.375rem}.prose figure{margin-top:2em;margin-bottom:2em}.prose figure>*{margin-top:0;margin-bottom:0}.prose figcaption{color:#6b7280;font-size:.875em;line-height:1.4285714;margin-top:.8571429em;text-align:center}.steps{counter-reset:step}.steps h3{position:relative;padding-left:3rem;margin-bottom:1.5rem}.steps h3::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:9999px;background-color:#4f46e5;color:#fff;font-weight:700;font-size:.875rem;z-index:1}.steps h3::after{content:'';position:absolute;left:.9375rem;top:2rem;bottom:-1.5rem;width:2px;background-color:#e0e7ff;z-index:0}.steps h3:last-of-type::after{display:none}