.los-title[data-astro-cid-wlitygfi]{font-weight:500}.los-title-meta[data-astro-cid-wlitygfi]{color:var(--color-ink)}@layer theme,base,components,utilities;.post-window{margin:0 auto;max-width:1440px}.post-winbox{background:var(--color-paper);border:1px solid var(--color-ink);box-shadow:-6px 0 0 3px var(--color-paper),6px 0 0 3px var(--color-paper);cursor:pointer;display:block;flex:none;height:13px;padding:0;position:relative;width:13px}.post-winbox:hover,.post-winbox[aria-pressed=true]{background:var(--color-ink)}.post-winbox:after{content:"";inset:-6px;position:absolute}@media(hover:none){.post-winbox:after{inset:-16px}}.post-toolbar{background:var(--color-paper);border-bottom:1px solid var(--color-ink);padding:7px 14px;position:sticky;top:32px;z-index:40}.post-toolbar,.post-tools{align-items:center;display:flex;gap:8px}.post-tools{margin-left:auto}.post-toc-label{align-items:center;display:inline-flex;gap:6px}.post-icon{fill:none;height:14px;stroke:currentColor;stroke-linecap:square;stroke-width:2;width:14px}.post-toolbar .los-button[aria-expanded=true]{background:var(--color-ink);color:var(--color-paper)}.post-when-done,[data-copied=true]>.post-when-idle{display:none}[data-copied=true]>.post-when-done{display:inline}.post-pop-wrap{min-width:0;position:relative}.post-toc-toggle{max-width:100%;white-space:nowrap}.post-toc-current{max-width:18em;min-width:0;overflow:hidden;text-overflow:ellipsis}.post-toc-count,.post-toc-current{color:var(--color-ink-72)}.post-toc-toggle[aria-expanded=true] .post-toc-count,.post-toc-toggle[aria-expanded=true] .post-toc-current{color:inherit}.post-pop{background:var(--color-paper);border:1px solid var(--color-ink);box-shadow:3px 3px 0 var(--color-ink);color:var(--color-ink);font-family:var(--font-note);font-size:.8125rem;position:absolute;top:calc(100% + 8px);z-index:2}.post-pop[hidden]{display:none}.post-toc-pop{left:0;max-height:calc(100vh - 140px);overflow-y:auto;width:400px}.post-aa-pop{right:0;width:260px}.post-pop-head{align-items:center;border-bottom:1px solid var(--color-rule);color:var(--color-ink-72);display:flex;font-size:.75rem;gap:10px;letter-spacing:.04em;min-height:36px;padding:0 4px 0 14px}.post-pop-close{background:none;border:0;color:var(--color-ink);cursor:pointer;font:inherit;font-size:1.125rem;height:32px;margin-left:auto;padding:0;width:32px}.post-pop-close:hover{background:var(--color-paper-deep)}.post-aa-row{align-items:center;display:flex;gap:8px;padding:12px 14px}.post-aa-row>span{margin-right:auto}.post-aa-row .los-button{justify-content:center;min-width:36px}.post-aa-xs{border-top:1px solid var(--color-rule);display:none}.post-scrim{background:#16161a66;display:none;inset:0;position:fixed;z-index:30}@media(hover:none),(max-width:1023px){.post-toc-pop{border-width:1px 0 0;box-shadow:none;inset:auto 0 0;max-height:72vh;padding-bottom:env(safe-area-inset-bottom);position:fixed;width:auto}.post-page[data-open=toc] .post-scrim{display:block}.post-pop-hint{display:none}.post-pop-close{height:44px;width:44px}}@media(hover:none),(max-width:599px){.post-aa-pop{border-width:1px 0 0;box-shadow:none;inset:auto 0 0;padding-bottom:env(safe-area-inset-bottom);position:fixed;width:auto}.post-page[data-open=aa] .post-scrim{display:block}}.post-toc-list{list-style:none;margin:0;padding:0}.post-toc-link{border-left:2px solid transparent;color:var(--color-ink-72);display:grid;font-family:var(--font-sans);font-size:.8125rem;grid-template-columns:30px 1fr;line-height:1.55;overflow-wrap:anywhere;padding:6px 10px 6px 8px;text-decoration:none;word-break:keep-all}.post-toc-no{color:var(--color-ink-72);font-family:var(--font-note);font-size:.75rem}.post-toc-link:hover{background:var(--color-paper-deep);color:var(--color-ink)}.post-toc-link[aria-current=location]{border-left-color:var(--color-ink);color:var(--color-ink);font-weight:600}.post-toc-pop .post-toc-link{border-top:1px solid var(--color-rule);color:var(--color-ink);font-size:.875rem;padding:10px 14px 10px 12px}.post-toc-pop li:first-child .post-toc-link{border-top:0}.post-toc-pop .post-toc-link[aria-current=location]{background:var(--color-paper-deep)}.post-toc-col{display:none}.post-toc-head{color:var(--color-ink-72);font-family:var(--font-note);font-size:.6875rem;letter-spacing:.08em;margin:0 0 14px 10px}.post-layout{--post-col:700px;display:grid;grid-template-columns:minmax(0,var(--post-col));justify-content:center;padding:64px 32px 72px}.post-layout[data-wide=true]{--post-col:860px}.post-article{min-width:0}@media(min-width:1180px){.post-tocmenu{display:none}.post-layout.has-toc{column-gap:56px;grid-template-columns:216px minmax(0,var(--post-col));justify-content:center}.post-toc-col{align-self:start;display:block;margin-left:-10px;max-height:calc(100vh - 128px);overflow-y:auto;position:sticky;top:104px}}.post-head{border-bottom:2px solid var(--color-ink);margin-bottom:36px;padding-bottom:28px}.post-kicker{align-items:baseline;color:var(--color-ink-86);display:flex;flex-wrap:wrap;font-family:var(--font-note);font-size:.75rem;gap:4px 16px;letter-spacing:.06em;margin:0 0 14px}.post-cat{text-transform:uppercase}.post-kicker a{color:var(--color-ink);text-decoration:none}.post-kicker a:hover{text-decoration:underline;text-underline-offset:3px}.post-series{letter-spacing:0}.post-title{color:var(--color-ink);font-family:var(--font-declare);font-size:2.5rem;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin:0 0 12px;overflow-wrap:anywhere;text-wrap:balance;word-break:keep-all}.post-deck{color:var(--color-ink-72);font-size:1.25rem;line-height:1.5;margin:0 0 18px;text-wrap:pretty;word-break:keep-all}.post-end,.post-meta{color:var(--color-ink-72);display:flex;flex-wrap:wrap;font-family:var(--font-note);font-size:.8125rem;margin:0 0 10px}.post-byline a{color:var(--color-ink);text-decoration:none}.post-byline a:hover{text-decoration:underline;text-underline-offset:3px}.post-end>*+:before,.post-meta>*+:before{content:"·";margin:0 10px}.post-tags{display:flex;flex-wrap:wrap;font-family:var(--font-note);font-size:.8125rem;gap:2px 14px;list-style:none;margin:0;padding:0}.post-tags a{color:var(--color-ink);text-decoration:none}.post-tags a:hover{background:var(--color-ink);color:var(--color-paper)}.post-hero{margin:0 0 36px}.post-hero img{border:1px solid var(--color-ink);display:block;height:auto;width:100%}.post-article [id]{scroll-margin-top:28px}.post-sec-no{color:var(--color-ink-72);font-size:.6em;font-weight:400;margin-right:.5em;vertical-align:.45em}.post-ref-mark,.post-sec-no{font-family:var(--font-note)}.post-ref-mark{font-size:.68em;line-height:0;margin-left:1px;vertical-align:super}.post-code{margin:0 0 1.5rem}.post-code-head{align-items:stretch;background:var(--color-paper);border:1px solid var(--color-ink);border-bottom:0;display:flex;font-family:var(--font-note);font-size:.75rem;line-height:1;min-height:32px;padding-left:12px}.post-code-lang{align-self:center;color:var(--color-ink);letter-spacing:.06em;margin-right:auto;text-transform:uppercase}.post-code-btn{background:none;border:0;border-left:1px solid var(--color-rule);color:var(--color-ink);cursor:pointer;font:inherit;padding:0 12px}.post-code-btn:hover{background:var(--color-paper-deep)}.post-code-btn[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper)}.post-code-wrap{display:none}@layer components{.post-prose .post-code>pre{margin:0!important}.post-prose .post-ref-mark a,.post-prose a.post-cite,.post-prose a.post-cite-back{color:var(--color-ink-72)!important;text-decoration:none!important}.post-prose a.post-cite-back:hover,.post-prose a.post-cite:hover{text-decoration:underline!important}.post-prose a.post-cite-back{font-family:var(--font-note);white-space:nowrap}.post-prose a.post-cite:target,.post-prose p[id^=cite-]:target{background:var(--color-paper-deep)}@media(max-width:599px){.post-prose .post-code>pre{border-left-width:0!important;border-right-width:0!important;font-size:.8125rem!important}.post-prose .post-code[data-wrap=true]>pre{overflow-wrap:anywhere;white-space:pre-wrap!important}}.post-prose code[class*=language-],.post-prose pre[class*=language-]{text-shadow:none!important}.post-prose pre[class*=language-] .token{background:transparent!important}.post-prose .token.cdata,.post-prose .token.comment,.post-prose .token.doctype,.post-prose .token.prolog{color:#46525c!important}.post-prose .token.punctuation{color:#4f4f4f!important}.post-prose .token.boolean,.post-prose .token.constant,.post-prose .token.deleted,.post-prose .token.number,.post-prose .token.property,.post-prose .token.symbol,.post-prose .token.tag{color:#7a0a42!important}.post-prose .token.attr-name,.post-prose .token.builtin,.post-prose .token.char,.post-prose .token.inserted,.post-prose .token.selector,.post-prose .token.string{color:#2f5e12!important}.post-prose .token.entity,.post-prose .token.operator,.post-prose .token.url{color:#6b4a1e!important}.post-prose .token.atrule,.post-prose .token.attr-value,.post-prose .token.keyword{color:#16407a!important}.post-prose .token.class-name,.post-prose .token.function{color:#99264a!important}.post-prose .token.important,.post-prose .token.regex,.post-prose .token.variable{color:#0b5750!important}}.post-refs{border-top:2px solid var(--color-ink);margin-top:56px;padding-top:14px}.post-refs-head{color:var(--color-ink-72);font-family:var(--font-note);font-size:.75rem;font-weight:500;letter-spacing:.06em;margin:0 0 10px}.post-refs ol{font-size:.875rem;line-height:1.6;list-style:none;margin:0;padding:0}.post-refs li{display:grid;grid-template-columns:44px 1fr;overflow-wrap:anywhere;padding:4px 0;word-break:keep-all}.post-refs li:target{background:var(--color-paper-deep)}.post-ref-domain,.post-ref-n{color:var(--color-ink-72);font-family:var(--font-note);font-size:.75rem}.post-ref-n{padding-top:2px}.post-refs a{color:var(--color-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.post-refs a:hover{background:var(--color-ink);color:var(--color-paper);text-decoration:none}.post-neighbors{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:40px}.post-neighbor{border:1px solid var(--color-ink);color:var(--color-ink);display:block;padding:14px 16px;text-decoration:none;word-break:keep-all}.post-neighbor:hover{background:var(--color-paper-deep)}.post-neighbor-next{grid-column:2;text-align:right}.post-neighbor-label{color:var(--color-ink-72);display:block;font-family:var(--font-note);font-size:.75rem;margin-bottom:4px}.post-neighbor-title{font-weight:600}.post-end{font-size:.75rem;margin:40px 0 0}.post-end a{color:var(--color-ink-72)}@media(max-width:1023px){.post-toolbar{top:44px}.post-article [id]{scroll-margin-top:40px}.post-layout{padding:40px 24px 56px}.post-tocmenu{flex:1}.post-toc-toggle{justify-content:space-between;width:100%}.post-toc-current{color:var(--color-ink);flex:1;max-width:none;order:-1;text-align:left}.post-toc-caret,.post-toc-count{display:none}}@media(max-width:599px){.post-window{border-top:0}.post-window>.los-titlebar{display:none}.post-toolbar{gap:0;padding:0}.post-tools{gap:0}.post-toolbar .los-button{border-width:0;min-height:44px}.post-toolbar .post-pop .los-button{border-width:1px}.post-toolbar .post-back{border-right-width:1px;justify-content:center;min-width:44px}.post-tool-wide{display:none}.post-aa-xs{display:flex}.post-btn-label{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0 0 0 0);white-space:nowrap}.post-layout{padding:28px 20px 48px}.post-title{font-size:1.75rem}.post-deck{font-size:1.0625rem}.post-code{margin-left:-20px;margin-right:-20px}.post-code-head{border-left:0;border-right:0;padding-left:20px}.post-code-wrap{display:block}.post-code-btn{min-height:44px;min-width:44px}.post-neighbors{grid-template-columns:1fr}.post-neighbor-next{grid-column:auto}}.post-opening{background:var(--color-field-blog);inset:var(--post-opening-top,0) 0 0 0;overflow:hidden;position:fixed;z-index:45}.post-opening .post-window{min-height:100vh}.post-opening .post-title:focus-visible{outline:none}.post-opening-status{color:var(--color-ink-72);font-family:var(--font-machine);font-size:1.25rem;line-height:1.2;margin:0}.post-opening .post-toc-col,.post-opening .post-toolbar{position:relative;top:auto}.post-opening-reserve{visibility:hidden}
