.blog-content{--blog-heading:var(--primary);--blog-body:var(--color-gray-700);--blog-muted:var(--color-gray-600);--blog-rule:var(--color-gray-200);--blog-panel:var(--color-gray-100);--blog-code-ink:var(--color-gray-800);color:var(--blog-body);line-height:1.8}:root[data-theme=dark] .blog-content{--blog-heading:var(--foreground)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .blog-content{--blog-heading:var(--foreground)}}.blog-content h1{color:var(--blog-heading);margin:3rem 0 2rem;font-size:2.5rem;font-weight:700;line-height:1.2}.blog-content h2{color:var(--blog-heading);margin:2.5rem 0 1.5rem;scroll-margin-top:100px;font-size:2rem;font-weight:700;line-height:1.3}.blog-content h3{color:var(--blog-heading);margin:2rem 0 1rem;font-size:1.5rem;font-weight:700;line-height:1.4}.blog-content h4{color:var(--blog-heading);margin:1.5rem 0 .75rem;font-size:1.25rem;font-weight:600}.blog-content p{color:var(--blog-body);margin-bottom:1.5rem;font-size:1.125rem;line-height:1.75}@media (max-width:768px){.blog-content h1{margin:2rem 0 1.5rem;font-size:1.875rem}.blog-content h2{margin:2rem 0 1rem;font-size:1.5rem}.blog-content h3{margin:1.5rem 0 .75rem;font-size:1.25rem}.blog-content h4{margin:1.25rem 0 .5rem;font-size:1.125rem}.blog-content p{margin-bottom:1.25rem;font-size:1rem;line-height:1.7}}.blog-content a{color:var(--secondary-ink);text-underline-offset:2px;font-weight:500;text-decoration:underline;transition:color .2s}.blog-content a:hover{color:var(--secondary)}.blog-content strong{color:var(--blog-heading);font-weight:600}.blog-content em{color:var(--blog-muted);font-style:italic}.blog-content code{background-color:var(--blog-panel);color:var(--blog-code-ink);border-radius:.375rem;padding:.25rem .5rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.875rem}.blog-content pre{background:#282c34;border:1px solid #3e4451;border-radius:.75rem;margin:2rem 0;padding:1.5rem;position:relative;overflow-x:auto;box-shadow:0 10px 25px #0000001a}.blog-content pre code{color:#c9d1d9;background:0 0;border-radius:0;padding:0;font-size:.875rem}@media (max-width:768px){.blog-content pre{border-radius:.5rem;margin:1.5rem 0;padding:1rem}.blog-content pre code{font-size:.75rem;line-height:1.5}.blog-content code{padding:.2rem .4rem;font-size:.75rem}}.blog-content blockquote{border-left:4px solid var(--secondary);background:var(--blog-panel);color:var(--blog-muted);border-radius:0 .5rem .5rem 0;margin:2rem 0;padding:1rem 1.5rem;font-style:italic}.blog-content ul,.blog-content ol{margin:1.5rem 0;padding-left:1.5rem}.blog-content li{color:var(--blog-body);margin:.5rem 0;line-height:1.75}@media (max-width:768px){.blog-content ul,.blog-content ol{margin:1.25rem 0;padding-left:1.25rem}.blog-content li{margin:.4rem 0;font-size:.95rem;line-height:1.6}.blog-content blockquote{margin:1.5rem 0;padding:.75rem 1rem;font-size:.95rem}.blog-content table{margin:1.5rem 0;font-size:.875rem}.blog-content th,.blog-content td{padding:.5rem}}.blog-content img{border-radius:.75rem;width:100%;height:auto;margin:2rem 0;box-shadow:0 10px 25px #0000001a}.blog-content hr{border:none;border-top:2px solid var(--blog-rule);margin:3rem 0}.blog-content table{border-collapse:collapse;border-radius:.5rem;width:100%;max-width:100%;margin:2rem 0;display:block;overflow-x:auto;box-shadow:0 4px 6px #0000001a}.blog-content th{background:var(--blog-panel);text-align:left;color:var(--blog-heading);border-bottom:1px solid var(--blog-rule);padding:.75rem;font-weight:600}.blog-content td{border-bottom:1px solid var(--blog-rule);color:var(--blog-body);padding:.75rem}.copy-button{color:#e6e9ef;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#ffffff1a;border:1px solid #ffffff59;border-radius:.375rem;padding:.5rem .75rem;font-size:.75rem;transition:all .2s;position:absolute;top:.75rem;right:.75rem}.copy-button:hover{color:#fff;background:#fff3}.blog-content pre:hover .copy-button,.blog-content pre:focus-within .copy-button,.copy-button:focus-visible{opacity:1}.hljs-comment,.hljs-quote{color:#9ca3af;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#f59e0b;font-weight:700}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:#10b981}.hljs-string,.hljs-doctag{color:#34d399}.hljs-title,.hljs-section,.hljs-selector-id{color:#60a5fa;font-weight:700}.hljs-subst{font-weight:400}.hljs-type,.hljs-class .hljs-title{color:#a78bfa;font-weight:700}.hljs-tag,.hljs-name,.hljs-attribute{color:#f87171;font-weight:400}.hljs-regexp,.hljs-link{color:#fbbf24}.hljs-symbol,.hljs-bullet{color:#fb7185}.hljs-built_in,.hljs-builtin-name{color:#38bdf8}.hljs-meta{color:#9ca3af}.hljs-deletion{background:#fca5a5}.hljs-addition{background:#86efac}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-function .hljs-title{color:#60a5fa}.hljs-params{color:#f9fafb}.hljs-attr{color:#fbbf24}.hljs-value{color:#34d399}.code-block-wrapper{position:relative}.code-copy-button{color:#f9fafb;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border:1px solid #fff3;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;transition:all .2s;position:absolute;top:.5rem;right:.5rem}.code-copy-button:hover{background:#fff3;border-color:#ffffff4d}
