:root{--blog-primary:var(--color-primary, #0d6efd);--blog-primary-light:#7fb6ff;--blog-bg:var(--color-dark-bg, #1f1f1f);--blog-bg-soft:rgba(255, 255, 255, 0.04);--blog-border:rgba(255, 255, 255, 0.14);--blog-text:var(--color-text-primary, #f0f0f0);--blog-text-dim:rgba(240, 240, 240, 0.82);--blog-muted:var(--color-text-secondary, #888);--blog-radius:10px;--blog-radius-sm:6px}.blog-skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.blog-skip-link:focus{position:static;width:auto;height:auto;padding:8px 12px;background:var(--blog-primary);color:#fff;text-decoration:none}.blog-page{width:100%;max-width:820px;margin:0 auto;padding:16px 20px 64px;color:var(--blog-text)}.blog-hero{margin:16px 0 32px}.blog-breadcrumbs{font-size:13px;color:var(--blog-muted);margin-bottom:16px}.blog-breadcrumbs a{color:var(--blog-muted);text-decoration:none}.blog-breadcrumbs a:hover{color:var(--blog-text);text-decoration:underline}.blog-h1{font-size:2rem;line-height:1.25;margin:0 0 14px;font-weight:700;color:var(--blog-text)}@media(min-width:720px){.blog-h1{font-size:2.4rem}}.blog-byline{font-size:13px;color:var(--blog-muted);margin:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.blog-byline-author{color:var(--blog-text);font-weight:600}.blog-byline-date,.blog-byline-modified,.blog-byline-reading{color:var(--blog-muted)}.blog-hub-subhead{font-size:16px;color:var(--blog-text-dim);line-height:1.6;max-width:640px;margin:12px 0 0}.blog-hub-list{display:flex;flex-direction:column;gap:24px;margin-top:8px}.blog-hub-card{padding:20px;background:var(--blog-bg-soft);border:1px solid var(--blog-border);border-radius:var(--blog-radius)}.blog-hub-card-title{font-size:1.4rem;margin:0 0 8px;font-weight:600}.blog-hub-card-title a{color:var(--blog-text);text-decoration:none}.blog-hub-card-title a:hover{color:var(--blog-primary-light)}.blog-hub-card-desc{font-size:15px;color:var(--blog-text-dim);margin:0 0 10px;line-height:1.5}.blog-hub-card-meta{font-size:13px;color:var(--blog-muted);margin:0;display:flex;gap:6px;flex-wrap:wrap}.blog-article{font-size:17px;line-height:1.72;color:var(--blog-text-dim)}.blog-article p{margin:0 0 18px}.blog-article h2{font-size:1.55rem;margin:36px 0 14px;font-weight:700;color:var(--blog-text)}.blog-article h3{font-size:1.2rem;margin:24px 0 10px;font-weight:600;color:var(--blog-text)}.blog-article ul,.blog-article ol{margin:0 0 18px 24px;padding:0}.blog-article li{margin-bottom:6px;line-height:1.6}.blog-article a{color:var(--blog-primary-light);text-decoration:underline;text-decoration-color:rgba(127,182,255,.4);text-underline-offset:2px}.blog-article a:hover{text-decoration-color:var(--blog-primary-light)}.blog-article code{background:var(--blog-bg-soft);padding:2px 6px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;color:var(--blog-text)}.blog-article em{color:var(--blog-text);font-style:italic}.blog-article strong{color:var(--blog-text);font-weight:700}.blog-lede{font-size:1.05em;color:var(--blog-text);border-left:3px solid var(--blog-primary-light);padding-left:18px;margin-bottom:28px}.blog-cta{margin:48px 0 0;padding:24px;background:var(--blog-bg-soft);border:1px solid var(--blog-border);border-radius:var(--blog-radius);display:flex;flex-direction:column;gap:12px;align-items:flex-start}.blog-cta-heading{margin:0;font-size:1.2rem;color:var(--blog-text)}.blog-cta p{margin:0;color:var(--blog-text-dim);font-size:15px}.blog-cta-btn{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;background:var(--blog-primary);color:#fff;border-radius:var(--blog-radius-sm);font-size:15px;font-weight:600;text-decoration:none;transition:background .18s}.blog-cta-btn:hover{background:var(--blog-primary-light);color:var(--blog-bg);text-decoration:none}.blog-cta-btn:focus-visible{outline:2px solid var(--blog-primary-light);outline-offset:2px}@media(prefers-reduced-motion:reduce){.blog-cta-btn{transition:none}}