:root{--pal-ink-900:#151713;--pal-ink-700:#2a2d25;--pal-ink-100:#e8eae2;--pal-ink-050:#f0f2ea;--pal-muted-600:#62685f;--pal-muted-400:#9ba093;--pal-paper-000:#fff;--pal-paper-050:#f7f7f5;--pal-paper-100:#f1f1ef;--pal-paper-900:#12140f;--pal-paper-800:#1a1d16;--pal-paper-750:#23261e;--pal-emerald-700:#035f43;--pal-emerald-600:#047a55;--pal-emerald-400:#3fbb85;--pal-emerald-300:#5ed19c;--pal-amber-600:#bd6b1b;--pal-amber-400:#e0954a;--pal-red-700:#a33b2d;--pal-red-300:#e58b7d;--pal-clay-600:#8f4d35;--pal-clay-400:#c98a6b;--pal-red-700-alt:#a33b2d;--pal-blue-700:#275d8f;--pal-gold-600:#b98022;--pal-ink-a04:rgba(21,23,19,.04);--pal-ink-a14:rgba(21,23,19,.14);--pal-ink-a28:rgba(21,23,19,.28);--pal-ink-a42:rgba(21,23,19,.42);--pal-ink-a48:rgba(21,23,19,.48);--pal-ink-100-a05:hsla(75,16%,90%,.05);--pal-ink-100-a07:hsla(75,16%,90%,.07);--pal-ink-100-a14:hsla(75,16%,90%,.14);--pal-ink-100-a16:hsla(75,16%,90%,.16);--pal-ink-100-a28:hsla(75,16%,90%,.28);--pal-paper-a86:hsla(0,0%,100%,.86);--pal-paper-900-a86:rgba(18,20,15,.86);--pal-paper-900-a88:rgba(24,26,20,.88);--pal-black-a30:rgba(0,0,0,.3);--pal-black-a34:rgba(0,0,0,.34);--pal-black-a42:rgba(0,0,0,.42);--pal-black-a50:rgba(0,0,0,.5);--pal-black-a55:rgba(0,0,0,.55);--pal-black-a62:rgba(0,0,0,.62);color-scheme:light;--ink:var(--pal-ink-900);--muted:var(--pal-muted-600);--on-image:var(--pal-paper-000);--emerald:var(--pal-emerald-600);--emerald-strong:var(--pal-emerald-700);--amber:var(--pal-amber-600);--amber-deep:#a95f14;--paper:var(--pal-paper-000);--paper-soft:var(--pal-paper-000);--surface:var(--pal-paper-000);--surface-solid:var(--pal-paper-050);--surface-blur:var(--pal-paper-a86);--mist:var(--pal-paper-100);--overlay:var(--pal-ink-a42);--line:var(--pal-ink-a14);--line-strong:var(--pal-ink-a28);--line-soft:rgba(21,23,19,.14);--hover:var(--pal-ink-a04);--emerald-wash:rgba(4,122,85,.08);--emerald-wash-soft:rgba(4,122,85,.09);--hover-soft:rgba(21,23,19,.045);--header-bg-nav:hsla(0,0%,100%,.88);--header-bg-git:hsla(0,0%,100%,.86);--danger:var(--pal-red-700);--danger-wash:rgba(163,59,45,.08);--warning:var(--pal-gold-600);--info:var(--pal-blue-700);--shadow-soft:0 1px 2px rgba(43,36,24,.04),0 4px 16px rgba(43,36,24,.06);--shadow-lift:0 2px 4px rgba(43,36,24,.05),0 12px 32px rgba(43,36,24,.1);--shadow-deep:0 4px 8px rgba(43,36,24,.05),0 24px 56px rgba(43,36,24,.13)}[data-theme=dark]{color-scheme:dark;--ink:var(--pal-ink-100);--muted:var(--pal-muted-400);--emerald:var(--pal-emerald-400);--emerald-strong:var(--pal-emerald-300);--amber:var(--pal-amber-400);--amber-deep:var(--pal-amber-400);--paper:var(--pal-paper-900);--paper-soft:var(--pal-paper-900);--surface:var(--pal-paper-900);--surface-solid:var(--pal-paper-800);--surface-blur:var(--pal-paper-900-a88);--mist:var(--pal-paper-750);--overlay:var(--pal-black-a55);--line:var(--pal-ink-100-a16);--line-strong:var(--pal-ink-100-a28);--line-soft:hsla(75,16%,90%,.14);--hover:var(--pal-ink-100-a07);--emerald-wash:rgba(63,187,133,.14);--emerald-wash-soft:rgba(63,187,133,.14);--hover-soft:hsla(75,16%,90%,.06);--header-bg-nav:rgba(18,20,15,.88);--header-bg-git:rgba(18,20,15,.88);--danger:var(--pal-red-300);--danger-wash:hsla(8,67%,69%,.12);--shadow-soft:0 1px 2px var(--pal-black-a30),0 4px 16px var(--pal-black-a34);--shadow-lift:0 2px 4px var(--pal-black-a34),0 12px 32px var(--pal-black-a42);--shadow-deep:0 4px 8px var(--pal-black-a34),0 24px 56px var(--pal-black-a50)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]),html:not([data-theme=light]){color-scheme:dark;--ink:var(--pal-ink-100);--muted:var(--pal-muted-400);--emerald:var(--pal-emerald-400);--emerald-strong:var(--pal-emerald-300);--amber:var(--pal-amber-400);--amber-deep:var(--pal-amber-400);--paper:var(--pal-paper-900);--paper-soft:var(--pal-paper-900);--surface:var(--pal-paper-900);--surface-solid:var(--pal-paper-800);--surface-blur:var(--pal-paper-900-a88);--mist:var(--pal-paper-750);--overlay:var(--pal-black-a55);--line:var(--pal-ink-100-a16);--line-strong:var(--pal-ink-100-a28);--line-soft:hsla(75,16%,90%,.14);--hover:var(--pal-ink-100-a07);--emerald-wash:rgba(63,187,133,.14);--emerald-wash-soft:rgba(63,187,133,.14);--hover-soft:hsla(75,16%,90%,.06);--header-bg-nav:rgba(18,20,15,.88);--header-bg-git:rgba(18,20,15,.88);--danger:var(--pal-red-300);--danger-wash:hsla(8,67%,69%,.12);--shadow-soft:0 1px 2px var(--pal-black-a30),0 4px 16px var(--pal-black-a34);--shadow-lift:0 2px 4px var(--pal-black-a34),0 12px 32px var(--pal-black-a42);--shadow-deep:0 4px 8px var(--pal-black-a34),0 24px 56px var(--pal-black-a50)}}:root{--fw-regular:400;--fw-medium:500;--fw-bold:700;--lh-tight:1.05;--lh-snug:1.25;--lh-normal:1.5;--lh-relaxed:1.7;--ls-xwide:0.08em;--sp-section-sm:56px;--sp-section:72px;--sp-section-lg:96px;--sp-gap:48px;--max:920px;--shell-max:984px;--radius:var(--r-md);--radius-sm:8px;--pill:var(--r-pill);--shell:var(--shell-max);--container:var(--shell-max);--footer-bg:var(--paper);--footer-text:var(--ink);--footer-muted:var(--muted);--footer-line:var(--line);--wash:var(--hover);--emerald-soft:var(--emerald-wash);--amber-soft:rgba(169,95,20,.1);--btn-primary-fg-warm:#fffdf8;--clay:var(--pal-clay-600);--clay-soft:rgba(143,77,53,.1);--btn-primary-bg:var(--ink);--btn-primary-fg:var(--btn-primary-fg-warm);--btn-primary-hover:var(--pal-ink-700);--on-ink:var(--pal-ink-a04);--modal-backdrop:var(--pal-ink-a48);--shadow-soft-wide:0 1px 2px rgba(43,36,24,.05),0 8px 24px rgba(43,36,24,.06);--shadow-lift-wide:0 2px 6px rgba(43,36,24,.06),0 18px 40px rgba(43,36,24,.12);--header-bg:hsla(0,0%,100%,.86);--lh-tight-nav:1.08;--lh-snug-nav:1.3;--lh-normal-nav:1.65}[data-theme=dark]{--amber-soft:rgba(224,149,74,.14);--clay:var(--pal-clay-400);--clay-soft:hsla(20,47%,60%,.14);--btn-primary-hover:#f7f9f1;--header-bg:rgba(18,20,15,.86);--shadow-soft-wide:0 1px 2px rgba(0,0,0,.3),0 4px 16px rgba(0,0,0,.34);--shadow-lift-wide:0 2px 4px rgba(0,0,0,.34),0 12px 32px rgba(0,0,0,.42);--footer-text:hsla(75,24%,93%,.78);--footer-muted:hsla(75,24%,93%,.62);--footer-line:hsla(75,24%,93%,.16);--shadow:0 22px 70px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]),html:not([data-theme=light]){--amber-soft:rgba(224,149,74,.14);--clay:var(--pal-clay-400);--clay-soft:hsla(20,47%,60%,.14);--btn-primary-hover:#f7f9f1;--header-bg:rgba(18,20,15,.86);--shadow-soft-wide:0 1px 2px rgba(0,0,0,.3),0 4px 16px rgba(0,0,0,.34);--shadow-lift-wide:0 2px 4px rgba(0,0,0,.34),0 12px 32px rgba(0,0,0,.42);--footer-text:hsla(75,24%,93%,.78);--footer-muted:hsla(75,24%,93%,.62);--footer-line:hsla(75,24%,93%,.16);--shadow:0 22px 70px rgba(0,0,0,.5);--modal-backdrop:rgba(0,0,0,.62);--btn-primary-fg:var(--pal-paper-900)}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.z-50{z-index:50}.z-\[60\]{z-index:60}.mx-auto{margin-left:auto;margin-right:auto}.mb-2xs{margin-bottom:var(--sp-2xs)}.mb-lg{margin-bottom:var(--sp-lg)}.mb-md{margin-bottom:var(--sp-md)}.mb-sm{margin-bottom:var(--sp-sm)}.mb-xl{margin-bottom:var(--sp-xl)}.ml-1{margin-left:.25rem}.ml-2xs{margin-left:var(--sp-2xs)}.mt-2xs{margin-top:var(--sp-2xs)}.mt-\[8vh\]{margin-top:8vh}.mt-auto{margin-top:auto}.mt-lg{margin-top:var(--sp-lg)}.mt-sm{margin-top:var(--sp-sm)}.mt-xl{margin-top:var(--sp-xl)}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-3{-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-14{height:3.5rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-\[52vh\]{max-height:52vh}.min-h-screen{min-height:100vh}.w-16{width:4rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-\[18em\]{max-width:18em}.max-w-\[36em\]{max-width:36em}.max-w-\[560px\]{max-width:560px}.max-w-\[68ch\]{max-width:68ch}.max-w-shell{max-width:984px}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-md{gap:var(--sp-md)}.gap-sm{gap:var(--sp-sm)}.gap-xl{gap:var(--sp-xl)}.gap-xs{gap:var(--sp-xs)}.gap-x-sm{-moz-column-gap:var(--sp-sm);column-gap:var(--sp-sm)}.gap-y-xs{row-gap:var(--sp-xs)}.space-y-2xl>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(var(--sp-2xl) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--sp-2xl) * var(--tw-space-y-reverse))}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-lg{border-radius:var(--r-lg)}.rounded-md{border-radius:var(--r-md)}.rounded-pill{border-radius:var(--r-pill)}.rounded-sm{border-radius:var(--r-sm)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-line{border-color:var(--line)}.bg-ink{background-color:var(--ink)}.bg-mist{background-color:var(--mist)}.bg-paper{background-color:var(--paper)}.bg-surface{background-color:var(--surface)}.bg-transparent{background-color:transparent}.p-4{padding:1rem}.p-lg{padding:var(--sp-lg)}.p-md{padding:var(--sp-md)}.p-xs{padding:var(--sp-xs)}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-lg{padding-left:var(--sp-lg);padding-right:var(--sp-lg)}.px-md{padding-left:var(--sp-md);padding-right:var(--sp-md)}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-2xl{padding-top:var(--sp-2xl);padding-bottom:var(--sp-2xl)}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-lg{padding-top:var(--sp-lg);padding-bottom:var(--sp-lg)}.py-md{padding-top:var(--sp-md);padding-bottom:var(--sp-md)}.py-sm{padding-top:var(--sp-sm);padding-bottom:var(--sp-sm)}.py-xs{padding-top:var(--sp-xs);padding-bottom:var(--sp-xs)}.pb-0{padding-bottom:0}.pb-xl{padding-bottom:var(--sp-xl)}.pt-lg{padding-top:var(--sp-lg)}.pt-md{padding-top:var(--sp-md)}.pt-xl{padding-top:var(--sp-xl)}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-body{font-size:var(--fs-body)}.text-display{font-size:var(--fs-display)}.text-meta{font-size:var(--fs-meta)}.text-title{font-size:var(--fs-title)}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-normal{line-height:var(--lh-normal)}.leading-snug{line-height:var(--lh-snug)}.leading-tight{line-height:var(--lh-tight)}.tracking-normal{letter-spacing:var(--ls-normal)}.tracking-wide{letter-spacing:var(--ls-wide)}.tracking-xwide{letter-spacing:var(--ls-xwide)}.text-ink{color:var(--ink)}.text-muted{color:var(--muted)}.text-paper{color:var(--paper)}.shadow-lift{--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition-\[border-color\2c transform\2c box-shadow\]{transition-property:border-color,transform,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\2c transform\]{transition-property:border-color,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}:root{--ink:#151713;--muted:#62685f;--line:rgba(21,23,19,.14);--emerald:#047a55;--emerald-strong:#035f43;--amber:#bd6b1b;--on-image:#fff;--paper:#fff;--surface:#fff;--surface-blur:hsla(0,0%,100%,.9);--overlay:rgba(21,23,19,.42);--mist:#f1f1ef;--shadow:0 22px 70px rgba(43,36,24,.14);--font-display:Georgia,"Times New Roman","Songti SC",serif;--font-body:"Avenir Next","Helvetica Neue","PingFang SC","Hiragino Sans GB",sans-serif;--font-mono:"SF Mono",Menlo,Consolas,monospace;--fs-display:clamp(36px,5.4vw,56px);--fs-title:clamp(22px,2.4vw,26px);--fs-body:16px;--fs-meta:13px;--lh-tight:1.15;--lh-snug:1.4;--lh-normal:1.65;--lh-relaxed:1.85;--ls-normal:0;--ls-wide:0.04em;--ls-xwide:0.14em;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-pill:999px;--sp-3xs:2px;--sp-2xs:4px;--sp-xs:8px;--sp-sm:12px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--sp-2xl:48px;--sp-3xl:72px}@media (prefers-color-scheme:dark){:root{--paper:#12140f;--surface:#12140f;--ink:#e8eae2;--muted:#9ba093;--line:hsla(75,16%,90%,.16);--emerald:#3fbb85;--emerald-strong:#5ed19c;--amber:#e0954a;--mist:#23261e;--shadow:0 22px 70px rgba(0,0,0,.5)}}*{box-sizing:border-box;padding:0;margin:0}html{scroll-behavior:smooth}body,html{max-width:100vw;overflow-x:hidden}body{color:var(--ink);background:var(--paper);font-family:var(--font-body);font-weight:400;font-size:var(--fs-body);line-height:var(--lh-normal);min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--ls-normal);color:var(--ink)}a{color:inherit;text-decoration:none}::-moz-selection{background:var(--emerald);color:var(--paper)}::selection{background:var(--emerald);color:var(--paper)}.site-header{background:var(--surface-blur)}.search-overlay{background:var(--overlay)}.prose{max-width:none;color:var(--ink);font-size:var(--fs-body);line-height:var(--lh-relaxed)}.prose h1{margin:var(--sp-xl) 0 var(--sp-md)}.prose h1,.prose h2{font-size:var(--fs-title);font-weight:700}.prose h2{margin:var(--sp-xl) 0 var(--sp-sm);padding-bottom:var(--sp-sm);border-bottom:1px solid var(--line)}.prose h3{font-size:var(--fs-body);font-weight:700;margin:var(--sp-lg) 0 var(--sp-xs)}.prose p{margin:var(--sp-md) 0;line-height:var(--lh-relaxed);color:var(--ink)}.prose strong{font-weight:700}.prose code{background:var(--mist);padding:.15em .4em;border-radius:var(--r-sm);font-family:var(--font-mono);font-size:.9em;color:var(--ink)}.prose pre{background:#151713;color:#f1f1ef;padding:var(--sp-lg);border-radius:var(--r-lg);overflow-x:auto;margin:var(--sp-lg) 0;font-size:var(--fs-meta);line-height:var(--lh-normal)}.prose pre code{background:transparent;color:inherit;padding:0;font-size:inherit}.prose blockquote{border-left:2px solid var(--emerald);padding-left:var(--sp-md);margin:var(--sp-lg) 0;color:var(--muted)}.prose ol,.prose ul{margin:var(--sp-md) 0;padding-left:var(--sp-lg)}.prose li{margin:var(--sp-xs) 0}.prose a{color:var(--emerald);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line);transition:color .2s ease}.prose a:hover{color:var(--emerald-strong)}.prose img{max-width:100%;height:auto;border-radius:var(--r-lg);margin:var(--sp-lg) 0}.prose table{width:100%;border-collapse:collapse;margin:var(--sp-lg) 0;font-size:var(--fs-meta)}.prose td,.prose th{border:1px solid var(--line);padding:var(--sp-sm);text-align:left}.prose th{background:var(--mist);font-weight:700}.prose hr{border:0;border-top:1px solid var(--line);margin:var(--sp-xl) 0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:var(--r-pill)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}:root[data-theme=dark]{--ink:#e8eae2;--muted:#9ba093;--line:hsla(75,16%,90%,.16);--emerald:#3fbb85;--emerald-strong:#5ed19c;--amber:#e0954a;--paper:#12140f;--surface:#12140f;--surface-blur:rgba(24,26,20,.88);--overlay:rgba(0,0,0,.58);--mist:#23261e;--shadow:0 22px 70px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){:root[data-theme=light]{--ink:#151713;--muted:#62685f;--line:rgba(21,23,19,.14);--emerald:#047a55;--emerald-strong:#035f43;--amber:#bd6b1b;--paper:#fff;--surface:#fff;--surface-blur:hsla(0,0%,100%,.9);--overlay:rgba(21,23,19,.42);--mist:#f1f1ef;--shadow:0 22px 70px rgba(43,36,24,.14)}}.theme-toggle .theme-icon-sun{display:none}.theme-toggle .theme-icon-moon,[data-theme=dark] .theme-toggle .theme-icon-sun{display:block}[data-theme=dark] .theme-toggle .theme-icon-moon{display:none}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .theme-toggle .theme-icon-sun{display:block}html:not([data-theme=light]) .theme-toggle .theme-icon-moon{display:none}}.placeholder\:text-muted::-moz-placeholder{color:var(--muted)}.placeholder\:text-muted::placeholder{color:var(--muted)}.first\:pt-0:first-child{padding-top:0}.last\:border-b-0:last-child{border-bottom-width:0}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-emerald:hover{border-color:var(--emerald)}.hover\:bg-mist:hover{background-color:var(--mist)}.hover\:text-emerald:hover{color:var(--emerald)}.hover\:shadow-lift:hover{--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:text-emerald{color:var(--emerald)}@media (min-width:640px){.sm\:inline{display:inline}.sm\:h-16{height:4rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width:980px){.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\2c 0\.92fr\)_280px\]{grid-template-columns:minmax(0,.92fr) 280px}}