@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:500 800;font-display:swap;src:url(/assets/fonts/sora-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:500 800;font-display:swap;src:url(/assets/fonts/sora-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--font-display:"Sora", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace;--step--1:clamp(.83rem, .8rem + .15vw, .91rem);--step-0:clamp(1rem, .96rem + .22vw, 1.13rem);--step-1:clamp(1.25rem, 1.18rem + .36vw, 1.5rem);--step-2:clamp(1.56rem, 1.44rem + .61vw, 2rem);--step-3:clamp(1.95rem, 1.74rem + 1.05vw, 2.66rem);--step-4:clamp(2.44rem, 2.08rem + 1.79vw, 3.55rem);--step-5:clamp(3.05rem, 2.45rem + 3vw, 4.74rem);--step-6:clamp(3.81rem, 2.79rem + 5.09vw, 6.31rem);--leading-tight:1.05;--leading-snug:1.25;--leading-body:1.65;--tracking-tight:-.03em;--tracking-wide:.08em;--measure:68ch;--measure-narrow:54ch;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:1rem;--space-m:1.5rem;--space-l:2.5rem;--space-xl:4rem;--space-2xl:6rem;--space-3xl:9rem;--page-gutter:clamp(1.25rem, 5vw, 4rem);--content-max:72rem;--rule:1px;--radius-xs:4px;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-pill:999px;--accent:#d97757;--accent-ink:#a8442a;--accent-soft:#d977571f;--danger:#b3261e;--success:#1f6f4a;--warning:#b26a00;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-settle:cubic-bezier(.16, 1, .3, 1);--dur-fast:.11s;--dur-mid:.2s;--dur-slow:.38s;--dur-slower:.52s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root,:root[data-theme=light]{--paper:#faf8f5;--paper-2:#f2eee8;--surface:#fff;--ink:#16130f;--ink-2:#4a443c;--ink-3:#6b6359;--rule-color:#16130f24;--shadow:0 1px 2px #16130f0a, 0 8px 24px #16130f0f}:root[data-theme=dark]{--paper:#12100e;--paper-2:#1a1714;--surface:#1d1a16;--ink:#f4f1ec;--ink-2:#bdb5aa;--ink-3:#8b8276;--rule-color:#f4f1ec29;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059;--accent:#e08a69;--accent-ink:#f0a583;--accent-soft:#e08a6929;--danger:#f2837b;--success:#6fc79b;--warning:#e0a458}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#12100e;--paper-2:#1a1714;--surface:#1d1a16;--ink:#f4f1ec;--ink-2:#bdb5aa;--ink-3:#8b8276;--rule-color:#f4f1ec29;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059;--accent:#e08a69;--accent-ink:#f0a583;--accent-soft:#e08a6929;--danger:#f2837b;--success:#6fc79b;--warning:#e0a458}}:root{--step--1:clamp(.875rem, .84rem + .15vw, .91rem)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:var(--leading-body);font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 15% 12%, var(--accent-soft), transparent 42%), radial-gradient(circle at 85% 88%, var(--accent-soft), transparent 46%);position:fixed;inset:0}img,svg,video{max-width:100%;height:auto;display:block}a{color:inherit}html{-webkit-tap-highlight-color:transparent}@media (hover:none){:where(a,button,[role=button]):active{opacity:.55}}:where(button,a,input,textarea,select):focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:2px}::selection{background:var(--accent);color:var(--paper)}.shell{width:100%;max-width:var(--content-max);padding-inline:var(--page-gutter);margin-inline:auto}.rail{grid-template-columns:minmax(0,12rem) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,4vw,4rem);display:grid}@media (width<=60rem){.rail{gap:var(--space-s);grid-template-columns:1fr}}.prose-measure{max-width:var(--measure)}.section{padding-block:clamp(var(--space-xl), 9vw, var(--space-3xl));border-top:var(--rule) solid var(--rule-color)}.section:first-of-type{border-top:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance;margin:0}p{margin:0 0 var(--space-m);text-wrap:pretty}.eyebrow{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-3);margin:0 0 var(--space-2xs)}@media (width>=60.01rem){.rail>.eyebrow{top:var(--space-m);padding-top:.45em;position:sticky}}.display{font-size:var(--step-5)}.section-title{font-size:var(--step-3);margin-bottom:var(--space-m)}.lede{font-size:var(--step-1);color:var(--ink-2);max-width:var(--measure-narrow);line-height:1.5}.muted{color:var(--ink-3)}.link{color:var(--accent-ink);background-image:linear-gradient(var(--accent), var(--accent));transition:background-size var(--dur-mid) var(--ease-out);overflow-wrap:break-word;background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:1px;text-decoration:none}.link:focus-visible{background-size:100% 1px}@media (hover:hover){.link:hover{background-size:100% 1px}}.prose{max-width:var(--measure);font-size:var(--step-0);overflow-wrap:break-word}.prose>h2{font-size:var(--step-2);margin-block:var(--space-xl) var(--space-s)}.prose>h3{font-size:var(--step-1);margin-block:var(--space-l) var(--space-xs)}.prose>p:first-of-type{font-size:var(--step-1);color:var(--ink-2);line-height:1.5}.prose a{color:var(--accent-ink);text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 45%, transparent);text-decoration-color:color-mix(in oklab, var(--accent) 45%, transparent);transition:text-decoration-color var(--dur-fast) var(--ease-out)}@media (hover:hover){.prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}.prose ul,.prose ol{margin-block:0 var(--space-m);padding-left:1.1em}.prose li{margin-bottom:var(--space-2xs);padding-left:.2em}.prose li::marker{color:var(--accent)}.prose blockquote{margin:var(--space-l) 0;padding-left:var(--space-m);border-left:2px solid var(--accent);font-size:var(--step-1);color:var(--ink-2);font-style:normal;line-height:1.45}.prose code{font-family:var(--font-mono);background:var(--paper-2);border:var(--rule) solid var(--rule-color);border-radius:4px;padding:.12em .36em;font-size:.88em}.prose pre{background:var(--paper-2);border:var(--rule) solid var(--rule-color);padding:var(--space-s);font-size:var(--step--1);border-radius:8px;overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0}.prose img{margin-block:var(--space-l);border-radius:6px}.prose figure{margin:var(--space-l) 0}.prose figcaption{font-size:var(--step--1);color:var(--ink-3);margin-top:var(--space-2xs)}.prose .table-scroll{overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--step--1)}.prose th,.prose td{text-align:left;padding:var(--space-2xs) var(--space-xs);border-bottom:var(--rule) solid var(--rule-color)}.prose th{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-3);font-weight:500}.tags{gap:var(--space-3xs) var(--space-2xs);margin:var(--space-s) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-3);border:var(--rule) solid var(--rule-color);white-space:nowrap;border-radius:999px;max-width:100%;padding:.15em .7em}@media (width<=30rem){.tag{white-space:normal}}.btn{align-items:center;gap:var(--space-2xs);font-family:var(--font-display);font-size:var(--step-0);border:var(--rule) solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);border-radius:999px;padding:.6em 1.2em;font-weight:600;text-decoration:none;display:inline-flex}@media (hover:hover){.btn:hover{background:var(--accent-ink);border-color:var(--accent-ink);transform:translateY(-2px)}}.btn:active{transform:translateY(0)}.btn-ghost{color:var(--ink);border-color:var(--rule-color);background:0 0}@media (hover:hover){.btn-ghost:hover{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{animation:linear both rise;animation-timeline:view();animation-range:entry entry 42%}}}@keyframes settle{0%{transform:scale(1.05)}to{transform:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.settle-in{animation:linear both settle;animation-timeline:view();animation-range:entry 5% cover 38%}}}@media (prefers-reduced-motion:no-preference){.stagger>*{animation:rise var(--dur-slow) var(--ease-out) both;animation-delay:calc(var(--i,0) * 90ms)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=60rem){.defer-paint{content-visibility:auto;contain-intrinsic-size:auto 45rem}}.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}.skip-link{left:var(--space-s);z-index:100;background:var(--ink);color:var(--paper);padding:var(--space-2xs) var(--space-s);transition:transform var(--dur-fast) var(--ease-out);border-radius:0 0 6px 6px;text-decoration:none;position:absolute;top:0;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.stack>*+*{margin-top:var(--flow,var(--space-m))}.theme-veil{z-index:9999;pointer-events:none;will-change:opacity;contain:strict;position:fixed;inset:0}.site-header[data-astro-cid-hkbrpulz]{z-index:20;background:var(--paper);border-bottom:var(--rule) solid var(--rule-color);position:sticky;top:0}@media (width>=60rem) and (pointer:fine){@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-header[data-astro-cid-hkbrpulz]{background:color-mix(in oklab, var(--paper) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}}.site-header__inner[data-astro-cid-hkbrpulz]{justify-content:space-between;align-items:center;gap:var(--space-m);min-height:4rem;display:flex}@media (width<=34rem){.site-header__inner[data-astro-cid-hkbrpulz]{gap:0 var(--space-s);padding-block:var(--space-2xs);flex-wrap:wrap}.site-header__inner[data-astro-cid-hkbrpulz]>nav[data-astro-cid-hkbrpulz]{flex-basis:100%;order:3}.nav[data-astro-cid-hkbrpulz]{justify-content:space-between;gap:var(--space-2xs)}}.wordmark[data-astro-cid-hkbrpulz]{font-family:var(--font-display);flex-direction:column;align-items:flex-start;gap:.28rem;text-decoration:none;display:inline-flex}.wordmark__mark[data-astro-cid-hkbrpulz]{letter-spacing:-.07em;color:var(--ink);align-items:baseline;margin-left:-.02em;font-size:1.32rem;font-weight:800;line-height:1;display:inline-flex}.wordmark__i[data-astro-cid-hkbrpulz]{margin-right:.04em}.wordmark__b[data-astro-cid-hkbrpulz]{color:var(--accent-ink)}.wordmark__rule[data-astro-cid-hkbrpulz]{background:var(--accent);transform-origin:0;width:3.1rem;height:2px;transition:transform var(--dur-mid) var(--ease-out);display:block;transform:scaleX(.62)}@media (hover:hover){.wordmark[data-astro-cid-hkbrpulz]:hover .wordmark__rule[data-astro-cid-hkbrpulz]{transform:none}}.nav[data-astro-cid-hkbrpulz]{gap:clamp(.75rem,2.5vw,1.75rem);margin:0;padding:0;list-style:none;display:flex}.nav__link[data-astro-cid-hkbrpulz]{font-size:var(--step--1);color:var(--ink-2);transition:color var(--dur-fast) var(--ease-out);padding-block:.35rem;text-decoration:none;position:relative}.nav__link[data-astro-cid-hkbrpulz]:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform var(--dur-mid) var(--ease-out);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav__link[data-astro-cid-hkbrpulz].is-active{color:var(--ink)}.nav__link[data-astro-cid-hkbrpulz].is-active:after{transform:scaleX(1)}@media (hover:hover){.nav__link[data-astro-cid-hkbrpulz]:hover{color:var(--ink)}.nav__link[data-astro-cid-hkbrpulz]:hover:after{transform:scaleX(1)}}@media (pointer:coarse){.nav__link[data-astro-cid-hkbrpulz]{align-items:center;min-height:44px;padding-inline:.15rem;display:inline-flex}.wordmark[data-astro-cid-hkbrpulz]{justify-content:center;min-height:44px}}.theme-toggle[data-astro-cid-hkbrpulz]{border:var(--rule) solid var(--rule-color);width:2.1rem;height:2.1rem;color:var(--ink-2);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-mid) var(--ease-out);background:0 0;border-radius:999px;flex:none;place-items:center;display:grid}@media (hover:hover){.theme-toggle[data-astro-cid-hkbrpulz]:hover{color:var(--accent-ink);border-color:var(--accent);transform:rotate(35deg)}}@media (pointer:coarse){.theme-toggle[data-astro-cid-hkbrpulz]{width:44px;height:44px}}.site-footer[data-astro-cid-hkbrpulz]{border-top:var(--rule) solid var(--rule-color);margin-top:var(--space-2xl);padding-block:var(--space-l)}.site-footer__inner[data-astro-cid-hkbrpulz]{gap:var(--space-2xs) var(--space-m);font-size:var(--step--1);flex-wrap:wrap;justify-content:space-between;display:flex}.site-footer[data-astro-cid-hkbrpulz] p[data-astro-cid-hkbrpulz]{margin:0}#main[data-astro-cid-hkbrpulz]:focus{outline:none}
