.blog-article:where(.astro-bvzihdzo){padding-top:128px;padding-inline:var(--gutter)}@media(max-width:600px){.blog-article:where(.astro-bvzihdzo){padding-top:104px}}.blog-article__wrap:where(.astro-bvzihdzo){max-width:720px;margin-inline:auto}.blog-article__head:where(.astro-bvzihdzo){display:flex;flex-direction:column;gap:20px}.blog-article__back:where(.astro-bvzihdzo){font-family:var(--font);font-weight:500;font-size:14px;color:var(--accent-hi);width:fit-content;transition:color .2s ease}.blog-article__back:where(.astro-bvzihdzo):hover{color:var(--text)}.blog-pill:where(.astro-bvzihdzo){width:fit-content;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-hi);padding:6px 12px;border-radius:11px;background:#2f6bff1f}.blog-article__title:where(.astro-bvzihdzo){font-family:var(--font);font-weight:800;font-size:clamp(32px,5.2vw,46px);line-height:1.06;letter-spacing:-.02em;color:var(--text);margin:0}.blog-article__meta:where(.astro-bvzihdzo){display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:13px;color:var(--text-muted)}.blog-article__authors:where(.astro-bvzihdzo){display:inline}.blog-article__amp:where(.astro-bvzihdzo){color:var(--text-dim);font-family:var(--font);font-size:14px}.blog-article__author:where(.astro-bvzihdzo){font-family:var(--font);font-weight:600;font-size:14px;color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#5685ff80;transition:color .2s ease,text-decoration-color .2s ease}.blog-article__author:where(.astro-bvzihdzo):hover{color:var(--accent-hi);text-decoration-color:var(--accent-hi)}.blog-article__part:where(.astro-bvzihdzo){display:inline-flex;align-items:center;gap:12px;white-space:nowrap}.blog-article__dot:where(.astro-bvzihdzo){color:var(--text-dim)}.blog-article__rule:where(.astro-bvzihdzo){width:100%;height:1px;border:0;background:#ffffff1a;margin:4px 0 0}.blog-article__cover:where(.astro-bvzihdzo){margin:28px 0 0;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);border:1px solid var(--border);aspect-ratio:21 / 9;max-height:340px}.blog-article__cover:where(.astro-bvzihdzo) img:where(.astro-bvzihdzo){display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%}.blog-prose:where(.astro-bvzihdzo){margin-top:32px;padding-bottom:24px;font-family:var(--font);color:var(--text-muted);font-size:18px;line-height:1.62}.blog-prose:where(.astro-bvzihdzo)>:first-child{margin-top:0}.blog-prose:where(.astro-bvzihdzo) p{margin:0 0 22px}.blog-prose:where(.astro-bvzihdzo)>p:first-of-type{font-size:20px;color:var(--text);line-height:1.58}.blog-prose:where(.astro-bvzihdzo) h2{font-family:var(--font);font-weight:700;font-size:28px;line-height:1.18;letter-spacing:-.02em;color:var(--text);margin:44px 0 18px}.blog-prose:where(.astro-bvzihdzo) h3{font-family:var(--font);font-weight:600;font-size:21px;line-height:1.2;letter-spacing:-.01em;color:var(--text);margin:32px 0 14px}.blog-prose:where(.astro-bvzihdzo) a{color:var(--accent-hi);text-decoration:underline;text-underline-offset:2px;text-decoration-color:#5685ff66;transition:text-decoration-color .2s ease}.blog-prose:where(.astro-bvzihdzo) a:hover{text-decoration-color:var(--accent-hi)}.blog-prose:where(.astro-bvzihdzo) strong{color:var(--text);font-weight:600}.blog-prose:where(.astro-bvzihdzo) ul,.blog-prose:where(.astro-bvzihdzo) ol{margin:0 0 22px;padding-left:26px}.blog-prose:where(.astro-bvzihdzo) li{margin:0 0 10px;padding-left:4px}.blog-prose:where(.astro-bvzihdzo) li::marker{color:var(--accent-hi)}.blog-prose:where(.astro-bvzihdzo) blockquote{margin:28px 0;padding:20px 24px;background:var(--surface);border:1px solid rgba(47,107,255,.35);border-radius:var(--r-lg);color:var(--text-muted)}.blog-prose:where(.astro-bvzihdzo) blockquote p:last-child{margin-bottom:0}.blog-prose:where(.astro-bvzihdzo) code{font-family:var(--mono);font-size:.9em;background:var(--surface);color:var(--text);padding:2px 6px;border-radius:6px;border:1px solid var(--border)}.blog-prose:where(.astro-bvzihdzo) pre{margin:24px 0;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow-x:auto}.blog-prose:where(.astro-bvzihdzo) pre code{background:none;border:0;padding:0;font-size:14px}.blog-prose:where(.astro-bvzihdzo) .expressive-code{margin:24px 0}.blog-prose:where(.astro-bvzihdzo) .expressive-code .frame{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:none}.blog-prose:where(.astro-bvzihdzo) .expressive-code pre{margin:0;border:0;border-radius:0;background:transparent;padding:18px 20px;overflow-x:auto}.blog-prose:where(.astro-bvzihdzo) .expressive-code pre code{font-family:var(--mono);font-size:13.5px;line-height:1.65}.blog-prose:where(.astro-bvzihdzo) .expressive-code .frame.is-terminal{padding-top:0}.blog-prose:where(.astro-bvzihdzo) .expressive-code .frame.is-terminal .header{background:#ffffff08;border-bottom:1px solid var(--border);color:var(--text-muted);font-family:var(--mono);font-size:11.5px;letter-spacing:.04em}.blog-prose:where(.astro-bvzihdzo) .expressive-code .copy button{background:var(--surface);border:1px solid var(--border);border-radius:8px}.blog-prose:where(.astro-bvzihdzo) .expressive-code .copy button:hover{border-color:var(--accent-hi)}.blog-prose:where(.astro-bvzihdzo) hr{border:0;height:1px;background:#ffffff1a;margin:40px 0}.blog-prose:where(.astro-bvzihdzo) .table-scroll{margin:28px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.blog-prose:where(.astro-bvzihdzo) table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}.blog-prose:where(.astro-bvzihdzo) .table-scroll table{min-width:520px}.blog-prose:where(.astro-bvzihdzo) thead th{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);text-align:left;padding:14px 20px;white-space:nowrap;border-bottom:1px solid var(--border)}.blog-prose:where(.astro-bvzihdzo) tbody td{padding:15px 20px;vertical-align:top;color:var(--text-muted)}.blog-prose:where(.astro-bvzihdzo) tbody tr+tr td{border-top:1px solid rgba(255,255,255,.06)}.blog-prose:where(.astro-bvzihdzo) tbody td:first-child{color:var(--text);font-weight:600}.blog-prose:where(.astro-bvzihdzo) table code{white-space:nowrap}
