@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/outfit-latin-ext-300-normal.BYS6Dpvq.woff2)format("woff2"),url(/_astro/outfit-latin-ext-300-normal.CMIMshEd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/outfit-latin-300-normal.CRYTwY6m.woff2)format("woff2"),url(/_astro/outfit-latin-300-normal.AWLfuCom.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/outfit-latin-ext-400-normal.5tcqmc2S.woff2)format("woff2"),url(/_astro/outfit-latin-ext-400-normal.DHm7mdGe.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/outfit-latin-400-normal.BGsTXAXT.woff2)format("woff2"),url(/_astro/outfit-latin-400-normal.DMwTpYkH.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/outfit-latin-ext-500-normal.zeox_O30.woff2)format("woff2"),url(/_astro/outfit-latin-ext-500-normal.DrCvqoFD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/outfit-latin-500-normal.DKnIMDSk.woff2)format("woff2"),url(/_astro/outfit-latin-500-normal.ClnHRwRh.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/outfit-latin-ext-600-normal.B85nYjL1.woff2)format("woff2"),url(/_astro/outfit-latin-ext-600-normal.CWJcPgd7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/outfit-latin-600-normal.B7SfZ07L.woff2)format("woff2"),url(/_astro/outfit-latin-600-normal.BEfTtDA7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/outfit-latin-ext-700-normal.CI4iH74K.woff2)format("woff2"),url(/_astro/outfit-latin-ext-700-normal.fjS8-Gm7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/outfit-latin-700-normal.Cu9v6i1X.woff2)format("woff2"),url(/_astro/outfit-latin-700-normal.D4itBLBr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--surface:#fff;--surface-raised:#fff;--surface-sunken:#f3f6f2;--forest:#1e3b2e;--on-forest:#fff;--on-forest-muted:#b9cbbf;--on-forest-line:#ffffff29;--logo-ink:#1e3b2e;--line:#e5e9e4;--line-strong:#8a948d;--ink:#101814;--ink-muted:#5b6660;--leaf:#2f7d25;--leaf-hover:#276a1f;--leaf-soft:#eef7ea;--on-leaf:#fff;--sprout:#5cb03c;--petal:#a9502a;--petal-bright:#e08a5c;--petal-soft:#fcebe1;--sync:#855f07;--sync-soft:#fbf1d3;--danger:#a3271c;--danger-soft:#fbe4e0;--link:var(--leaf);--focus-ring:var(--leaf);--font-sans:"Outfit", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:32px;--radius-pill:999px;--shadow-raised:0 1px 2px #1018140a, 0 4px 16px #1018140f;--shadow-float:0 2px 6px #1018140f, 0 16px 40px #1018141f}@media (prefers-color-scheme:dark){:root{--surface:#0f1813;--surface-raised:#17231c;--surface-sunken:#0a110d;--forest:#264d39;--on-forest:#f1f5ef;--logo-ink:#eef2ec;--line:#26352c;--line-strong:#728378;--ink:#eef2ec;--ink-muted:#a3b0a7;--leaf:#86d16f;--leaf-hover:#9ddd88;--leaf-soft:#1b3322;--on-leaf:#0a110d;--sprout:#86d16f;--petal:#ef9a6f;--petal-bright:#ef9a6f;--petal-soft:#3d2216;--sync:#e9c25c;--sync-soft:#33290f;--danger:#f28b7f;--danger-soft:#3d1a16;--shadow-raised:0 1px 2px #00000080, 0 4px 16px #0000004d;--shadow-float:0 2px 6px #00000080, 0 16px 40px #00000073}}body{font-family:var(--font-sans);background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:26px}main{display:block;overflow-x:clip}a{color:var(--ink)}a:hover{color:var(--leaf)}a:focus-visible,input:focus-visible{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--focus-ring);outline:none}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.kb-logo{vertical-align:middle;flex:none;display:inline-block}.kb-logo .kb-f{fill:var(--forest)}.kb-logo .kb-k{fill:var(--on-forest)}.kb-logo .kb-s{fill:var(--sprout)}.kb-logo .kb-g{fill:var(--logo-ink)}.kb-logo .kb-ink{fill:var(--ink)}.kb-logo-forest .kb-g,.kb-logo-forest .kb-ink{fill:var(--on-forest)}.kb-logo-mono .kb-f,.kb-logo-mono .kb-g,.kb-logo-mono .kb-ink{fill:currentColor}.kb-logo-mono .kb-k,.kb-logo-mono .kb-s{fill:none}.kb-logo-mono .kb-gl{fill:currentColor}.kb-btn{font:500 16px/20px var(--font-sans);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);border:1.5px solid var(--line-strong);background:var(--surface-raised);height:44px;color:var(--ink);cursor:pointer;white-space:nowrap;padding:0 22px;transition:background-color .15s,border-color .15s,transform .15s;display:inline-flex}.kb-btn:hover{border-color:var(--ink)}.kb-btn:active{transform:translateY(1px)}.kb-btn:focus-visible{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--focus-ring);outline:none}.kb-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.kb-btn-primary{background:var(--leaf);border-color:var(--leaf);color:var(--on-leaf)}.kb-btn-primary:hover{background:var(--leaf-hover);border-color:var(--leaf-hover)}.kb-btn-quiet{color:var(--leaf);background:0 0;border-color:#0000}.kb-btn-quiet:hover{background:var(--leaf-soft);border-color:#0000}.kb-btn-danger{background:var(--surface-raised);border-color:var(--danger);color:var(--danger)}.kb-btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.kb-btn-sm{height:34px;padding:0 16px;font-size:14px}.kb-btn-lg{height:56px;padding:0 32px;font-size:18px;font-weight:600}a.kb-btn{box-sizing:border-box;text-decoration:none}a.kb-btn:hover{color:var(--ink)}a.kb-btn-primary:hover{color:var(--on-leaf)}a.kb-btn-quiet:hover{color:var(--leaf)}a.kb-btn-danger:hover{color:var(--danger)}.kb-badge{border-radius:var(--radius-pill);height:26px;font:600 13px/16px var(--font-sans);white-space:nowrap;align-items:center;gap:6px;padding:0 12px 0 10px;display:inline-flex}.kb-badge-dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.kb-badge-indexed{background:var(--leaf-soft);color:var(--leaf)}.kb-badge-syncing{background:var(--sync-soft);color:var(--sync)}.kb-badge-syncing .kb-badge-dot{background:0 0;border:2px solid;border-right-color:#0000;width:6px;height:6px}.kb-badge-failed{background:var(--danger-soft);color:var(--danger)}.kb-badge-failed .kb-badge-dot{border-radius:1px;width:7px;height:7px;transform:rotate(45deg)}.kb-badge-nomatch{background:var(--surface-sunken);color:var(--ink-muted)}.kb-badge-nomatch .kb-badge-dot{background:0 0;border:1.5px solid;width:5px;height:5px}.kb-cite{align-items:center;gap:var(--space-2);box-sizing:border-box;border-radius:var(--radius-pill);background:var(--surface-raised);border:1px solid var(--line);max-width:100%;height:26px;box-shadow:var(--shadow-raised);color:var(--ink);font:400 13px/18px var(--font-mono);vertical-align:middle;padding:0 12px 0 3px;text-decoration:none;display:inline-flex}.kb-cite:not(:has(.kb-cite-n)){padding-left:12px}a.kb-cite:hover{border-color:var(--leaf)}a.kb-cite:focus-visible{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--focus-ring);outline:none}.kb-cite-n{background:var(--leaf);width:20px;height:20px;color:var(--on-leaf);font:600 11px/20px var(--font-sans);text-align:center;border-radius:50%;flex:none}.kb-cite-file{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-cite-loc{color:var(--ink-muted);white-space:nowrap}.kb-cite-loc:before{content:"·";margin-right:var(--space-2)}.kb-notice{align-items:center;gap:var(--space-3);box-sizing:border-box;min-width:220px;max-width:360px;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--line);color:var(--ink);display:inline-flex}.kb-notice-float{box-shadow:var(--shadow-float);border-color:#0000}.kb-chip{border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.kb-chip-leaf{background:var(--leaf-soft);color:var(--leaf)}.kb-chip-sync{background:var(--sync-soft);color:var(--sync)}.kb-chip-petal{background:var(--petal-soft);color:var(--petal)}.kb-chip-danger{background:var(--danger-soft);color:var(--danger)}.kb-notice-text{flex-direction:column;flex:1;min-width:0;display:flex}.kb-notice-over{font:500 12px/16px var(--font-sans);color:var(--ink-muted)}.kb-notice-title{font:600 15px/20px var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-card{box-sizing:border-box;gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow-raised);color:var(--ink);flex-direction:column;display:flex}.kb-card-selected{border-color:var(--leaf);box-shadow:inset 0 0 0 1px var(--leaf), var(--shadow-raised)}.kb-card-head{align-items:center;gap:var(--space-2);display:flex}.kb-card-name{font:600 18px/24px var(--font-sans);letter-spacing:-.005em;flex:1;margin:0}.kb-card-folders{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);font:400 13px/22px var(--font-mono);color:var(--ink-muted);margin:0;list-style:none}.kb-card-folders li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-card-foot{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:34px;display:flex}.kb-card-meta{color:var(--ink-muted);font-size:14px;line-height:20px}.kb-band{background:var(--forest);color:var(--on-forest)}.inner[data-astro-cid-bddg4lij]{border-top:1px solid var(--on-forest-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:48px 24px;display:flex}.links[data-astro-cid-bddg4lij]{color:var(--on-forest-muted);flex-wrap:wrap;gap:8px 24px;font-size:14px;line-height:20px;display:flex}.links[data-astro-cid-bddg4lij] a[data-astro-cid-bddg4lij]{color:var(--on-forest-muted)}.links[data-astro-cid-bddg4lij] a[data-astro-cid-bddg4lij]:hover{color:var(--on-forest)}.site-header[data-astro-cid-jae56hh5]{border-bottom:1px solid var(--line);background:var(--surface)}.nav[data-astro-cid-jae56hh5]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:16px 24px;display:flex}.home[data-astro-cid-jae56hh5]{padding:6px 0;display:inline-flex}.links[data-astro-cid-jae56hh5]{flex-wrap:wrap;align-items:center;gap:4px 28px;font-size:16px;font-weight:500;display:flex}.links[data-astro-cid-jae56hh5]>a[data-astro-cid-jae56hh5]:not(.kb-btn){padding:10px 0;text-decoration:none}
