article>header h1{font-size:2.625rem;font-weight:900;color:#111827;line-height:1.1;letter-spacing:-.025em;margin-bottom:1.5rem}@media(min-width:640px){article>header h1{font-size:3.15rem}}@media(min-width:1024px){article>header h1{font-size:4.2rem}}@media(min-width:1280px){article>header h1{font-size:5.6rem}}.dark article>header h1{color:#fff}article>header p{margin-bottom:2rem}.article-content{font-size:1.125rem;line-height:1.8;color:#374151}.dark .article-content{color:#d1d5db}.article-content h2{font-size:2rem;font-weight:700;margin-top:3rem;margin-bottom:1.25rem;color:#111827;line-height:1.3}.dark .article-content h2{color:#f9fafb}.article-content h3{font-size:1.5rem;font-weight:600;margin-top:2.5rem;margin-bottom:1rem;color:#1f2937;line-height:1.4}.dark .article-content h3{color:#f3f4f6}.article-content h4{font-size:1.25rem;font-weight:600;margin-top:2rem;margin-bottom:.875rem;color:#374151;line-height:1.5}.dark .article-content h4{color:#e5e7eb}.article-content p{margin-bottom:1.5rem}.article-content strong{font-weight:600;color:#1f2937}.dark .article-content strong{color:#f3f4f6}.article-content em{font-style:italic}.article-content a{color:#3b82f6;text-decoration:underline;text-decoration-color:#3b82f64d;text-underline-offset:2px;transition:all .2s}.article-content a:hover{color:#2563eb;text-decoration-color:#2563eb99}.dark .article-content a{color:#60a5fa}.dark .article-content a:hover{color:#93c5fd}.article-content ul,.article-content ol{margin-bottom:1.5rem;padding-left:1.5rem}.article-content ul li{list-style-type:disc;margin-bottom:.5rem;padding-left:.5rem}.article-content ol li{list-style-type:decimal;margin-bottom:.5rem;padding-left:.5rem}.article-content blockquote{border-left:4px solid #3b82f6;padding-left:1.5rem;margin:2rem 0;font-style:italic;color:#4b5563;background:#3b82f60d;padding-top:1rem;padding-bottom:1rem;border-radius:0 .5rem .5rem 0}.dark .article-content blockquote{color:#9ca3af;background:#3b82f61a;border-left-color:#60a5fa}.article-content code{padding:.125rem .25rem;border-radius:.25rem;font-family:Courier New,monospace;font-size:.9em;color:#3b82f6;font-weight:500}.dark .article-content code{color:#60a5fa}.article-content pre{background:#f9fafb;color:#1f2937;padding:1.5rem;border-radius:.75rem;overflow-x:auto;margin:2rem 0;border:1px solid #e5e7eb}.dark .article-content pre{background:#1f2937;border-color:#374151;color:#f9fafb}.article-content pre code{background:transparent;padding:0;color:inherit;font-size:.95em;font-weight:400}.article-content img{border-radius:.75rem;margin:2.5rem 0;box-shadow:0 10px 30px -10px #0003}.article-content hr{border:none;height:1px;background:linear-gradient(to right,transparent,#d1d5db,transparent);margin:3rem 0}.dark .article-content hr{background:linear-gradient(to right,transparent,#374151,transparent)}.article-content table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:1rem;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.article-content thead{background:linear-gradient(135deg,#3b82f6,#2563eb)}.article-content th{padding:1rem 1.25rem;text-align:left;font-weight:600;color:#fff;letter-spacing:.025em;border-bottom:2px solid #1d4ed8}.article-content tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s ease}.article-content tbody tr:nth-child(2n){background-color:#3b82f60a}.article-content tbody tr:hover{background-color:#3b82f614}.article-content tbody tr:last-child{border-bottom:none}.article-content td{padding:1rem 1.25rem;color:#374151}.article-content td:first-child{font-weight:500;color:#1f2937}.article-content .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:2rem 0}.article-content .table-wrapper table{margin:0;min-width:500px}.dark .article-content table{box-shadow:0 1px 3px #0000004d}.dark .article-content thead{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.dark .article-content th{border-bottom-color:#1e40af}.dark .article-content tbody tr{border-bottom-color:#374151}.dark .article-content tbody tr:nth-child(2n){background-color:#3b82f614}.dark .article-content tbody tr:hover{background-color:#3b82f626}.dark .article-content td{color:#d1d5db}.dark .article-content td:first-child{color:#f3f4f6}.callout{padding:1.5rem;border-radius:.75rem;margin:2rem 0;border-left:4px solid}.callout-info{background:#3b82f614;border-left-color:#3b82f6}.dark .callout-info{background:#3b82f626;border-left-color:#60a5fa}.callout-warning{background:#fbbf2414;border-left-color:#f59e0b}.dark .callout-warning{background:#fbbf2426;border-left-color:#fbbf24}.callout-success{background:#10b98114;border-left-color:#10b981}.dark .callout-success{background:#10b98126;border-left-color:#34d399}.callout-tip{background:#8b5cf614;border-left-color:#8b5cf6}.dark .callout-tip{background:#8b5cf626;border-left-color:#a78bfa}.toc-link{transition:all .2s}.toc-link:hover{padding-left:.5rem;color:#3b82f6}.reading-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(to right,#3b82f6,#8b5cf6);z-index:100;transition:width .1s ease-out}.related-post-card{transition:box-shadow .3s cubic-bezier(.4,0,.2,1)}.related-post-card:hover{box-shadow:0 20px 40px -12px #3b82f659,0 0 0 1px #3b82f61a}.category-badge{display:inline-block;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:9999px}.category-badge-sm{padding:.375rem .75rem;font-size:.75rem}.svg-container[data-astro-cid-5oj2hk64] svg{max-width:100%;height:auto;overflow:visible}.svg-container[data-astro-cid-5oj2hk64] svg text{font-family:ui-sans-serif,system-ui,sans-serif}.dark .svg-container[data-astro-cid-5oj2hk64] svg .stroke-current{stroke:currentColor}.dark .svg-container[data-astro-cid-5oj2hk64] svg .fill-current{fill:currentColor}
