:root{--blog-primary:#206be7;--blog-primary-hover:#1852b1;--blog-primary-light:rgba(32,107,231,.1);--blog-secondary:#f9fafb;--blog-accent:#60a5fa;--blog-text:#2d3748;--blog-text-light:#718096;--blog-border:#e2e8f0;--blog-shadow:0 2px 6px rgba(32,107,231,.1);--blog-transition:all 0.3s ease-in-out}.dark{--blog-primary:#60a5fa;--blog-primary-hover:#206be7;--blog-primary-light:rgba(96,165,250,.15);--blog-secondary:#1a202c;--blog-accent:#4299e1;--blog-text:#edf2f7;--blog-text-light:#a0aec0;--blog-border:#4a5568;--blog-shadow:0 4px 12px rgba(0,0,0,.3)}.blog-card{border-radius:.5rem;border:1px solid var(--blog-border);box-shadow:var(--blog-shadow);transition:var(--blog-transition);overflow:hidden;display:flex;flex-direction:column;height:100%}.blog-card,.dark .blog-card{background-color:var(--blog-secondary)}.blog-card:hover{transform:translateY(-3px);box-shadow:0 5px 15px rgba(32,107,231,.2)}.blog-title{font-size:1.25rem;font-weight:600;color:var(--blog-text);margin-bottom:.5rem;transition:color .2s ease-in-out}.blog-title:hover{color:var(--blog-primary)}.blog-content{font-size:.9rem;line-height:1.5;color:var(--blog-text-light);flex-grow:1;padding:0 1rem 1rem}.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4{color:var(--blog-text);font-weight:500;margin-top:1.25rem;margin-bottom:.6rem}.blog-content h1{font-size:1.75rem;border-bottom:1px solid var(--blog-primary-light);padding-bottom:.4rem}.blog-content h2{font-size:1.4rem}.blog-content h3{font-size:1.15rem;color:var(--blog-primary)}.blog-content h4{font-size:1rem}.blog-content p{margin-bottom:.8rem}.blog-content a{color:var(--blog-primary);text-decoration:none;transition:color .2s ease-in-out;border-bottom:1px dashed var(--blog-primary-light)}.blog-content a:hover{color:var(--blog-primary-hover);border-bottom-color:var(--blog-primary)}.blog-content blockquote{border-left:3px solid var(--blog-primary);padding:.4rem .8rem;margin:.8rem 0;background-color:var(--blog-primary-light);font-style:italic;color:var(--blog-text);border-radius:.2rem}.blog-content pre{background-color:#2d3748;color:#cbd5e0;padding:.8rem;border-radius:.4rem;overflow-x:auto;margin:.8rem 0;font-size:.85rem}.blog-content code{font-family:monospace;background-color:var(--blog-primary-light);color:var(--blog-primary);padding:.15rem .3rem;border-radius:.15rem;font-size:.85rem}.blog-content pre code{background-color:transparent;color:#cbd5e0}.blog-content ol,.blog-content ul{margin-left:1.2rem;margin-bottom:.8rem;color:var(--blog-text-light)}.blog-content ul li::marker{color:var(--blog-primary)}.blog-content img{max-width:100%;height:auto;border-radius:.4rem;margin:.8rem 0;box-shadow:var(--blog-shadow);transition:transform .3s ease-in-out}.blog-content img:hover{transform:scale(1.02)}.w-md-editor-toolbar{background-color:var(--blog-secondary)!important;border-bottom:1px solid var(--blog-border)!important;border-radius:.3rem .3rem 0 0!important;padding:.4rem!important}.w-md-editor-toolbar ul li button{color:var(--blog-text)!important;transition:all .2s ease-in-out!important;border-radius:.2rem!important;padding:.3rem!important}.w-md-editor-toolbar ul li button:hover{color:var(--blog-primary)!important;background-color:var(--blog-primary-light)!important}.w-md-editor-content{background-color:var(--blog-secondary)!important;border-radius:0 0 .3rem .3rem!important}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:var(--blog-primary-light) transparent}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:var(--blog-primary-light);border-radius:.2rem}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--blog-primary)}.blog-fade-in{animation:fadeIn .3s ease-out forwards}.blog-outline{position:sticky;top:2rem;max-height:calc(100vh - 7rem);overflow-y:auto;padding:.8rem;margin-left:1rem;border-left:2px solid var(--blog-primary);background-color:var(--blog-secondary);border-radius:.3rem;box-shadow:var(--blog-shadow);transition:var(--blog-transition)}.blog-outline:hover{box-shadow:0 4px 12px rgba(32,107,231,.2)}.dark .blog-outline{background-color:#1a202c}.blog-outline-nav{position:sticky;top:2rem;align-self:flex-start;width:100%;max-height:calc(100vh - 4rem);overflow-y:auto;padding-right:.2rem;font-family:sans-serif}.blog-outline-nav a{display:block;color:var(--blog-text-light);text-decoration:none;border-left:2px solid transparent;padding:.3rem 0 .3rem .6rem;margin:.05rem 0;transition:var(--blog-transition);font-size:.8rem;line-height:1.2}.blog-outline-nav a.active,.blog-outline-nav a:hover{color:var(--blog-primary);border-left:2px solid var(--blog-primary);background-color:var(--blog-primary-light);border-radius:0 .2rem .2rem 0}.scrollbar-thin::-webkit-scrollbar{width:3px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:rgba(32,107,231,.3);border-radius:9999px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:rgba(32,107,231,.5)}.dark .scrollbar-thin::-webkit-scrollbar-thumb{background-color:rgba(96,165,250,.3)}.dark .scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:rgba(96,165,250,.5)}.scrollbar-hidden{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hidden::-webkit-scrollbar{display:none}.blog-article-container{overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior-y:none}.blog-article-container::-webkit-scrollbar{width:4px}.blog-article-container::-webkit-scrollbar-track{background-color:transparent}.blog-article-container::-webkit-scrollbar-thumb{background-color:rgba(32,107,231,.15);border-radius:9999px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.blog-article-container:hover::-webkit-scrollbar-thumb{background-color:rgba(32,107,231,.3)}.dark .blog-article-container::-webkit-scrollbar-thumb{background-color:rgba(96,165,250,.2)}.dark .blog-article-container:hover::-webkit-scrollbar-thumb{background-color:rgba(96,165,250,.4)}@media (min-width:1024px){.blog-article-container{max-height:calc(100vh - 80px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .25s ease-out forwards}@media (max-width:768px){.blog-outline{display:none}.blog-content{padding:.5rem}.blog-title{font-size:1.1rem}}