@charset "UTF-8";.prose{max-width:72ch;margin-inline:auto;color:var(--text-muted);font-size:1.075rem;line-height:1.75}.prose>*+*{margin-top:1.25rem}.prose h2,.prose h3,.prose h4{color:var(--text);line-height:1.18;text-wrap:balance}.prose h2{margin-top:2.75rem;font-size:1.7rem;padding-top:1.75rem;border-top:1px solid var(--border)}.prose h3{margin-top:2rem;font-size:1.3rem}.prose h4{margin-top:1.5rem;font-size:1.1rem}.prose p{color:var(--text-muted)}.prose strong{color:var(--text);font-weight:600}.prose a{color:var(--cyan);text-decoration:underline;text-decoration-color:#22d3ee66;text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) var(--ease)}.prose a:hover{text-decoration-color:var(--cyan)}.prose a.is-external:after{content:"";display:inline-block;width:.72em;height:.72em;margin-left:.18em;vertical-align:-.04em;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center/contain}.prose ul,.prose ol{margin-left:1.4rem;display:grid;gap:.55rem}.prose li{padding-left:.25rem}.prose li::marker{color:var(--cyan)}.prose blockquote{margin-inline:0;padding:.4rem 0 .4rem 1.4rem;border-left:3px solid var(--cyan);color:var(--text);font-style:italic}.prose img{width:100%;height:auto;margin-block:2rem;border-radius:var(--r-lg);border:1px solid var(--border)}.prose figure{margin-block:2rem}.prose figure figcaption{margin-top:.6rem;text-align:center;font-size:.85rem;color:var(--text-dim)}.prose hr{margin-block:2.5rem;border:0;border-top:1px solid var(--border)}.prose code{font-family:var(--font-mono);font-size:.9em;padding:.15em .4em;border-radius:var(--r-sm);background:var(--surface-2);color:var(--cyan-bright)}.prose pre{margin-block:1.75rem;padding:1.1rem 1.25rem;overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-elev)}.prose pre code{padding:0;background:none;color:var(--text)}.prose .table-wrap table,.prose table{width:100%;margin-block:2rem;border-collapse:collapse;font-size:.95rem;display:block;overflow-x:auto}.prose .table-wrap th,.prose .table-wrap td,.prose th,.prose td{padding:.7rem .9rem;border:1px solid var(--border);text-align:left;vertical-align:top}.prose .table-wrap thead th,.prose .table-wrap table:not(:has(thead)) tr:first-child td,.prose thead th,.prose table:not(:has(thead)) tr:first-child td{color:var(--text);font-weight:600;background:var(--surface-2)}.prose .table-wrap tbody tr:nth-child(2n) td,.prose tbody tr:nth-child(2n) td{background:#ffffff05}.article[data-astro-cid-zm77yjld]{padding-top:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(3.5rem,8vw,6rem)}.article__head[data-astro-cid-zm77yjld]{max-width:72ch;margin-inline:auto;text-align:center}.article__back[data-astro-cid-zm77yjld]{display:inline-block;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;color:var(--text-muted)}.article__back[data-astro-cid-zm77yjld]:hover{color:var(--cyan)}.article__cats[data-astro-cid-zm77yjld]{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1.75rem 0 0;padding:0;list-style:none}.article__cats[data-astro-cid-zm77yjld] li[data-astro-cid-zm77yjld]{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);padding:.25rem .7rem;border:1px solid rgba(34,211,238,.3);border-radius:var(--r-pill);background:#22d3ee0f}.article__title[data-astro-cid-zm77yjld]{margin-top:1.1rem;font-size:clamp(2rem,4.4vw,3rem)}.article__meta[data-astro-cid-zm77yjld]{margin-top:1rem;font-size:.8rem;letter-spacing:.06em;color:var(--text-dim)}.article__hero[data-astro-cid-zm77yjld]{max-width:800px;margin:clamp(2rem,5vw,3.25rem) auto 0}.article__hero[data-astro-cid-zm77yjld] img[data-astro-cid-zm77yjld]{width:100%;height:auto;border-radius:var(--r-xl);border:1px solid var(--border)}.article[data-astro-cid-zm77yjld] .prose[data-astro-cid-zm77yjld]{margin-top:clamp(2.5rem,6vw,3.75rem)}.article__foot[data-astro-cid-zm77yjld]{max-width:72ch;margin:3rem auto 0;padding-top:1.75rem;border-top:1px solid var(--border)}.article__related[data-astro-cid-zm77yjld]{margin-top:clamp(3rem,7vw,4.75rem)}.article__related-title[data-astro-cid-zm77yjld]{font-size:clamp(1.5rem,3vw,1.9rem);margin-bottom:1.5rem}.article__related-grid[data-astro-cid-zm77yjld]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}
