.xp{max-width:860px}.xp-cover{border-bottom:1.5px solid var(--inkan-rule-strong);padding-bottom:36px}.xp-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 28px;margin:30px 0 0;display:grid}.xp-facts dt{font:600 .625rem/1 var(--inkan-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--inkan-fg-3);margin-bottom:7px}.xp-facts dd{font:600 .9375rem/1.4 var(--inkan-font-text);color:var(--inkan-fg);margin:0}.xp-note{max-width:64ch;font:400 .9375rem/1.55 var(--inkan-font-text);color:var(--inkan-fg-2);margin:22px 0 0}.xp-cli{font:500 .75rem/1.4 var(--inkan-font-mono);color:var(--inkan-fg-3)}.xp-cli code{color:var(--inkan-fg)}.xp-h{font:900 1.625rem/1 var(--inkan-font-display);font-variation-settings:"wdth" 92;text-transform:uppercase;margin:44px 0 10px}.xp-toc section{margin-top:22px}.xp-toc h3{font:800 .875rem/1 var(--inkan-font-display);font-variation-settings:"wdth" 88;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--ink);text-underline-offset:.12em;align-items:baseline;gap:10px;margin:0 0 6px;text-decoration-thickness:.22em;display:flex}.xp-toc h3 span{font:600 .625rem/1 var(--inkan-font-mono);color:var(--inkan-fg-3);text-decoration:none}.xp-toc ol{grid-template-columns:max-content minmax(0,1fr) auto;column-gap:12px;margin:0;padding:0;list-style:none;display:grid}.xp-toc li,.xp-toc a{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.xp-toc a{border-bottom:1px dashed var(--inkan-rule);font:500 .875rem/1.35 var(--inkan-font-text);color:var(--inkan-fg-2);align-items:baseline;padding:7px 0;text-decoration:none}.xp-toc a:hover{color:var(--inkan-fg)}.xp-toc a:hover span{text-decoration:underline}.xp-toc a b{font:700 .6875rem/1.35 var(--inkan-font-mono);color:var(--inkan-fg);white-space:nowrap}.xp-toc a em{font:600 .625rem/1.35 var(--inkan-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--inkan-fg-3);font-style:normal}.xp-rec{border-top:1.5px solid var(--inkan-rule-strong);margin-top:64px;padding-top:36px}.xp-rhead{border-bottom:1.5px dashed var(--inkan-rule);margin-bottom:26px;padding-bottom:22px;position:relative}.xp-rhead .eyebrow{padding-right:84px}.xp-stk{position:absolute;top:-6px;right:0;transform:rotate(8deg)}.xp-title{max-width:24ch;font:900 clamp(1.75rem, 3.4vw, 2.75rem)/.95 var(--inkan-font-display);font-variation-settings:"wdth" 70;text-transform:uppercase;text-wrap:balance;margin:10px 0 0;padding-right:84px}.xp-rec .rmeta{margin-top:20px}.xp-rec .tag{cursor:default}.xp-rfoot{font:500 .6875rem/1.5 var(--inkan-font-mono);color:var(--inkan-fg-3);overflow-wrap:anywhere;margin-top:28px}.xp-rfoot a{text-decoration:none}.xp-rfoot a:hover{text-decoration:underline}.xp .prose{max-width:none}.xp .prose pre.mermaid:not([data-processed]){font:400 .75rem/1.5 var(--inkan-font-mono);white-space:pre-wrap}@media (width<=700px){.xp-toc ol{grid-template-columns:minmax(0,1fr)}.xp-toc a{gap:2px}.xp-stk .stk{--s:48px}.xp-rhead .eyebrow,.xp-title{padding-right:60px}}@page{size:A4;margin:16mm 14mm 18mm}@media print{:root{color-scheme:light}.xp{max-width:none}.xp-cover{break-after:page;border-bottom:0;padding-top:30vh}.xp-cover .h1{font-size:3.75rem}.xp-toc{break-after:page}.xp-toc a{break-inside:avoid}.xp-rec{break-before:page;border-top:0;margin-top:0;padding-top:0}.xp-rhead,.xp-rfoot{break-inside:avoid}.xp-rhead{border-bottom-color:#000}.xp-title,.xp-facts dd,.xp-toc a b,.xp-toc h3{color:#000!important}.xp .prose :is(h2,h3,h4,h5,h6){break-after:avoid}.xp .prose :is(p,li){orphans:3;widows:3}.xp .prose img,.xp .prose pre.mermaid,.xp .prose svg{break-inside:avoid;max-width:100%}.xp .prose .expressive-code pre{white-space:pre-wrap;overflow-wrap:anywhere}.xp .prose .expressive-code{font-size:.75rem}.xp .expressive-code :is(.frame,pre,.header,.code,.gutter){color:#000!important;box-shadow:none!important;background:#fff!important;border-color:#000!important}.xp .expressive-code .frame{border:1.5px solid #000;border-radius:3px}.xp .expressive-code .header{border-bottom:1.5px solid #000}.xp .expressive-code .ec-line span{color:#000!important}.xp .expressive-code .ec-line .ln{color:#555!important}.xp .expressive-code .ec-line.mark :is(.code,.gutter){background:#eee!important}.xp .expressive-code .ec-line.ins :is(.code,.gutter){background:#e4f5ea!important}.xp .expressive-code .ec-line.del :is(.code,.gutter){background:#fbe4e4!important}.xp .expressive-code .copy{display:none!important}.xp-rfoot a:after{content:none}}
