@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", ui-monospace, monospace;--color-amber-500:oklch(76.9% .188 70.08);--color-stone-500:oklch(55.3% .013 58.071);--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.rounded-\[var\(--radius-lg\)\]{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[var\(--color-border-subtle\)\]{border-color:var(--color-border-subtle)}.bg-\[var\(--color-bg-surface\)\]{background-color:var(--color-bg-surface)}.p-6{padding:calc(var(--spacing) * 6)}.font-display{font-family:var(--font-display)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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-filter{-webkit-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-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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[var\(--color-border-strong\)\]:hover{border-color:var(--color-border-strong)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6}@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+??}@font-face{font-family:Inter;src:url(/fonts/Inter-Variable.woff2)format("woff2");font-weight:300 600;font-style:normal;font-display:swap;unicode-range:U+??}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+??}:root{--canvas:#faf8f3;--surface-soft:#f4efe6;--surface-card:#ece5d8;--surface-strong:#e3d9c7;--surface-dark:#1c1a16;--surface-dark-elev:#2a2722;--surface-dark-soft:#232019;--ink:#1a1815;--body-strong:#2c2924;--body:#423f38;--muted:#6f6b60;--muted-soft:#97927f;--on-dark:#f4efe6;--on-dark-soft:#a09a89;--accent:#bd6a43;--accent-active:#9a5234;--accent-tint:#f3e4da;--sage:#6f8268;--hairline:#e0d8c6;--hairline-soft:#ebe4d6;--success:#5d8a55;--warning:#b8862a;--error:#b5483f;--info:#4a6285;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:9999px;--space-xxs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--space-section:72px;--layout-content:760px;--layout-wide:1080px;--site-header-height:60px;--reading-progress-height:6px;--ct-essay-bg:#efe4ec;--ct-essay-fg:#6e4a60;--ct-note-bg:#e7ecdf;--ct-note-fg:#56683f;--ct-paper-bg:#e3e7ef;--ct-paper-fg:#46587a;--ct-roundup-bg:#f1e6d2;--ct-roundup-fg:#8a5f26;--ct-launch-bg:#f3e2da;--ct-launch-fg:#ab553a;--ct-project-bg:#e0e9e2;--ct-project-fg:#3c5c48;--ct-tutorial-bg:#e9e4d8;--ct-tutorial-fg:#4e4a40;--ct-oss-bg:#dde9e7;--ct-oss-fg:#356561;--t-fast:.15s ease;--t-base:.25s ease;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--canvas:#1c1a16;--surface-soft:#232019;--surface-card:#2a2722;--surface-strong:#322e27;--ink:#f4efe6;--body-strong:#e4ddcf;--body:#cbc4b3;--muted:#a09a89;--muted-soft:#77726a;--accent:#d08a63;--accent-active:#bd6a43;--accent-tint:#3a2d24;--sage:#8fa888;--info:#7a9bc4;--warning:#d4a04a;--error:#d07068;--hairline:#322e27;--hairline-soft:#2a2722}}html{scroll-padding-top:calc(var(--site-header-height) + var(--reading-progress-height))}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--canvas);color:var(--body);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}main img{max-width:100%;height:auto;margin-inline:auto;display:block}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);font-weight:400}a{color:inherit;text-decoration:none}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}.prose{font-family:var(--font-body);font-size:1rem;line-height:1.75;color:var(--body);max-width:none;width:100%;text-wrap:pretty}.prose :global(.callout),.prose :global(.aside),.prose :global(.sidenote),.prose :global(.paper-card){color:inherit}.prose>p:first-of-type{font-size:1.0625rem;line-height:1.75;color:var(--body-strong)}.prose :global(.callout p),.prose :global(.aside p),.prose :global(.sidenote p){font-family:inherit;font-size:inherit;font-style:inherit;color:inherit}.prose :global(.callout),.prose :global(.code-window),.prose :global(.sidenote),.prose :global(.aside),.prose :global(.youtube),.prose :global(.video-embed),.prose :global(.tweet-embed),.prose :global(.tweet-card){margin-block:var(--space-xl)}.prose :global(.code-window+.sidenote){margin-top:0;margin-bottom:var(--space-xl);border-top-left-radius:0;border-top-right-radius:0;border-top:1px solid color-mix(in srgb,var(--accent) 20%,var(--hairline-soft))}.prose :global(.code-window:has(+.sidenote)){margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.prose h2,.prose h3,.prose h4{font-family:var(--font-display);font-weight:400;color:var(--ink);letter-spacing:-.02em}.prose h2{font-size:1.875rem;line-height:1.3;margin-top:var(--space-section);margin-bottom:var(--space-md);padding-top:var(--space-lg);border-top:1px solid var(--hairline-soft)}.prose h3{font-size:1.5rem;line-height:1.35;margin-top:var(--space-xl);margin-bottom:var(--space-sm)}.prose h4{font-size:1.25rem;margin-top:var(--space-lg);margin-bottom:var(--space-xs)}.prose p{margin-bottom:var(--space-md)}.prose p+:global(.callout),.prose p+:global(.code-window){margin-top:var(--space-lg)}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose a:hover{color:var(--accent-active)}.prose strong{font-weight:500;color:var(--body-strong)}.prose ul,.prose ol{margin-bottom:var(--space-md);padding-left:var(--space-lg)}.prose ul{list-style:none}.prose ul li::marker{content:""}.prose ul li{position:relative;padding-left:var(--space-md);margin-bottom:var(--space-xs)}.prose ul li:before{content:"—";position:absolute;left:0;color:var(--muted-soft)}.prose blockquote{border-left:3px solid var(--accent);padding-left:var(--space-lg);margin:var(--space-lg) 0;font-family:var(--font-display);font-size:1.0625rem;font-style:italic;color:var(--muted)}.prose hr{border:none;border-top:1px solid var(--hairline);margin:var(--space-xl) 0}.prose img{display:block;width:100%;max-width:100%;height:auto;margin:var(--space-xl) auto var(--space-lg);border-radius:var(--r-lg);border:1px solid var(--hairline-soft)}.prose figure{margin:var(--space-xl) auto var(--space-lg);text-align:center}.prose figure img{width:100%;margin-inline:auto}.prose p:has(>img:only-child){width:100%;text-align:center}.prose :global(.caption-figure){margin-inline:auto;text-align:center}.prose img+p,.prose img+:global(.callout){margin-top:var(--space-lg)}.static-page .prose h2{font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:var(--space-xxl);margin-bottom:var(--space-md);padding-top:0;border-top:none}.static-page .prose h2:first-child{margin-top:0}.static-page .prose h2:not(:first-child){padding-top:var(--space-xl);border-top:1px solid var(--hairline-soft)}.static-page .prose h2+p,.static-page .prose h2+ul{margin-top:0}.static-page .prose p+h2{margin-top:var(--space-xxl)}.static-page .prose>p:first-child{font-size:1.0625rem;line-height:1.75;color:var(--body)}.static-page .prose ul{margin-top:0;margin-bottom:var(--space-md)}.static-page .prose ul li{padding-left:var(--space-md);margin-bottom:var(--space-sm);color:var(--body-strong);line-height:1.65}.static-page .prose ul li:before{content:"—";color:var(--accent);opacity:.75}.static-page .prose ul li:last-child{margin-bottom:0}.static-page .prose p{color:var(--body-strong);max-width:42rem}.static-page .prose a{font-weight:500;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.static-page .prose a:hover{color:var(--accent-active)}.static-page .prose :global(.static-aside){margin-top:var(--space-lg);padding:var(--space-lg);border:1px solid var(--hairline);border-radius:var(--r-lg);background:var(--surface-card);max-width:none}.static-page .prose :global(.static-aside) p{margin-bottom:0;color:var(--body)}.prose table{width:100%;border-collapse:collapse;font-size:14px;margin:var(--space-lg) 0}.prose th,.prose td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--hairline-soft);text-align:left}.prose th{font-weight:500;color:var(--ink)}.prose code:not(pre code){font-family:var(--font-mono);font-size:.875em;background:var(--surface-soft);border:1px solid var(--hairline-soft);border-radius:var(--r-xs);padding:1px 6px}.prose pre{margin:var(--space-lg) 0}@media print{nav,footer,.toc,.reading-progress-track,.series-nav,.related,.subscribe-placeholder{display:none!important}body{background:#fff!important;color:#000!important}.prose{max-width:none;color:#000!important;font-family:Georgia,Times New Roman,serif}.prose h2,.prose h3,.prose h4{color:#000!important;page-break-after:avoid}.prose a[href]:after{content:" (" attr(href) ")";font-size:.85em;color:#000}.prose pre,.code-window{background:#fff!important;border:1px solid black!important;color:#000!important}}.glyph[data-astro-cid-eb5squ6f]{display:block;flex-shrink:0}.nav[data-astro-cid-afdttjsk]{position:sticky;top:0;z-index:50;height:60px;background:color-mix(in srgb,var(--canvas) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline)}.nav--open[data-astro-cid-afdttjsk]{background:var(--canvas);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:var(--hairline-soft)}.nav-inner[data-astro-cid-afdttjsk]{display:flex;align-items:center;justify-content:space-between;max-width:1080px;height:100%;margin:0 auto;padding:0 var(--space-lg)}.wordmark[data-astro-cid-afdttjsk]{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-display);font-size:1.25rem;color:var(--ink);letter-spacing:-.02em;transition:color var(--t-fast)}.wordmark[data-astro-cid-afdttjsk]:hover,.wordmark[data-astro-cid-afdttjsk]:focus-visible{color:var(--accent)}.wordmark--scroll-driven[data-astro-cid-afdttjsk]:hover,.wordmark--scroll-driven[data-astro-cid-afdttjsk]:focus-visible{color:var(--ink)}.wordmark--scroll-driven[data-astro-cid-afdttjsk].wordmark--collapsed:hover,.wordmark--scroll-driven[data-astro-cid-afdttjsk].wordmark--collapsed:focus-visible{color:var(--ink)}.wordmark-glyph[data-astro-cid-afdttjsk]{display:flex;transform-origin:center;transition:color .4s ease}.wordmark[data-astro-cid-afdttjsk]:not(.wordmark--scroll-driven) .wordmark-glyph[data-astro-cid-afdttjsk]{transition:transform .5s cubic-bezier(.22,1,.36,1);animation:wordmark-glyph-in .8s cubic-bezier(.22,1,.36,1) both}.wordmark[data-astro-cid-afdttjsk]:not(.wordmark--scroll-driven):hover .wordmark-glyph[data-astro-cid-afdttjsk],.wordmark[data-astro-cid-afdttjsk]:not(.wordmark--scroll-driven):focus-visible .wordmark-glyph[data-astro-cid-afdttjsk]{transform:rotate(45deg)}.wordmark-text[data-astro-cid-afdttjsk]{display:inline-block;white-space:nowrap}.wordmark[data-astro-cid-afdttjsk]:not(.wordmark--scroll-driven) .wordmark-text[data-astro-cid-afdttjsk]{animation:wordmark-text-in .6s ease-out .12s both;transition:transform .5s cubic-bezier(.22,1,.36,1)}.wordmark[data-astro-cid-afdttjsk]:not(.wordmark--scroll-driven):hover .wordmark-text[data-astro-cid-afdttjsk],.wordmark[data-astro-cid-afdttjsk]:not(.wordmark--scroll-driven):focus-visible .wordmark-text[data-astro-cid-afdttjsk]{transform:translate(2px)}.wordmark--collapsed[data-astro-cid-afdttjsk]{gap:0}.wordmark--collapsed[data-astro-cid-afdttjsk] .wordmark-text[data-astro-cid-afdttjsk]{width:0;opacity:0;overflow:hidden}.wordmark--typing[data-astro-cid-afdttjsk] .wordmark-text[data-astro-cid-afdttjsk]{width:auto;opacity:1}.wordmark-glyph--spin[data-astro-cid-afdttjsk]{color:var(--accent);animation:wordmark-glyph-spin 2s linear forwards}.wordmark-glyph--settled[data-astro-cid-afdttjsk]{color:var(--ink);transform:rotate(0)}.wordmark--animating[data-astro-cid-afdttjsk] .wordmark-glyph[data-astro-cid-afdttjsk],.wordmark--animating[data-astro-cid-afdttjsk]:hover .wordmark-glyph[data-astro-cid-afdttjsk],.wordmark--animating[data-astro-cid-afdttjsk]:focus-visible .wordmark-glyph[data-astro-cid-afdttjsk]{transform:none}@keyframes wordmark-glyph-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wordmark-glyph-in{0%{opacity:0;transform:rotate(-135deg) scale(.65)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes wordmark-text-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.nav-links[data-astro-cid-afdttjsk]{display:flex;align-items:center;gap:var(--space-lg)}.nav-links[data-astro-cid-afdttjsk] a[data-astro-cid-afdttjsk],.nav-search[data-astro-cid-afdttjsk]{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--muted);transition:color var(--t-fast);background:none;border:none;padding:0;cursor:pointer}.nav-links[data-astro-cid-afdttjsk] a[data-astro-cid-afdttjsk]:hover,.nav-search[data-astro-cid-afdttjsk]:hover{color:var(--ink)}.menu-toggle[data-astro-cid-afdttjsk]{display:none;flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;padding:0;background:none;border:none;cursor:pointer}.menu-bar[data-astro-cid-afdttjsk]{display:block;width:22px;height:2px;background:var(--ink);border-radius:1px;transition:transform var(--t-fast),opacity var(--t-fast)}.nav--open[data-astro-cid-afdttjsk] .menu-bar[data-astro-cid-afdttjsk]:first-child{transform:translateY(4px) rotate(45deg)}.nav--open[data-astro-cid-afdttjsk] .menu-bar[data-astro-cid-afdttjsk]:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu[data-astro-cid-afdttjsk]{display:none}@media(max-width:767px){.nav-links[data-astro-cid-afdttjsk]{display:none}.menu-toggle[data-astro-cid-afdttjsk]{display:flex}.mobile-menu[data-astro-cid-afdttjsk]:not([hidden]){display:flex;position:fixed;inset:0;z-index:40;align-items:center;justify-content:center;padding:calc(60px + var(--space-lg)) var(--space-lg) var(--space-lg);background:var(--canvas)}.mobile-menu[data-astro-cid-afdttjsk] nav[data-astro-cid-afdttjsk]{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);width:100%}.mobile-nav-link[data-astro-cid-afdttjsk]{font-family:var(--font-display);font-size:clamp(1.75rem,8vw,2rem);color:var(--ink);letter-spacing:-.03em;background:none;border:none;padding:0;cursor:pointer;text-decoration:none}.mobile-nav-link[data-astro-cid-afdttjsk]:hover{color:var(--accent)}}.footer[data-astro-cid-35ed7um5]{background:var(--surface-dark);color:var(--on-dark-soft);padding:56px 0 0}.footer-inner[data-astro-cid-35ed7um5]{display:flex;justify-content:space-between;gap:var(--space-xxl);max-width:1080px;margin:0 auto;padding:0 var(--space-lg)}.footer-brand[data-astro-cid-35ed7um5]{max-width:280px}.wordmark[data-astro-cid-35ed7um5]{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-display);font-size:1.25rem;color:var(--on-dark);letter-spacing:-.02em;margin-bottom:var(--space-md);transition:color var(--t-fast)}.wordmark[data-astro-cid-35ed7um5]:hover{color:var(--accent)}.tagline[data-astro-cid-35ed7um5]{font-size:14px;line-height:1.55;color:var(--on-dark-soft)}.footer-columns[data-astro-cid-35ed7um5]{display:flex;gap:var(--space-xxl)}.footer-col[data-astro-cid-35ed7um5] h3[data-astro-cid-35ed7um5]{font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark);margin-bottom:var(--space-md)}.footer-col[data-astro-cid-35ed7um5] ul[data-astro-cid-35ed7um5]{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.footer-col[data-astro-cid-35ed7um5] a[data-astro-cid-35ed7um5]{font-size:14px;color:var(--on-dark-soft);transition:color var(--t-fast)}.footer-col[data-astro-cid-35ed7um5] a[data-astro-cid-35ed7um5]:hover{color:var(--on-dark)}.footer-bottom[data-astro-cid-35ed7um5]{margin-top:var(--space-xxl);padding:var(--space-lg);border-top:1px solid var(--surface-dark-elev);text-align:center}.footer-bottom[data-astro-cid-35ed7um5] p[data-astro-cid-35ed7um5]{font-size:13px;color:var(--muted-soft)}@media(max-width:767px){.footer-inner[data-astro-cid-35ed7um5]{flex-direction:column}.footer-columns[data-astro-cid-35ed7um5]{flex-wrap:wrap;gap:var(--space-xl)}}.search-modal[data-astro-cid-ntpb6bp7]{width:min(720px,calc(100vw - 2rem));max-height:min(80vh,720px);margin:8vh auto 0;padding:0;border:1px solid var(--hairline);border-radius:var(--r-lg);background:var(--canvas);color:var(--ink);box-shadow:0 24px 80px #0000002e}.search-modal[data-astro-cid-ntpb6bp7]::backdrop{background:#00000073}.search-modal-inner[data-astro-cid-ntpb6bp7]{padding:var(--space-lg)}.search-modal-header[data-astro-cid-ntpb6bp7]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md)}.search-modal-header[data-astro-cid-ntpb6bp7] h2[data-astro-cid-ntpb6bp7]{font-family:var(--font-display);font-size:1.25rem;color:var(--ink)}.search-close[data-astro-cid-ntpb6bp7]{padding:6px 10px;border-radius:var(--r-sm);border:1px solid var(--hairline);background:var(--surface-card);color:var(--muted);font-size:12px;cursor:pointer}.search-modal-status[data-astro-cid-ntpb6bp7]{margin:0;padding:var(--space-md);border:1px solid var(--hairline);border-radius:var(--r-md);font-size:14px;color:var(--muted);background:var(--surface-card)}.search-modal-status[data-astro-cid-ntpb6bp7][data-state=error]{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 35%,var(--hairline))}.search-modal-ui[data-astro-cid-ntpb6bp7] .pagefind-ui{--pagefind-ui-font: var(--font-body);--pagefind-ui-text: var(--ink);--pagefind-ui-background: var(--canvas);--pagefind-ui-border: var(--hairline);--pagefind-ui-primary: var(--accent)}main[data-astro-cid-o7hvdbfg]{min-height:calc(100vh - 260px)}
