.masthead[data-astro-cid-r6zpem2t]{position:sticky;inset-block-start:0;z-index:20;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(8px)}.masthead__inner[data-astro-cid-r6zpem2t]{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-1) var(--space-4);padding-block:var(--space-2)}.masthead__sig[data-astro-cid-r6zpem2t]{display:flex;align-items:baseline;gap:var(--space-2)}.masthead__name[data-astro-cid-r6zpem2t]{font-weight:700;letter-spacing:-.02em;transition:color var(--dur) var(--ease)}.masthead__sig[data-astro-cid-r6zpem2t]:hover .masthead__name[data-astro-cid-r6zpem2t]{color:var(--acc)}.masthead__nav[data-astro-cid-r6zpem2t]{min-inline-size:0}.masthead__nav[data-astro-cid-r6zpem2t] ul[data-astro-cid-r6zpem2t]{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3)}.masthead__link[data-astro-cid-r6zpem2t]{position:relative;padding-block-end:2px;transition:color var(--dur) var(--ease)}.masthead__link[data-astro-cid-r6zpem2t]:after{content:"";position:absolute;inset-inline:0;inset-block-end:0;block-size:var(--stroke-thin);background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease)}.masthead__link[data-astro-cid-r6zpem2t]:hover{color:var(--acc)}.masthead__link[data-astro-cid-r6zpem2t]:hover:after{transform:scaleX(1)}.colophon[data-astro-cid-gcn2mc3v]{margin-block-start:var(--space-6);padding-block-end:var(--space-5)}:root{--paper: #fcfcfa;--paper-2: #f4f4f0;--ink: #16181a;--ink-2: #4d5359;--ink-3: #6e757b;--rule: rgb(22 24 26 / 14%);--rule-2: rgb(22 24 26 / 26%);--scroll-thumb: color-mix(in srgb, var(--ink) 24%, var(--paper));--scroll-thumb-hover: color-mix(in srgb, var(--ink) 38%, var(--paper));--stroke: 1.4px;--stroke-thin: .9px;--stroke-axis: .8px;--acc: #1a35c8;--acc-hot: #3d55e8;--acc-wash: #e9ecfd;--acc-line: rgb(26 53 200 / 38%);--font-ui: "Golos Text", system-ui, -apple-system, "Segoe UI", sans-serif;--font-tech: "Martian Mono", ui-monospace, "SF Mono", Menlo, monospace;--step--2: .6875rem;--step--1: .8125rem;--step-0: 1.0625rem;--step-1: 1.25rem;--step-2: 1.625rem;--step-3: 2.25rem;--step-4: 3rem;--step-5: clamp(2.75rem, 7.4vw, 5.5rem);--measure: 60ch;--grid: 8px;--space-1: calc(var(--grid) * 1);--space-2: calc(var(--grid) * 2);--space-3: calc(var(--grid) * 3);--space-4: calc(var(--grid) * 5);--space-5: calc(var(--grid) * 8);--space-6: calc(var(--grid) * 12);--space-7: calc(var(--grid) * 18);--page-max: 82rem;--ease: cubic-bezier(.22, .68, .28, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur: .18s;--dur-slow: .42s;--dur-explode: 1.1s}@media(max-width:48rem){:root{--step-0: 1rem;--space-7: calc(var(--grid) * 10)}}@media(prefers-reduced-motion:reduce){:root{--dur: 1ms;--dur-slow: 1ms;--dur-explode: 1ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-block-start:var(--space-5);color-scheme:light}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{min-block-size:100dvh;background-color:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--step-0);line-height:1.6;font-synthesis-weight:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,picture,svg{display:block;max-inline-size:100%}img{block-size:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}ul,ol{list-style:none;padding:0}::selection{background:var(--acc);color:#fff}:root{caret-color:var(--acc);accent-color:var(--acc);scrollbar-color:var(--scroll-thumb) var(--paper-2);scrollbar-width:thin}::-webkit-scrollbar{inline-size:11px;block-size:11px}::-webkit-scrollbar-track{background:var(--paper-2)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid var(--paper-2)}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}time,[data-numeric]{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-2);z-index:100;padding:var(--space-1) var(--space-3);background:var(--acc);color:#fff;font-family:var(--font-tech);font-size:var(--step--1);font-weight:500;transform:translateY(-250%)}.skip-link:focus-visible{transform:none}.sheet{max-inline-size:var(--page-max);margin-inline:auto;padding-inline:clamp(var(--space-2),4vw,var(--space-5))}.rule{block-size:var(--stroke-thin);background:var(--rule-2);border:0}.rule--hair{background:var(--rule)}.divider{display:flex;align-items:center;gap:var(--space-2)}.divider:after{content:"";flex:1;block-size:var(--stroke-thin);background:var(--rule-2)}.divider__title{font-family:var(--font-ui);font-size:var(--step-2);font-weight:700;letter-spacing:-.025em;line-height:1.1;white-space:nowrap}.callout{display:inline-grid;place-items:center;inline-size:2.25rem;block-size:2.25rem;border:var(--stroke) solid var(--ink);border-radius:50%;font-family:var(--font-tech);font-size:var(--step--1);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--paper);transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),background var(--dur) var(--ease)}.callout--sm{inline-size:1.75rem;block-size:1.75rem;font-size:var(--step--2)}.is-active .callout{border-color:var(--acc);color:#fff;background:var(--acc)}.callout--action{cursor:pointer;box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--rule-2);transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.callout--action:hover,.callout--action:focus-visible{border-color:var(--acc);color:var(--acc);box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--acc-line)}.callout--action:active{background:var(--acc-wash)}.callout--action[aria-pressed=true]{border-color:var(--acc);color:#fff;background:var(--acc);box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--acc)}.flag{display:inline-flex;color:var(--ink);margin-block-start:.1em}.frame{position:relative;border:var(--stroke) solid var(--ink);background:var(--paper)}.frame:before,.frame:after{content:"";position:absolute;inline-size:var(--space-2);block-size:var(--space-2);border:var(--stroke-thin) solid var(--acc)}.frame:before{inset-block-start:calc(var(--space-1) * -1 - var(--stroke));inset-inline-start:calc(var(--space-1) * -1 - var(--stroke));border-inline-end:0;border-block-end:0}.frame:after{inset-block-end:calc(var(--space-1) * -1 - var(--stroke));inset-inline-end:calc(var(--space-1) * -1 - var(--stroke));border-inline-start:0;border-block-start:0}.stamp{display:grid;border:var(--stroke-thin) solid var(--rule-2);border-block-end:0;border-inline-end:0}.stamp__cell{padding:var(--space-1) var(--space-2);border-block-end:var(--stroke-thin) solid var(--rule-2);border-inline-end:var(--stroke-thin) solid var(--rule-2);min-inline-size:0}.stamp__key{display:block;font-family:var(--font-tech);font-size:var(--step--2);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.stamp__value{display:block;font-size:var(--step--1);color:var(--ink);overflow-wrap:anywhere}@media(min-width:34rem){.stamp{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:60rem){.stamp{grid-template-columns:repeat(4,minmax(0,1fr))}}h1,h2,h3{font-family:var(--font-ui);font-weight:700;line-height:1.05;letter-spacing:-.03em;text-wrap:balance}h1{font-size:var(--step-5);letter-spacing:-.042em}:where(h2){font-size:var(--step-2)}h3{font-size:var(--step-1);letter-spacing:-.015em}p{text-wrap:pretty}.lede{font-size:var(--step-1);line-height:1.5;color:var(--ink-2);max-inline-size:46ch}.quiet{color:var(--ink-2)}.faint{color:var(--ink-3)}.prose{max-inline-size:var(--measure);color:var(--ink-2)}.tech{font-family:var(--font-tech);font-size:var(--step--2);font-weight:400;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-3);font-variant-numeric:tabular-nums;line-height:1.5}.tech--acc{color:var(--acc)}.tech--ink{color:var(--ink)}.spec{font-family:var(--font-tech);font-size:var(--step--2);letter-spacing:.01em;color:var(--ink-2);line-height:1.7}.prose{font-size:var(--step-0);line-height:1.62}.prose>*+*{margin-block-start:var(--space-3)}.prose h2{margin-block-start:var(--space-5);margin-block-end:var(--space-2);padding-block-end:var(--space-1);border-block-end:var(--stroke-thin) solid var(--rule-2);font-size:var(--step-2);font-weight:700;letter-spacing:-.025em;line-height:1.15;color:var(--ink)}.prose h3{margin-block-start:var(--space-4);margin-block-end:var(--space-1);font-size:var(--step-1);font-weight:700;letter-spacing:-.02em;color:var(--ink)}.prose strong{color:var(--ink);font-weight:600}.prose ul,.prose ol{padding-inline-start:0;display:grid;gap:var(--space-1)}.prose li{padding-inline-start:2.4ch;position:relative}.prose ul>li:before{content:"";position:absolute;inset-inline-start:0;inset-block-start:.72em;inline-size:1.2ch;block-size:var(--stroke-thin);background:var(--acc)}.prose ol{counter-reset:pos}.prose ol>li{counter-increment:pos;padding-inline-start:3.4ch}.prose ol>li:before{content:counter(pos,decimal-leading-zero);position:absolute;inset-inline-start:0;font-family:var(--font-tech);font-size:var(--step--2);color:var(--acc);font-variant-numeric:tabular-nums}.prose blockquote{margin-inline:0;padding-inline-start:var(--space-3);border-inline-start:var(--stroke) solid var(--acc);color:var(--ink-2)}.prose code{font-family:var(--font-tech);font-size:.84em;padding:.1em .35em;background:var(--paper-2)}.prose pre{padding:var(--space-2) var(--space-3);background:var(--paper-2);border:var(--stroke-thin) solid var(--rule-2);overflow-x:auto;font-size:var(--step--1);line-height:1.6}.prose pre code{padding:0;background:none;font-size:inherit}.prose hr{border:0;block-size:var(--stroke-thin);background:var(--rule-2);margin-block:var(--space-4)}.prose table{inline-size:100%;border-collapse:collapse;font-size:var(--step--1)}.prose th,.prose td{padding:var(--space-1) var(--space-2);border:var(--stroke-thin) solid var(--rule-2);text-align:start;vertical-align:top}.prose th{font-family:var(--font-tech);font-size:var(--step--2);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:400}.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--acc-line);text-underline-offset:.2em;transition:color var(--dur) var(--ease)}.prose a:hover{color:var(--acc)}
