:root{--ll-ink:#0a0a0a;--ll-paper:#fff;--ll-zinc-25:#fafafa;--ll-zinc-50:#f5f5f5;--ll-zinc-100:#efefef;--ll-zinc-150:#e8e8e8;--ll-hairline:#e6e6e6;--ll-slate-700:#2f4757;--ll-slate-500:#3c5b6f;--ll-slate-300:#8094a1;--ll-slate-200:#a7b5be;--ll-slate-100:#ced6db;--ll-slate-50:#eceff1;--ll-clay:#8a5a2b;--ll-plum:#5b4a6b;--ll-signal:#2f5748;--ll-signal-surface:#f0f3f2;--ll-warn:#8a6a00;--ll-warn-surface:#f7f5f0;--ll-caution:#a0483a;--ll-caution-surface:#f8f2f1;--ll-gray-700:#3a3a3a;--ll-gray-500:#6e6e6e;--ll-gray-400:#8a8a8a;--ll-gray-300:#c9c9c9;--ll-ink-raised:#1c1c1c;--ll-ink-line:#242424;--ll-ink-body:#a0a0a0;--text-primary:var(--ll-ink);--text-body-color:var(--ll-gray-700);--text-secondary:var(--ll-gray-500);--text-disabled:var(--ll-gray-300);--text-on-ink:var(--ll-paper);--text-on-ink-secondary:var(--ll-gray-400);--text-link:var(--ll-slate-500);--text-link-hover:var(--ll-slate-700);--surface-page:var(--ll-paper);--surface-card:var(--ll-zinc-25);--surface-sunken:var(--ll-zinc-50);--surface-tinted:var(--ll-slate-50);--surface-inverse:var(--ll-ink);--border-hairline:var(--ll-hairline);--border-rule:var(--ll-ink);--border-on-ink:var(--ll-ink-line);--focus-ring:var(--ll-slate-500);--series-1:var(--ll-slate-500);--series-2:var(--ll-slate-300);--series-3:var(--ll-plum);--series-4:var(--ll-clay);--series-5:var(--ll-slate-100);--font-sans:"Instrument Sans Variable", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--text-display:72px;--leading-display:.98;--tracking-display:-.045em;--text-h1:56px;--leading-h1:1.02;--tracking-h1:-.04em;--text-h2:40px;--leading-h2:1.05;--tracking-h2:-.035em;--text-h3:26px;--leading-h3:1.2;--tracking-h3:-.03em;--text-h4:20px;--leading-h4:1.35;--tracking-h4:-.015em;--text-lead:18px;--leading-lead:1.6;--leading-body:1.65;--text-eyebrow:11px;--leading-eyebrow:1.4;--tracking-eyebrow:.14em;--text-caption:11px;--tracking-caption:.08em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--measure-body:70ch;--wordmark-tracking:-.02em;--descriptor-tracking:.22em;--descriptor-ratio:.57;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-18:72px;--space-22:88px;--space-24:96px;--space-26:104px;--gutter-page:72px;--gutter-page-wide:88px;--section-y:96px;--stack-section:56px;--stack-card:20px;--pad-card:32px;--pad-card-tight:24px;--pad-card-loose:40px;--slide-margin-x:120px;--slide-margin-y:96px;--radius-none:0;--radius-xs:4px;--radius-sm:5px;--radius-md:6px;--radius-lg:12px;--radius-xl:20px;--radius-full:9999px;--radius-mark-container:12px;--shadow-none:none;--border-width-hairline:1px;--border-width-rule:2px;--border-width-rule-heavy:3px;--divider-grid-gap:1px;--duration-instant:.1s;--duration-fast:.15s;--duration-base:.2s;--duration-slow:.3s;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--transition-interactive:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard)}@media (prefers-reduced-motion:reduce){:root{--duration-instant:0s;--duration-fast:0s;--duration-base:0s;--duration-slow:0s}}:root{--radius:.75rem;--background:#fff;--foreground:#0a0a0a;--card:#fff;--card-foreground:#0a0a0a;--popover:#fff;--popover-foreground:#0a0a0a;--primary:#0a0a0a;--primary-foreground:#fff;--secondary:#fafafa;--secondary-foreground:#0a0a0a;--muted:#f5f5f5;--muted-foreground:#6e6e6e;--accent:#eceff1;--accent-foreground:#2f4757;--destructive:#a0483a;--destructive-foreground:#fff;--success:#2f5748;--success-foreground:#fff;--warning:#8a6a00;--warning-foreground:#fff;--border:#e6e6e6;--input:#e6e6e6;--ring:#3c5b6f;--chart-1:#3c5b6f;--chart-2:#8094a1;--chart-3:#5b4a6b;--chart-4:#8a5a2b;--chart-5:#ced6db}.dark{--background:#0a0a0a;--foreground:#fff;--card:#1c1c1c;--card-foreground:#fff;--popover:#1c1c1c;--popover-foreground:#fff;--primary:#fff;--primary-foreground:#0a0a0a;--secondary:#242424;--secondary-foreground:#fff;--muted:#242424;--muted-foreground:#8a8a8a;--accent:#242424;--accent-foreground:#fff;--destructive:#a0483a;--destructive-foreground:#fff;--border:#242424;--input:#242424;--ring:#c9c9c9}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/fonts/instrument-sans-latin-ext-wght-normal.woff2)format("woff2-variations");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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/fonts/instrument-sans-latin-wght-normal.woff2)format("woff2-variations");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:Instrument Sans Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(/fonts/instrument-sans-latin-ext-wght-italic.woff2)format("woff2-variations");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:Instrument Sans Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(/fonts/instrument-sans-latin-wght-italic.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono-latin-ext-wght-normal.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono-latin-wght-normal.woff2)format("woff2-variations");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}@layer nest-base{*,:before,:after,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent;line-height:1.5}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:var(--text-link);transition:var(--transition-interactive);text-decoration:none}a:hover{color:var(--text-link-hover)}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-size:1em}ol,ul,menu{list-style:none}img,svg,video,canvas,picture{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}button{cursor:pointer}textarea{resize:vertical}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}::selection{background:var(--ll-slate-100);color:var(--ll-ink)}}@layer nest-components{.nest-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--secondary)}.nest-card[data-tone=paper]{background:var(--background)}.nest-card[data-tone=tinted]{background:var(--ll-slate-50)}.nest-card-header{align-items:start;gap:var(--space-2);padding:var(--space-8) var(--space-8) 0;grid-auto-rows:min-content;display:grid}.nest-card-title{font-family:var(--font-sans);font-size:16px;font-weight:var(--weight-semibold);letter-spacing:-.015em}.nest-card-title.text-h3{font-size:var(--text-h3);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3)}.nest-card-footer{align-items:center;gap:var(--space-4);border-top:1px solid var(--border);padding:var(--space-5) var(--space-8);display:flex}.nest-badge{align-items:center;gap:var(--space-1);white-space:nowrap;border:1px solid var(--border);border-radius:var(--radius-sm);width:fit-content;padding:2px var(--space-2);font-family:var(--font-mono);flex-shrink:0;font-size:12px;line-height:20px;display:inline-flex}.nest-badge[data-variant=default]{background:var(--primary);color:var(--primary-foreground);border-color:#0000}.nest-badge[data-variant=secondary]{background:var(--secondary);color:var(--secondary-foreground)}.nest-badge[data-variant=outline]{color:var(--foreground);background:0 0}.nest-badge[data-variant=accent]{background:var(--ll-slate-50);color:var(--ll-slate-700)}.nest-badge[data-mono=false]{font-family:var(--font-sans);font-weight:var(--weight-medium)}.nest-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ll-gray-500);font-size:11px}.nest-eyebrow[data-tone=ink]{color:var(--foreground)}.nest-eyebrow[data-tone=onInk]{color:var(--ll-gray-400)}.nest-eyebrow[data-tone=accent]{color:var(--ll-slate-500)}.nest-icon{flex-shrink:0;display:inline-block}.nest-separator{background:var(--border);flex-shrink:0;width:100%;height:1px}.nest-separator[data-weight=rule]{background:var(--ll-ink);height:2px}.nest-separator[data-weight=heavy]{background:var(--ll-ink);height:3px}}:root{--ease-expo:cubic-bezier(.16, 1, .3, 1);--page-x:clamp(20px, 5vw, 48px);--content-max:1088px}html{scroll-behavior:smooth}body{background:var(--ll-paper);min-height:100vh;color:var(--ll-ink);font-family:var(--font-sans);font-size:16px;line-height:var(--leading-body);flex-direction:column;margin:0;display:flex}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:21;background:var(--ll-paper);position:fixed;inset:0 0 auto}body>main{flex:1 0 auto;width:100%}a{color:var(--ll-slate-500);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--ll-slate-700)}a:focus-visible,button:focus-visible{outline:2px solid var(--ll-slate-500);outline-offset:3px;border-radius:2px}::selection{background:var(--ll-slate-100);color:var(--ll-ink)}.container{max-width:var(--content-max);padding-left:var(--page-x);padding-right:var(--page-x);margin:0 auto}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.arrow-link{align-items:center;gap:6px;font-size:15px;font-weight:500;display:inline-flex}.row{position:relative}.row-link{color:inherit;text-decoration:none}.row-link:after{content:"";position:absolute;inset:0}.row-link:focus-visible{outline:none}.row:has(.row-link:focus-visible){outline:2px solid var(--ll-slate-500);outline-offset:4px;border-radius:2px}.row-link:hover{color:inherit}.topic-link{z-index:1;color:var(--ll-gray-500);text-decoration:none;position:relative}.topic-link:hover{color:var(--ll-slate-500);text-underline-offset:3px;text-decoration:underline}.row:hover .row-title{text-underline-offset:5px;text-decoration:underline 1px}.outline-btn{border:1px solid var(--ll-gray-300);border-radius:var(--radius-md);background:var(--ll-paper);height:40px;color:var(--ll-ink);white-space:nowrap;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;text-decoration:none;transition:border-color .15s linear,background-color .15s linear,transform .1s ease-out;display:inline-flex}.outline-btn:hover{border-color:var(--ll-ink);background:var(--ll-zinc-50);color:var(--ll-ink)}.outline-btn:active{transform:translateY(1px)}@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}a .lucide-arrow-right,button .lucide-arrow-right,a .lucide-arrow-up-right{transition:transform .2s var(--ease-expo)}a:hover .lucide-arrow-right,button:hover .lucide-arrow-right{transform:translate(3px)}a:hover .lucide-arrow-up-right{transform:translate(2px,-2px)}.press{transition:transform .1s ease-out,background-color .15s linear,border-color .15s linear}.press:active{transform:translateY(1px)}@keyframes nest-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes nest-opacity{0%{opacity:0}to{opacity:1}}@keyframes nest-set{0%{clip-path:inset(100% -.1em -.3em);transform:translateY(.3em)}to{clip-path:inset(-.3em -.1em);transform:none}}@keyframes nest-rule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.anim-title{animation:nest-set .72s var(--ease-expo) 50ms backwards}.anim-lead{animation:nest-fade .5s var(--ease-expo) .22s backwards}.anim-action{animation:nest-fade .5s var(--ease-expo) .32s backwards}.anim-rule{position:relative}.anim-rule:after{content:"";background:var(--ll-ink);transform-origin:0;height:2px;animation:nest-rule .8s var(--ease-expo) .2s backwards;position:absolute;bottom:0;left:0;right:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}a .lucide-arrow-right,button .lucide-arrow-right,a .lucide-arrow-up-right{transition:none}a:hover .lucide-arrow-right,button:hover .lucide-arrow-right,a:hover .lucide-arrow-up-right,.press:active,.outline-btn:active{transform:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.anim-title,.anim-lead,.anim-action{animation:.2s linear backwards nest-opacity}.anim-rule:after{animation:none}}.post-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.post-li{border-bottom:1px solid var(--ll-hairline)}.post-row{color:var(--ll-ink);flex-wrap:wrap;align-items:baseline;gap:6px 40px;padding:20px 0;display:flex}.post-row.compact{gap:4px 32px}.post-date{font-family:var(--font-mono);color:var(--ll-gray-500);font-variant-numeric:tabular-nums;flex:0 0 104px;font-size:12px}.post-main{flex-direction:column;flex:420px;gap:4px;min-width:0;max-width:720px;display:flex}.compact .post-main{flex:360px;gap:6px;max-width:none}.post-title{letter-spacing:var(--tracking-h4);font-size:clamp(18px,1.6vw,20px);font-weight:600;line-height:1.3}.compact .post-title{font-size:var(--text-h4);line-height:var(--leading-h4)}.post-summary{color:var(--ll-gray-700);font-size:15px}.post-topics{font-family:var(--font-mono);color:var(--ll-gray-500);margin-top:4px;font-size:12px;line-height:1.4}.compact .post-topics{margin-top:0}.post-groups{flex-direction:column;gap:40px;display:flex}.post-group{flex-direction:column;display:flex}.post-group-title{border-bottom:1px solid var(--ll-hairline);font-size:var(--text-h4);line-height:var(--leading-h4);letter-spacing:var(--tracking-h4);font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;margin:0;padding-bottom:12px;font-weight:600;display:flex}.post-group-count{font-family:var(--font-mono);letter-spacing:0;color:var(--ll-gray-500);font-size:12px;font-weight:400}.post-empty{color:var(--ll-gray-500);margin:0}.site-header[data-astro-cid-fzpbxy5g]{top:env(safe-area-inset-top,0px);z-index:20;background:var(--ll-paper);border-bottom:1px solid var(--ll-hairline);position:sticky}.site-nav[data-astro-cid-fzpbxy5g]{max-width:var(--content-max);padding:calc(20px - 8px * var(--hdr-t,0)) var(--page-x);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;margin:0 auto;display:flex}.brand[data-astro-cid-fzpbxy5g]{color:var(--ll-ink);align-items:center;gap:12px;text-decoration:none;display:flex}.brand[data-astro-cid-fzpbxy5g]:hover{color:var(--ll-ink)}.brand[data-astro-cid-fzpbxy5g] .avatar{width:calc(72px - 36px * var(--hdr-t,0));height:calc(72px - 36px * var(--hdr-t,0));border-radius:50%;flex:none;display:block}.brand[data-astro-cid-fzpbxy5g] picture{flex:none}.brand-text[data-astro-cid-fzpbxy5g]{flex-direction:column;gap:2px;line-height:1.2;display:flex}.brand-name[data-astro-cid-fzpbxy5g]{letter-spacing:var(--wordmark-tracking);font-size:18px;font-weight:600}.brand-domain[data-astro-cid-fzpbxy5g]{font-family:var(--font-mono);color:var(--ll-gray-500);font-size:12px}.nav-links[data-astro-cid-fzpbxy5g]{flex-wrap:wrap;gap:4px 28px;font-size:15px;font-weight:500;display:flex}.nav-link[data-astro-cid-fzpbxy5g]{color:var(--ll-ink);padding:10px 0;text-decoration:none;position:relative}.nav-link[data-astro-cid-fzpbxy5g]:hover{color:var(--ll-ink)}.nav-link[data-astro-cid-fzpbxy5g]:after{content:"";background:var(--ll-ink);transform-origin:0;height:2px;transition:transform .25s var(--ease-expo);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link[data-astro-cid-fzpbxy5g]:hover:after,.nav-link[data-astro-cid-fzpbxy5g][aria-current=page]:after{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.nav-link[data-astro-cid-fzpbxy5g]:after{transition:none}}.site-footer[data-astro-cid-nns7i3if]{background:var(--ll-ink);color:var(--ll-paper)}.inner[data-astro-cid-nns7i3if]{max-width:var(--content-max);padding:24px var(--page-x) 40px;flex-direction:column;gap:24px;margin:0 auto;display:flex}.links[data-astro-cid-nns7i3if]{flex-wrap:wrap;gap:8px 28px;font-size:15px;font-weight:500;display:flex}.links[data-astro-cid-nns7i3if] .foot-link{color:var(--ll-paper);align-items:center;gap:4px;padding:10px 0;display:inline-flex}.links[data-astro-cid-nns7i3if] .foot-link:hover{color:var(--ll-paper);text-decoration:underline}.meta[data-astro-cid-nns7i3if]{border-top:1px solid var(--ll-ink-line);font-family:var(--font-mono);color:var(--ll-gray-400);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:20px;font-size:12px;display:flex}
