@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.0mrjj4bg00-he.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.3ms9vq719j3f8.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__iaM1Ya__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__iaM1Ya__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
.blog-container{max-width:1080px;margin:0 auto;padding:0 1.5rem}.blog-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:1.25rem;font-size:.75rem;font-weight:600}.blog-page{background:var(--background);min-height:100vh;color:var(--foreground);padding-top:5.5rem;font-family:Inter,-apple-system,system-ui,sans-serif}.dark .blog-page{background:var(--background);color:var(--foreground)}.blog-hero{border-bottom:1px solid var(--border);background:radial-gradient(80% 60% at 50% -10%,#2563eb12 0%,#0000 70%);padding:4rem 1.5rem 3.5rem}.dark .blog-hero{border-bottom-color:var(--border);background:radial-gradient(80% 60% at 50% -10%,#2563eb24 0%,#0000 70%)}.blog-hero-inner{text-align:center;max-width:700px;margin:0 auto}.blog-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#2563eb;background:#2563eb12;border:1px solid #2563eb4d;border-radius:99px;margin-bottom:1.25rem;padding:.3rem .85rem;font-size:.75rem;font-weight:600;display:inline-block}.dark .blog-eyebrow{color:#3b82f6;background:#3b82f60f;border-color:#3b82f640}.blog-hero-title{letter-spacing:-.035em;color:var(--foreground);margin-bottom:1.25rem;font-size:clamp(1.85rem,5vw,2.85rem);font-weight:600;line-height:1.12}.blog-hero-sub{color:var(--muted-foreground);max-width:560px;margin:0 auto;font-size:1.05rem;line-height:1.7}.dark .blog-hero-sub{color:var(--muted-foreground)}.blog-featured-section{border-bottom:1px solid var(--border);padding:3.5rem 1.5rem 2rem}.dark .blog-featured-section{border-bottom-color:var(--border)}.blog-featured-card{border:1px solid var(--border);background:var(--card);color:inherit;border-radius:1rem;padding:2.25rem;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .18s;display:block;position:relative;overflow:hidden}.dark .blog-featured-card{border-color:var(--border);background:linear-gradient(135deg,#2563eb0f 0%,#191a1be6 50%,#0000 100%)}.dark .blog-featured-card:before{content:"";pointer-events:none;background:radial-gradient(60% 50% at 0 0,#3b82f612 0%,#0000 70%);position:absolute;inset:0}.blog-featured-card:hover{border-color:#2563eb66;transform:translateY(-2px);box-shadow:0 4px 24px #2563eb1a}.dark .blog-featured-card:hover{border-color:#3b82f659;box-shadow:0 4px 32px #3b82f614}.blog-featured-meta{flex-wrap:wrap;align-items:center;gap:.85rem;margin-bottom:1.25rem;display:flex}.blog-featured-title{letter-spacing:-.025em;color:var(--foreground);max-width:720px;margin-bottom:1rem;font-size:clamp(1.3rem,3vw,1.75rem);font-weight:600;line-height:1.25}.dark .blog-featured-title{color:var(--foreground)}.blog-featured-excerpt{color:var(--muted-foreground);max-width:680px;margin-bottom:1.75rem;font-size:1rem;line-height:1.7}.dark .blog-featured-excerpt{color:var(--muted-foreground)}.blog-featured-cta{color:#2563eb;align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;transition:gap .2s,color .2s;display:inline-flex}.dark .blog-featured-cta{color:#3b82f6}.blog-featured-card:hover .blog-featured-cta{color:#3b82f6;gap:.65rem}.dark .blog-featured-card:hover .blog-featured-cta{color:#60a5fa}.blog-grid-section{padding:3rem 1.5rem 4rem}.blog-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.blog-grid--2col{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.blog-card{border:1px solid var(--border);background:var(--card);color:inherit;border-radius:.875rem;flex-direction:column;gap:.75rem;padding:1.75rem;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .18s;display:flex}.dark .blog-card{border-color:var(--border);background:var(--card)}.blog-card:hover{border-color:#2563eb66;transform:translateY(-2px);box-shadow:0 4px 20px #2563eb14}.dark .blog-card:hover{background:var(--secondary);box-shadow:none;border-color:#3b82f64d}.blog-card-meta{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.blog-card-title{letter-spacing:-.015em;color:var(--foreground);flex-grow:1;font-size:1.05rem;font-weight:600;line-height:1.35}.blog-card-excerpt{color:var(--muted-foreground);flex-grow:1;font-size:.875rem;line-height:1.65}.dark .blog-card-excerpt{color:var(--muted-foreground)}.blog-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:.75rem;display:flex}.dark .blog-card-footer{border-top-color:var(--border)}.blog-card-link{color:#2563eb;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;transition:gap .2s;display:inline-flex}.dark .blog-card-link{color:#3b82f6}.blog-card:hover .blog-card-link{gap:.5rem}.blog-card-tags{flex-wrap:wrap;gap:.4rem;margin-top:.25rem;display:flex}.blog-category-pill{letter-spacing:.05em;text-transform:uppercase;color:#2563eb;background:#2563eb17;border:1px solid #2563eb38;border-radius:99px;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-block}.dark .blog-category-pill{color:#3b82f6;background:#3b82f61a;border-color:#3b82f633}.blog-date{color:var(--muted-foreground);font-size:.8rem}.dark .blog-date{color:var(--muted-foreground)}.blog-readtime{color:var(--muted-foreground);align-items:center;gap:.3rem;font-size:.8rem;display:inline-flex}.dark .blog-readtime{color:var(--muted-foreground)}.blog-tag{color:var(--muted-foreground);background:var(--muted);border:1px solid var(--border);border-radius:99px;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.7rem;display:inline-flex}.dark .blog-tag{color:var(--muted-foreground);border-color:var(--border);background:#ffffff0a}.blog-cta-strip{border-top:1px solid var(--border);background:var(--muted);padding:3rem 1.5rem}.dark .blog-cta-strip{border-top-color:var(--border);background:linear-gradient(90deg,#2563eb0f 0%,#0000 100%)}.blog-cta-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;display:flex}.blog-cta-title{color:var(--foreground);margin-bottom:.25rem;font-size:1.15rem;font-weight:600}.blog-cta-sub{color:var(--muted-foreground);font-size:.9rem}.dark .blog-cta-sub{color:var(--muted-foreground)}.blog-cta-btn{color:#fff;white-space:nowrap;background:#2563eb;border-radius:.5rem;align-items:center;gap:.5rem;padding:.7rem 1.4rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .2s,gap .2s;display:inline-flex}.blog-cta-btn:hover{background:#3b82f6;gap:.75rem}.post-page{background:var(--background);min-height:100vh;color:var(--foreground);padding-top:5.5rem;font-family:Inter,-apple-system,system-ui,sans-serif}.dark .post-page{background:var(--background);color:var(--foreground)}.post-breadcrumb-wrap{border-bottom:1px solid var(--border);padding:1rem 1.5rem}.dark .post-breadcrumb-wrap{border-bottom-color:var(--border)}.post-back-link{color:var(--muted-foreground);align-items:center;gap:.4rem;font-size:.85rem;text-decoration:none;transition:color .2s;display:inline-flex}.post-back-link:hover{color:var(--foreground)}.dark .post-back-link{color:var(--muted-foreground)}.dark .post-back-link:hover{color:var(--foreground)}.post-header{border-bottom:1px solid var(--border);background:radial-gradient(80% 50% at 50% -5%,#2563eb12 0%,#0000 70%);padding:3.5rem 1.5rem 3rem}.dark .post-header{border-bottom-color:var(--border);background:radial-gradient(80% 50% at 50% -5%,#2563eb1f 0%,#0000 70%)}.post-header-inner{max-width:760px;margin:0 auto}.post-header-meta{flex-wrap:wrap;align-items:center;gap:.85rem;margin-bottom:1.5rem;display:flex}.post-title{letter-spacing:-.035em;color:var(--foreground);margin-bottom:1.25rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;line-height:1.15}.dark .post-title{color:var(--foreground)}.post-excerpt{color:var(--muted-foreground);margin-bottom:1.5rem;font-size:1.1rem;line-height:1.7}.dark .post-excerpt{color:var(--muted-foreground)}.post-tags{flex-wrap:wrap;gap:.5rem;display:flex}.post-hero-image-wrap{justify-content:center;padding:0 1.5rem 1rem;display:flex}.post-hero-image{border-radius:12px;width:100%;max-width:600px;height:auto;box-shadow:0 4px 24px #00000014}.dark .post-hero-image{box-shadow:0 4px 24px #0000004d}.post-body-wrap{padding:3.5rem 1.5rem}.post-body{max-width:720px;margin:0 auto}.post-h1{letter-spacing:-.025em;color:var(--foreground);border-bottom:1px solid var(--border);margin:2.5rem 0 1rem;padding-bottom:.75rem;font-size:1.75rem;font-weight:700;line-height:1.2}.dark .post-h1{color:var(--foreground);border-bottom-color:var(--border)}.post-h2{letter-spacing:-.02em;color:var(--foreground);margin:2.25rem 0 .85rem;font-size:1.35rem;font-weight:700;line-height:1.3}.dark .post-h2{color:var(--foreground)}.post-h3{color:var(--foreground);margin:1.75rem 0 .65rem;font-size:1.1rem;font-weight:600;line-height:1.35}.dark .post-h3{color:var(--foreground)}.post-p{color:var(--foreground);margin-bottom:1.35rem;font-size:1rem;line-height:1.8}.dark .post-p{color:var(--foreground)}.post-ul{margin:.5rem 0 1.35rem 1.5rem;list-style:outside}.post-li{color:var(--foreground);margin-bottom:.4rem;font-size:1rem;line-height:1.75}.dark .post-li{color:var(--foreground)}.post-code-inline{background:var(--muted);border:1px solid var(--border);color:var(--foreground);border-radius:.3rem;padding:.15em .4em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.875em}.dark .post-code-inline{background:var(--border);border-color:var(--border);color:var(--foreground)}.post-hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}.dark .post-hr{border-top-color:var(--border)}.post-link{color:#2563eb;text-underline-offset:3px;-webkit-text-decoration:underline #2563eb59;text-decoration:underline #2563eb59;transition:color .2s,text-decoration-color .2s}.dark .post-link{color:#3b82f6;text-decoration-color:#3b82f659}.post-link:hover{color:#3b82f6;text-decoration-color:#3b82f699}.dark .post-link:hover{color:#60a5fa}.post-table-wrap{border:1px solid var(--border);border-radius:.75rem;margin:1.5rem 0;overflow-x:auto}.dark .post-table-wrap{border-color:var(--border)}.post-table{border-collapse:collapse;width:100%;font-size:.9rem}.post-td{border-bottom:1px solid var(--border);color:var(--foreground);text-align:left;padding:.75rem 1rem}.dark .post-td{border-bottom-color:var(--border);color:var(--foreground)}tr:last-child .post-td{border-bottom:none}tr:first-child .post-td{background:var(--muted);font-weight:600}.dark tr:first-child .post-td{color:var(--foreground);background:#ffffff0a}.post-author-wrap{padding:0 1.5rem 3.5rem}.post-author-card{border:1px solid var(--border);background:var(--card);border-radius:.875rem;align-items:flex-start;gap:1.25rem;max-width:720px;margin:0 auto;padding:1.75rem;display:flex}.dark .post-author-card{border-color:var(--border);background:var(--card)}.post-author-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#3b82f6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:.85rem;font-weight:700;display:flex}.post-author-name{color:var(--foreground);margin-bottom:.4rem;font-size:.95rem;font-weight:600}.dark .post-author-name{color:var(--foreground)}.post-author-bio{color:var(--muted-foreground);margin-bottom:.85rem;font-size:.875rem;line-height:1.6}.dark .post-author-bio{color:var(--muted-foreground)}.post-author-cta{color:#2563eb;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:gap .2s,color .2s;display:inline-flex}.dark .post-author-cta{color:#3b82f6}.post-author-cta:hover{color:#3b82f6;gap:.55rem}.dark .post-author-cta:hover{color:#60a5fa}.post-related-section{border-top:1px solid var(--border);padding:2rem 1.5rem 5rem}.dark .post-related-section{border-top-color:var(--border)}@media (max-width:640px){.blog-featured-card{padding:1.5rem}.blog-grid{grid-template-columns:1fr}.blog-cta-inner{flex-direction:column;align-items:flex-start}.post-author-card{flex-direction:column}}@keyframes blog-skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.blog-skeleton-featured,.blog-skeleton-card,.post-skeleton-header,.post-skeleton-body{pointer-events:none;-webkit-user-select:none;user-select:none}.blog-skeleton-pill,.blog-skeleton-text,.blog-skeleton-title,.blog-skeleton-excerpt,.post-skeleton-line{background:linear-gradient(90deg,#e5e7eb66 25%,#f3f4f6b3 37%,#e5e7eb66 63%) 0 0/200% 100%;border-radius:4px;animation:1.8s linear infinite blog-skeleton-shimmer}.dark .blog-skeleton-pill,.dark .blog-skeleton-text,.dark .blog-skeleton-title,.dark .blog-skeleton-excerpt,.dark .post-skeleton-line{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a 37%,#ffffff0d 63%) 0 0/200% 100%}.blog-skeleton-pill{border-radius:99px;width:5rem;height:1.1rem;display:inline-block}.blog-skeleton-text{width:6rem;height:.9rem;display:inline-block}.blog-skeleton-text.short{width:4rem}.blog-skeleton-title{width:85%;height:2.25rem;margin-top:1rem;margin-bottom:1rem}.blog-card .blog-skeleton-title{width:90%;height:1.5rem}.blog-skeleton-excerpt{width:100%;height:1rem;margin-bottom:.5rem}.blog-skeleton-excerpt.second{width:75%}.post-skeleton-header{max-width:720px;margin:0 auto;padding:4rem 1.5rem 2rem}.post-skeleton-body{max-width:720px;margin:0 auto;padding:0 1.5rem 4rem}.post-skeleton-line{margin-bottom:1.25rem}.post-skeleton-line.h1{width:90%;height:2.5rem;margin-bottom:1.5rem}.post-skeleton-line.h2{width:40%;height:1.75rem;margin-top:2rem;margin-bottom:1.25rem}.post-skeleton-line.body-short{width:80%}.post-skeleton-line.body-mid{width:95%}.post-skeleton-line.meta{width:12rem;height:1rem;margin-bottom:1rem;display:inline-block}
