@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-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}}}@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:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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}html{background-color:var(--color-surface-toolbar);scroll-padding-top:var(--topnav-height)}body{background-color:var(--color-surface-page);min-height:100vh;color:var(--color-text-primary);font-family:var(--font-family-body);font-size:var(--type-body-size);flex-direction:column;line-height:1.5;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);color:var(--color-text-bold);text-wrap:pretty;line-height:1.2}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:var(--focus-ring);outline-offset:2px}code,kbd,samp,pre{font-family:var(--font-family-code)}::selection{color:highlighttext;background:highlight}}@layer components{.site-main{flex-direction:column;flex:1;align-items:center;width:100%;display:flex}.page{width:100%;max-width:var(--layout-content-max-width);padding:var(--space-4)}.page-title{margin-block:var(--space-6)var(--space-5);font-size:var(--type-title-size);text-align:center}.muted{color:var(--color-text-secondary)}.skip-link{z-index:1000;padding:var(--space-2)var(--space-3);border-radius:var(--radius-control);background:var(--color-action-background);color:var(--color-action-foreground);position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}.topnav{z-index:10;width:100%;min-height:var(--topnav-height);align-items:center;gap:var(--space-3);padding-block:var(--space-1);padding-inline:max(var(--space-4),calc((100% - var(--layout-content-max-width))/2 + var(--space-4)));background:var(--color-surface-toolbar);font-size:var(--type-ui-size);display:flex;position:sticky;top:0}.topnav-home{align-items:center;gap:var(--space-2);color:var(--color-text-bold);font-family:var(--font-family-heading);flex:none;font-size:1.15rem;display:inline-flex}.topnav-home:hover{text-decoration:none}.topnav-home img{width:42px;height:35px}.topnav-links{gap:var(--space-1)var(--space-4);flex-wrap:wrap;margin-inline-start:auto;display:flex}.topnav-links a{color:var(--color-text-primary)}.topnav-links a:hover,.topnav-links a[aria-current=page]{color:var(--color-link);text-underline-offset:.12em;text-decoration:underline}.topnav-social{flex:none;align-items:center;display:flex}.topnav-social a{min-width:2.25rem;min-height:2.5rem;color:var(--color-text-primary);justify-content:center;align-items:center;display:inline-flex}.topnav-social a:hover{color:var(--color-link)}.topnav-social svg{fill:currentColor;width:1.1rem;height:1.1rem}.pixel-art{image-rendering:pixelated}@media(max-width:600px){.topnav{padding-inline:var(--space-3);flex-wrap:wrap}.topnav-home span{display:none}.topnav-links{gap:var(--space-1)var(--space-3)}}.theme-toggle{flex:none;min-width:6rem;min-height:2.5rem}.theme-toggle fieldset{border:0;margin:0;padding:0;display:flex}.theme-toggle label{border:1px solid var(--color-border-control);background:var(--color-surface-panel);min-width:3rem;min-height:2.5rem;color:var(--color-text-primary);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:relative}.theme-toggle label:first-child{border-radius:var(--radius-control)0 0 var(--radius-control)}.theme-toggle label:last-child{border-radius:0 var(--radius-control)var(--radius-control)0;margin-inline-start:-1px}.theme-toggle label:has(input:checked){z-index:1;background:var(--color-action-background);color:var(--color-action-foreground)}.theme-toggle label:has(input:focus-visible){z-index:2;outline:var(--focus-ring);outline-offset:2px}.theme-toggle label:hover:not(:has(input:checked)){background:var(--color-action-ghost-hover)}.theme-toggle input{opacity:0;cursor:inherit;margin:0;position:absolute;inset:0}.theme-toggle svg{fill:currentColor;width:1em;height:1em}.home-theme-toggle{top:var(--space-4);right:var(--space-4);position:absolute}.divided+.divided{position:relative}.divided+.divided:before{content:"";background:var(--color-border-subtle);block-size:.5rem;position:absolute;inset-block-start:0;inset-inline:0;-webkit-mask:url(/images/section-divider.svg) 0/2rem .5rem repeat-x;mask:url(/images/section-divider.svg) 0/2rem .5rem repeat-x}.homepage{width:100%;max-width:var(--layout-content-max-width);padding:var(--space-4)}.homepage>section{padding-block:var(--space-7)}.homepage>section>header{text-align:center;padding-block-end:var(--space-6)}.homepage>section>header :is(h1,h2){font-size:var(--type-section-size);margin:0}.homepage>section>:not(header,form)+:not(header,form),.homepage>section>form+*{margin-block-start:var(--space-4)}.homepage p a{text-underline-offset:.12em;text-decoration:underline}.homepage .intro{text-align:center}.homepage .see-all{text-align:center;margin-block-start:var(--space-5)}.greeting{align-items:center;gap:var(--space-2);display:inline-flex}.greeting img{width:84px;height:70px;margin-block:-1rem}.portrait{aspect-ratio:1;width:160px;height:auto;margin:var(--space-5)auto 0;border-radius:50%;display:block}.icon-nav{width:min(100%,36rem);margin-block-start:var(--space-6);margin-inline:auto;padding-block-end:var(--space-2)}.icon-nav ul{row-gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.icon-nav a{justify-content:center;align-items:center;gap:var(--space-1);min-height:2.75rem;color:var(--color-text-primary);font-size:var(--type-caption-size);display:flex}.icon-nav a:hover{color:var(--color-link);text-underline-offset:.12em}.icon-nav svg{flex:none;width:1rem;height:1rem}@media(max-width:600px){.icon-nav ul{justify-content:center;column-gap:var(--space-4);flex-wrap:wrap;display:flex}}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(160px,calc((100% - var(--space-4))/2)),1fr));gap:var(--space-4);width:100%;margin-block-start:var(--space-5);display:grid}.card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-large);background:var(--color-surface-page);height:100%;color:var(--color-text-primary);flex-direction:column;transition:transform .22s cubic-bezier(.23,1,.32,1),box-shadow .22s;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow-raised);text-decoration:none;transform:translateY(-2px)}.card img,.card .card-placeholder{aspect-ratio:3/2;object-fit:cover;background:var(--color-surface-band);width:100%}.card .card-placeholder{padding:var(--space-4);color:var(--color-text-secondary);font-family:var(--font-family-heading);text-align:center;text-wrap:balance;place-items:center;font-size:1.35rem;line-height:1.2;display:grid}.card .card-label{justify-content:center;gap:var(--space-1);padding:var(--space-3);border-block-start:1px solid var(--color-border-subtle);text-align:center;flex-direction:column;flex:1;display:flex}.card h3{margin:0;font-size:1rem}.card .card-meta{color:var(--color-text-secondary);font-variant:small-caps;font-size:.8rem}.repo-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));margin-block-start:var(--space-5);display:grid}.repo-card{gap:var(--space-2);height:100%;padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-large);background:var(--color-surface-band);color:var(--color-text-primary);font-size:var(--type-ui-size);flex-direction:column;transition:transform .22s cubic-bezier(.23,1,.32,1),box-shadow .22s;display:flex}.repo-card:hover{box-shadow:var(--shadow-raised);text-decoration:none;transform:translateY(-2px)}.repo-card:hover .repo-name{text-underline-offset:.12em;text-decoration:underline}.repo-card .repo-name{align-items:center;gap:var(--space-2);color:var(--color-link);overflow-wrap:anywhere;font-weight:600;display:flex}.repo-card .repo-name svg{width:1rem;height:1rem;fill:var(--color-text-secondary);flex:none}.repo-card .repo-description{color:var(--color-text-secondary);flex:1}.repo-card .repo-meta{gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--type-caption-size);display:flex}.repo-card .repo-language{background:var(--language-color);vertical-align:-.05rem;width:.7rem;height:.7rem;border-radius:50%;margin-inline-end:var(--space-1);display:inline-block}.timeline{width:100%;padding-block-end:var(--space-7)}.timeline-year+.timeline-year{margin-block-start:var(--space-7);padding-block-start:var(--space-7)}.timeline-year h2{margin:0 0 var(--space-5);font-size:var(--type-section-size)}.timeline-list li{column-gap:var(--space-2);grid-template-columns:7rem auto minmax(0,1fr);align-items:baseline;display:grid}.timeline-list li+li{margin-block-start:var(--space-5)}.timeline-list li time{text-align:end;white-space:nowrap;color:var(--color-text-secondary);font-size:var(--type-caption-size)}.timeline-list li a{text-underline-offset:.12em;overflow-wrap:anywhere;text-decoration:underline}.timeline-list li a:visited{color:var(--color-link-visited)}.timeline-list li .timeline-meta{color:var(--color-text-secondary);font-size:var(--type-caption-size);display:block}@media(max-width:480px){.timeline-list li{grid-template-columns:5.5rem auto minmax(0,1fr)}}.search{width:min(100%,30rem);margin:0 auto var(--space-6)}.search input{width:100%;min-height:3rem;padding:var(--space-2)var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--radius-control);background:var(--color-surface-input);color:var(--color-text-primary);font-size:1rem}.search input::placeholder{color:var(--color-text-secondary)}.search input:focus-visible{outline:var(--focus-ring);outline-offset:2px}.no-results{padding-block:var(--space-8);color:var(--color-text-secondary);text-align:center}.button{min-height:2.5rem;padding:var(--space-2)var(--space-4);border-radius:var(--radius-control);background:var(--color-action-background);color:var(--color-action-foreground);font-size:var(--type-ui-size);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.35rem;transition:background-color .16s;display:inline-flex}.button:hover{background:var(--color-action-background-hover);text-decoration:none}.button:visited{color:var(--color-action-foreground)}.button-ghost{border-color:var(--color-border-control);color:var(--color-text-primary);background:0 0}.button-ghost:hover{background:var(--color-action-ghost-hover)}.button-ghost:visited{color:var(--color-text-primary)}.button-row{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.post-header{width:100%;max-width:var(--layout-content-max-width);padding:var(--space-4)var(--space-4)var(--space-5);text-align:center}.post-header h1{margin:var(--space-6)var(--space-4)var(--space-4);font-size:var(--type-title-size)}.post-header .subheading{color:var(--color-text-secondary);font-family:var(--font-family-heading);margin-block-end:var(--space-4);font-style:italic}.post-meta{color:var(--color-text-secondary);font-size:var(--type-caption-size);font-variant:small-caps;display:block}.post-meta a{font-variant:normal}@media(max-width:600px){.post-header h1,.page-title{font-size:2.25rem}}.content{width:100%;max-width:var(--layout-content-max-width);padding:0 var(--space-4)var(--space-8);overflow-wrap:anywhere}.content>*+*{margin-block-start:1.6rem}.content>:is(h2,h3,h4){margin-block-start:var(--space-7)}.content h2{font-size:var(--type-section-size)}.content h3{font-size:var(--type-subsection-size)}.content h4{font-size:1.2rem}.content :is(h2,h3,h4)>a[aria-hidden=true]{color:var(--palette-orange);opacity:0;margin-inline-start:.3em;text-decoration:none}.content :is(h2,h3,h4)>a[aria-hidden=true]:after{content:"#"}.content :is(h2,h3,h4):hover>a[aria-hidden=true]{opacity:1}.content a:not([aria-hidden=true]){text-underline-offset:.12em;text-decoration-line:underline;text-decoration-thickness:.08em}.content a:not([aria-hidden=true]):visited{color:var(--color-link-visited)}.content :is(b,strong){color:var(--color-text-bold)}.content ul,.content ol{padding-inline-start:var(--space-6)}:is(.content ul,.content ol) li+li{margin-block-start:var(--space-2)}.content ul{list-style:outside}.content ol{list-style:decimal}.content li>:is(ul,ol){margin-block-start:var(--space-2)}.content blockquote{border-inline-start:.25rem solid var(--color-border-subtle);color:var(--color-text-secondary);padding-inline-start:var(--space-4);font-style:italic}.content hr{background:var(--color-border-subtle);border:0;block-size:.5rem;-webkit-mask:url(/images/section-divider.svg) 0/2rem .5rem repeat-x;mask:url(/images/section-divider.svg) 0/2rem .5rem repeat-x}.content img,.content video{border-radius:var(--radius-large);max-width:100%;height:auto;margin-inline:auto}.content figcaption{color:var(--color-text-secondary);font-size:var(--type-caption-size);text-align:center;margin-block-start:var(--space-2)}.content code:not(pre code){border:1px solid var(--color-border-subtle);border-radius:var(--radius-small);background:var(--color-surface-band);padding:0 .3em;font-size:.85em}.content pre{padding:var(--space-5)var(--space-4);box-shadow:0 0 0 100vmax var(--color-surface-band);clip-path:inset(0 -100vmax);font-size:.85em;line-height:1.6;overflow-x:auto}.content table{border-collapse:separate;border-spacing:0;border:1px solid var(--color-border-subtle);border-radius:var(--radius-large);width:100%;font-size:var(--type-ui-size);text-align:left;overflow:hidden}.content table thead{background:var(--color-surface-panel)}.content table th{font-weight:600}.content table th,.content table td{padding:var(--space-3)var(--space-4)}.content table thead th{border-block-end:1px solid var(--color-border-subtle)}.content table tbody tr:nth-child(2n){background:var(--color-surface-panel)}.content .table-wrapper{overflow-x:auto}.post-hero-image{width:100%;max-width:var(--layout-content-max-width);padding-inline:var(--space-4);margin-block-end:var(--space-7)}.post-hero-image img{border-radius:var(--radius-large);width:100%;height:auto}.comments{width:100%;max-width:var(--layout-content-max-width);padding:0 var(--space-4)var(--space-8)}.site-footer{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-6)var(--space-4);background:var(--color-surface-band);font-size:var(--type-ui-size);text-align:center;flex-direction:column;display:flex}.site-footer .footer-links{justify-content:center;gap:var(--space-2)var(--space-5);flex-wrap:wrap;display:flex}.site-footer a{color:var(--color-text-primary)}.site-footer a:hover{color:var(--color-link)}.error-page{justify-content:center;align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;min-height:60vh;display:flex}.error-page .error-code{color:var(--color-border-subtle);margin:0;font-size:8rem;line-height:1}.error-page h1{font-size:var(--type-section-size);margin:0}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);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}.inset-0{inset:calc(var(--spacing)*0)}.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}}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.w-full{width:100%}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.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)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px 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)}.blur{--tw-blur:blur(8px);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,)}.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,)}}:root{--stone-50:oklch(98.5% .001 106.423);--stone-100:oklch(97% .001 106.424);--stone-200:oklch(92.3% .003 48.717);--stone-300:oklch(86.9% .005 56.366);--stone-400:oklch(70.9% .01 56.259);--stone-500:oklch(55.3% .013 58.071);--stone-600:oklch(44.4% .011 73.639);--stone-700:oklch(37.4% .01 67.558);--stone-800:oklch(26.8% .007 34.298);--stone-900:oklch(21.6% .006 56.043);--stone-950:oklch(14.7% .004 49.25);--purple-400:oklch(71.4% .203 305.504);--purple-800:oklch(43.8% .218 303.724);--palette-orange:#e69f00;--palette-blue:#56b4e9;--palette-green:#009e73;--palette-dark-blue:#0072b2;--palette-red:#d55e00;--palette-pink:#cc79a7;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--radius-small:.25rem;--radius-control:8px;--radius-large:1rem;--font-family-heading:"Iowan Old Style","Palatino Linotype","URW Palladio L",P052,serif;--font-family-body:Seravek,"Gill Sans Nova",Ubuntu,Calibri,"DejaVu Sans",source-sans-pro,sans-serif;--font-family-code:ui-monospace,"Cascadia Code","Source Code Pro",Menlo,Consolas,"DejaVu Sans Mono",monospace;--type-body-size:calc(7rem/6);--type-ui-size:1rem;--type-caption-size:.9rem;--type-title-size:3rem;--type-section-size:2rem;--type-subsection-size:1.5rem;--layout-content-max-width:780px;--topnav-height:3.75rem;--color-surface-page:white;--color-surface-band:var(--stone-50);--color-surface-panel:var(--stone-100);--color-surface-input:white;--color-surface-toolbar:var(--stone-100);--color-text-primary:var(--stone-900);--color-text-bold:var(--color-text-primary);--color-text-secondary:var(--stone-700);--color-border-control:var(--stone-500);--color-border-subtle:var(--color-text-primary)}@supports (color:color-mix(in lab,red,red)){:root{--color-border-subtle:color-mix(in srgb,var(--color-text-primary)16%,transparent)}}:root{--color-link:#0077c2;--color-link-visited:var(--purple-800);--color-action-background:var(--stone-600);--color-action-background-hover:var(--stone-500);--color-action-foreground:white;--color-action-ghost-hover:var(--color-action-background)}@supports (color:color-mix(in lab,red,red)){:root{--color-action-ghost-hover:color-mix(in srgb,var(--color-action-background)14%,transparent)}}:root{--focus-ring:2px solid var(--color-link);--shadow-raised:0 2px 8px #0000001f;color-scheme:light}.dark{--color-surface-page:oklch(19% .005 52);--color-surface-band:oklch(23.5% .006 52);--color-surface-panel:var(--stone-800);--color-surface-input:oklch(23.5% .006 52);--color-surface-toolbar:var(--stone-800);--color-text-primary:var(--stone-300);--color-text-bold:var(--stone-100);--color-text-secondary:var(--stone-400);--color-link:oklch(80% .12 236);--color-link-visited:var(--purple-400);--color-action-background:var(--stone-700);--color-action-background-hover:var(--stone-600);--color-action-foreground:var(--stone-100);--color-action-ghost-hover:var(--color-action-background)}@supports (color:color-mix(in lab,red,red)){.dark{--color-action-ghost-hover:color-mix(in srgb,var(--color-action-background)28%,transparent)}}.dark{--shadow-raised:0 2px 8px #0000004d;color-scheme:dark}.astro-code{background-color:var(--color-surface-band)!important}.dark .astro-code,.dark .astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!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-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}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
