@layer reset,theme,global,composition,blocks,utilities,exceptions;@layer reset{*,*:before,*:after{box-sizing:border-box}:not(dialog){margin:0}html{block-size:100%;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;interpolate-size:allow-keywords}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}body{min-block-size:100%;font-family:system-ui;line-height:1.5;font-synthesis-weight:none;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}h1,h2,h3,h4{text-box:trim-both cap alphabetic;text-wrap:balance}p,li{text-wrap:pretty}p{max-inline-size:var(--measure, 60ch)}a{color:currentColor;text-decoration-thickness:clamp(1px,.066lh,2px);text-underline-offset:2px}button{transition:scale 50ms ease-in}button:active{scale:.98}img,svg,video,canvas,audio,iframe,embed,object{display:block}img,svg,video{max-inline-size:100%;block-size:auto}ol[role=list],ul[role=list]{list-style:none;padding-inline-start:0}hr{block-size:0;border-style:solid;border-width:1px 0 0;color:inherit;overflow:visible}sup{font-size:.5em}input,button,textarea,select,input[type=file]::-webkit-file-upload-button{font:inherit;font-size:inherit;color:inherit;letter-spacing:inherit}::placeholder{opacity:.75}select{padding-block:.25lh;field-sizing:content}textarea{resize:vertical;field-sizing:content}textarea:not([rows]){min-block-size:10lh}a[href],area,button,input:not([type=text],[type=email],[type=number],[type=password],[type=""],[type=tel],[type=url]),label[for],select,summary,[tabindex]:not([tabindex*="-"],pre){cursor:pointer}a[href],area,button,input,label[for],select,summary,textarea,[tabindex]:not([tabindex*="-"]){touch-action:manipulation;-webkit-tap-highlight-color:transparent}:not(pre)>code,kbd{white-space:nowrap}pre{tab-size:2;white-space:pre;min-inline-size:0;max-inline-size:100%;overflow-x:auto;writing-mode:lr;direction:ltr}:target{scroll-margin-block:1lh}}@layer theme{:root{--step-5: clamp(2.6438rem, 2.2669rem + 1.8849vi, 3.624rem);--step-4: clamp(2.2032rem, 1.9355rem + 1.3384vi, 2.8992rem);--step-3: clamp(1.836rem, 1.6501rem + .9295vi, 2.3193rem);--step-2: clamp(1.53rem, 1.4048rem + .6259vi, 1.8555rem);--step-1: clamp(1.275rem, 1.1945rem + .4026vi, 1.4844rem);--step-0: clamp(1.0625rem, 1.0144rem + .2404vi, 1.1875rem);--step--1: clamp(.8854rem, .8606rem + .1242vi, .95rem);--step--2: clamp(.7378rem, .7293rem + .0426vi, .76rem);--space-5xs: clamp(.0625rem, .0625rem + 0vi, .0625rem);--space-4xs: clamp(.125rem, .125rem + 0vi, .125rem);--space-3xs: clamp(.25rem, .226rem + .1202vi, .3125rem);--space-2xs: clamp(.5625rem, .5385rem + .1202vi, .625rem);--space-xs: clamp(.8125rem, .7885rem + .1202vi, .875rem);--space-s: clamp(1.0625rem, 1.0144rem + .2404vi, 1.1875rem);--space-m: clamp(1.625rem, 1.5529rem + .3606vi, 1.8125rem);--space-l: clamp(2.125rem, 2.0288rem + .4808vi, 2.375rem);--space-xl: clamp(3.1875rem, 3.0433rem + .7212vi, 3.5625rem);--space-2xl: clamp(4.25rem, 4.0577rem + .9615vi, 4.75rem);--space-5xs-4xs: clamp(.0625rem, .0385rem + .1202vi, .125rem);--space-4xs-3xs: clamp(.125rem, .0529rem + .3606vi, .3125rem);--space-3xs-2xs: clamp(.25rem, .1058rem + .7212vi, .625rem);--space-2xs-xs: clamp(.5625rem, .4423rem + .601vi, .875rem);--space-xs-s: clamp(.8125rem, .6683rem + .7212vi, 1.1875rem);--space-s-m: clamp(1.0625rem, .774rem + 1.4423vi, 1.8125rem);--space-m-l: clamp(1.625rem, 1.3365rem + 1.4423vi, 2.375rem);--space-l-xl: clamp(2.125rem, 1.5721rem + 2.7644vi, 3.5625rem);--space-xl-2xl: clamp(3.1875rem, 2.5865rem + 3.0048vi, 4.75rem);--space-s-l: clamp(1.0625rem, .5577rem + 2.524vi, 2.375rem);--space-m-s: clamp(1.1875rem, 1.7933rem + -.8413vi, 1.625rem);--space-s-xs: clamp(.875rem, 1.1346rem + -.3606vi, 1.0625rem);--space-s-5xs: clamp(.0625rem, 1.4471rem + -1.9231vi, 1.0625rem);--space-m-5xs: clamp(.0625rem, 2.226rem + -3.0048vi, 1.625rem);--space-l-5xs: clamp(.0625rem, 2.9183rem + -3.9663vi, 2.125rem)}}@layer theme{:root{--csstools-light-dark-toggle--0: var(--csstools-color-scheme--light) hsl(219.1deg 20.28% 8.71%);--color-dark: var(--csstools-light-dark-toggle--0, rgb(44, 75, 133));--color-light: #fefbf9;--color-brand: rgb(255, 189, 47);--color-brand-shade: rgb(200, 138, 0);--color-dark-shade: oklch(from var(--color-dark) calc(l*133.33%) c h);--color-light-shade: oklch(from var(--color-light) calc(l*91.67%) c h);--csstools-light-dark-toggle--1: var(--csstools-color-scheme--light) var(--color-light);--color-text-primary: var(--csstools-light-dark-toggle--1, var(--color-dark));--csstools-light-dark-toggle--2: var(--csstools-color-scheme--light) var(--color-dark);--color-bg-primary: var(--csstools-light-dark-toggle--2, var(--color-light));--csstools-light-dark-toggle--3: var(--csstools-color-scheme--light) var(--color-brand-shade);--color-accent: var(--csstools-light-dark-toggle--3, var(--color-brand));--csstools-light-dark-toggle--4: var(--csstools-color-scheme--light) var(--color-light-shade);--color-text-secondary: var(--csstools-light-dark-toggle--4, var(--color-dark-shade));--csstools-light-dark-toggle--5: var(--csstools-color-scheme--light) var(--color-dark-shade);--color-bg-secondary: var(--csstools-light-dark-toggle--5, var(--color-light-shade));--csstools-light-dark-toggle--6: var(--csstools-color-scheme--light) var(--color-dark-shade);--color-border: var(--csstools-light-dark-toggle--6, var(--color-light-shade));--color-underline: oklch(from var(--color-accent) l c h / calc(.75*alpha) );--color-focus: var(--color-accent);--color-bg-button-hover: oklch( from var(--color-underline) l c h / calc(.25*alpha) );--color-border-blockquote: oklch( from var(--color-text-secondary) l c h / calc(.5*alpha) );--color-bg-selection: oklch( from var(--color-accent) l c h / calc(.5*alpha) )}@supports (color: hsl(0 0% 0% / 0)) and (color: light-dark(red,red)){:root{--color-dark: light-dark(rgb(44, 75, 133), hsl(219.1deg 20.28% 8.71%))}}@supports (color: color(display-p3 0 0 0%)){:root{--color-brand: rgb(255, 189, 47);--color-brand-shade: rgb(200, 138, 0)}@media (color-gamut: p3){:root{--color-brand: color(display-p3 .99923 .73635 .03235);--color-brand-shade: color(display-p3 .76998 .54136 .00326)}}}@supports (color: light-dark(red,red)){:root{--color-text-primary: light-dark(var(--color-dark), var(--color-light));--color-bg-primary: light-dark(var(--color-light), var(--color-dark));--color-accent: light-dark(var(--color-brand), var(--color-brand-shade));--color-text-secondary: light-dark( var(--color-dark-shade), var(--color-light-shade) );--color-bg-secondary: light-dark( var(--color-light-shade), var(--color-dark-shade) );--color-border: light-dark(var(--color-light-shade), var(--color-dark-shade))}}@supports not (color: light-dark(tan,tan)){:root *{--csstools-light-dark-toggle--0: var(--csstools-color-scheme--light) hsl(219.1deg 20.28% 8.71%);--color-dark: var(--csstools-light-dark-toggle--0, rgb(44, 75, 133));--csstools-light-dark-toggle--1: var(--csstools-color-scheme--light) var(--color-light);--color-text-primary: var(--csstools-light-dark-toggle--1, var(--color-dark));--csstools-light-dark-toggle--2: var(--csstools-color-scheme--light) var(--color-dark);--color-bg-primary: var(--csstools-light-dark-toggle--2, var(--color-light));--csstools-light-dark-toggle--3: var(--csstools-color-scheme--light) var(--color-brand-shade);--color-accent: var(--csstools-light-dark-toggle--3, var(--color-brand));--csstools-light-dark-toggle--4: var(--csstools-color-scheme--light) var(--color-light-shade);--color-text-secondary: var(--csstools-light-dark-toggle--4, var(--color-dark-shade));--csstools-light-dark-toggle--5: var(--csstools-color-scheme--light) var(--color-dark-shade);--color-bg-secondary: var(--csstools-light-dark-toggle--5, var(--color-light-shade));--csstools-light-dark-toggle--6: var(--csstools-color-scheme--light) var(--color-dark-shade);--color-border: var(--csstools-light-dark-toggle--6, var(--color-light-shade))}}}@layer theme{:root{--font-ultra-light: 200;--font-light: 300;--font-regular: 400;--font-medium: 500;--font-bold: 600}}@layer theme{:root{--leading-flat: 1;--leading-tight: 1.2;--leading-snug: 1.4;--leading-normal: 1.6;--leading-relaxed: 1.8;--leading-loose: 2}}@layer theme{:root{--border-thickness-s: var(--space-5xs);--border-thickness-m: calc(1.5 * var(--space-5xs));--border-thickness-l: var(--space-4xs);--border-thickness-xl: var(--space-3xs);--border-radius: calc(1.5 * var(--space-3xs));--border-thickness-blockquote: var(--border-thickness-l);--border-thickness-focus: calc(1.25 * var(--space-4xs))}.banner-text:after,.feed-header:after,aside.sidebar:before,aside.sidebar hr:before,.entry+.entry:before,.entry-actions>*:before,.entry-nav-back:before,.pagination-control:before{--separator: repeating-linear-gradient( var(--separator-angle, 0deg), transparent, transparent .075lh, oklch(from var(--color-text-primary) l c h / .3) .075lh, oklch(from var(--color-text-primary) l c h / .3) .15lh )}}@layer theme{:root{--shadow-color: 220 3% 15%;--shadow-strength: 1%;--inner-shadow-highlight: inset 0 -.5px 0 0 #fff, inset 0 .5px 0 0 #0001;--shadow-1: 0 1px 2px -1px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));--shadow-2: 0 3px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 7px 14px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%));--shadow-3: 0 -1px 3px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), 0 1px 2px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), 0 2px 5px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)), 0 4px 12px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)), 0 12px 15px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%));--shadow-4: 0 -2px 5px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), 0 1px 1px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 2px 2px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 5px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)), 0 9px 9px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)), 0 16px 16px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 6%));--shadow-5: 0 -1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), 0 2px 1px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 5px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 10px 10px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)), 0 20px 20px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)), 0 40px 40px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%));--shadow-6: 0 -1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), 0 3px 2px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 7px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 12px 10px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)), 0 22px 18px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)), 0 41px 33px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 6%)), 0 100px 80px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%));--inner-shadow-0: inset 0 0 0 1px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));--inner-shadow-1: inset 0 1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)), var(--inner-shadow-highlight);--inner-shadow-2: inset 0 1px 4px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)), var(--inner-shadow-highlight);--inner-shadow-3: inset 0 2px 8px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)), var(--inner-shadow-highlight);--inner-shadow-4: inset 0 2px 14px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)), var(--inner-shadow-highlight)}}@layer theme{:root{--ease-1: cubic-bezier(.25, 0, .5, 1);--ease-2: cubic-bezier(.25, 0, .4, 1);--ease-3: cubic-bezier(.25, 0, .3, 1);--ease-4: cubic-bezier(.25, 0, .2, 1);--ease-5: cubic-bezier(.25, 0, .1, 1);--ease-in-1: cubic-bezier(.25, 0, 1, 1);--ease-in-2: cubic-bezier(.5, 0, 1, 1);--ease-in-3: cubic-bezier(.7, 0, 1, 1);--ease-in-4: cubic-bezier(.9, 0, 1, 1);--ease-in-5: cubic-bezier(1, 0, 1, 1);--ease-out-1: cubic-bezier(0, 0, .75, 1);--ease-out-2: cubic-bezier(0, 0, .5, 1);--ease-out-3: cubic-bezier(0, 0, .3, 1);--ease-out-4: cubic-bezier(0, 0, .1, 1);--ease-out-5: cubic-bezier(0, 0, 0, 1);--ease-in-out-1: cubic-bezier(.1, 0, .9, 1);--ease-in-out-2: cubic-bezier(.3, 0, .7, 1);--ease-in-out-3: cubic-bezier(.5, 0, .5, 1);--ease-in-out-4: cubic-bezier(.7, 0, .3, 1);--ease-in-out-5: cubic-bezier(.9, 0, .1, 1);--ease-elastic-out-1: cubic-bezier(.5, .75, .75, 1.25);--ease-elastic-out-2: cubic-bezier(.5, 1, .75, 1.25);--ease-elastic-out-3: cubic-bezier(.5, 1.25, .75, 1.25);--ease-elastic-out-4: cubic-bezier(.5, 1.5, .75, 1.25);--ease-elastic-out-5: cubic-bezier(.5, 1.75, .75, 1.25);--ease-elastic-in-1: cubic-bezier(.5, -.25, .75, 1);--ease-elastic-in-2: cubic-bezier(.5, -.5, .75, 1);--ease-elastic-in-3: cubic-bezier(.5, -.75, .75, 1);--ease-elastic-in-4: cubic-bezier(.5, -1, .75, 1);--ease-elastic-in-5: cubic-bezier(.5, -1.25, .75, 1);--ease-elastic-in-out-1: cubic-bezier(.5, -.1, .1, 1.5);--ease-elastic-in-out-2: cubic-bezier(.5, -.3, .1, 1.5);--ease-elastic-in-out-3: cubic-bezier(.5, -.5, .1, 1.5);--ease-elastic-in-out-4: cubic-bezier(.5, -.7, .1, 1.5);--ease-elastic-in-out-5: cubic-bezier(.5, -.9, .1, 1.5);--ease-step-1: steps(2);--ease-step-2: steps(3);--ease-step-3: steps(4);--ease-step-4: steps(7);--ease-step-5: steps(10);--ease-elastic-1: var(--ease-elastic-out-1);--ease-elastic-2: var(--ease-elastic-out-2);--ease-elastic-3: var(--ease-elastic-out-3);--ease-elastic-4: var(--ease-elastic-out-4);--ease-elastic-5: var(--ease-elastic-out-5);--ease-squish-1: var(--ease-elastic-in-out-1);--ease-squish-2: var(--ease-elastic-in-out-2);--ease-squish-3: var(--ease-elastic-in-out-3);--ease-squish-4: var(--ease-elastic-in-out-4);--ease-squish-5: var(--ease-elastic-in-out-5);--ease-spring-1: linear( 0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 );--ease-spring-2: linear( 0, .007, .029 2.2%, .118 4.7%, .625 14.4%, .826 19%, .902, .962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, .999 61.6%, .995 71.2%, 1 );--ease-spring-3: linear( 0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1 );--ease-spring-4: linear( 0, .009, .037 1.7%, .153 3.6%, .776 10.3%, 1.001, 1.142 16%, 1.185, 1.209 19%, 1.215 19.9% 20.8%, 1.199, 1.165 25%, 1.056 30.3%, 1.008 33%, .973, .955 39.2%, .953 41.1%, .957 43.3%, .998 53.3%, 1.009 59.1% 63.7%, .998 78.9%, 1 );--ease-spring-5: linear( 0, .01, .04 1.6%, .161 3.3%, .816 9.4%, 1.046, 1.189 14.4%, 1.231, 1.254 17%, 1.259, 1.257 18.6%, 1.236, 1.194 22.3%, 1.057 27%, .999 29.4%, .955 32.1%, .942, .935 34.9%, .933, .939 38.4%, 1 47.3%, 1.011, 1.017 52.6%, 1.016 56.4%, 1 65.2%, .996 70.2%, 1.001 87.2%, 1 );--ease-bounce-1: linear( 0, .004, .016, .035, .063, .098, .141, .191, .25, .316, .391 36.8%, .563, .766, 1 58.8%, .946, .908 69.1%, .895, .885, .879, .878, .879, .885, .895, .908 89.7%, .946, 1 );--ease-bounce-2: linear( 0, .004, .016, .035, .063, .098, .141 15.1%, .25, .391, .562, .765, 1, .892 45.2%, .849, .815, .788, .769, .757, .753, .757, .769, .788, .815, .85, .892 75.2%, 1 80.2%, .973, .954, .943, .939, .943, .954, .973, 1 );--ease-bounce-3: linear( 0, .004, .016, .035, .062, .098, .141 11.4%, .25, .39, .562, .764, 1 30.3%, .847 34.8%, .787, .737, .699, .672, .655, .65, .656, .672, .699, .738, .787, .847 61.7%, 1 66.2%, .946, .908, .885 74.2%, .879, .878, .879, .885 79.5%, .908, .946, 1 87.4%, .981, .968, .96, .957, .96, .968, .981, 1 );--ease-bounce-4: linear( 0, .004, .016 3%, .062, .141, .25, .391, .562 18.2%, 1 24.3%, .81, .676 32.3%, .629, .595, .575, .568, .575, .595, .629, .676 48.2%, .811, 1 56.2%, .918, .86, .825, .814, .825, .86, .918, 1 77.2%, .94 80.6%, .925, .92, .925, .94 87.5%, 1 90.9%, .974, .965, .974, 1 );--ease-bounce-5: linear( 0, .004, .016 2.5%, .063, .141, .25 10.1%, .562, 1 20.2%, .783, .627, .534 30.9%, .511, .503, .511, .534 38%, .627, .782, 1 48.7%, .892, .815, .769 56.3%, .757, .753, .757, .769 61.3%, .815, .892, 1 68.8%, .908 72.4%, .885, .878, .885, .908 79.4%, 1 83%, .954 85.5%, .943, .939, .943, .954 90.5%, 1 93%, .977, .97, .977, 1 );--ease-circ-in: cubic-bezier(.6, .04, .98, .335);--ease-circ-in-out: cubic-bezier(.785, .135, .15, .86);--ease-circ-out: cubic-bezier(.075, .82, .165, 1);--ease-cubic-in: cubic-bezier(.55, .055, .675, .19);--ease-cubic-in-out: cubic-bezier(.645, .045, .355, 1);--ease-cubic-out: cubic-bezier(.215, .61, .355, 1);--ease-expo-in: cubic-bezier(.95, .05, .795, .035);--ease-expo-in-out: cubic-bezier(1, 0, 0, 1);--ease-expo-out: cubic-bezier(.19, 1, .22, 1);--ease-quad-in: cubic-bezier(.55, .085, .68, .53);--ease-quad-in-out: cubic-bezier(.455, .03, .515, .955);--ease-quad-out: cubic-bezier(.25, .46, .45, .94);--ease-quart-in: cubic-bezier(.895, .03, .685, .22);--ease-quart-in-out: cubic-bezier(.77, 0, .175, 1);--ease-quart-out: cubic-bezier(.165, .84, .44, 1);--ease-quint-in: cubic-bezier(.755, .05, .855, .06);--ease-quint-in-out: cubic-bezier(.86, 0, .07, 1);--ease-quint-out: cubic-bezier(.23, 1, .32, 1);--ease-sine-in: cubic-bezier(.47, 0, .745, .715);--ease-sine-in-out: cubic-bezier(.445, .05, .55, .95);--ease-sine-out: cubic-bezier(.39, .575, .565, 1)}}@layer theme{:root{--code-font-size: calc(.9 * var(--step-0));--code-font-weight: var(--font-regular);--code-border-radius: var(--space-3xs);--code-padding-block: var(--space-2xs);--code-padding-inline: var(--space-xs)}}@layer global{@view-transition{navigation: auto;}:root{--wrapper-max-width: 72rem;--measure: 60ch;--sidebar-min-width: 24rem;--gutter: var(--space-m);--center-max-width: var(--measure);--button-padding-block: calc(1.5 * var(--space-3xs));--button-padding-inline: 1ch}:root{--csstools-color-scheme--light: initial;color-scheme:light dark;scrollbar-gutter:stable}@media (prefers-color-scheme: dark){:root{--csstools-color-scheme--light: }}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--step-0);font-family:var(--font-sans-serif);font-weight:var(--font-regular);font-size-adjust:from-font;line-height:var(--leading-normal);-webkit-font-smoothing:auto}@media (prefers-color-scheme: dark){body{-webkit-font-smoothing:antialiased}}h1,.heading-1,h2,.heading-2,h3,.heading-3,h4,.heading-4{font-weight:var(--font-bold)}h1,.heading-1{font-size:var(--step-2);line-height:var(--leading-snug)}h2,.heading-2{font-size:var(--step-1);line-height:var(--leading-normal)}h3,.heading-3{font-size:var(--step-0);line-height:var(--leading-normal)}h4,.heading-4{font-size:var(--step--1);text-transform:uppercase;line-height:var(--leading-normal)}a{text-decoration-thickness:var(--border-thickness-l);text-decoration-color:var(--color-underline)}a[aria-current=page],a[data-state=active],a:hover,a:focus-visible{text-decoration-thickness:.3lh;text-underline-offset:-.15lh;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}a[aria-current=page],a[data-state=active]{text-decoration-color:oklch(from var(--color-underline) l c h / calc(.5*alpha))}a:hover,a:focus-visible{text-decoration-color:var(--color-underline)}button,.btn{position:relative;border:none;background:none;padding:var(--button-padding-block) var(--button-padding-inline);outline:var(--border-thickness-m) solid var(--color-underline);outline-offset:calc(-1 / 2 * var(--border-thickness-l));border-radius:var(--border-radius)}:is(button,.btn):hover,:is(button,.btn):focus-visible{background:var(--color-bg-button-hover);outline-offset:calc(-1 / 2 * var(--border-thickness-l))}:where(ol,ul):not([role=list]){padding-inline-start:var(--gutter)}:where(ul):not([role=list]) ::marker{color:var(--color-accent)}blockquote{position:relative;margin-inline-start:var(--space-xs);padding-inline-start:var(--space-s);border-inline-start:var(--border-thickness-blockquote) solid transparent;border-image:linear-gradient(to bottom,transparent 0,transparent .75lh,var(--color-border-blockquote) .75lh,var(--color-border-blockquote) calc(100% - .25lh),transparent calc(100% - .25lh)) 1}blockquote>*{--flow-space: .5lh}blockquote>*:first-child:before{content:open-quote;color:var(--color-border-blockquote);font-family:var(--font-cursive);font-size:var(--step-3);line-height:var(--leading-flat);position:absolute;inset-inline-start:calc(-1 * var(--border-thickness-blockquote));inset-block-start:0;translate:-50% 0}blockquote>*:last-child:after{content:close-quote;position:absolute;block-size:1px;inline-size:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}pre,code{font-family:var(--font-mono);font-size:var(--code-font-size);font-weight:var(--code-font-weight);line-height:var(--leading-relaxed)}pre{padding:var(--code-padding-block) var(--code-padding-inline);border:var(--border-thickness-s) solid var(--color-border);border-radius:var(--code-border-radius)}:not(pre)>code{padding:var(--space-5xs) var(--space-4xs);border-radius:var(--code-border-radius);outline:var(--border-thickness-s) solid var(--color-border)}hr{color:var(--color-border)}::selection{background-color:var(--color-bg-selection)}:focus-visible{outline:var(--border-thickness-focus) solid var(--color-focus);outline-offset:calc(1.125 * var(--border-thickness-focus))}}@layer composition{.box{padding:var(--box-padding, 1lh);outline:var(--box-border-thickness, var(--border-thickness-s, 1px)) var(--box-border-style, solid) var(--color-box-border, var(--color-text-primary));color:var(--color-box-text, var(--color-text-primary));background-color:var(--color-box-bg, var(--color-bg-primary))}.box *{color:inherit}}@layer composition{.center{box-sizing:content-box;max-inline-size:var(--center-max-width);margin-inline:auto;display:flex;flex-direction:column;align-items:center;gap:var(--center-gap, 1lh)}[data-centered-text] *{text-align:center;text-wrap:balance}}@layer composition{.cluster{display:flex;flex-wrap:var(--cluster-wrap, wrap);gap:var(--cluster-gap, var(--space-s-m));justify-content:var(--cluster-horizontal-alignment, flex-start);align-items:var(--cluster-vertical-alignment, center)}}@layer composition{.flow>*+*{margin-block-start:var(--flow-space, 1lh)}}@layer composition{.grid{display:grid;gap:var(--grid-row-gap, var(--grid-gap, 1lh)) var(--grid-column-gap, var(--grid-gap, 1lh));grid-template-columns:repeat(var(--grid-placement, auto-fill),minmax(var(--grid-min-item-size, min(16rem, 100%)),1fr))}.grid[data-layout=halves]{--grid-placement: auto-fit;--grid-min-item-size: clamp(16rem, 50vw, 33rem)}.grid[data-layout=thirds]{--grid-placement: auto-fit;--grid-min-item-size: clamp(16rem, 33%, 20rem)}}@layer composition{.repel{display:flex;flex-wrap:var(--repel-wrap, wrap);gap:var(--repel-gap, 1lh);justify-content:space-between;align-items:var(--repel-vertical-alignment, center)}}@layer composition{:has(>.sidebar){display:flex;flex-wrap:wrap;gap:var(--sidebar-gap, var(--space-s-m))}.sidebar{flex-basis:var(--sidebar-min-width, 16rem);flex-grow:1}:has(>.sidebar)>:not(.sidebar){flex-basis:0;flex-grow:99999;min-inline-size:65%}:has(>.sidebar)>:only-child,:has(>.sidebar)>:nth-child(3){--error: "Sidebar layouts must include exactly two child elements.";outline:var(--error-outline)}}@layer composition{.stack{display:flex;flex-direction:column;gap:var(--stack-gap, var(--space-m));justify-content:var(--stack-vertical-alignment, flex-start);align-items:var(--stack-horizontal-alignment, flex-start)}}@layer composition{.wrapper{max-inline-size:var(--wrapper-max-width, 80rem);margin-inline:auto;padding-inline:var(--gutter, var(--space-s-m))}}@layer blocks{.banner-text{--wrapper-max-width: 96rem;margin-block-start:var(--space-3xs-2xs);position:relative;font-family:var(--font-cursive);color:var(--color-accent);mix-blend-mode:multiply}@media (prefers-color-scheme: dark){.banner-text{mix-blend-mode:lighten}}.banner-text:after{--separator-angle: 90deg;content:"";position:absolute;inset-inline:0;inset-block-end:0;block-size:var(--border-thickness-s);background:var(--separator);z-index:-1}}@layer blocks{.site-header{display:contents}.site-nav{--cluster-gap: var(--space-s);position:relative;z-index:2;background:var(--color-bg-primary)}.site-nav>ul{margin-inline:max(var(--gutter),calc((100vw - var(--center-max-width)) / 2))}@media (width > 68.5625rem){.site-nav>ul{margin-inline:max(var(--gutter),calc((100vw - var(--sidebar-min-width) - var(--center-max-width)) / 2))}}.site-nav a{position:relative;display:block}:is(.site-nav a):after{content:"";position:absolute;inset-block:calc(-1 * var(--space-m));inset-inline:0}.site-nav .profile{position:relative;display:inline-block;vertical-align:bottom;margin-inline-end:.5ch}:is(.site-nav .profile):after{content:"";position:absolute;inset-inline-end:0%;inset-block:0;inline-size:0px;block-size:100%;z-index:-1;--s: 1ex;--w: 100vw;--g: var(--space-3xs);border-image:linear-gradient(#0000 calc(50% - var(--s) / 2),var(--color-accent) 0 calc(50% + var(--s) / 2),#0000 0) 0 1/ 0 0 0 var(--w) / 0 0 0 calc(var(--w) + var(--g))}:is(.site-nav .profile) img{block-size:1lh;aspect-ratio:1;object-fit:contain;object-position:left}}@layer blocks{.feed-header{position:relative}.feed-header:after{--separator-angle: 90deg;content:"";position:absolute;background:var(--separator);z-index:-1;inset-inline:0;inset-block-end:0;inline-size:100%;block-size:var(--border-thickness-s)}}@layer blocks{.pagination-control{position:relative}.pagination-control:before{--separator-angle: 90deg;content:"";position:absolute;background:var(--separator);z-index:-1;inset-inline:0;inset-block-start:0;inline-size:100%;block-size:var(--border-thickness-s)}.pagination-control a{position:relative}:is(.pagination-control a):after{content:"";position:absolute;inset:calc(-1 * var(--space-m)) 0;z-index:2}.pagination-control [rel=next]{margin-inline-start:auto}}@layer blocks{.link-entry-title{position:relative}.link-entry-title:before{content:"🔗";content:"🔗" / "";position:absolute;inset-inline-end:100%;inset-block-start:0;margin-inline-end:.5ch;translate:0 -12.5%;font-size:var(--step--2)}}@layer utilities{.region{padding-block-start:var(--region-start-space, var(--region-space, 2lh));padding-block-end:var(--region-end-space, var(--region-space, 2lh))}}@layer utilities{.visually-hidden:not(:focus-visible):not(:active){position:absolute;block-size:1px;inline-size:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}}@layer utilities{.text-fit{display:flex;container-type:inline-size;--captured-length: initial;--support-sentinel: var(--captured-length, 9999px)}.text-fit>[aria-hidden]{visibility:hidden}.text-fit>:not([aria-hidden]){flex-grow:1;container-type:inline-size;--captured-length: 100cqi;--available-space: var(--captured-length)}:is(.text-fit>:not([aria-hidden]))>*{--support-sentinel: inherit;--captured-length: 100cqi;--ratio: tan( atan2( var(--available-space), var(--available-space) - var(--captured-length) ) );--font-size: clamp( 1em, 1em * var(--ratio), var(--max-font-size, infinity * 1px) - var(--support-sentinel) );inline-size:var(--available-space)}:is(:is(.text-fit>:not([aria-hidden]))>*):not(.text-fit){display:block;font-size:var(--font-size)}@container (inline-size > 0){:is(:is(.text-fit>:not([aria-hidden]))>*):not(.text-fit){white-space:nowrap}}.text-fit:is(:is(.text-fit>:not([aria-hidden]))>*){--captured-length2: var(--font-size);font-variation-settings:"opsz" tan(atan2(var(--captured-length2),1px))}@property --captured-length{syntax: "<length>"; initial-value: 0px; inherits: true;}@property --captured-length2{syntax: "<length>"; initial-value: 0px; inherits: true;}}@layer utilities{.mi-auto{margin-inline:auto}.p-space-2xs{padding:var(--space-2xs)}.p-space-xs{padding:var(--space-xs)}.p-space-s{padding:var(--space-s)}.p-space-m{padding:var(--space-m)}.p-space-s-m{padding:var(--space-s-m)}.p-space-m-l{padding:var(--space-m-l)}.pi-space-3xs{padding-inline:var(--space-3xs)}.pi-space-2xs{padding-inline:var(--space-2xs)}.pi-space-xs{padding-inline:var(--space-xs)}.pi-space-s{padding-inline:var(--space-s)}.pi-space-m{padding-inline:var(--space-m)}.pi-space-s-m{padding-inline:var(--space-s-m)}.pi-space-gutter{padding-inline:var(--gutter)}.pb-space-3xs{padding-block:var(--space-3xs)}.pb-space-2xs{padding-block:var(--space-2xs)}.pb-space-xs{padding-block:var(--space-xs)}.pb-space-s{padding-block:var(--space-s)}.pb-space-m{padding-block:var(--space-m)}.pb-space-s-m{padding-block:var(--space-s-m)}.pb-space-s-xs{padding-block:var(--space-s-xs)}.pbs-space-s{padding-block-start:var(--space-s)}.pbs-space-s-xs{padding-block-start:var(--space-s-xs)}.flow-space-0{--flow-space: 0}.flow-space-xs{--flow-space: var(--space-xs)}}@layer utilities{.i-full{inline-size:100%}.max-i-full{max-inline-size:100%}.b-full{block-size:100%}}@layer utilities{.page{--sidebar-gap: 0;max-inline-size:var(--wrapper-max-width);margin-inline:auto}.page>aside{--flow-space: var(--space-m);--stack-gap: var(--space-xs);position:relative}:is(.page>aside):before{content:"";position:absolute;background:var(--separator);z-index:-1;inset-inline-start:0;inset-block-start:0;inline-size:var(--border-thickness-s);block-size:100%}@container (width > 50vi){:is(.page>aside):before{--separator-angle: 90deg;inset-inline:0;inset-block-start:0;inline-size:100%;block-size:var(--border-thickness-s)}}:is(.page>aside) hr{position:relative;border-color:#0000}:is(:is(.page>aside) hr):before{--separator-angle: 90deg;content:"";position:absolute;inset-inline:calc(-1 * var(--space-m));inset-block-start:0;background:var(--separator);inline-size:calc(100% + (2 * var(--space-m)));block-size:var(--border-thickness-s)}}@layer utilities{.entry-content blockquote>*,.entry-content li{--flow-space: .5lh}.entry-content blockquote>*+*,.entry-content li+li{margin-block-start:var(--flow-space, 1lh)}}@layer utilities{.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.sticky{position:sticky}.inset-bs-0{inset-block-start:0}.inset-bs-space-m{inset-block-start:var(--space-m)}.container-type-inline{container-type:inline-size}}@layer utilities{.text-step--1{font-size:var(--step--1);letter-spacing:.025em}.text-step-0{font-size:var(--step-0)}.text-align-end{text-align:end}.text-box-trim{text-box:trim-both cap alphabetic}.text-box-trim-end{text-box:trim-end cap alphabetic}.text-balance{text-wrap:balance}.leading-flat{line-height:var(--leading-flat)}.leading-snug{line-height:var(--leading-snug)}.leading-relaxed{line-height:var(--leading-relaxed)}.font-regular{font-weight:var(--font-regular)}}@layer utilities{.align-self-start{align-self:start}.align-self-end{align-self:end}.align-self-stretch{align-self:stretch}.gap-2xs{gap:var(--space-2xs)}.gap-s{gap:var(--space-s)}}@layer exceptions{.expressive-code{--_copy-btn-inset-block: calc( (var(--code-padding-block) / 1.66) + var(--border-thickness-s) );--_copy-btn-inset-inline: calc( (var(--code-padding-block) / 1.66) + var(--border-thickness-s) )}.expressive-code .copy{inset-block-start:var(--_copy-btn-inset-block);inset-inline-end:var(--_copy-btn-inset-inline)}:is(.expressive-code .copy) button{block-size:var(--space-l);inline-size:var(--space-l);opacity:1;outline:var(--border-thickness-l) solid var(--color-underline)}:is(:is(.expressive-code .copy) button)>div{transition:none}:is(:is(.expressive-code .copy) button):before{display:none}:is(:is(.expressive-code .copy) button):after{margin:.65em}:is(:is(.expressive-code .copy) button):where(:hover,:focus-visible){outline-offset:0}:is(:is(.expressive-code .copy) button):where(:hover,:focus-visible)>div{background:var(--color-bg-button-hover);opacity:1}.expressive-code .frame.has-title:not(.is-terminal){--_copy-btn-inset-block: calc( (var(--ec-uiFontSize) * var(--ec-uiLineHt)) + 2 * (var(--ec-uiPadBlk)) + var(--ec-codePadBlk) )}}
