*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{text-rendering:optimizespeed;min-height:100vh;line-height:1.5}a:not([class]){-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--color-bg:#fff;--color-text:#1a1a1a;--color-text-muted:#444;--color-border:#1a1a1a;--color-surface:#fafafa;--color-yellow:#ffde43;--color-green:teal;--color-blue:#003153;--color-white:#fff;--border-thick:3px solid var(--color-border);--border-thin:1px solid var(--color-border);--font-system:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace;--container-max:1200px}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-system);margin:0;padding:0}a{color:var(--color-blue);text-underline-offset:.15em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--color-text);outline-offset:3px;box-shadow:0 0 0 6px var(--color-yellow)}.container{max-width:var(--container-max);margin:0 auto;padding:0 1rem}.skip-link{z-index:10;background:var(--color-yellow);color:var(--color-text);border:var(--border-thick);padding:.75rem 1rem;font-weight:900;position:absolute;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-intro{border-bottom:var(--border-thick);padding:4rem 0 3rem}.page-intro h1{letter-spacing:-.04em;max-width:20ch;margin-bottom:1.5rem;font-size:clamp(2.5rem,1.5rem + 4vw,3.5rem);font-weight:900;line-height:1.05}.lead-text{color:var(--color-text);max-width:60ch;font-size:1.35rem;font-weight:500;line-height:1.5}.section{border-bottom:var(--border-thick);padding:3rem 0}.section-title{text-transform:uppercase;letter-spacing:-.02em;margin:0 0 2.5rem;font-size:1.75rem;font-weight:900}.prose{max-width:68ch;font-size:1.1rem;line-height:1.6}.prose>*+*{margin-top:1rem}.prose h2{letter-spacing:-.02em;margin-top:2.5rem;font-size:1.5rem;font-weight:900}.prose ul{padding-left:1.25rem}main:focus{outline:none}.article-body{overflow-wrap:break-word;max-width:72ch;font-size:1.15rem;line-height:1.65}.article-body>*+*{margin-top:1.25rem}.article-body h2,.article-body h3{scroll-margin-top:1.5rem;line-height:1.2}.article-body h2{margin-top:3rem;font-size:1.75rem}.article-body h3{margin-top:2.25rem;font-size:1.3rem;font-weight:900}.article-body h2+*,.article-body h3+*{margin-top:.75rem}.heading-anchor{color:var(--color-green);opacity:0;margin-left:.4em;text-decoration:none}:is(h2,h3):hover>.heading-anchor,.heading-anchor:focus-visible{opacity:1}.article-body ol{padding-left:1.5rem}.article-body li+li{margin-top:.4rem}.article-body .contains-task-list{padding-left:0;list-style:none}.article-body .task-list-item input{accent-color:var(--color-green);margin-right:.5rem}.article-body blockquote{border-left:6px solid var(--color-text);padding-left:1.25rem;font-style:italic}.article-body hr{border:none;border-top:var(--border-thick);margin-block:3rem}.article-body :not(pre)>code{font-family:var(--font-mono);background:var(--color-surface);border:var(--border-thin);overflow-wrap:anywhere;padding:.1em .35em;font-size:.88em}.article-body table{border-collapse:collapse;font-size:.95rem;line-height:1.45;display:block;overflow-x:auto}.article-body th,.article-body td{border:var(--border-thin);text-align:left;vertical-align:top;padding:.5rem .75rem}.article-body th{background:var(--color-surface);font-weight:900}.article-body figure{margin-inline:0}.article-body figcaption{color:var(--color-text-muted);font-size:.9rem}.code-block{border:var(--border-thick);position:relative}.code-block figcaption{border-bottom:var(--border-thin);background:var(--color-surface);font-family:var(--font-mono);color:var(--color-text);padding:.4rem 1rem;font-size:.85rem}.code-block pre{font-family:var(--font-mono);tab-size:2;margin:0;padding:1rem 1.25rem;font-size:.9rem;line-height:1.6;overflow-x:auto}.code-block pre code{font-family:inherit}.copy-code{border:var(--border-thin);background:var(--color-bg);color:var(--color-text);cursor:pointer;opacity:0;padding:.2rem .6rem;font-size:.8rem;font-weight:700;position:absolute;top:.5rem;right:.5rem}.code-block figcaption~.copy-code{top:2.6rem}.code-block:hover .copy-code,.copy-code:focus-visible{opacity:1}@media (hover:none){.copy-code{opacity:1}}.highlight-yellow{background-color:var(--color-yellow);padding:0 .3rem;display:inline-block}.tag-status{text-transform:uppercase;border:var(--border-thin);letter-spacing:.05em;padding:.3rem .6rem;font-size:.75rem;font-weight:800}.tag-tech{text-transform:uppercase;border:var(--border-thin);padding:.2rem .5rem;font-size:.75rem;font-weight:800;display:inline-block}.tag-green{background-color:var(--color-green);color:var(--color-white)}.tag-yellow-badge{background-color:var(--color-yellow);color:var(--color-text)}.tag-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;display:flex}.tag-list li{border:var(--border-thin);background-color:var(--color-white);padding:.25rem .6rem;font-size:.85rem;font-weight:700}.button{color:var(--color-text);background-color:var(--color-yellow);border:var(--border-thick);box-shadow:4px 4px 0px var(--color-border);padding:1rem 2.5rem;font-size:1.15rem;font-weight:900;text-decoration:none;transition:transform 50ms,box-shadow 50ms;display:inline-block}.button:hover{box-shadow:6px 6px 0px var(--color-border);transform:translate(-2px,-2px)}.button:active{box-shadow:0px 0px 0px var(--color-border);transform:translate(4px,4px)}.button-secondary{background-color:var(--color-white)}.button-small{box-shadow:3px 3px 0px var(--color-border);padding:.5rem 1.25rem;font-size:1rem}.button-row{flex-wrap:wrap;gap:1rem 1.5rem;margin-top:2rem;display:flex}.site-header.svelte-1elxaub{border-bottom:var(--border-thick);padding:1rem 0}.container.svelte-1elxaub{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.logo.svelte-1elxaub{letter-spacing:-.03em;color:var(--color-text);font-size:1.5rem;font-weight:900;text-decoration:none}ul.svelte-1elxaub{align-items:center;gap:1.5rem;margin:0;padding:0;display:flex}a.svelte-1elxaub:not(.logo,.button){color:var(--color-text);font-weight:700;text-decoration:none}a.svelte-1elxaub:not(.logo,.button):hover,a[aria-current=page].svelte-1elxaub:not(.button){text-underline-offset:.3em;text-decoration:underline;text-decoration-thickness:3px}.site-footer.svelte-jz8lnl{border-top:var(--border-thick);margin-top:4rem;padding:2.5rem 0}.container.svelte-jz8lnl{gap:1rem;display:grid}ul.svelte-jz8lnl{flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;padding:0;display:flex}.copyright.svelte-jz8lnl{color:var(--color-text-muted);font-size:.9rem}
