.prose{color:var(--color-text);font-size:1.125rem;line-height:1.8}.prose>:first-child{margin-top:0}.prose h2{letter-spacing:-.02em;margin-top:3.5rem;margin-bottom:1.25rem;font-size:1.625rem;font-weight:700;line-height:1.3}.prose h3{margin-top:2.75rem;margin-bottom:1rem;font-size:1.3125rem;font-weight:600;line-height:1.35}.prose h4{margin-top:2.25rem;margin-bottom:.75rem;font-size:1.125rem;font-weight:600;line-height:1.4}.prose p{margin-bottom:1.5em}.prose ul,.prose ol{margin-bottom:1.5em;padding-left:1.625em}.prose li{margin-bottom:.625em;padding-left:.25em}.prose li::marker{color:var(--color-text-secondary)}.prose strong{color:var(--color-text);font-weight:600}.prose a{color:var(--color-primary);text-underline-offset:3px;text-decoration:underline 1px}.prose a:hover{color:var(--color-primary-dark);text-decoration-thickness:2px}.prose blockquote{border-left:3px solid var(--color-primary);color:var(--color-text-secondary);margin:2em 0;padding:.125em 0 .125em 1.25em;font-style:italic}.prose blockquote p:last-child{margin-bottom:0}.prose code{background:var(--color-border);border-radius:4px;padding:.15em .4em;font-size:.875em}.prose pre{color:#e2e8f0;background:#1e293b;border-radius:8px;margin:2em 0;padding:1.25em 1.5em;font-size:.875rem;line-height:1.7;overflow-x:auto}@media (prefers-color-scheme:dark){.prose pre{background:#0f172a}}.prose pre code{font-size:inherit;color:inherit;background:0 0;border-radius:0;padding:0}.prose img{border-radius:8px;max-width:100%;height:auto;margin:2em 0}.prose figure{margin:2.5em 0}.prose figure p{margin:0}.prose figure img{width:100%;margin:0;display:block}.prose figcaption{color:var(--color-text-secondary);margin-top:.875em;font-size:.9375rem;line-height:1.6}.prose table{border-collapse:collapse;width:100%;margin:2em 0;font-size:.9375rem}.prose th,.prose td{border:1px solid var(--color-border);text-align:left;padding:.75em 1em}.prose th{background:var(--color-surface);font-weight:600}.prose hr{border:none;border-top:1px solid var(--color-border);margin:3rem 0}@media (width<=640px){.prose{font-size:1.0625rem;line-height:1.75}.prose h2{margin-top:2.75rem;margin-bottom:1rem;font-size:1.375rem}.prose h3{margin-top:2.25rem;margin-bottom:.875rem;font-size:1.1875rem}}@media print{.prose{max-width:100%;font-size:11pt;line-height:1.6}.prose h2{margin-top:24pt;margin-bottom:8pt;font-size:16pt}.prose h3{margin-top:18pt;margin-bottom:6pt;font-size:13pt}.prose pre code,.prose table{font-size:9pt}.prose blockquote{border-left-color:#999!important}}.blog-post-page[data-astro-cid-m66uj5id]{min-height:calc(100dvh - var(--header-height));padding:48px 0 96px}.back-link[data-astro-cid-m66uj5id]{color:var(--color-text-secondary);margin-bottom:40px;font-size:.875rem;text-decoration:none;transition:color .15s;display:inline-block}.back-link[data-astro-cid-m66uj5id]:hover{color:var(--color-primary);text-decoration:none}.blog-post[data-astro-cid-m66uj5id]{max-width:720px}.blog-post-header[data-astro-cid-m66uj5id]{border-bottom:1px solid var(--color-border);margin-bottom:48px;padding-bottom:40px}.blog-post-header[data-astro-cid-m66uj5id] h1[data-astro-cid-m66uj5id]{letter-spacing:-.025em;margin-bottom:20px;font-size:clamp(1.875rem,4.5vw,2.75rem);font-weight:800;line-height:1.15}.blog-post-meta[data-astro-cid-m66uj5id]{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:.9375rem;display:flex}.meta-separator[data-astro-cid-m66uj5id]{color:var(--color-border)}.blog-post-tags[data-astro-cid-m66uj5id]{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.tag[data-astro-cid-m66uj5id]{background:var(--color-background);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:20px;padding:4px 12px;font-size:.8125rem;text-decoration:none;transition:border-color .15s,color .15s}.tag[data-astro-cid-m66uj5id]:hover{border-color:var(--color-primary);color:var(--color-primary);text-decoration:none}.copy-link-btn[data-astro-cid-m66uj5id]{border:1px solid var(--color-border);background:var(--color-background);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-top:20px;padding:6px 14px;font-size:.8125rem;font-weight:500;transition:border-color .15s,color .15s;display:inline-flex}.copy-link-btn[data-astro-cid-m66uj5id]:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.copy-link-btn[data-astro-cid-m66uj5id].copied{border-color:var(--color-success);color:var(--color-success)}.blog-post-cover[data-astro-cid-m66uj5id]{margin:0 0 48px}.blog-post-cover[data-astro-cid-m66uj5id] img{border-radius:12px;width:100%;height:auto;display:block}.blog-post-cover[data-astro-cid-m66uj5id] figcaption[data-astro-cid-m66uj5id]{color:var(--color-text-secondary);margin-top:12px;font-size:.875rem;line-height:1.6}.cover-credit[data-astro-cid-m66uj5id]{margin-top:4px;font-size:.8125rem;display:block}.cover-credit[data-astro-cid-m66uj5id] a[data-astro-cid-m66uj5id]{color:inherit;text-underline-offset:2px;text-decoration:underline}.toc[data-astro-cid-m66uj5id]{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;margin-bottom:48px;padding:24px}.toc-title[data-astro-cid-m66uj5id]{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:12px;font-size:.8125rem;font-weight:600}.toc-list[data-astro-cid-m66uj5id]{counter-reset:toc;margin:0;padding:0;list-style:none}.toc-list[data-astro-cid-m66uj5id] li[data-astro-cid-m66uj5id]{counter-increment:toc}.toc-list[data-astro-cid-m66uj5id] li[data-astro-cid-m66uj5id] a[data-astro-cid-m66uj5id]{color:var(--color-text);padding:6px 0;font-size:.9375rem;line-height:1.4;text-decoration:none;transition:color .15s;display:block}.toc-list[data-astro-cid-m66uj5id] li[data-astro-cid-m66uj5id] a[data-astro-cid-m66uj5id]:before{content:counter(toc) ". ";color:var(--color-text-secondary);font-weight:500}.toc-list[data-astro-cid-m66uj5id] li[data-astro-cid-m66uj5id] a[data-astro-cid-m66uj5id]:hover{color:var(--color-primary);text-decoration:none}.toc-list[data-astro-cid-m66uj5id] li[data-astro-cid-m66uj5id] a[data-astro-cid-m66uj5id]:hover:before{color:var(--color-primary)}@media (width<=640px){.blog-post-page[data-astro-cid-m66uj5id]{padding:32px 0 64px}.back-link[data-astro-cid-m66uj5id]{margin-bottom:28px}.blog-post-header[data-astro-cid-m66uj5id]{margin-bottom:36px;padding-bottom:28px}.toc[data-astro-cid-m66uj5id]{margin-bottom:36px;padding:20px}}
