@import"https://fonts.googleapis.com/css2?family=Special+Elite&family=Caveat:wght@400;600&family=Work+Sans:wght@400;500;600&display=swap";footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--pencil);display:flex;flex-wrap:wrap;gap:var(--ag-space-s);padding:var(--ag-space-l)}.footer-link[data-astro-cid-sz7xmlte]{background:var(--surface-2);border-radius:var(--radius-cel);color:var(--text-1);font-family:var(--font-mono);font-size:var(--ag-font-size-xs);letter-spacing:.06em;padding:var(--ag-space-xs) var(--ag-space-m);text-decoration:none;text-transform:uppercase;&:hover{background:var(--brand-1);color:var(--paper)}&:focus-visible{outline:2px solid var(--brand-1);outline-offset:2px}}header[data-astro-cid-3ef6ksr2]{align-items:center;border-bottom:1px solid var(--pencil);display:flex;gap:var(--ag-space-m);padding:var(--ag-space-s) var(--ag-space-2xl)}.brand[data-astro-cid-3ef6ksr2]{color:var(--ink);font-family:var(--font-display);font-size:var(--font-size-3);font-weight:var(--font-weight-regular);letter-spacing:.05em;text-decoration:none;white-space:nowrap;&:hover{color:var(--brand-1)}&:focus-visible{border-radius:2px;outline:2px solid var(--brand-1);outline-offset:4px}}.brand-sub[data-astro-cid-3ef6ksr2]{color:var(--ink-faint);font-family:var(--font-mono);font-size:var(--ag-font-size-xs);letter-spacing:.04em}.header-nav[data-astro-cid-3ef6ksr2]{margin-left:auto}.nav-list[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:row;gap:var(--ag-space-2xs);list-style:none;margin:0;padding:0}.nav-item[data-astro-cid-3ef6ksr2]{list-style:none}.nav-link[data-astro-cid-3ef6ksr2]{align-items:center;border:1px solid var(--pencil);border-radius:2px;color:var(--ink-faint);display:flex;font-family:var(--font-mono);font-size:var(--ag-font-size-xs);gap:var(--ag-space-2xs);letter-spacing:.06em;padding:var(--ag-space-2xs) var(--ag-space-s);text-decoration:none;text-transform:uppercase;transition:border-color var(--ag-transition-fast),color var(--ag-transition-fast),background var(--ag-transition-fast);&:hover{background:var(--paper-dark);border-color:var(--ink);color:var(--ink)}&:focus-visible{outline:2px solid var(--brand-1);outline-offset:2px}}.nav-link--active[data-astro-cid-3ef6ksr2]{border-color:var(--brand-1);color:var(--brand-1)}.nav-icon[data-astro-cid-3ef6ksr2]{font-size:.85em;line-height:1}.binding-strip[data-astro-cid-pux6a34n]{background-image:radial-gradient(circle,rgba(0,0,0,.18) 3px,transparent 3px),radial-gradient(circle,var(--paper) 0px,var(--paper) 4px,var(--ink) 4px,var(--ink) 5.5px,transparent 5.5px);background-size:100% 52px;background-position:center 24px;background-repeat:repeat-y;align-self:stretch;width:100%}@layer ag-color-palette,ag-theme,ag-theme-overrides;@layer ag-color-palette,ag-theme,ag-theme-overrides;@layer ag-color-palette{:root{--ag-color-neutral-99: #fdfaf5;--ag-color-neutral-95: #f6f1e7;--ag-color-neutral-90: #ede6d4;--ag-color-neutral-80: #d8d0bc;--ag-color-neutral-70: #b4a88a;--ag-color-neutral-60: #9a8070;--ag-color-neutral-50: #7e6450;--ag-color-neutral-40: #5e4a38;--ag-color-neutral-30: #42301e;--ag-color-neutral-20: #2a1e10;--ag-color-neutral-10: #1a1008;--ag-color-neutral-05: #0d0804;--ag-color-brand-95: #fdf0ec;--ag-color-brand-90: #fad4c4;--ag-color-brand-80: #f0a080;--ag-color-brand-70: #e07050;--ag-color-brand-60: #d05030;--ag-color-brand-50: #c43a1a;--ag-color-brand-40: #9e2e14;--ag-color-brand-30: #7a2010;--ag-color-brand-20: #5c1808;--ag-color-brand-10: #3e1004;--ag-color-brand-05: #200800;--ag-color-accent-90: #d0dcf0;--ag-color-accent-70: #4a6a9a;--ag-color-accent-50: #2a4a7a;--ag-color-accent-40: #1e3660;--ag-color-accent-20: #0e1c30;--ag-color-accent-10: #060e18;--ag-color-success-95: #eef4ee;--ag-color-success-90: #d0e4d0;--ag-color-success-70: #4a7a4a;--ag-color-success-50: #336633;--ag-color-success-40: #2a4a2a;--ag-color-success-20: #142814;--ag-color-success-10: #0a1a0a;--ag-color-warning-95: #fdf4e8;--ag-color-warning-90: #f8e4c0;--ag-color-warning-70: #c08030;--ag-color-warning-50: #8a5a18;--ag-color-warning-40: #7a5010;--ag-color-warning-20: #402a06;--ag-color-warning-10: #281a02;--ag-color-danger-95: var(--ag-color-brand-95);--ag-color-danger-90: var(--ag-color-brand-90);--ag-color-danger-70: var(--ag-color-brand-70);--ag-color-danger-50: var(--ag-color-brand-50);--ag-color-danger-40: var(--ag-color-brand-40);--ag-color-danger-20: var(--ag-color-brand-20)}}@layer ag-theme{:root,[data-theme=paper]{--ag-color-surface-raised: #ffffff;--ag-color-surface-default: var(--ag-color-neutral-95);--ag-color-surface-lowered: var(--ag-color-neutral-90);--ag-color-surface-border: var(--ag-color-neutral-70);--ag-color-text-normal: var(--ag-color-neutral-20);--ag-color-text-quiet: var(--ag-color-neutral-50);--ag-color-text-link: var(--ag-color-accent-50);--ag-color-focus: var(--ag-color-brand-50);--ag-color-brand-fill-quiet: var(--ag-color-brand-95);--ag-color-brand-fill-normal: var(--ag-color-brand-90);--ag-color-brand-fill-loud: var(--ag-color-brand-50);--ag-color-brand-border-quiet: var(--ag-color-brand-80);--ag-color-brand-border-normal: var(--ag-color-brand-60);--ag-color-brand-border-loud: var(--ag-color-brand-40);--ag-color-brand-on-quiet: var(--ag-color-brand-40);--ag-color-brand-on-normal: var(--ag-color-brand-30);--ag-color-brand-on-loud: white;--ag-color-success-fill-quiet: var(--ag-color-success-95);--ag-color-success-fill-normal: var(--ag-color-success-90);--ag-color-success-fill-loud: var(--ag-color-success-50);--ag-color-success-border-normal: var(--ag-color-success-70);--ag-color-success-on-normal: var(--ag-color-success-40);--ag-color-success-on-loud: white;--ag-color-warning-fill-quiet: var(--ag-color-warning-95);--ag-color-warning-fill-normal: var(--ag-color-warning-90);--ag-color-warning-fill-loud: var(--ag-color-warning-50);--ag-color-warning-border-normal: var(--ag-color-warning-70);--ag-color-warning-on-normal: var(--ag-color-warning-40);--ag-color-warning-on-loud: white;--ag-color-neutral-fill-quiet: var(--ag-color-neutral-95);--ag-color-neutral-fill-normal: var(--ag-color-neutral-90);--ag-color-neutral-fill-loud: var(--ag-color-neutral-20);--ag-color-neutral-border-quiet: var(--ag-color-neutral-80);--ag-color-neutral-border-normal: var(--ag-color-neutral-70);--ag-color-neutral-border-loud: var(--ag-color-neutral-50);--ag-color-neutral-on-quiet: var(--ag-color-neutral-50);--ag-color-neutral-on-normal: var(--ag-color-neutral-30);--ag-color-neutral-on-loud: white;--ag-font-family-body: "Work Sans", system-ui, sans-serif;--ag-font-family-heading: "Special Elite", serif;--ag-font-family-code: "Courier New", "Courier Prime", monospace;--ag-font-family-longform: "Caveat", cursive;--ag-font-size-scale: 1;--ag-font-size-3xs: round(calc(var(--ag-font-size-2xs) / 1.125), 1px);--ag-font-size-2xs: round(calc(var(--ag-font-size-xs) / 1.125), 1px);--ag-font-size-xs: round(calc(var(--ag-font-size-s) / 1.125), 1px);--ag-font-size-s: round(calc(var(--ag-font-size-m) / 1.125), 1px);--ag-font-size-m: calc(1rem * var(--ag-font-size-scale));--ag-font-size-l: round(calc(var(--ag-font-size-m) * 1.125 * 1.125), 1px);--ag-font-size-xl: round(calc(var(--ag-font-size-l) * 1.125 * 1.125), 1px);--ag-font-size-2xl: round(calc(var(--ag-font-size-xl) * 1.125 * 1.125), 1px);--ag-font-size-3xl: round(calc(var(--ag-font-size-2xl) * 1.125 * 1.125), 1px);--ag-font-size-4xl: round(calc(var(--ag-font-size-3xl) * 1.125 * 1.125), 1px);--ag-font-size-5xl: round(calc(var(--ag-font-size-4xl) * 1.125 * 1.125), 1px);--ag-font-weight-light: 300;--ag-font-weight-normal: 400;--ag-font-weight-semibold: 500;--ag-font-weight-bold: 600;--ag-line-height-condensed: 1.2;--ag-line-height-normal: 1.6;--ag-line-height-expanded: 2;--ag-space-scale: 1;--ag-space-3xs: calc(var(--ag-space-scale) * .125rem);--ag-space-2xs: calc(var(--ag-space-scale) * .25rem);--ag-space-xs: calc(var(--ag-space-scale) * .5rem);--ag-space-s: calc(var(--ag-space-scale) * .75rem);--ag-space-m: calc(var(--ag-space-scale) * 1rem);--ag-space-l: calc(var(--ag-space-scale) * 1.5rem);--ag-space-xl: calc(var(--ag-space-scale) * 2rem);--ag-space-2xl: calc(var(--ag-space-scale) * 2.5rem);--ag-space-3xl: calc(var(--ag-space-scale) * 3rem);--ag-space-4xl: calc(var(--ag-space-scale) * 4rem);--ag-border-style: solid;--ag-border-width-scale: 1;--ag-border-width-s: calc(var(--ag-border-width-scale) * .0625rem);--ag-border-width-m: calc(var(--ag-border-width-scale) * .09375rem);--ag-border-width-l: calc(var(--ag-border-width-scale) * .125rem);--ag-border-radius-scale: 1;--ag-border-radius-s: calc(var(--ag-border-radius-scale) * .125rem);--ag-border-radius-m: calc(var(--ag-border-radius-scale) * .25rem);--ag-border-radius-l: calc(var(--ag-border-radius-scale) * .5rem);--ag-border-radius-pill: 9999px;--ag-focus-ring-style: solid;--ag-focus-ring-width: .125rem;--ag-focus-ring: var(--ag-focus-ring-style) var(--ag-focus-ring-width) var(--ag-color-focus);--ag-focus-ring-offset: .1875rem;--ag-color-shadow: var(--ag-color-text-normal);--ag-shadow-blur-scale: 0;--ag-shadow-spread-scale: 0;--ag-shadow-offset-x-scale: 1;--ag-shadow-offset-y-scale: 1;--ag-shadow-offset-x-s: calc(var(--ag-shadow-offset-x-scale) * .125rem);--ag-shadow-offset-x-m: calc(var(--ag-shadow-offset-x-scale) * .1875rem);--ag-shadow-offset-x-l: calc(var(--ag-shadow-offset-x-scale) * .25rem);--ag-shadow-offset-y-s: calc(var(--ag-shadow-offset-y-scale) * .125rem);--ag-shadow-offset-y-m: calc(var(--ag-shadow-offset-y-scale) * .1875rem);--ag-shadow-offset-y-l: calc(var(--ag-shadow-offset-y-scale) * .25rem);--ag-shadow-s: var(--ag-shadow-offset-x-s) var(--ag-shadow-offset-y-s) 0 0 var(--ag-color-shadow);--ag-shadow-m: var(--ag-shadow-offset-x-m) var(--ag-shadow-offset-y-m) 0 0 var(--ag-color-shadow);--ag-shadow-l: var(--ag-shadow-offset-x-l) var(--ag-shadow-offset-y-l) 0 0 var(--ag-color-shadow);--ag-transition-easing: ease;--ag-transition-slow: .3s;--ag-transition-normal: .15s;--ag-transition-fast: 75ms}[data-theme=dark]{--ag-color-surface-raised: var(--ag-color-neutral-20);--ag-color-surface-default: var(--ag-color-neutral-10);--ag-color-surface-lowered: var(--ag-color-neutral-05);--ag-color-surface-border: var(--ag-color-neutral-30);--ag-color-text-normal: var(--ag-color-neutral-95);--ag-color-text-quiet: var(--ag-color-neutral-70);--ag-color-text-link: var(--ag-color-accent-70);--ag-color-focus: var(--ag-color-brand-60);--ag-color-shadow: color-mix(in oklab, var(--ag-color-neutral-05) 80%, transparent);--ag-color-brand-fill-quiet: var(--ag-color-brand-10);--ag-color-brand-fill-normal: var(--ag-color-brand-20);--ag-color-brand-fill-loud: var(--ag-color-brand-50);--ag-color-brand-border-quiet: var(--ag-color-brand-20);--ag-color-brand-border-normal: var(--ag-color-brand-40);--ag-color-brand-border-loud: var(--ag-color-brand-60);--ag-color-brand-on-quiet: var(--ag-color-brand-70);--ag-color-brand-on-normal: var(--ag-color-brand-80);--ag-color-brand-on-loud: white;--ag-color-neutral-fill-quiet: var(--ag-color-neutral-10);--ag-color-neutral-fill-normal: var(--ag-color-neutral-20);--ag-color-neutral-fill-loud: var(--ag-color-neutral-90);--ag-color-neutral-border-quiet: var(--ag-color-neutral-20);--ag-color-neutral-border-normal: var(--ag-color-neutral-30);--ag-color-neutral-border-loud: var(--ag-color-neutral-40);--ag-color-neutral-on-quiet: var(--ag-color-neutral-70);--ag-color-neutral-on-normal: var(--ag-color-neutral-80);--ag-color-neutral-on-loud: var(--ag-color-neutral-05);--ag-color-success-fill-quiet: var(--ag-color-success-10);--ag-color-success-fill-normal: var(--ag-color-success-20);--ag-color-success-fill-loud: var(--ag-color-success-50);--ag-color-success-border-normal: var(--ag-color-success-50);--ag-color-success-on-normal: var(--ag-color-success-70);--ag-color-success-on-loud: white}}@layer ag-theme-overrides{:root{--paper: var(--ag-color-surface-default);--paper-dark: var(--ag-color-surface-lowered);--paper-shadow: var(--ag-color-neutral-80);--ink: var(--ag-color-text-normal);--ink-faint: var(--ag-color-text-quiet);--pencil: var(--ag-color-surface-border);--blue-ink: var(--ag-color-text-link);--green-ink: var(--ag-color-success-on-normal);--amber-ink: var(--ag-color-warning-on-normal);--red-pen: rgba(200, 60, 60, .28);--margin-width: 54px;--red-margin: var(--red-pen);--brand-1: var(--ag-color-brand-fill-loud);--brand-2: var(--ag-color-brand-border-loud);--brand-3: var(--ag-color-brand-70);--surface-1: var(--ag-color-surface-default);--surface-2: var(--ag-color-surface-lowered);--surface-3: var(--ag-color-neutral-80);--text-1: var(--ag-color-text-normal);--text-2: var(--ag-color-text-quiet);--text-3: var(--ag-color-surface-border);--accent-1: var(--ag-color-text-link);--accent-2: var(--ag-color-accent-40);--accent-3: var(--ag-color-accent-70);--gold-1: var(--ag-color-warning-on-normal);--gold-2: var(--ag-color-warning-40);--seafoam: var(--ag-color-success-on-normal);--font-display: var(--ag-font-family-heading);--font-heading: var(--ag-font-family-heading);--font-body: var(--ag-font-family-body);--font-annotation: var(--ag-font-family-longform);--font-mono: var(--ag-font-family-code);--font-size-1: var(--ag-font-size-m);--font-size-2: var(--ag-font-size-l);--font-size-3: var(--ag-font-size-xl);--font-size-4: var(--ag-font-size-2xl);--font-size-5: var(--ag-font-size-3xl);--font-weight-light: var(--ag-font-weight-light);--font-weight-regular: var(--ag-font-weight-normal);--font-weight-bold: var(--ag-font-weight-bold);--outline-width: var(--ag-border-width-l);--outline-color: var(--ag-color-text-normal);--outline: var(--ag-border-width-l) var(--ag-border-style) var(--ag-color-text-normal);--shadow-cel: var(--ag-shadow-s);--shadow-cel-lg: var(--ag-shadow-m);--shadow-cel-xl: var(--ag-shadow-l);--radius-cel: var(--ag-border-radius-s);--radius-cel-lg: var(--ag-border-radius-m)}}body{background-color:var(--paper);background-image:linear-gradient(rgba(90,110,200,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(90,110,200,.06) 1px,transparent 1px);background-size:24px 24px}body:before{content:"";position:fixed;left:var(--margin-width);top:0;bottom:0;width:1.5px;background:var(--red-margin);pointer-events:none;z-index:10}.site-layout{display:grid;grid-template-columns:var(--margin-width) 1fr;min-height:100vh}.content-col{container-type:inline-size;container-name:content-col;display:grid;grid-template-rows:auto 1fr auto;min-width:0}.content-col main{container-type:inline-size;container-name:main-canvas;display:grid;gap:2rem;grid-template-columns:1fr;padding:2rem 2.5rem}@container content-col (min-width: 1400px){.content-col main{align-items:start;gap:3rem;grid-template-areas:"hero posts";grid-template-columns:minmax(380px,480px) 1fr}.content-col main>*{grid-area:posts}.content-col main>.hero-section{grid-area:hero;position:sticky;top:2rem}}.posts-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}@container main-canvas (min-width: 700px){.posts-grid{grid-template-columns:repeat(2,1fr)}}@container main-canvas (min-width: 1100px){.posts-grid{grid-template-columns:repeat(3,1fr)}}@container main-canvas (min-width: 1600px){.posts-grid{grid-template-columns:repeat(4,1fr)}}@media(prefers-reduced-motion:no-preference){*{scroll-behavior:smooth}}:root{--brand-1: var(--ag-color-brand-fill-loud);--brand-2: var(--ag-color-brand-border-loud);--brand-3: var(--ag-color-brand-70);--accent-1: var(--ag-color-text-link);--accent-2: var(--ag-color-accent-40);--accent-3: var(--ag-color-accent-70);--surface-1: var(--ag-color-surface-default);--surface-2: var(--ag-color-surface-lowered);--surface-3: var(--ag-color-neutral-80);--text-1: var(--ag-color-text-normal);--text-2: var(--ag-color-text-quiet);--text-3: var(--ag-color-surface-border);--gold-1: var(--ag-color-warning-on-normal);--gold-2: var(--ag-color-warning-40);--seafoam: var(--ag-color-success-on-normal);--outline-width: var(--ag-border-width-l);--outline-color: var(--ag-color-text-normal);--outline: var(--ag-border-width-l) var(--ag-border-style) var(--ag-color-text-normal);--shadow-cel: var(--ag-shadow-s);--shadow-cel-lg: var(--ag-shadow-m);--shadow-cel-xl: var(--ag-shadow-l);--radius-cel: var(--ag-border-radius-s);--radius-cel-lg: var(--ag-border-radius-m)}:root{--font-display: var(--ag-font-family-heading);--font-heading: var(--ag-font-family-heading);--font-body: var(--ag-font-family-body);--font-annotation: var(--ag-font-family-longform);--font-mono: var(--ag-font-family-code);--font-size-1: var(--ag-font-size-m);--font-size-2: var(--ag-font-size-l);--font-size-3: var(--ag-font-size-xl);--font-size-4: var(--ag-font-size-2xl);--font-size-5: var(--ag-font-size-3xl);--font-weight-light: var(--ag-font-weight-light);--font-weight-regular: var(--ag-font-weight-normal);--font-weight-bold: var(--ag-font-weight-bold)}html{font-family:var(--font-body),sans-serif}body{color:var(--ink);font-size:1rem;line-height:1.6;margin:0;padding:0}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-weight-regular);line-height:1.2;margin:0 0 .6em}h1{font-size:var(--font-size-5);color:var(--brand-1)}h2{font-size:var(--font-size-4);color:var(--ink)}h3{font-size:var(--font-size-3);color:var(--ink)}h4{font-size:var(--font-size-2);color:var(--ink-faint)}p{margin:0 0 1rem}a{color:var(--blue-ink);text-underline-offset:3px;&:focus-visible{outline:2px solid var(--brand-1);outline-offset:3px;border-radius:2px}}.annotation{color:var(--ink-faint);font-family:var(--font-annotation);font-size:var(--ag-font-size-s)}.code-note{color:var(--ink-faint);font-family:var(--font-mono);font-size:var(--ag-font-size-xs);letter-spacing:.02em}pre{border:1.5px solid var(--pencil);border-radius:var(--radius-cel);box-shadow:var(--shadow-cel);font-family:var(--font-mono);font-size:var(--ag-font-size-s);line-height:1.6;margin:0 0 1.5rem;overflow-x:auto;padding:1.25rem 1.5rem;position:relative;& code{background:none;border:none;font-size:inherit;padding:0}}:not(pre)>code{background:var(--paper-dark);border:1px solid var(--pencil);border-radius:3px;font-family:var(--font-mono);font-size:.85em;padding:.1em .35em}.code-copy-btn{background:none;border:1px solid var(--pencil);border-radius:var(--radius-cel);color:var(--pencil);cursor:pointer;font-family:var(--font-mono);font-size:var(--ag-font-size-xs);letter-spacing:.08em;line-height:1;opacity:0;padding:.3em .55em;position:absolute;right:.6rem;top:.6rem;transition:opacity .15s,color .15s,border-color .15s;&:hover{border-color:var(--ink-faint);color:var(--ink-faint)}&.copied{border-color:var(--green-ink);color:var(--green-ink);opacity:1}@media(prefers-reduced-motion:reduce){transition:none}}pre:hover .code-copy-btn,pre:focus-within .code-copy-btn{opacity:1}sketch-card{container-name:sketch-card;container-type:inline-size;display:block;position:relative;width:100%}.card-content{padding:1.5rem 1.75rem;position:relative;z-index:1}.card-type-label{color:var(--ink-faint);display:block;font-family:var(--font-mono);font-size:var(--ag-font-size-xs);letter-spacing:.08em;margin-bottom:.6rem}.card-title{color:var(--ink);font-family:var(--font-display);font-size:var(--ag-font-size-m);font-weight:var(--font-weight-regular);line-height:1.3;margin:0 0 .5rem;text-decoration:none;&:hover{color:var(--brand-1)}}.card-excerpt{color:var(--ink-faint);font-size:var(--ag-font-size-s);line-height:1.5;margin:0 0 .75rem}.card-date{color:var(--ink-faint);font-family:var(--font-mono);font-size:var(--ag-font-size-xs);letter-spacing:.1em;text-transform:uppercase}.page-title[data-astro-cid-37fxchfa]{font-family:var(--font-display);font-weight:var(--font-weight-regular);letter-spacing:.04em;margin-bottom:1.5rem}
