*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}body{background:var(--e-bg);color:var(--e-text);font-family:var(--e-font-sans);font-feature-settings:"cv11", "ss01", "ss03";margin:0;font-size:16px;line-height:1.6}a{color:var(--e-accent)}img{max-width:100%;height:auto}code,pre,kbd{font-family:var(--e-font-mono)}:focus-visible{outline:2px solid var(--e-accent);outline-offset:2px;border-radius:4px}.skip-link{z-index:100;border-radius:var(--e-radius-sm);background:var(--e-text);color:var(--e-bg);padding:.5rem .9rem;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.container{max-width:var(--e-max);margin:0 auto;padding:0 1.25rem}.eyebrow{font-family:var(--e-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--e-text-faint);font-size:.78rem;font-weight:500}.gradient-text{background:var(--e-spectrum);color:#0000;-webkit-background-clip:text;background-clip:text}.btn{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;height:2.75rem;padding:0 1.15rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .15s,background .15s,border-color .15s,box-shadow .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-sm{height:2.25rem;padding:0 .95rem;font-size:.875rem}.btn-primary{background:var(--e-text);color:var(--e-bg);box-shadow:0 0 #ff3a5f00}.btn-primary:hover{box-shadow:0 6px 30px -6px #ff3a5f8c}.btn-ghost{color:var(--e-text);border-color:var(--e-border-strong);background:0 0}.btn-ghost:hover{background:var(--e-surface-2)}.tag{height:1.5rem;font-family:var(--e-font-mono);color:var(--e-text-muted);background:var(--e-surface-2);border:1px solid var(--e-border);border-radius:999px;align-items:center;padding:0 .55rem;font-size:.72rem;font-weight:500;display:inline-flex}.prose{color:var(--e-text);font-size:1.05rem;line-height:1.75}.prose>*+*{margin-top:1.1em}.prose h2{letter-spacing:-.02em;margin-top:2.2em;font-size:1.5rem;line-height:1.25}.prose h3{margin-top:1.8em;font-size:1.2rem}.prose p,.prose li{color:color-mix(in srgb, var(--e-text) 88%, var(--e-bg))}.prose a{text-underline-offset:3px}.prose :not(pre)>code{background:var(--e-surface-2);border:1px solid var(--e-border);border-radius:6px;padding:.12em .4em;font-size:.88em}.prose pre{border-radius:var(--e-radius);border:1px solid var(--e-border);padding:1.1rem 1.2rem;font-size:.88rem;line-height:1.6;overflow-x:auto}.prose blockquote{border-left:2px solid var(--e-accent);color:var(--e-text-muted);margin-left:0;padding-left:1.1rem}.prose hr{border:0;border-top:1px solid var(--e-border);margin:2.5rem 0}:root[data-theme=light] .astro-code,:root[data-theme=light] .astro-code span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important}:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.site-header:where(.astro-fzpbxy5g){z-index:50;background:color-mix(in srgb, var(--e-bg) 72%, transparent);-webkit-backdrop-filter:saturate(160%)blur(14px);border-bottom:1px solid var(--e-border);position:sticky;top:0}.inner:where(.astro-fzpbxy5g){max-width:var(--e-max);align-items:center;gap:2rem;height:4rem;margin:0 auto;padding:0 1.25rem;display:flex}.home:where(.astro-fzpbxy5g){text-decoration:none}nav:where(.astro-fzpbxy5g){flex:1;gap:.25rem;display:flex}nav:where(.astro-fzpbxy5g) a:where(.astro-fzpbxy5g){color:var(--e-text-muted);border-radius:999px;padding:.4rem .75rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s}nav:where(.astro-fzpbxy5g) a:where(.astro-fzpbxy5g):hover,nav:where(.astro-fzpbxy5g) a:where(.astro-fzpbxy5g)[aria-current=page]{color:var(--e-text);background:var(--e-surface-2)}.actions:where(.astro-fzpbxy5g){align-items:center;gap:.6rem;display:flex}.theme-toggle:where(.astro-fzpbxy5g){border:1px solid var(--e-border);width:2.25rem;height:2.25rem;color:var(--e-text-muted);cursor:pointer;background:0 0;border-radius:999px;place-items:center;display:grid}.theme-toggle:where(.astro-fzpbxy5g):hover{color:var(--e-text);border-color:var(--e-border-strong)}[data-theme=light] .moon:where(.astro-fzpbxy5g),:root:not([data-theme=light]) .sun:where(.astro-fzpbxy5g){display:none}@media (width<=40rem){.inner:where(.astro-fzpbxy5g){gap:.75rem;padding:0 1rem}nav:where(.astro-fzpbxy5g) a:where(.astro-fzpbxy5g){padding:.4rem .5rem;font-size:.85rem}.btn-sm:where(.astro-fzpbxy5g){display:none}}.site-footer:where(.astro-nns7i3if){border-top:1px solid var(--e-border);background:var(--e-bg-raised);margin-top:6rem;padding:3.5rem 0 2rem}.inner:where(.astro-nns7i3if){max-width:var(--e-max);margin:0 auto;padding:0 1.25rem}.inner:where(.astro-nns7i3if):first-child{grid-template-columns:1.2fr 2fr;gap:3rem;display:grid}.brand:where(.astro-nns7i3if) p:where(.astro-nns7i3if){color:var(--e-text-muted);max-width:22rem;margin-top:1rem;font-size:.9rem}.cols:where(.astro-nns7i3if){grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}h2:where(.astro-nns7i3if){text-transform:uppercase;letter-spacing:.08em;color:var(--e-text-faint);margin:0 0 .9rem;font-size:.75rem;font-weight:600}.cols:where(.astro-nns7i3if) a:where(.astro-nns7i3if){color:var(--e-text-muted);padding:.25rem 0;font-size:.9rem;text-decoration:none;display:block}.cols:where(.astro-nns7i3if) a:where(.astro-nns7i3if):hover{color:var(--e-text)}.legal:where(.astro-nns7i3if){border-top:1px solid var(--e-border);color:var(--e-text-faint);justify-content:space-between;margin-top:3rem;padding-top:1.5rem;font-size:.8rem;display:flex}.mono:where(.astro-nns7i3if){font-family:var(--e-font-mono)}@media (width<=48rem){.inner:where(.astro-nns7i3if):first-child,.cols:where(.astro-nns7i3if){grid-template-columns:1fr}.cols:where(.astro-nns7i3if){grid-template-columns:repeat(2,1fr)}}
