:root{--quote-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300D655' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z'/%3E%3Cpath d='M15 21c3 0 7-1 7-8V5c0-1.25-.75-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c.25 0 .25 .25.25.5v3.5c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z'/%3E%3C/svg%3E")}.prose blockquote{position:relative;padding:1.5rem!important;font-style:normal;background-color:transparent!important;border:0!important;border-left:2px solid rgba(255,255,255,.1)!important;border-radius:0!important;margin:2rem 0!important;display:flow-root;clear:both;word-break:break-word}.prose blockquote p{color:#a1a1aa!important;font-size:1.05rem!important;line-height:1.8!important;margin:0!important;position:relative;z-index:2}.prose blockquote strong{color:#f4f4f5!important;font-weight:500!important}.prose blockquote p:before,.prose blockquote p:after{content:none!important}.prose :not(pre)>code{color:#3fb950;background-color:#162c22;border-radius:.3em;padding:.15em .45em;font-size:.88em;font-weight:500;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;border:1px solid #235338}.prose :not(pre)>code:before,.prose :not(pre)>code:after{content:none}.prose table{width:100%;border-collapse:separate;border-spacing:0;margin:2rem 0;border-radius:1rem;overflow:hidden;border:1px solid #30363d;background:#161b22;box-shadow:0 4px 20px -2px #0006}.prose thead{background:#21262d}.prose th{color:#f0f6fc!important;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;padding:1rem 1.25rem;text-align:left;border-bottom:1px solid #30363d}.prose td{padding:1.1rem 1.25rem;border-bottom:1px solid #30363d;color:#c9d1d9;font-size:.95rem;line-height:1.65;vertical-align:top}.prose tbody tr:last-child td{border-bottom:none}.prose tbody tr{transition:background-color .2s ease}.prose tbody tr:hover{background:#1c2128}.prose ol{counter-reset:blog-ol-counter;list-style:none!important;padding-left:0!important;margin:2rem 0!important;display:flex;flex-direction:column;gap:.85rem}.prose ol>li{counter-increment:blog-ol-counter;position:relative;padding:1.25rem 1.25rem 1.25rem 3.75rem!important;margin:0!important;background:#161b22;border:1px solid #30363d;border-radius:1rem;color:#c9d1d9!important;font-size:1.05rem;line-height:1.75;transition:all .25s ease}.prose ol>li:hover{background:#1c2128;border-color:#3fb95066;box-shadow:0 4px 20px -2px #0000004d}.prose ol>li:before{content:counter(blog-ol-counter);position:absolute;left:1.15rem;top:1.15rem;width:1.85rem;height:1.85rem;border-radius:.5rem;background:linear-gradient(135deg,#10b98140,#10b98114);border:1px solid rgba(16,185,129,.4);color:#00e65b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 0 12px #10b98133}.prose ol>li strong{color:#fff!important;font-weight:700!important}.prose ul:not([class*=list-]){list-style:none!important;padding-left:0!important;margin:1.5rem 0!important;display:flex;flex-direction:column;gap:.65rem}.prose ul:not([class*=list-])>li{position:relative;padding-left:1.85rem!important;margin:0!important;color:#d4d4d8!important;font-size:1.05rem;line-height:1.75}.prose ul:not([class*=list-])>li:before{content:"";position:absolute;left:.25rem;top:.75rem;width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b981b3}.prose ul:not([class*=list-])>li strong{color:#fff!important;font-weight:700!important}.prose ol>li>ul,.prose ul>li>ul{margin:.85rem 0 .25rem!important;padding-left:.5rem!important;border-left:2px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.5rem}.prose ol>li>ul>li,.prose ul>li>ul>li{font-size:.95rem!important;color:#a1a1aa!important;padding-left:1.5rem!important}.prose ol>li>ul>li:before,.prose ul>li>ul>li:before{width:5px;height:5px;left:.25rem;top:.65rem;background:#10b981b3}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(400%)}}.animate-scan[data-astro-cid-naolcreu]{animation:scan 3s linear infinite}