:where([data-page=blog-post]) main{flex-direction:column;width:100%;min-height:100vh;margin:0;padding-top:60px;display:flex}:where([data-page=blog-post]) article{flex-direction:column;flex:1;justify-content:center;padding-bottom:4rem;display:flex}:where([data-page=blog-post]) .hero-image{width:100%;max-width:100%;margin:0 0 4rem}:where([data-page=blog-post]) .hero-image img{-o-object-fit:contain;object-fit:contain;width:100%;height:auto;max-height:600px;box-shadow:none;border-radius:0;display:block}:where([data-page=blog-post]) .prose{color:#8b98a5;width:100%;max-width:800px;margin:0 auto;padding:0 1.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.125rem;line-height:1.75}.prose h1{color:#e8edf2!important;letter-spacing:-.03em!important;margin-top:4rem!important;padding-bottom:.75rem!important;font-size:2.5rem!important;font-weight:900!important;line-height:1.1!important;position:relative!important}.prose h1:after{content:""!important;background:#c8f542!important;border-radius:2px!important;width:4rem!important;height:4px!important;display:block!important;position:absolute!important;bottom:0!important;left:0!important}.prose h2{color:#e8edf2!important;letter-spacing:-.02em!important;margin-top:3.5rem!important;padding-top:1rem!important;font-size:2rem!important;font-weight:800!important;line-height:1.25!important;position:relative!important}.prose h2:before{content:""!important;background:#c8f542!important;border-radius:2px!important;width:4px!important;height:1.5rem!important;display:block!important;position:absolute!important;top:1.5rem!important;left:-1.5rem!important}.prose h3{color:#e8edf2!important;letter-spacing:-.01em!important;margin-top:3rem!important;font-size:1.625rem!important;font-weight:700!important;line-height:1.35!important}.prose h4{color:#e8edf2!important;margin-top:2.5rem!important;font-size:1.375rem!important;font-style:italic!important;font-weight:600!important;line-height:1.4!important}.prose pre,.prose .code-wrapper pre,.prose .code-wrapper pre.astro-code{color:#e2e8f0;font-size:.875rem;line-height:1.7;position:relative;background-color:#0f172a!important;border:1px solid #1e293b!important;border-radius:1rem!important;padding:2rem!important;overflow:auto!important}.prose pre:before,.prose .code-wrapper pre:before{content:"";background-color:#1e293b;border-bottom:1px solid #334155;height:3rem;display:block;position:absolute;top:0;left:0;right:0}.prose pre:after,.prose .code-wrapper pre:after{content:"";z-index:1;background-color:#ef4444;border-radius:50%;width:12px;height:12px;position:absolute;top:1rem;left:1rem;box-shadow:20px 0 #f59e0b,40px 0 #10b981}.prose pre code,.prose .code-wrapper pre code{color:inherit;counter-reset:line;background:0 0;padding:4rem 0 0;display:block;overflow-x:auto}.code-wrapper{margin:1.5rem 0 3rem;position:relative}.code-wrapper .copy-code-button{color:#e2e8f0;cursor:pointer;z-index:10;background-color:#334155cc;border:none;border-radius:.375rem;align-items:center;gap:.375rem;padding:.5rem;font-size:.75rem;font-weight:500;transition:all .2s;display:flex;position:absolute;top:.75rem;right:1rem}.copy-code-button:hover{background-color:#475569e6;transform:translateY(-1px)}.copy-code-button.copied{background-color:#10b981e6}.copy-code-button svg{width:16px;height:16px}.article-content>*{margin-bottom:1.5rem}.article-content h1{margin-bottom:2.5rem}.article-content h2{margin-bottom:2rem}.article-content h3{margin-bottom:1.75rem}.article-content h4{margin-bottom:1.5rem}.article-content h5,.article-content h6{margin-bottom:1.25rem}.article-content p{margin-bottom:1.75rem}.article-content ul,.article-content ol{margin-bottom:2rem}.article-content li{margin-bottom:.5rem}.article-content li:last-child{margin-bottom:0}.article-content pre,.article-content .code-wrapper{margin-bottom:2.5rem}.article-content code{margin-bottom:0}.article-content blockquote,.article-content img,.article-content figure,.article-content table{margin-bottom:2.5rem}.article-content hr{margin-bottom:3rem}.article-content details{margin-bottom:1.5rem}.article-content iframe{margin-bottom:2.5rem}.article-content>:last-child{margin-bottom:0}.article-content h1+h2,.article-content h2+h3,.article-content h3+h4{margin-top:-.5rem}.article-content span,.article-content a,.article-content strong,.article-content em,.article-content abbr,.article-content cite,.article-content del,.article-content ins,.article-content kbd,.article-content mark,.article-content s,.article-content samp,.article-content sub,.article-content sup,.article-content time,.article-content u,.article-content var{margin-bottom:0}.prose pre::-webkit-scrollbar{height:8px}.prose .code-wrapper pre::-webkit-scrollbar{height:8px}.prose pre::-webkit-scrollbar-track{background:#1e293b}.prose .code-wrapper pre::-webkit-scrollbar-track{background:#1e293b}.prose pre::-webkit-scrollbar-thumb{background:#475569;border-radius:4px}.prose .code-wrapper pre::-webkit-scrollbar-thumb{background:#475569;border-radius:4px}.prose pre::-webkit-scrollbar-thumb:hover{background:#64748b}.prose .code-wrapper pre::-webkit-scrollbar-thumb:hover{background:#64748b}:where([data-page=blog-post]) .article-header{text-align:center;max-width:1200px;margin:0 auto;padding:4rem 1.5rem 3rem}:where([data-page=blog-post]) .article-title{color:#e8edf2;letter-spacing:-.03em;margin-top:2rem;margin-bottom:1.5rem;padding-top:1rem;font-size:2.5rem;font-weight:800;line-height:1.1}@media (min-width:768px){:where([data-page=blog-post]) .article-title{font-size:3.5rem}}:where([data-page=blog-post]) .article-meta{color:#8b98a5;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;font-size:.875rem;display:flex}:where([data-page=blog-post]) .author-info{align-items:center;gap:.75rem;display:flex}:where([data-page=blog-post]) .author-avatar{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}:where([data-page=blog-post]) .author-avatar svg{color:#fff;width:24px;height:24px}:where([data-page=blog-post]) .author-details{text-align:left}:where([data-page=blog-post]) .author-name{color:#e8edf2;font-size:1rem;font-weight:600}:where([data-page=blog-post]) .meta-info{color:#8b98a5;align-items:center;gap:.5rem;display:flex}:where([data-page=blog-post]) .share-buttons{align-items:center;gap:.5rem;display:flex}:where([data-page=blog-post]) .share-button{color:#8b98a5;cursor:pointer;background-color:#0000;border:1px solid #e5e7eb;border-radius:.5rem;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:inline-flex}:where([data-page=blog-post]) .share-button:hover{color:#e8edf2;background-color:#f9fafb;border-color:#d1d5db}:where([data-page=blog-post]) .share-button svg{width:20px;height:20px}:where([data-page=blog-post]) .copy-tooltip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background-color:#1f2937;border-radius:.375rem;padding:.25rem .75rem;font-size:.75rem;transition:opacity .2s;position:absolute;top:-36px;left:50%;transform:translate(-50%)}:where([data-page=blog-post]) .copy-tooltip.show{opacity:1}:where([data-page=blog-post]) .article-tags{flex-wrap:wrap;gap:.75rem;max-width:680px;margin:3rem auto;padding:0 1.5rem;display:flex}:where([data-page=blog-post]) .tag{color:#8b98a5;background-color:#f3f4f6;border-radius:9999px;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}:where([data-page=blog-post]) .tag:hover{color:#e8edf2;background-color:#e5e7eb}:where([data-page=blog-post]) .related-posts{max-width:800px;margin:4rem auto 0;padding:0 1.5rem}:where([data-page=blog-post]) .related-posts h2{color:#e8edf2;margin:0 0 1.25rem;font-size:1.5rem;font-weight:700}:where([data-page=blog-post]) .related-posts-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}:where([data-page=blog-post]) .related-post-card{color:#8b98a5;background:#121820;border:1px solid #1c2430;border-radius:.75rem;flex-direction:column;gap:.65rem;padding:1.25rem;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}:where([data-page=blog-post]) .related-post-card:hover{border-color:#c8f542;transform:translateY(-2px)}:where([data-page=blog-post]) .related-post-card strong{color:#e8edf2;font-size:1rem;line-height:1.4}:where([data-page=blog-post]) .related-post-card span{font-size:.875rem;line-height:1.5}:where([data-page=blog-post]) .author-card{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:1rem;max-width:680px;margin:4rem auto;padding:2rem}:where([data-page=blog-post]) .author-card h3{margin-bottom:1rem;font-size:1.5rem}:where([data-page=blog-post]) .author-card p{opacity:.9;margin-bottom:1.5rem;font-size:1.125rem;line-height:1.75}:where([data-page=blog-post]) .author-card a{color:#6366f1;background-color:#fff;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}:where([data-page=blog-post]) .author-card a:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}@media (max-width:768px){:where([data-page=blog-post]) .related-posts-grid{grid-template-columns:1fr}:where([data-page=blog-post]) .prose{padding:0 1rem;font-size:1rem}.prose h1{font-size:2rem!important}.prose h1:after{width:3rem!important}.prose h2{font-size:1.625rem!important}.prose h2:before{left:-1rem!important}.prose h3{font-size:1.375rem!important}.prose h4{font-size:1.25rem!important}.prose pre,.prose .code-wrapper pre,.prose .code-wrapper pre.astro-code{margin:1.5rem -1rem;border-left:none!important;border-right:none!important;border-radius:0!important;padding:1.5rem!important}.prose pre code,.prose .code-wrapper pre code{padding-top:3rem;font-size:.8125rem}.code-wrapper .copy-code-button{padding:.375rem;font-size:.7rem;top:.5rem;right:.5rem}.copy-code-button span{display:none}.copy-code-button svg{width:14px;height:14px}:where([data-page=blog-post]) .article-meta{font-size:.8125rem}:where([data-page=blog-post]) .author-info{gap:.5rem}:where([data-page=blog-post]) .author-avatar{width:40px;height:40px}:where([data-page=blog-post]) .share-button{width:36px;height:36px}}
