.locale-switch[data-v-4fac6773]{gap:var(--space-2);display:flex}.locale-link[data-v-4fac6773]{color:var(--color-fg-muted);font-size:var(--text-sm);text-decoration:none}.locale-link[data-v-4fac6773]:hover{color:var(--color-fg)}.theme-toggle[data-v-df53e793]{border:var(--border-thin) solid transparent;border-radius:var(--radius-full);block-size:2rem;inline-size:2rem;color:var(--color-fg-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle[data-v-df53e793]:hover{color:var(--color-fg);border-color:var(--color-border)}.skip-link[data-v-27648cae]{z-index:var(--layer-overlay);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background-color:var(--color-bg-raised);box-shadow:var(--shadow-raised);transition:transform var(--transition-fast);position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-2);transform:translateY(-200%)}.skip-link[data-v-27648cae]:focus-visible{transform:translateY(0)}.site-header[data-v-27648cae]{z-index:var(--layer-sticky);border-block-end:var(--border-thin) solid var(--color-border);background-color:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;inset-block-start:0}.header-inner[data-v-27648cae]{align-items:center;gap:var(--space-5);min-block-size:3.5rem;display:flex}.mark[data-v-27648cae]{font-weight:700;font-size:var(--text-base);letter-spacing:var(--tracking-wide);text-decoration:none}.site-nav[data-v-27648cae]{gap:var(--space-4);margin-inline-start:auto;display:flex}.nav-link[data-v-27648cae]{color:var(--color-fg-muted);font-size:var(--text-sm);text-decoration:none}.nav-link[data-v-27648cae]:hover,.nav-link.router-link-active[data-v-27648cae]{color:var(--color-fg)}.header-tools[data-v-27648cae]{align-items:center;gap:var(--space-3);border-inline-start:var(--border-thin) solid var(--color-border);padding-inline-start:var(--space-4);display:flex}.site-main[data-v-27648cae]{padding-block:var(--space-8) var(--space-10)}.site-footer[data-v-27648cae]{border-block-start:var(--border-thin) solid var(--color-border);padding-block:var(--space-6);color:var(--color-fg-subtle);font-size:var(--text-sm)}.footer-inner[data-v-27648cae]{align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.follow[data-v-27648cae]{gap:var(--space-2);flex-wrap:wrap;margin-inline-end:auto;display:flex}.footer-social[data-v-27648cae]{gap:var(--space-4);display:flex}.footer-link[data-v-27648cae]{text-decoration:none}.footer-copy[data-v-27648cae]{font-family:var(--font-mono);font-size:var(--text-xs)}@media (max-width:40rem){.header-inner[data-v-27648cae]{gap:var(--space-3);padding-block:var(--space-3);flex-wrap:wrap}.site-nav[data-v-27648cae]{order:3;inline-size:100%;margin-inline-start:0}.header-tools[data-v-27648cae]{border-inline-start:0;margin-inline-start:auto;padding-inline-start:0}}.home[data-v-51d01fd4]{gap:var(--space-8);flex-direction:column;display:flex}.intro .body[data-v-51d01fd4]{gap:var(--space-3);flex-direction:column;display:flex}.name[data-v-51d01fd4]{font-size:var(--text-3xl);letter-spacing:var(--tracking-tighter);font-weight:700}.tagline[data-v-51d01fd4]{font-size:var(--text-xl);font-weight:500;line-height:var(--leading-snug)}.lead[data-v-51d01fd4]{color:var(--color-fg-muted);font-size:var(--text-lg);line-height:var(--leading-relaxed);margin-block-start:var(--space-2)}.now-label[data-v-51d01fd4]{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.now-label[data-v-51d01fd4]:before{content:"";border-radius:var(--radius-full);background-color:var(--color-accent);block-size:.45em;inline-size:.45em}.now-label time[data-v-51d01fd4]{font-size:inherit;text-transform:none;letter-spacing:normal}.now .body[data-v-51d01fd4]{gap:var(--space-2);flex-direction:column;display:flex}.now-summary[data-v-51d01fd4]{font-size:var(--text-lg);line-height:var(--leading-relaxed)}.more a[data-v-51d01fd4]{color:var(--color-fg-muted);text-decoration:none}.more a[data-v-51d01fd4]:hover{color:var(--color-accent)}.latest[data-v-51d01fd4]{gap:var(--space-4);flex-direction:column;display:flex}.post-list[data-v-51d01fd4]{flex-direction:column;margin:0;display:flex}.post[data-v-51d01fd4]{padding-block:var(--space-4);border-block-start:var(--border-thin) solid var(--color-border)}.post[data-v-51d01fd4]:last-child{border-block-end:var(--border-thin) solid var(--color-border)}.post-title[data-v-51d01fd4]{font-size:var(--text-lg);font-weight:600}.post-title a[data-v-51d01fd4]{text-decoration:none}.post-title a[data-v-51d01fd4]:hover{text-decoration:underline}.post-description[data-v-51d01fd4]{color:var(--color-fg-muted);margin-block-start:var(--space-1)}@media (min-width:56rem){.now-label[data-v-51d01fd4]{justify-content:flex-end}.now-label[data-v-51d01fd4]:before{order:1}}@font-face{font-family:Chivo;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/chivo-italic-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:Chivo;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/chivo-italic-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:Chivo;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/chivo-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:Chivo;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/chivo-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:Chivo Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/chivo-mono-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:Chivo Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/chivo-mono-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}:root{--warm-0:#fbfaf7;--warm-50:#f6f4ee;--warm-100:#efece4;--warm-200:#ddd8cc;--warm-300:#c9c3b5;--warm-400:#a39d90;--warm-500:#8b8577;--warm-600:#756f62;--warm-700:#5c574d;--warm-800:#2e2a23;--warm-900:#1b1915;--warm-950:#15130f;--ember-300:#fdba74;--ember-400:#fb923c;--ember-500:#c2410c;--ember-600:#9a3412;--font-sans:"Chivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"Chivo Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs:clamp(.75rem, .73rem + .1vw, .8rem);--text-sm:clamp(.875rem, .85rem + .12vw, .925rem);--text-base:clamp(1rem, .97rem + .15vw, 1.0625rem);--text-lg:clamp(1.125rem, 1.08rem + .22vw, 1.25rem);--text-xl:clamp(1.375rem, 1.28rem + .45vw, 1.625rem);--text-2xl:clamp(1.75rem, 1.55rem + .95vw, 2.375rem);--text-3xl:clamp(2.25rem, 1.9rem + 1.7vw, 3.5rem);--leading-tight:1.1;--leading-snug:1.3;--leading-normal:1.6;--leading-relaxed:1.7;--tracking-tight:-.02em;--tracking-tighter:-.03em;--tracking-normal:0;--tracking-wide:.06em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--radius-sm:3px;--radius-md:6px;--radius-lg:12px;--radius-full:9999px;--border-thin:1px;--transition-fast:.12s ease;--transition-base:.22s cubic-bezier(.4, 0, .2, 1);--layer-base:0;--layer-sticky:10;--layer-overlay:100;--content-width:64ch;--page-width:1120px;--gutter:clamp(var(--space-4), 4vw, var(--space-7));--margin-col:9.5rem;--margin-gap:var(--space-6);--margin-breakpoint:56rem;--color-bg:var(--warm-50);--color-bg-subtle:var(--warm-100);--color-bg-raised:var(--warm-0);--color-fg:var(--warm-900);--color-fg-muted:var(--warm-700);--color-fg-subtle:var(--warm-600);--color-border:var(--warm-200);--color-border-strong:var(--warm-300);--color-accent:var(--ember-500);--color-accent-hover:var(--ember-600);--color-on-accent:var(--warm-0);--color-focus:var(--ember-500);--shadow-raised:0 1px 2px #1b19150f, 0 4px 12px #1b19150d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:var(--warm-950);--color-bg-subtle:var(--warm-900);--color-bg-raised:var(--warm-900);--color-fg:var(--warm-100);--color-fg-muted:var(--warm-400);--color-fg-subtle:var(--warm-500);--color-border:var(--warm-800);--color-border-strong:var(--warm-700);--color-accent:var(--ember-400);--color-accent-hover:var(--ember-300);--color-on-accent:var(--warm-950);--color-focus:var(--ember-400);--shadow-raised:0 1px 2px #0006, 0 4px 14px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--color-bg:var(--warm-950);--color-bg-subtle:var(--warm-900);--color-bg-raised:var(--warm-900);--color-fg:var(--warm-100);--color-fg-muted:var(--warm-400);--color-fg-subtle:var(--warm-500);--color-border:var(--warm-800);--color-border-strong:var(--warm-700);--color-accent:var(--ember-400);--color-accent-hover:var(--ember-300);--color-on-accent:var(--warm-950);--color-focus:var(--ember-400);--shadow-raised:0 1px 2px #0006, 0 4px 14px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;min-height:100dvh;line-height:1.6}img,picture,video,canvas,svg{block-size:auto;max-inline-size:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4{overflow-wrap:break-word}h1,h2,h3,h4{text-wrap:balance;font-weight:600;line-height:1.2}ul[role=list],ol[role=list]{padding:0;list-style:none}:target{scroll-margin-block-start:var(--space-8)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background-color:var(--color-bg);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);font-variant-numeric:tabular-nums;transition:background-color var(--transition-base), color var(--transition-base)}h1,h2,h3,h4{line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}a{color:inherit;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--color-accent) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--color-accent) 55%, transparent);text-underline-offset:.2em;transition:color var(--transition-fast), text-decoration-color var(--transition-fast)}a:hover{color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background-color:var(--color-accent);color:var(--color-on-accent)}code,pre,kbd,time{font-family:var(--font-mono);font-size:.92em}hr{border:0;border-block-start:var(--border-thin) solid var(--color-border)}.page{inline-size:min(100% - var(--gutter) * 2, var(--page-width));margin-inline:auto}.prose{inline-size:min(100%, var(--content-width))}.prose>*+*,.prose>.markdown-body>*+*{margin-block-start:var(--space-4)}.stack{flex-direction:column;display:flex}.label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-fg-subtle)}.margined{gap:var(--space-2) var(--margin-gap);grid-template-columns:minmax(0,1fr);align-items:baseline;display:grid}.margined>.margin{color:var(--color-fg-subtle);font-family:var(--font-mono);font-size:var(--text-sm)}.margined>.body{min-inline-size:0;max-inline-size:var(--content-width)}@media (min-width:56rem){.margined{grid-template-columns:var(--margin-col) minmax(0, var(--content-width))}.margined>.margin{text-align:end}.margined>.body:only-child{grid-column:2}.margined-width{max-inline-size:calc(var(--margin-col) + var(--margin-gap) + var(--content-width))}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.reveal{animation:linear both reveal;animation-timeline:view();animation-range:entry entry 40%}@keyframes reveal{0%{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}}}.shiki,.shiki span{color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);-webkit-text-decoration:var(--shiki-light-text-decoration);text-decoration:var(--shiki-light-text-decoration)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .shiki,:root:not([data-theme=light]) .shiki span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);-webkit-text-decoration:var(--shiki-dark-text-decoration);text-decoration:var(--shiki-dark-text-decoration)}}:root[data-theme=dark] .shiki,:root[data-theme=dark] .shiki span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);-webkit-text-decoration:var(--shiki-dark-text-decoration);text-decoration:var(--shiki-dark-text-decoration)}.katex-display{margin-block:var(--space-4);overflow:auto hidden}.only-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .only-light{display:none}:root:not([data-theme=light]) .only-dark{display:block}}:root[data-theme=dark] .only-light{display:none}:root[data-theme=dark] .only-dark{display:block}
