:root{color-scheme:light dark;--color-bg:#fbfbfa;--color-surface:#fff;--color-text:#1c1c1e;--color-text-muted:#5b5b63;--color-border:#e3e3e6;--color-accent:#2f5bd3;--color-accent-hover:#1f45ad;--glow-mix:32%;--dark-bg:#121214;--dark-surface:#1a1a1d;--dark-text:#ececef;--dark-text-muted:#a0a0aa;--dark-border:#2c2c31;--dark-accent:#8aa8ff;--dark-accent-hover:#b0c4ff;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--leading:1.65;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--content-width:72rem;--prose-width:70ch;--article-width:50rem;--gutter:var(--space-4);--radius:6px;--header-h:3.75rem}@media (width<=29.99rem){:root{--header-h:4.75rem}}@media (prefers-color-scheme:dark){:root{--glow-mix:50%;--color-bg:var(--dark-bg);--color-surface:var(--dark-surface);--color-text:var(--dark-text);--color-text-muted:var(--dark-text-muted);--color-border:var(--dark-border);--color-accent:var(--dark-accent);--color-accent-hover:var(--dark-accent-hover)}}.on-dark{--color-bg:var(--dark-bg);--color-surface:var(--dark-surface);--color-text:var(--dark-text);--color-text-muted:var(--dark-text-muted);--color-border:var(--dark-border);--color-accent:var(--dark-accent);--color-accent-hover:var(--dark-accent-hover);color:var(--color-text);color-scheme:dark}*,:before,:after{box-sizing:border-box}*{margin:0}img,svg,video{max-width:100%;height:auto;display:block}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}[id]{scroll-margin-top:calc(var(--header-h) + var(--space-4))}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading);-webkit-font-smoothing:antialiased;overflow-x:clip}h1,h2,h3,h4{text-wrap:balance;font-weight:650;line-height:1.25}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p,li{text-wrap:pretty}a{color:var(--color-accent);text-underline-offset:.2em}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}code,pre{font-family:var(--font-mono);font-size:.9em}.prose>*+*{margin-top:var(--space-4)}.prose>:is(p,ul,ol,blockquote,h2,h3,h4){max-width:var(--prose-width)}.prose h2{margin-top:var(--space-12);font-size:var(--text-xl)}.prose h3{margin-top:var(--space-8);font-size:var(--text-lg)}.prose ul,.prose ol{padding-left:var(--space-6)}.prose li+li{margin-top:var(--space-2)}.prose blockquote{padding-left:var(--space-4);border-left:3px solid var(--color-border);color:var(--color-text-muted)}.prose :not(pre)>code{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:.1em .3em}.prose pre{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);line-height:1.5;overflow-x:auto}.prose table{border-collapse:collapse;max-width:100%;font-size:var(--text-sm);display:block;overflow-x:auto}.prose th,.prose td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.prose th{white-space:nowrap;font-weight:650}.prose figure{margin-block:var(--space-8)}.prose figure img{border:1px solid var(--color-border);border-radius:var(--radius)}.prose figcaption{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm)}@media (prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes reveal{0%{opacity:0;transform:translateY(24px)}}:root{--slide-x:clamp(4rem, 10vw, 8rem)}@keyframes slide-through{cover 0%{opacity:0;translate:var(--slide-x) 0}cover 22%{opacity:1;translate:0}cover 90%{opacity:1;translate:0}cover 100%{opacity:0;translate:var(--slide-x) 0}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.rise{animation:.6s cubic-bezier(.2,.7,.2,1) both rise;animation-delay:calc(var(--rise-step,0) * .1s)}@supports (animation-timeline:view()){.reveal,.prose :is(picture,figure,table){animation-name:reveal;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry entry 60%}}}@media (hover:hover) and (pointer:fine){[data-spotlight=""]{background-image:radial-gradient(circle var(--spot-size,220px) at var(--mx,-1000px) var(--my,-1000px), color-mix(in srgb, var(--color-accent) var(--spot-mix,14%), transparent), transparent 70%)}}.container{width:100%;max-width:calc(var(--content-width) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.todo{padding:var(--space-1) var(--space-2);border:1px dashed var(--color-text-muted);border-radius:var(--radius);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-sm);display:inline-block}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.site-header[data-astro-cid-nen7h5rs]{z-index:10;background:color-mix(in srgb, var(--color-bg) 85%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.inner[data-astro-cid-nen7h5rs]{height:var(--header-h);justify-content:flex-end;align-items:center;display:flex}ul[data-astro-cid-nen7h5rs]{gap:var(--space-6);padding:0;list-style:none;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--color-text-muted);white-space:nowrap;text-decoration:none}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--color-text)}@media (width<=47.99rem){.inner[data-astro-cid-nen7h5rs]{justify-content:flex-start}nav[data-astro-cid-nen7h5rs]{min-width:0}ul[data-astro-cid-nen7h5rs]{gap:var(--space-4);scrollbar-width:none;font-size:var(--text-sm);margin:-3px;padding:3px;overflow-x:auto}}@media (width<=29.99rem){.inner[data-astro-cid-nen7h5rs]{justify-content:center}ul[data-astro-cid-nen7h5rs]{justify-content:center;gap:var(--space-1) var(--space-6);text-align:center;grid-template-columns:repeat(3,auto);display:grid;overflow:visible}}.skip-link[data-astro-cid-nen7h5rs]{z-index:20;top:var(--space-2);left:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);position:absolute;transform:translateY(-200%)}.skip-link[data-astro-cid-nen7h5rs]:focus{transform:none}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-sm)}.inner[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:center;gap:var(--space-4) var(--space-6);padding-block:var(--space-6);flex-wrap:wrap;display:flex}.who[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--space-4);display:flex}.avatar[data-astro-cid-jo6i4kqk]{object-fit:cover;width:3.5rem;height:3.5rem;box-shadow:0 0 0 2px var(--color-bg), 0 0 0 4px color-mix(in srgb, var(--color-accent) 65%, transparent), 0 0 18px color-mix(in srgb, var(--color-accent) 35%, transparent);border-radius:50%;flex:none}ul[data-astro-cid-jo6i4kqk]{gap:var(--space-2) var(--space-4);flex-wrap:wrap;padding:0;list-style:none;display:flex}body{flex-direction:column;display:flex}.page-glow[data-astro-cid-z4jru4n3]{z-index:-1;pointer-events:none;position:fixed;inset:0}@media (hover:hover) and (pointer:fine){.page-glow[data-astro-cid-z4jru4n3]{background:radial-gradient(circle 280px at var(--mx,-1000px) var(--my,-1000px), color-mix(in srgb, var(--color-accent) 16%, transparent), transparent 70%)}}main[data-astro-cid-z4jru4n3]{padding-block:var(--space-12) var(--space-16);flex:1}
