.progress-container{width:100%;height:3px;background:#e5e7eb;border-radius:3px;margin-bottom:1rem;position:relative}.progress-bar{height:100%;width:100%;background:linear-gradient(to right,#007bff 50%,transparent 50%);background-size:200% 100%;background-position:100% 0;border-radius:2px}@supports (animation-timeline: scroll()){.progress-bar{animation-name:progress-scroll;animation-timing-function:linear;animation:progress-scroll 1s linear forwards;animation-timeline:scroll(root)}@keyframes progress-scroll{0%{background-position:100% 0}to{background-position:0 0}}}@supports not (animation-timeline: scroll()){.progress-bar{background:#6c757d;width:0%;background-position:initial;background-size:initial}}.toc-container a{display:block;padding:.5rem .75rem;color:#4b5563;text-decoration:none;border-left:3px solid transparent;margin:.25rem 0;border-radius:.25rem;transition:color .2s,background-color .2s,border-left-color .2s}.toc-container a:hover{color:#1f1f1f!important;background-color:#1f1f1f0d!important;font-weight:600!important;border-left-color:#1f1f1f!important}.toc-container a.active-section{color:#1e40af!important;border-left-color:#1e40af!important;background-color:#dbeafe80!important;font-weight:600!important}.toc-container{max-height:calc(100vh - 8rem);overflow-y:auto;padding:.5rem;font-size:.875rem;scrollbar-width:thin}aside.toc-sidebar{position:sticky;top:2rem;height:-moz-fit-content;height:fit-content;align-self:flex-start}.toc-container::-webkit-scrollbar{width:4px}.toc-container::-webkit-scrollbar-track{background:#f1f5f9}.toc-container::-webkit-scrollbar-thumb{background-color:#3b82f6;border-radius:20px}.toc-container *{line-height:1.6}.blog-content{line-height:1.85;color:#2a2723}.blog-content p{margin-bottom:1.5rem}.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;letter-spacing:-.01em}.blog-content h2{font-size:1.875rem;font-weight:700;margin-top:2.5rem;margin-bottom:1.5rem;color:#1a365d}.blog-content h3{font-size:1.5rem;font-weight:700;margin-top:2rem;margin-bottom:1.25rem;color:#1a365d}.blog-content ul,.blog-content ol{margin-bottom:1.5rem;padding-left:1.5rem}.blog-content li{margin-bottom:.5rem}.blog-content a{color:#145b58;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}.blog-content img{max-width:100%;height:auto;border-radius:1rem;border:1px solid #d9d2c8;margin:1.5rem 0}.blog-content blockquote{border-left:4px solid #3b2a2c;padding:1.1rem 1.25rem;font-style:italic;margin:1.75rem 0;color:#4a5568;background:linear-gradient(180deg,#3b2a2c0f,#3b2a2c08);border-radius:0 1rem 1rem 0}.blog-content table{width:100%;border-collapse:collapse;min-width:38rem;background:#fff;border:1px solid #ddd5ca}.blog-content th,.blog-content td{border:1px solid #e6dfd5;padding:.8rem .9rem;text-align:left;vertical-align:top}.blog-content th{background:#f3ede4;color:#241f1b;font-weight:700}.blog-content .overflow-x-auto{overflow-x:auto;border-radius:1rem;border:1px solid #ddd5ca;background:#fff;margin:2rem 0;box-shadow:0 14px 36px #1f1f1f0d}.blog-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem;align-items:start}@media (min-width: 1120px){.blog-shell{grid-template-columns:minmax(0,1.12fr) 18rem;gap:3.25rem}}@media (min-width: 1280px){.blog-shell{grid-template-columns:minmax(0,48rem) 18.5rem}}@media (max-width: 1023px){.blog-content table{min-width:32rem}}.article-meta{font-size:.875rem;color:#64748b}.category-tag{display:inline-block;padding:.25rem .75rem;background-color:#e2e8f0;color:#1a365d;border-radius:9999px;font-size:.75rem;font-weight:600;margin-right:.5rem;margin-bottom:.5rem;transition:background-color .2s}.category-tag:hover{background-color:#cbd5e1}.card-dark{background-color:#3b2a2c;color:#f6f3ee;border-radius:.75rem;box-shadow:0 2px 8px #00000040;border:1px solid rgba(246,243,238,.08)}.card-dark h2{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;color:#f6f3ee}.card-dark .muted{color:#e8e2da}.btn-light{background:#fff;color:#3b2a2c;border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem 1rem;font-weight:600}.btn-light:hover{background:#f8fafc}
