.dia[data-astro-cid-zsweqlwk]{margin:var(--space-6) 0 var(--space-8);padding:var(--space-5);border-radius:var(--r-lg);background:var(--surface-1);border:1px solid var(--line-soft)}.dia[data-astro-cid-zsweqlwk] figcaption[data-astro-cid-zsweqlwk]{margin-top:var(--space-3);font-size:var(--step--1);color:var(--ink-lo)}.art-head{padding-top:calc(var(--nav-height) + var(--space-9));padding-bottom:var(--space-8)}.art-head-inner{gap:var(--space-2);grid-template-columns:minmax(0,1fr);max-width:60rem;display:grid}.art-kicker a{font-family:var(--font-mono);font-size:var(--step--1);color:var(--accent-base);text-decoration:none}.art-meta{align-items:center;gap:var(--space-4);margin-top:var(--space-5);font-size:var(--step--2);color:var(--ink-lo);flex-wrap:wrap;display:flex}.art-tags{gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.art-tags .mono:before{content:"#";opacity:.6}.art-body{gap:var(--space-8);padding-bottom:var(--space-10);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=64rem){.art-body{gap:var(--space-12);grid-template-columns:16rem minmax(0,1fr);align-items:start}.art-aside{top:calc(var(--nav-height) + var(--space-6));position:sticky}}.art-aside{gap:var(--space-6);align-content:start;display:grid}.toc-title{font-family:var(--font-mono);font-size:var(--step--2);color:var(--ink-lo);margin-bottom:var(--space-3)}.toc ol{border-inline-start:1px solid var(--line-soft);gap:2px;margin:0;padding:0;list-style:none;display:grid}.toc a{padding:.35em var(--space-3);font-size:var(--step--1);color:var(--ink-mid);transition:color var(--dur-fast), border-color var(--dur-fast);border-inline-start:1px solid #0000;margin-inline-start:-1px;text-decoration:none;display:block}.toc .toc-d3 a{font-size:var(--step--2);padding-inline-start:var(--space-5)}.toc a:hover{color:var(--ink-hi)}.toc a[aria-current=true]{color:var(--ink-hi);border-inline-start-color:var(--accent-base)}.art-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.art-action{font-size:var(--step--2);border-radius:var(--r-pill);border:1px solid var(--line-hard);color:var(--ink-mid);background:var(--surface-1);padding:.45em .8em;text-decoration:none}.art-action:hover{color:var(--ink-hi);border-color:var(--ink-lo)}.art-product ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.art-product a{font-size:var(--step--1);color:var(--accent-base);text-decoration:none}.art-main{max-width:70ch}.art-main>:first-child{margin-top:0}.art-foot{gap:var(--space-8);padding-block:var(--space-8) var(--space-6);border-top:1px solid var(--line-soft);display:grid}.art-pn{gap:var(--space-4);display:grid}@media (width>=48rem){.art-pn{grid-template-columns:1fr 1fr}}.art-pn-link{gap:var(--space-1);padding:var(--space-4) var(--space-5);border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--surface-1);color:var(--ink-hi);font-weight:560;text-decoration:none;display:grid}.art-pn-link .mono{font-size:var(--step--2);color:var(--ink-lo);font-weight:400}.art-pn-next{text-align:end}.art-pn-link:hover{border-color:var(--ink-lo)}.art-related ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}@media (width>=48rem){.art-related ul{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}}.art-related a{padding:var(--space-4);border-radius:var(--r-md);background:var(--surface-1);border:1px solid var(--line-soft);color:var(--ink-hi);gap:2px;text-decoration:none;display:grid}.art-related a:hover{border-color:var(--ink-lo)}.art-related-title{font-weight:560}.art-related-hint{font-size:var(--step--2);color:var(--ink-lo);font-family:var(--font-mono)}.art-feedback{align-items:center;gap:var(--space-3);font-size:var(--step--1);color:var(--ink-mid);flex-wrap:wrap;display:flex}.art-feedback-btns{gap:var(--space-2);display:inline-flex}.art-feedback-btns button{border-radius:var(--r-pill);border:1px solid var(--line-hard);color:var(--ink-hi);background:var(--surface-1);font-size:var(--step--2);padding:.45em .9em}.art-feedback-btns button:hover{border-color:var(--ink-lo)}.art-feedback .hp{position:absolute;left:-9999px}.tryit[data-astro-cid-6utncd5u]{margin-block:var(--space-8);padding:var(--space-5) var(--space-6);border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line-soft);gap:var(--space-3);display:grid}.tryit-kicker[data-astro-cid-6utncd5u]{font-family:var(--font-mono);font-size:var(--step--2);color:var(--accent-base)}.tryit-body[data-astro-cid-6utncd5u]{font-size:var(--step--1);color:var(--ink-hi)}.tryit-link[data-astro-cid-6utncd5u]{font-weight:560;font-size:var(--step--1);color:var(--accent-base);justify-self:start}.kt[data-astro-cid-k7oec6kc]{margin-block:var(--space-8);padding:var(--space-6);border-radius:var(--r-lg);background:var(--surface-1);border:1px solid var(--line-hard)}.kt-title[data-astro-cid-k7oec6kc]{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-hi);margin-bottom:var(--space-3)}.kt-body[data-astro-cid-k7oec6kc] ul{gap:var(--space-2);margin:0;padding-inline-start:1.2em;display:grid}.kt-body[data-astro-cid-k7oec6kc] li{color:var(--ink-hi);font-size:var(--step--1)}.kt-body[data-astro-cid-k7oec6kc] li::marker{color:var(--accent-base)}.term[data-astro-cid-6qwxra2b]{color:inherit;text-decoration:underline dotted var(--accent-base);text-underline-offset:.2em;text-decoration-thickness:1px;position:relative}.term-tip[data-astro-cid-6qwxra2b]{width:max(16rem,100%);max-width:22rem;padding:var(--space-3) var(--space-4);border-radius:var(--r-sm);background:var(--ink-hi);color:var(--ink-inverse);font-size:var(--step--2);box-shadow:var(--shadow-3);opacity:0;pointer-events:none;transition:opacity var(--dur-fast), transform var(--dur-fast);z-index:5;line-height:1.45;position:absolute;bottom:calc(100% + .5rem);left:0;transform:translateY(4px)}.term-tip[data-astro-cid-6qwxra2b] strong[data-astro-cid-6qwxra2b]{margin-bottom:2px;display:block}.term[data-astro-cid-6qwxra2b]:hover .term-tip[data-astro-cid-6qwxra2b],.term[data-astro-cid-6qwxra2b]:focus-visible .term-tip[data-astro-cid-6qwxra2b]{opacity:1;transform:none}@media (width<=40rem){.term-tip[data-astro-cid-6qwxra2b]{width:auto;max-width:none;position:fixed;bottom:1rem;left:1rem;right:1rem;transform:translateY(8px)}}
