:root{--stone:#78716c;--stone-dark:#57534e;--stone-darker:#44403c;--sage:#a8a29e;--warm-white:#faf9f6;--surface-base:#faf9f6;--surface-raised:#fff;--surface-sunken:#f5f4f1;--border-default:#e7e5e4;--border-strong:#d6d3d1;--border-focus:#a8a29e;--content-primary:#44403c;--content-secondary:#78716c;--content-tertiary:#a8a29e;--white:#fff;--success:#65a30d;--warning:#ca8a04;--error:#dc2626;--accent:var(--stone);--background:var(--warm-white);--ink:var(--content-primary);--paper:var(--warm-white);--displayFont:"Raleway", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bodyFont:"DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--codeFont:"Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size:1rem;line-height:1.7}@media (width>=48rem){body{font-size:1rem}}@media (width>=80rem){body{font-size:1rem}}:is(h1,h2,h3,h4,h5,h6){line-height:1.15;font-family:var(--displayFont);color:var(--stone);margin:3rem 0 1rem}h1{margin:0 0 2rem;padding-bottom:0;font-size:clamp(2rem,4vw,2.5rem);font-weight:300;line-height:1.15;position:relative;overflow:hidden}@media (width>=80rem){h1{font-size:2.5rem}}h2{font-size:clamp(1.6rem,2.5vw,2rem);font-weight:300;line-height:1.2}@media (width>=48rem){h2{font-size:clamp(1.75rem,2vw,2rem)}}h3{font-size:1.5rem;font-weight:500;line-height:1.25}h4{font-size:1.125rem;font-weight:500;line-height:1.35}h5,h6{font-size:1rem;font-weight:500;line-height:1.35}a{color:var(--content-primary);text-decoration-thickness:.08em;-webkit-text-decoration-color:var(--sage);text-decoration-color:var(--sage)}p{max-width:68ch;line-height:1.7}ul{max-width:68ch;padding-left:1.5rem;list-style-type:square}ul ul{list-style-type:circle}ul ::marker{color:var(--sage)}*,:before,:after{box-sizing:border-box;max-width:100%;font-family:inherit}main{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:4px;width:100%;max-width:76rem;margin:1.5rem auto 4rem;padding:1.25rem}.layout{z-index:0;grid-template-rows:auto 1fr auto;grid-template-columns:100%;min-height:100vh;display:grid;position:relative}img{width:100%;max-width:100%;height:auto}.post h1{margin-bottom:1rem}.post .meta{color:var(--content-tertiary);margin-bottom:4rem;font-size:.8125rem}.post img+h1{margin-top:1rem}li{margin-bottom:.25rem}.posts-list{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.5rem;padding:0;list-style-type:none;display:grid}.posts-list li{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:4px;margin:0;padding:1.5rem}.posts-list img+h2{margin-top:1rem}.posts-list a{display:block}.post,.posts-list,.post-footer,.callout{max-width:100%}.post-footer ul{padding:0}.post-footer li{font-size:.8125rem;display:inline-block}.post-footer li a{background-color:var(--surface-sunken);text-transform:uppercase;font-family:var(--bodyFont);border:1px solid var(--border-default);color:var(--content-secondary);border-radius:4px;padding:.5rem .75rem;font-weight:500}.post-footer li+li{margin-left:.5rem}:where(h2,h3,h4,h5,h6) .icon-link{position:relative}:where(h2,h3,h4,h5,h6) .icon-link:before{content:url(../../../link.svg);fill:currentColor;opacity:.2;width:1rem;height:1rem;transition:opacity .2s;position:absolute;top:0;left:-1rem}@media (width>=48rem){:where(h2,h3,h4,h5,h6) .icon-link:before{left:-1.5rem}}:where(h2,h3,h4,h5,h6) .icon-link:hover:before{opacity:1}.callout{background:var(--surface-sunken);width:calc(100% + 2rem);max-width:unset;border:1px solid var(--border-default);color:var(--content-secondary);border-radius:4px;margin:2rem 0 2rem -1rem;padding:2rem 1rem}@media (width>=48rem){.callout{width:calc(100% + 4rem);margin:2rem 0 2rem -2rem;padding:2rem}}.pagination{margin:0 0 1rem}.pagination ul{flex-wrap:wrap;justify-content:start;gap:.5rem;margin:0;padding:0;list-style-type:none;display:flex}.pagination ul li{margin:0}.pagination ul a{background:var(--surface-raised);width:2em;height:2em;line-height:1;font-family:var(--bodyFont);border:1px solid var(--border-default);color:var(--content-secondary);border-radius:4px;justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:flex}.pagination ul a:hover{background:var(--surface-sunken);color:var(--content-primary)}.pagination ul a[aria-current=true]{background:var(--stone);color:var(--white);border:1px solid var(--stone)}header,footer{font-family:var(--bodyFont);border:1px solid var(--border-default);background:var(--surface-raised);border-radius:4px;width:min(100%,76rem);margin:1rem auto 0;padding:1rem 1.25rem}header a,footer a{color:var(--content-primary);text-decoration:none;transition:color .15s}header a:hover,footer a:hover{color:var(--stone)}header a.active,footer a.active{font-weight:500}header nav ul,footer nav ul{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin:0;padding:0;list-style-type:none;display:flex}header svg,footer svg{fill:currentColor}header{z-index:20;background:var(--surface-raised);color:var(--content-primary);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:.75rem}@media (width>=48rem){header{padding-top:1rem;padding-bottom:1rem}}header .site-title{font-family:var(--displayFont);color:inherit;text-align:left;letter-spacing:normal;background:0 0;border:none;border-radius:4px;align-items:center;margin:0;padding:.35rem .75rem;font-size:1.35rem;font-weight:500;line-height:1;display:inline-flex}header .site-title img{object-fit:contain;width:auto;height:2.75rem;display:block}@media (width>=48rem){header .site-title img{height:3.25rem}}header .menu-button{color:inherit;border:0;width:2rem;margin:0;padding:0;background:0 0!important}@media (width>=48rem){header .menu-button{display:none}}header .main-nav{z-index:2;visibility:hidden;pointer-events:none;opacity:0;background:var(--surface-raised);width:calc(100% - 1.5rem);height:calc(100vh - 1.5rem);color:var(--content-primary);border:1px solid var(--border-default);border-radius:4px;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.785,.135,.15,.86);display:flex;position:fixed;top:.75rem;left:.75rem;transform:translate(calc(-100% - 1.5rem))}header .main-nav.open{opacity:1;pointer-events:unset;visibility:unset;transform:translate(0)}header .main-nav.open li{opacity:0;animation:.2s cubic-bezier(.215,.61,.355,1) forwards slide_in_left}header .main-nav.open li a{color:inherit}header .main-nav.open li:first-of-type{animation-delay:.2s}header .main-nav.open li:nth-of-type(2){animation-delay:.25s}header .main-nav.open li:nth-of-type(3){animation-delay:.3s}header .main-nav.open li:nth-of-type(4){animation-delay:.35s}header .main-nav.open li:nth-of-type(5){animation-delay:.4s}header .main-nav.open li:nth-of-type(6){animation-delay:.45s}header .main-nav.open li:nth-of-type(7){animation-delay:.5s}header .main-nav.open li:nth-of-type(8){animation-delay:.55s}header .main-nav .menu-button{position:absolute;top:1rem;right:1rem}header .main-nav ul li{text-align:center;width:100%;margin-bottom:.8rem;font-size:1.15rem;display:block}@media (width>=48rem){header .main-nav{opacity:1;position:unset;background:unset;width:auto;height:auto;box-shadow:none;pointer-events:unset;visibility:unset;color:inherit;border:0;transform:none}header .main-nav ul{border:1px solid var(--border-default);background:var(--surface-sunken);border-radius:4px;align-items:center;gap:.25rem;width:max-content;margin:0;padding:.4rem .6rem;display:flex}header .main-nav ul li{display:initial;width:initial;text-align:initial;margin-bottom:0;font-size:.95rem}header .main-nav ul li a{color:var(--content-primary);border-radius:4px;padding:.5rem 1rem;display:block}header .main-nav ul li a:hover{background:var(--surface-sunken);color:var(--stone)}header .main-nav ul li a.active{background:var(--stone);color:var(--white)}}footer{background:var(--surface-sunken);color:var(--content-secondary);grid-template-columns:100%;align-items:stretch;gap:2rem;margin-bottom:1rem;display:grid}@media (width>=48rem){footer{grid-template-columns:1fr 1fr 2fr;padding:1.25rem 1.5rem}}footer .menu-button{display:none}footer p{color:var(--content-tertiary);margin:0;font-size:.8125rem}footer a{color:inherit}footer a:hover{color:var(--content-primary)}footer nav{display:initial}@media (width>=48rem){footer nav{border-right:1px solid var(--border-default)}}footer nav ul{display:initial}footer nav ul li+li{margin-top:.5rem}.skip-to-content-link{opacity:0;background:var(--stone-darker);height:3rem;color:var(--white);border-radius:4px;justify-content:center;align-items:center;padding:.5em;display:flex;position:absolute;top:-6rem;left:0}.skip-to-content-link:focus{opacity:1;z-index:11;transform:translateY(6rem)}form{margin:2rem 0}button,input[type=submit]{background:var(--stone);color:var(--white);font-size:.9375rem;font-weight:500;font-family:var(--bodyFont);border:1px solid var(--stone);cursor:pointer;border-radius:4px;width:max-content;margin:2rem 0 0;padding:10px 20px;transition:background .15s;display:block}button:hover,button:focus,input[type=submit]:hover,input[type=submit]:focus{background:var(--stone-dark);border-color:var(--stone-dark)}button:active,input[type=submit]:active{background:var(--stone-darker);border-color:var(--stone-darker)}label,fieldset{font-weight:500;font-family:var(--bodyFont);color:var(--content-secondary);margin-bottom:6px;font-size:.75rem;display:inline-block}fieldset{border:0;margin-bottom:0;padding:0}input{border:1px solid var(--border-default);width:100%;accent-color:var(--stone);background-color:var(--surface-sunken);font-size:.9375rem;font-family:var(--bodyFont);color:var(--content-primary);border-radius:4px;padding:10px 14px;transition:border-color .15s;display:block}input:hover{border-color:var(--border-strong)}input:focus{border-color:var(--border-focus);outline:none}input[type=radio],input[type=checkbox]{display:initial;width:auto}input[type=radio]:not(:checked)+label,input[type=checkbox]:not(:checked)+label{font-weight:400}.form-section,fieldset{margin-top:1.5rem}::placeholder{color:var(--content-tertiary)}@keyframes slide_in_left{0%{opacity:0;transform:translate(-2rem)}to{opacity:1;transform:translate(0)}}.sr-only{opacity:0;word-wrap:normal;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);border:none;width:1px;height:1px;position:absolute;left:-100vw;overflow:hidden}.no-bullets{padding-left:0;list-style-type:none}pre,code{font-family:var(--codeFont);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}pre{color:var(--content-primary);background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:4px;padding:1.5rem;font-size:.8125rem;overflow-y:auto}code{color:var(--content-primary);background:var(--surface-sunken);white-space:pre;border-radius:2px;padding:.125em .25em;font-size:.9375rem}pre code{background:0 0;padding:0;font-size:.8125rem}code[class*=language-],pre[class*=language-]{color:var(--content-primary);text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;tab-size:4;-webkit-hyphens:none;hyphens:none;background:0 0;line-height:1.6}pre[class*=language-]{border:1px solid var(--border-default);border-radius:4px;margin:2rem 0;padding:1.5rem;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:var(--surface-sunken)}:not(pre)>code[class*=language-]{white-space:normal;border-radius:2px;padding:.1em}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--content-tertiary)}.token.punctuation{color:var(--content-secondary)}.namespace{opacity:.7}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:var(--content-primary)}.token.boolean,.token.number{color:var(--stone)}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:var(--content-secondary)}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:var(--content-primary)}.token.atrule,.token.attr-value,.token.function,.token.class-name{color:var(--stone-dark)}.token.keyword{color:var(--content-primary);font-weight:500}.token.regex,.token.important{color:var(--stone)}.token.important,.token.bold{font-weight:500}.token.italic{font-style:italic}.token.entity{cursor:help}:focus{outline:2px solid var(--border-focus);outline-offset:2px}main:focus{outline:none}::selection{background:var(--surface-sunken);color:var(--content-primary)}body{min-height:100vh;color:var(--ink);font-family:var(--bodyFont);background:var(--warm-white);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}.lang-switcher.svelte-1v2j48r{border:1px solid var(--border-default);background:var(--surface-sunken);font-family:var(--bodyFont);color:var(--content-secondary);cursor:pointer;border-radius:9999px;align-items:center;gap:.25rem;padding:.4rem .75rem;font-size:.8125rem;font-weight:500;transition:background .15s;display:inline-flex}.lang-switcher.svelte-1v2j48r:hover{background:var(--surface-raised)}.lang-switcher.svelte-1v2j48r span:where(.svelte-1v2j48r){transition:color .15s}.lang-switcher.svelte-1v2j48r span.active:where(.svelte-1v2j48r){color:var(--stone);font-weight:600}.lang-switcher.svelte-1v2j48r .divider:where(.svelte-1v2j48r){color:var(--content-tertiary)}.header-actions.svelte-1elxaub{align-items:center;gap:.5rem;display:flex}
