.article-wrap:where(.astro-jo55ryrt){position:relative;overflow:clip}.article-wrap:where(.astro-jo55ryrt):before{content:"";background:radial-gradient(circle at 30% 0%, color-mix(in srgb, var(--color-accent) 14%, transparent), transparent 60%), radial-gradient(circle at 75% 10%, color-mix(in srgb, var(--color-purple) 12%, transparent), transparent 55%);opacity:.7;pointer-events:none;z-index:0;width:min(1100px,120vw);height:460px;position:absolute;top:0;left:50%;transform:translate(-50%)}main:where(.astro-jo55ryrt){z-index:1;max-width:720px;margin:0 auto;padding:6.5rem 1.5rem 5rem;position:relative}.crumb:where(.astro-jo55ryrt){font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-text-dim);align-items:center;gap:.4rem;margin-bottom:2rem;font-size:.78rem;transition:color .15s;display:inline-flex}.crumb:where(.astro-jo55ryrt) svg:where(.astro-jo55ryrt){width:14px;height:14px}.crumb:where(.astro-jo55ryrt):hover{color:var(--color-accent);text-decoration:none}.post-header:where(.astro-jo55ryrt){margin-bottom:3.5rem}.eyebrow:where(.astro-jo55ryrt){font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:.72rem;display:inline-flex}.eyebrow:where(.astro-jo55ryrt):before{content:"";opacity:.6;background:currentColor;width:18px;height:1px}.post-header:where(.astro-jo55ryrt) h1:where(.astro-jo55ryrt){letter-spacing:-.033em;color:var(--color-text);text-wrap:balance;margin-bottom:1.1rem;font-size:clamp(2rem,5vw,2.85rem);font-weight:700;line-height:1.12}.standfirst:where(.astro-jo55ryrt){color:var(--color-text-secondary);text-wrap:pretty;max-width:40ch;margin-bottom:2rem;font-size:1.2rem;line-height:1.6}.byline:where(.astro-jo55ryrt){border-top:1px solid var(--color-border);align-items:center;gap:.85rem;padding-top:1.5rem;display:flex}.avatar:where(.astro-jo55ryrt){width:40px;height:40px;font-family:var(--font-mono);color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 25%, transparent);border-radius:50%;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:500;display:grid}.byline-meta:where(.astro-jo55ryrt){flex-direction:column;gap:.15rem;display:flex}.byline-author:where(.astro-jo55ryrt){color:var(--color-text);font-size:.9rem;font-weight:600}.byline-sub:where(.astro-jo55ryrt){font-family:var(--font-mono);color:var(--color-text-dim);align-items:center;gap:.5rem;font-size:.76rem;display:flex}.byline-sub:where(.astro-jo55ryrt) .dot:where(.astro-jo55ryrt){background:currentColor;border-radius:50%;width:3px;height:3px}.prose:where(.astro-jo55ryrt){color:color-mix(in srgb, var(--color-text) 88%, var(--color-text-secondary));font-size:1.075rem;line-height:1.78}.prose:where(.astro-jo55ryrt)>*+*{margin-top:1.6rem}.prose:where(.astro-jo55ryrt) p{text-wrap:pretty}.prose:where(.astro-jo55ryrt) h2{letter-spacing:-.022em;color:var(--color-text);margin-top:3.75rem;margin-bottom:0;scroll-margin-top:5rem;font-size:1.7rem;font-weight:650;line-height:1.2}.prose:where(.astro-jo55ryrt) h2+*{margin-top:1rem}.prose:where(.astro-jo55ryrt) h3{letter-spacing:-.012em;color:var(--color-text);margin-top:2.75rem;margin-bottom:0;scroll-margin-top:5rem;font-size:1.25rem;font-weight:600;line-height:1.3}.prose:where(.astro-jo55ryrt) h3+*{margin-top:.7rem}.prose:where(.astro-jo55ryrt) strong{color:var(--color-text);font-weight:600}.prose:where(.astro-jo55ryrt) em{color:var(--color-text)}.prose:where(.astro-jo55ryrt) a{color:var(--color-accent);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--color-accent) 40%, transparent);text-underline-offset:.2em;font-weight:500;text-decoration-thickness:1px;transition:text-decoration-color .15s}.prose:where(.astro-jo55ryrt) a:hover{text-decoration-color:currentColor}.prose:where(.astro-jo55ryrt) ul,.prose:where(.astro-jo55ryrt) ol{padding-left:1.4rem}.prose:where(.astro-jo55ryrt) li{margin-top:.5rem;padding-left:.3rem}.prose:where(.astro-jo55ryrt) li::marker{color:var(--color-accent)}.prose:where(.astro-jo55ryrt) ul{padding-left:0;list-style:none}.prose:where(.astro-jo55ryrt) ul>li{padding-left:1.5rem;position:relative}.prose:where(.astro-jo55ryrt) ul>li:before{content:"";background:var(--color-accent);opacity:.7;border-radius:50%;width:6px;height:6px;position:absolute;top:.72em;left:.15rem}.prose:where(.astro-jo55ryrt) li>ul,.prose:where(.astro-jo55ryrt) li>ol{margin-top:.5rem}.prose:where(.astro-jo55ryrt) :not(pre)>code{font-family:var(--font-mono);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-accent);word-break:break-word;border-radius:5px;padding:.12em .4em;font-size:.86em}.prose:where(.astro-jo55ryrt) .expressive-code{margin-top:1.6rem;margin-bottom:1.6rem}.prose:where(.astro-jo55ryrt) pre{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;margin:0;padding:1.15rem 1.25rem;font-size:.86rem;line-height:1.65;overflow-x:auto}.prose:where(.astro-jo55ryrt) pre code{color:inherit;background:0 0;border:none;padding:0;font-size:1em}.prose:where(.astro-jo55ryrt) blockquote{border-left:3px solid var(--color-accent);color:var(--color-text-secondary);background:linear-gradient(90deg, color-mix(in srgb, var(--color-accent) 5%, transparent), transparent);padding:.4rem 0 .4rem 1.25rem;font-style:italic}.prose:where(.astro-jo55ryrt) blockquote p{margin-top:0}.prose:where(.astro-jo55ryrt) table{border-collapse:collapse;border:1px solid var(--color-border);border-radius:10px;width:100%;max-width:100%;font-size:.92rem;display:block;overflow-x:auto}.prose:where(.astro-jo55ryrt) thead{background:var(--color-surface)}.prose:where(.astro-jo55ryrt) th,.prose:where(.astro-jo55ryrt) td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--color-border);padding:.6rem .9rem}.prose:where(.astro-jo55ryrt) th{color:var(--color-text);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:600}.prose:where(.astro-jo55ryrt) td{color:var(--color-text-secondary)}.prose:where(.astro-jo55ryrt) tbody tr:last-child td{border-bottom:none}.prose:where(.astro-jo55ryrt) td code,.prose:where(.astro-jo55ryrt) th code{white-space:nowrap}.prose:where(.astro-jo55ryrt) hr{background:linear-gradient(90deg, transparent, var(--color-border) 20%, var(--color-border) 80%, transparent);border:none;height:1px;margin:2.75rem 0}.prose:where(.astro-jo55ryrt) img{border:1px solid var(--color-border);border-radius:12px;max-width:100%;height:auto;margin-top:1.6rem}.post-footer:where(.astro-jo55ryrt){border-top:1px solid var(--color-border);margin-top:4rem;padding-top:2rem}.post-tags:where(.astro-jo55ryrt){flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;display:flex}.post-tags:where(.astro-jo55ryrt) a:where(.astro-jo55ryrt){font-family:var(--font-mono);letter-spacing:.02em;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:6px;padding:.3rem .65rem;font-size:.72rem;transition:all .15s}.post-tags:where(.astro-jo55ryrt) a:where(.astro-jo55ryrt):before{content:"#";color:var(--color-text-dim);margin-right:.15rem}.post-tags:where(.astro-jo55ryrt) a:where(.astro-jo55ryrt):hover{color:var(--color-text);border-color:var(--color-text-dim);text-decoration:none}.post-nav:where(.astro-jo55ryrt){grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2.5rem;display:grid}.nav-card:where(.astro-jo55ryrt){border:1px solid var(--color-border);background:var(--color-surface);color:inherit;border-radius:12px;flex-direction:column;gap:.4rem;padding:1.1rem 1.25rem;transition:border-color .15s,transform .15s,background .15s;display:flex}.nav-card:where(.astro-jo55ryrt):hover{border-color:color-mix(in srgb, var(--color-accent) 45%, var(--color-border));background:color-mix(in srgb, var(--color-accent) 4%, var(--color-surface));text-decoration:none;transform:translateY(-2px)}.nav-card:where(.astro-jo55ryrt).is-next{text-align:right;align-items:flex-end}.nav-card:where(.astro-jo55ryrt) .label:where(.astro-jo55ryrt){font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-dim);align-items:center;gap:.4rem;font-size:.7rem;display:flex}.nav-card:where(.astro-jo55ryrt) .label:where(.astro-jo55ryrt) svg:where(.astro-jo55ryrt){width:13px;height:13px}.nav-card:where(.astro-jo55ryrt) .nav-title:where(.astro-jo55ryrt){color:var(--color-text);font-size:.95rem;font-weight:600;line-height:1.35}.nav-card:where(.astro-jo55ryrt).placeholder{visibility:hidden}.post-cta:where(.astro-jo55ryrt){border:1px solid var(--color-border);background:radial-gradient(circle at 15% 0%, color-mix(in srgb, var(--color-accent) 14%, transparent), transparent 55%), radial-gradient(circle at 90% 120%, color-mix(in srgb, var(--color-purple) 12%, transparent), transparent 50%), var(--color-surface);border-radius:16px;padding:2rem;position:relative;overflow:hidden}.post-cta:where(.astro-jo55ryrt) h3:where(.astro-jo55ryrt){letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.25rem;font-weight:650}.post-cta:where(.astro-jo55ryrt) p:where(.astro-jo55ryrt){color:var(--color-text-secondary);max-width:46ch;margin-bottom:1.25rem;font-size:.95rem}.cta-actions:where(.astro-jo55ryrt){flex-wrap:wrap;gap:.75rem;display:flex}.cta-btn:where(.astro-jo55ryrt){border:1px solid #0000;border-radius:8px;align-items:center;gap:.45rem;padding:.6rem 1.2rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.cta-btn:where(.astro-jo55ryrt) svg:where(.astro-jo55ryrt){width:16px;height:16px}.cta-btn:where(.astro-jo55ryrt).primary{background:var(--color-accent);color:#fff}.cta-btn:where(.astro-jo55ryrt).primary:hover{background:var(--color-accent-hover);text-decoration:none}.cta-btn:where(.astro-jo55ryrt).ghost{color:var(--color-text);border-color:var(--color-border);background:0 0}.cta-btn:where(.astro-jo55ryrt).ghost:hover{border-color:var(--color-text-dim);background:color-mix(in srgb, var(--color-bg) 40%, transparent);text-decoration:none}@media (width<=640px){main:where(.astro-jo55ryrt){padding-top:5.5rem}.standfirst:where(.astro-jo55ryrt){font-size:1.08rem}.post-nav:where(.astro-jo55ryrt){grid-template-columns:1fr}.nav-card:where(.astro-jo55ryrt).is-next{text-align:left;align-items:flex-start}.nav-card:where(.astro-jo55ryrt).placeholder{display:none}}@media (prefers-reduced-motion:reduce){.nav-card:where(.astro-jo55ryrt),.cta-btn:where(.astro-jo55ryrt){transition:none}}
