@font-face{font-family:Archivo;src:url(/fonts/archivo-wdth.woff2)format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4.woff2)format("woff2");font-weight:200 900;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plex-mono-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plex-mono-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Archivo Fallback;src:local(Arial);size-adjust:103%;ascent-override:88%;descent-override:21%}@font-face{font-family:Serif Fallback;src:local(Georgia);size-adjust:97%;ascent-override:92%;descent-override:30%}:root{color-scheme:light dark;--ground:#f5f2ea;--raised:#fffdf8;--sunken:#ebe6da;--ink:#151a1e;--slate:#505b62;--route:#1846b8;--on-route:#f5f2ea;--lichen:#c8ec4a;--on-lichen:#151a1e;--moss:#4d5a12;--flag:#b8253d;--rule:#d6cfbf;--edge:#7d8589;--font-display:"Archivo", "Archivo Fallback", system-ui, sans-serif;--font-text:"Source Serif 4", "Serif Fallback", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--gutter:clamp(16px, 4vw, 56px);--max:1360px;--measure:66ch;--ease-out:cubic-bezier(.2, .7, .1, 1)}@media (prefers-color-scheme:dark){:root{--ground:#0f1417;--raised:#161d21;--sunken:#0a0e10;--ink:#eef0ea;--slate:#9aa6ad;--route:#7c9cff;--on-route:#0f1417;--lichen:#c8ec4a;--on-lichen:#0f1417;--moss:#c8ec4a;--flag:#ff8599;--rule:#2a343a;--edge:#66737a}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:96px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--ground);color:var(--ink);font-family:var(--font-text);font-optical-sizing:auto;margin:0;font-size:1.125rem;line-height:1.55;overflow-x:clip}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}::view-transition-old(root){animation:.26s var(--ease-out) both vt-lift}::view-transition-new(root){animation:.32s var(--ease-out) both vt-settle}::view-transition-group(site-header){animation:none}@keyframes vt-lift{to{opacity:0;transform:translateY(-14px)}}@keyframes vt-settle{0%{opacity:0;transform:translateY(10px)}}a{color:var(--route);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--route);outline-offset:3px;border-radius:2px}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:760;line-height:1.02}h1{font-weight:800;font-stretch:118%}h2{font-size:clamp(2rem,1.2rem + 2.6vw,3.4rem);font-stretch:112%}h3{font-size:1.35rem;font-stretch:104%;line-height:1.15}p{text-wrap:pretty;margin:0}code,.mono{font-family:var(--font-mono);font-size:.86em}p code,li code{background:color-mix(in srgb, var(--sunken) 80%, transparent);border-radius:3px;padding:.05em .3em}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{left:var(--gutter);z-index:100;background:var(--route);color:var(--on-route);font-family:var(--font-display);padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:12px}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--slate);font-size:.78rem;font-weight:500}html:not(.motion-ok) .illus [class*=anim-],html:not(.motion-ok) .illus .moving{transition:none!important;animation:none!important}
