:root{color-scheme:light;--ks-kinpaku:oklch(84% .19 80.46);--ks-kinpaku-vivid:oklch(87% .2 85);--ks-kinpaku-pale:oklch(86% .07 84);--ks-kinpaku-rich:oklch(77% .13 82);--ks-kinpaku-deep:oklch(61% .085 78);--ks-on-gold:oklch(14% .018 95);--ks-gold-line:var(--ks-kinpaku-rich);--ks-patina:oklch(70% .12 188);--ks-patina-pale:oklch(82% .07 188);--ks-patina-deep:oklch(45% .1 190);--ks-patina-ink:oklch(41% .11 190);--ks-gold-ink:var(--ks-text-muted);--ks-accent-ink:var(--ks-text-muted);--ks-state-ink:var(--ks-patina-deep);--ks-focus-ring:var(--ks-patina-deep);--ks-kinpaku-ink:var(--ks-text-muted);--ks-link-on-paper:var(--ks-ink);--ks-link-on-paper-hover:var(--ks-ink);--ks-link-on-paper-line:oklch(13% 0 0/.28);--ks-link-on-paper-line-hover:var(--ks-kinpaku);--ks-nav-active:var(--ks-ink);--ks-vermilion:oklch(52% .16 35);--ks-paper:oklch(97.8% 0 0);--ks-paper-raised:oklch(99.5% 0 0);--ks-paper-deep:oklch(95% 0 0);--ks-gray:oklch(92% 0 0);--ks-gray-2:oklch(88% 0 0);--ks-instrument:oklch(24% 0 0);--ks-instrument-deep:oklch(17% 0 0);--ks-instrument-raised:oklch(31% 0 0);--ks-instrument-text:oklch(93% 0 0);--ks-instrument-muted:oklch(68% 0 0);--ks-instrument-rule:oklch(100% 0 0/.12);--ks-instrument-edge:oklch(100% 0 0/.3);--ks-ink:oklch(13% 0 0);--ks-text:oklch(22% 0 0);--ks-text-muted:oklch(46% 0 0);--ks-text-faint:oklch(51% 0 0);--ks-text-mute-deep:oklch(66% 0 0);--ks-rule:oklch(13% 0 0/.08);--ks-edge:oklch(13% 0 0/.45);--ks-radius-sm:3px;--ks-radius-md:8px;--ks-radius-pill:999px;--ks-control-sm:26px;--ks-control-md:32px;--ks-control-lg:44px;--ks-section-pad:clamp(72px, 8vw, 120px);--ks-lift-1:0 1px 1px oklch(13% 0 0/.05), 0 2px 3px oklch(13% 0 0/.04), 0 6px 12px oklch(13% 0 0/.05);--ks-lift-2:0 1px 1px oklch(13% 0 0/.04), 0 3px 5px oklch(13% 0 0/.05), 0 12px 20px oklch(13% 0 0/.06), 0 32px 48px oklch(13% 0 0/.07);--ks-key-lift:0 1px 2px oklch(0% 0 0/.4);--ks-cap-lift:inset 0 1px 0 oklch(100% 0 0/.9), 0 1px 0 oklch(13% 0 0/.14), 0 2px 3px oklch(13% 0 0/.08);--ks-cap-press:inset 0 1px 2px oklch(13% 0 0/.14);--ks-track-recess:inset 0 1px 3px oklch(13% 0 0/.16), inset 0 -1px 0 oklch(100% 0 0/.7);--ks-led:0 0 0 1px oklch(13% 0 0/.12), 0 0 4px oklch(84% .19 80/.6);--ks-indicator-glow:0 0 0 1px oklch(0% 0 0/.3), 0 0 4px oklch(84% .19 80/.65);--ks-code-fg:var(--ks-ink);--ks-code-bg:var(--ks-gray);--ks-code-radius:3px;--ks-code-pad:.2em .45em;--ks-code-block-fg:var(--ks-text);--ks-code-block-bg:var(--ks-paper-deep);--ks-code-block-border:var(--ks-rule);--ks-code-block-radius:3px;--ks-code-cmd:var(--ks-link-on-paper);--ks-font:"Albert Sans", "Avenir Next", "Helvetica Neue", Arial, system-ui, sans-serif;--ks-font-display:var(--ks-font-wordmark);--ks-font-wordmark:"Alumni Sans", "Albert Sans", Arial, sans-serif;--ks-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--ks-type-display-size:clamp(3.2rem, 6.2vw, 5.6rem);--ks-type-display-weight:200;--ks-type-display-line:1;--ks-type-display-track:0;--ks-type-headline-size:clamp(2.4rem, 3.6vw, 3.4rem);--ks-type-headline-weight:300;--ks-type-headline-line:1.04;--ks-type-headline-track:0;--ks-type-title-size:1.0625rem;--ks-type-title-weight:600;--ks-type-title-line:1.35;--ks-type-body-size:1rem;--ks-type-body-line:1.65;--ks-type-eyebrow-size:.6875rem;--ks-type-eyebrow-track:.14em;--ks-type-wordmark-size:1.25rem;--ks-type-wordmark-track:.18em;--ks-type-mono-size:.6875rem;--ks-type-mono-track:.12em;--ks-type-micro-size:.6875rem;--ks-type-label-size:.75rem;--ks-type-ui-size:.8125rem;--ks-type-ui-lead:.9375rem;--ks-type-small-size:.875rem;--ks-type-lead-size:1.125rem;--ks-type-subhead-size:1.25rem;--ks-type-title-lg-size:1.5rem;--ks-ease:cubic-bezier(.2, .8, .2, 1);--ks-quick:.12s;--ks-settle:.2s}.cf-page{max-width:760px;margin:0 auto;padding:clamp(48px,6vw,96px) clamp(20px,4vw,48px) clamp(80px,10vw,140px)}.cf-eyebrow{font-family:var(--ks-mono);font-size:var(--ks-type-eyebrow-size);letter-spacing:var(--ks-type-eyebrow-track);text-transform:uppercase;color:var(--ks-accent-ink);margin:0 0 18px;display:block}.cf-title{font-family:var(--ks-font-display);font-weight:var(--ks-type-display-weight);font-size:var(--ks-type-display-size);line-height:var(--ks-type-display-line);letter-spacing:var(--ks-type-display-track);color:var(--ks-ink);text-wrap:balance;margin:0 0 20px}.cf-lede{font-size:var(--ks-type-lead-size);color:var(--ks-text);max-width:60ch;margin:0 0 clamp(28px,4vw,40px);line-height:1.65}.cf-filter{margin:0 0 clamp(40px,5vw,64px)}.cf-entry--hidden{display:none}.cf-items{margin:0;padding-left:1.1rem}.cf-items li{color:var(--ks-text);margin:0 0 12px;line-height:1.7}.cf-items li:last-child{margin-bottom:0}.cf-items strong{color:var(--ks-ink);font-weight:600}.cf-items code{font-family:var(--ks-mono);color:var(--ks-code-fg);background:var(--ks-code-bg);padding:var(--ks-code-pad);border-radius:var(--ks-code-radius);overflow-wrap:anywhere;font-size:.84em}.cf-items a{color:var(--ks-link-on-paper);text-underline-offset:3px;text-decoration:underline}.cf-items a:hover{color:var(--ks-link-on-paper-hover)}.cf-group{font-family:var(--ks-mono);font-size:var(--ks-type-micro-size);letter-spacing:.16em;text-transform:uppercase;color:var(--ks-accent-ink);margin:22px 0 10px}.cf-entry{border:1px solid var(--ks-rule);border-radius:var(--ks-radius-sm);background:var(--ks-paper-raised);margin:0 0 22px;padding:20px 24px;scroll-margin-top:5rem}.cf-entry-head{font-family:var(--ks-mono);font-size:var(--ks-type-small-size);flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 12px;display:flex}.cf-version{color:var(--ks-ink);font-weight:600}.cf-date{color:var(--ks-text-muted)}.cf-entry--current{border-color:var(--ks-edge);box-shadow:var(--ks-lift-1)}.cf-entry-lead{color:var(--ks-ink);font-size:var(--ks-type-lead-size);margin:0 0 20px;line-height:1.5}.cf-ba{margin:0 0 22px}.cf-ba-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=560px){.cf-ba-pair{grid-template-columns:1fr}}.cf-ba-shot{border:1px solid var(--ks-rule);border-radius:var(--ks-radius-sm);background:var(--ks-paper-raised);position:relative;overflow:hidden}.cf-ba-shot img{width:100%;height:auto;display:block}.cf-ba-tag{border-radius:var(--ks-radius-pill);font-family:var(--ks-mono);font-size:var(--ks-type-micro-size);letter-spacing:.16em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);background:oklch(99.5% 0 0/.82);padding:3px 10px;position:absolute;top:10px;left:10px}.cf-ba-tag--before{color:var(--ks-text-muted);border:1px solid var(--ks-edge)}.cf-ba-tag--after{color:var(--ks-accent-ink);border:1px solid var(--ks-gold-line)}.cf-ba figcaption,.cf-cards figcaption{color:var(--ks-text-muted);font-size:var(--ks-type-small-size);margin-top:12px;line-height:1.55}.cf-cards{margin:0 0 22px}.cf-cards-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.cf-cards-row--pair{grid-template-columns:1fr 1fr}@media (width<=640px){.cf-cards-row{grid-template-columns:1fr}}.cf-card{border:1px solid var(--ks-rule);border-radius:var(--ks-radius-sm);background:var(--ks-paper-raised);overflow:hidden}.cf-card img{width:100%;height:auto;display:block}.cf-card-name{border-top:1px solid var(--ks-rule);font-family:var(--ks-mono);font-size:var(--ks-type-micro-size);letter-spacing:.13em;text-transform:uppercase;color:var(--ks-text-muted);padding:9px 12px;display:block}.cf-stats{border:1px solid var(--ks-rule);border-radius:var(--ks-radius-sm);background:var(--ks-paper-raised);grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 30px;padding:22px 24px;display:grid}@media (width<=560px){.cf-stats{grid-template-columns:1fr;gap:18px}}.cf-stat{flex-direction:column;gap:6px;display:flex}.cf-stat-num{font-family:var(--ks-font-display);font-weight:var(--ks-type-display-weight);font-size:var(--ks-type-display-size);color:var(--ks-accent-ink);line-height:1}.cf-stat-label{color:var(--ks-text);font-size:var(--ks-type-ui-size);line-height:1.45}.cf-stats-note{border-top:1px solid var(--ks-rule);color:var(--ks-text-muted);font-size:var(--ks-type-ui-size);grid-column:1/-1;margin:4px 0 0;padding-top:14px;line-height:1.5}.cf-stats-note a{color:var(--ks-link-on-paper);text-underline-offset:3px;text-decoration:underline}.cf-stats-note a:hover{color:var(--ks-link-on-paper-hover)}.cf-faq-list{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.cf-faq-item{border:1px solid var(--ks-rule);border-radius:var(--ks-radius-sm);background:var(--ks-paper-raised);min-width:0}.cf-faq-question{font-family:var(--ks-font);font-size:var(--ks-type-title-size);font-weight:var(--ks-type-title-weight);line-height:var(--ks-type-title-line);color:var(--ks-ink);cursor:pointer;padding:22px 64px 22px 26px;list-style:none;position:relative}.cf-faq-question::-webkit-details-marker{display:none}.cf-faq-question:after{content:"+";color:var(--ks-accent-ink);font-size:var(--ks-type-title-lg-size);transition:transform var(--ks-settle) var(--ks-ease);font-weight:400;line-height:1;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.cf-faq-item[open]>.cf-faq-question:after{transform:translateY(-50%)rotate(45deg)}.cf-faq-question:hover{color:var(--ks-link-on-paper-hover)}.cf-faq-question code{font-family:var(--ks-mono);color:inherit;font-size:.92em}.cf-faq-answer{color:var(--ks-text);padding:0 26px 24px}.cf-faq-answer p{margin:0 0 12px;line-height:1.7}.cf-faq-answer p:last-child{margin-bottom:0}.cf-faq-answer ul{margin:8px 0 12px;padding-left:1.1rem}.cf-faq-answer li{margin:0 0 6px;line-height:1.6}.cf-faq-answer strong{color:var(--ks-ink);font-weight:600}.cf-faq-answer code{font-family:var(--ks-mono);color:var(--ks-code-fg);background:var(--ks-code-bg);padding:var(--ks-code-pad);border-radius:var(--ks-code-radius);font-size:.84em}.cf-faq-answer a{color:var(--ks-link-on-paper);text-underline-offset:3px;text-decoration:underline}.cf-faq-answer a:hover{color:var(--ks-link-on-paper-hover)}.cf-faq-answer pre{border:1px solid var(--ks-rule);border-radius:var(--ks-radius-sm);background:var(--ks-paper-deep);margin:16px 0;padding:18px 20px;overflow-x:auto}.cf-faq-answer pre code{background:0 0;border-radius:0;padding:0;line-height:1.6}.cf-faq-answer :not(pre)>code{overflow-wrap:anywhere}.cf-faq-answer .docs-command-block{margin:16px 0}.cf-faq-answer ol{margin:8px 0 12px;padding-left:1.3rem}@media (width<=520px){.cf-entry{padding:20px 16px}.cf-faq-question{padding:20px 48px 20px 16px}.cf-faq-question:after{right:16px}.cf-faq-answer{padding:0 16px 20px}}
