@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-400.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-500.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-weight:100 700;font-stretch:85% 100%;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-ext-100-700.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:85% 100%;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-100-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:General Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/GeneralSans-Medium.woff2) format("woff2")}:root{color-scheme:light;--kg-page: #f3f4f7;--kg-card: #ffffff;--kg-field: #ffffff;--kg-text: #1c2433;--kg-text-2: #535d6e;--kg-heading-2: #4d6080;--kg-rule: #c7ccd6;--kg-line: #1c2433;--kg-kindgi: #1c2433;--kg-kindgi-text: #f1f2f5;--kg-kindgi-text-2: #a9b1bf;--kg-kindgi-rule: #323c50;--kg-kindgi-band: #2b1b32;--kg-kindgi-band-rule: #4a3354;--kg-action: #6c1a5a;--kg-action-hover: #561447;--kg-on-action: #ffffff;--kg-accent: #da8bd0;--kg-accent-hover: #e4a6dc;--kg-on-accent: #1c2433;--kg-link: #535d6e;--kg-link-hover: #1c2433;--kg-code-bg: #1c2433;--kg-code-text: #f1f2f5;--kg-status-person: #6c1a5a;--kg-status-person-bg: #f3e3ef;--kg-status-person-line: #6c1a5a;--kg-status-ok: #1e6b4f;--kg-status-ok-bg: #e3f2ea;--kg-status-ok-line: #2e8b67;--kg-status-bad: #b42318;--kg-status-bad-bg: #fce6e3;--kg-status-bad-line: #d0412f;--kg-status-warn: #835400;--kg-status-warn-bg: #fbf0d9;--kg-status-warn-line: #c08a1e;--kg-status-info: #3b5b8c;--kg-status-info-bg: #e6ecf5;--kg-status-info-line: #4d6080;--kg-status-muted: #535d6e;--kg-status-muted-bg: #eceef2;--kg-status-muted-line: #a3acbc;--kg-series-1: #392d7d;--kg-series-2: #008ab3;--kg-series-3: #2b4c9f;--kg-series-4: #0ea3b0;--kg-series-5: #166daf;--kg-series-muted: #8b7e6d;--kg-font: "IBM Plex Sans Variable", "IBM Plex Sans", Arial, sans-serif;--kg-font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--kg-narrow: 85%;--kg-radius: 0;--kg-radius-button: 4px;--kg-radius-field: 3px;--kg-row: 38px;--kg-row-compact: 30px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not(.light){color-scheme:dark;--kg-page: #10151f;--kg-card: #171e2b;--kg-field: #10151f;--kg-text: #e6e8ee;--kg-text-2: #a3acbc;--kg-heading-2: #8ea0c0;--kg-rule: #2a3446;--kg-line: #5e6a80;--kg-kindgi: #241a2d;--kg-kindgi-text: #eeeaf2;--kg-kindgi-text-2: #b5aac1;--kg-kindgi-rule: #3f2e4a;--kg-kindgi-band: #35233f;--kg-kindgi-band-rule: #54405f;--kg-action: #da8bd0;--kg-action-hover: #e4a6dc;--kg-on-action: #1c1222;--kg-accent: #e7a8df;--kg-accent-hover: #f0c0e9;--kg-on-accent: #241a2d;--kg-link: #a3acbc;--kg-link-hover: #e6e8ee;--kg-code-bg: #0b0f17;--kg-code-text: #e6e8ee;--kg-status-person: #e7a8df;--kg-status-person-bg: #35182f;--kg-status-person-line: #da8bd0;--kg-status-ok: #6fd0a5;--kg-status-ok-bg: #12302a;--kg-status-ok-line: #3e9c78;--kg-status-bad: #ff8a7e;--kg-status-bad-bg: #3a1715;--kg-status-bad-line: #e0574a;--kg-status-warn: #f2c46b;--kg-status-warn-bg: #33270f;--kg-status-warn-line: #c9962f;--kg-status-info: #9db2d6;--kg-status-info-bg: #1a2740;--kg-status-info-line: #6f86ae;--kg-status-muted: #a3acbc;--kg-status-muted-bg: #1e2633;--kg-status-muted-line: #4a5568;--kg-series-1: #b0f6fe;--kg-series-2: #6b8fe2;--kg-series-3: #80d8fe;--kg-series-4: #736dc3;--kg-series-5: #6db4f6;--kg-series-muted: #918473}}:root[data-theme=dark],:root.dark{color-scheme:dark;--kg-page: #10151f;--kg-card: #171e2b;--kg-field: #10151f;--kg-text: #e6e8ee;--kg-text-2: #a3acbc;--kg-heading-2: #8ea0c0;--kg-rule: #2a3446;--kg-line: #5e6a80;--kg-kindgi: #241a2d;--kg-kindgi-text: #eeeaf2;--kg-kindgi-text-2: #b5aac1;--kg-kindgi-rule: #3f2e4a;--kg-kindgi-band: #35233f;--kg-kindgi-band-rule: #54405f;--kg-action: #da8bd0;--kg-action-hover: #e4a6dc;--kg-on-action: #1c1222;--kg-accent: #e7a8df;--kg-accent-hover: #f0c0e9;--kg-on-accent: #241a2d;--kg-link: #a3acbc;--kg-link-hover: #e6e8ee;--kg-code-bg: #0b0f17;--kg-code-text: #e6e8ee;--kg-status-person: #e7a8df;--kg-status-person-bg: #35182f;--kg-status-person-line: #da8bd0;--kg-status-ok: #6fd0a5;--kg-status-ok-bg: #12302a;--kg-status-ok-line: #3e9c78;--kg-status-bad: #ff8a7e;--kg-status-bad-bg: #3a1715;--kg-status-bad-line: #e0574a;--kg-status-warn: #f2c46b;--kg-status-warn-bg: #33270f;--kg-status-warn-line: #c9962f;--kg-status-info: #9db2d6;--kg-status-info-bg: #1a2740;--kg-status-info-line: #6f86ae;--kg-status-muted: #a3acbc;--kg-status-muted-bg: #1e2633;--kg-status-muted-line: #4a5568;--kg-series-1: #b0f6fe;--kg-series-2: #6b8fe2;--kg-series-3: #80d8fe;--kg-series-4: #736dc3;--kg-series-5: #6db4f6;--kg-series-muted: #918473}:root{--kg-font: "IBM Plex Sans", Arial, sans-serif;--site-font-display: "General Sans", Arial, sans-serif;--env-bg: rgba(255, 255, 255, .35);--corner: rgba(28, 36, 51, .45);--ink: color-mix(in srgb, var(--kg-text) 17%, transparent);--ink-grid: color-mix(in srgb, var(--kg-text) 6%, transparent);--ink-2: color-mix(in srgb, var(--kg-action) 70%, transparent);--tile: color-mix(in srgb, var(--kg-text) 5%, var(--kg-card))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not(.light){--env-bg: rgba(255, 255, 255, .02);--corner: rgba(230, 232, 238, .35)}}:root[data-theme=dark],:root.dark{--env-bg: rgba(255, 255, 255, .02);--corner: rgba(230, 232, 238, .35)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background-color:var(--kg-page);color:var(--kg-text);font-family:var(--kg-font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}code{font-family:var(--kg-font-mono);font-size:.9em}:focus-visible{outline:2px solid var(--kg-action);outline-offset:2px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}main a:not(.btn){color:var(--kg-link);text-decoration:none}main a:not(.btn):after{content:"→";content:"→" / "";margin-left:.4em;font-size:.75em}main a:not(.btn):hover{color:var(--kg-link-hover)}.wrap{max-width:1080px;margin:0 auto;padding-inline:16px}@media(min-width:760px){.wrap{padding-inline:32px}}h1,h2,h3{margin:0;letter-spacing:-.015em;text-wrap:balance}:root :is(h1,h2,h3,.mark){font-family:var(--site-font-display);font-weight:500;font-stretch:normal}h1{font-size:clamp(2.2rem,3.8vw,3.3rem);line-height:1.04}h2{font-size:clamp(1.6rem,2.55vw,2.2rem);line-height:1.08}.l1,.l2{display:block}.l1{font-weight:700;color:var(--kg-text)}.l2{font-weight:400;color:var(--kg-heading-2)}h2 .l2{font-size:.68em;line-height:1.2;margin-top:6px}.lead{font-size:clamp(1.03rem,1.5vw,1.15rem);color:var(--kg-text-2);max-width:66ch;margin:18px 0 0}.btn{display:inline-flex;align-items:center;font:500 13px/1 var(--kg-font-mono);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;padding:13px 18px;border-radius:4px;border:1px solid var(--kg-action);background:var(--kg-action);color:var(--kg-on-action);cursor:pointer}.btn:hover{background:var(--kg-action-hover);border-color:var(--kg-action-hover)}.btn.line{background:transparent;color:var(--kg-text);border-color:var(--kg-line)}.btn.line:hover{background:color-mix(in srgb,var(--kg-text) 8%,transparent);border-color:var(--kg-text)}.btn.neon{background:var(--kg-accent);border-color:var(--kg-accent);color:var(--kg-on-accent)}.btn.neon:hover{background:var(--kg-accent-hover);border-color:var(--kg-accent-hover)}.btn.neon-line{background:transparent;color:var(--kg-kindgi-text);border-color:var(--kg-accent)}.btn.neon-line:hover{background:color-mix(in srgb,var(--kg-accent) 14%,transparent)}.btn.sm{padding:10px 12px;font-size:12px;letter-spacing:.08em}.top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--kg-page) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid transparent}@supports (animation-timeline: scroll()){.top{animation:top-rule linear both;animation-timeline:scroll();animation-range:0 96px}@keyframes top-rule{0%{background-color:transparent;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{border-bottom-color:var(--kg-rule)}}}@supports not (animation-timeline: scroll()){.top{border-bottom-color:var(--kg-rule)}}@media print{.top{position:static;-webkit-backdrop-filter:none;backdrop-filter:none}}.top .wrap{display:flex;align-items:center;gap:22px;min-height:64px}.mark{font-weight:700;font-stretch:var(--kg-narrow);font-size:22px;letter-spacing:-.02em;text-decoration:none}.logo{display:block;flex-shrink:0}.logo-tile{fill:var(--kg-action)}.logo-k{fill:none;stroke:var(--kg-on-action);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.brand{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;color:inherit;line-height:1}.brand .logo{width:36px;height:36px}.brand-txt{display:flex;flex-direction:column;gap:3px;min-width:0}.brand .tag{display:flex;flex-wrap:wrap;height:calc(1em + 3px);margin-bottom:-3px;overflow:hidden;font-size:12.5px;color:var(--kg-text-2);white-space:nowrap}.brand .tag:before{content:"";height:100%}.nav{display:flex;flex-shrink:0;gap:2px;margin-left:auto;padding:3px;background:var(--tile);border:1px solid color-mix(in srgb,var(--kg-rule) 50%,transparent);border-radius:6px;font:500 12px/1 var(--kg-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--kg-text-2)}.nav a{padding:8px 10px;border-radius:4px;text-decoration:none;white-space:nowrap}.nav a:hover,.nav a[aria-current=page]{color:var(--kg-text);background:color-mix(in srgb,var(--kg-text) 7%,transparent)}@media(max-width:960px){.nav .opt{display:none}}@media(max-width:700px){.brand .tag{display:none}}.top .btn{flex-shrink:0;white-space:nowrap;padding:10px 12px;font:500 12px/1 var(--kg-font-mono);letter-spacing:.08em;text-transform:uppercase}.top .btn .short{display:none}@media(max-width:560px){.top .wrap{gap:10px}.brand .logo{width:30px;height:30px}.brand .tag{display:none}.nav a{padding:8px}.top .btn:after{content:none}.top .btn .long{display:none}.top .btn .short{display:inline}}@media(max-width:400px){.top .wrap{gap:6px}.brand{gap:8px}.nav{letter-spacing:.04em}.nav a{padding:8px 5px}.top .btn{padding:10px 8px;letter-spacing:.04em}}@media(max-width:359px){.brand .logo{display:none}}main>section{position:relative;padding-block:clamp(80px,10vw,136px);scroll-margin-top:8px}main>section:first-child{padding-top:clamp(64px,9vw,112px)}main>section>.wrap>h2+*{margin-top:56px}main h2{max-width:21em;font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.08;letter-spacing:-.028em}main h2 .dim{color:var(--kg-text-2)}main h3{letter-spacing:-.015em}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 20px;font:500 13px/1.4 var(--kg-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--kg-text)}.eyebrow:before{content:"";flex-shrink:0;width:7px;height:7px;background:var(--kg-action)}main>section.drafted{isolation:isolate}main>section.drafted:before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(var(--ink-grid) 1px,transparent 1px),linear-gradient(90deg,var(--ink-grid) 1px,transparent 1px);background-size:56px 56px;background-position:center top;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,#000 30%,transparent 80%)}main>section.drafted:first-child:before{top:-65px}.crop{position:relative}.crop:before{content:"";position:absolute;inset:-14px;pointer-events:none;--c: var(--kg-action);--l: 16px;background:linear-gradient(var(--c),var(--c)) 0 0 / var(--l) 1.5px,linear-gradient(var(--c),var(--c)) 0 0 / 1.5px var(--l),linear-gradient(var(--c),var(--c)) 100% 0 / var(--l) 1.5px,linear-gradient(var(--c),var(--c)) 100% 0 / 1.5px var(--l),linear-gradient(var(--c),var(--c)) 0 100% / var(--l) 1.5px,linear-gradient(var(--c),var(--c)) 0 100% / 1.5px var(--l),linear-gradient(var(--c),var(--c)) 100% 100% / var(--l) 1.5px,linear-gradient(var(--c),var(--c)) 100% 100% / 1.5px var(--l);background-repeat:no-repeat}footer{position:relative;padding-block:136px 56px;color:var(--kg-text-2);font-size:14.5px;background:var(--kg-page)}footer:before{content:"";position:absolute;inset:0 0 auto;height:112px;pointer-events:none;--g: color-mix(in srgb, var(--kg-text) 10%, transparent);background-image:linear-gradient(var(--g) 1px,transparent 1px),linear-gradient(90deg,var(--g) 1px,transparent 1px);background-size:28px 28px;background-position:center 0;-webkit-mask-image:radial-gradient(ellipse 46% 50% at 50% 50%,#000 15%,transparent 100%);mask-image:radial-gradient(ellipse 46% 50% at 50% 50%,#000 15%,transparent 100%)}footer a{text-decoration:none;color:var(--kg-text-2)}footer a:hover{color:var(--kg-text)}.ft-top{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;align-items:start}.ft-card{display:flex;flex-direction:column;min-height:200px;padding:28px;background:var(--tile);border:1px solid var(--kg-rule);border-radius:8px}.ft-lock{display:flex;align-items:center;gap:10px}.ft-card .logo{width:28px;height:28px}.ft-card .mark{display:block;color:var(--kg-text)}.ft-tag{margin:18px 0 0;color:var(--kg-text)}.ft-tag span{white-space:nowrap}@media(max-width:339px){.ft-tag span{white-space:normal}}.ft-prompt{margin:16px 0 0;padding:12px 14px;font:13px/1.65 var(--kg-font-mono);color:var(--kg-text-2);background:var(--kg-page);border:1px solid color-mix(in srgb,var(--kg-rule) 70%,transparent);border-radius:6px}.ft-prompt:before{content:"› ";content:"› " / "";color:var(--kg-action);font-weight:600}.ft-prompt:after{content:"";display:inline-block;width:.55em;height:1.1em;margin-left:2px;vertical-align:-.2em;background:var(--kg-action)}@media(prefers-reduced-motion:no-preference){.ft-prompt:after{animation:kg-cursor 1.1s steps(1) 4}}@keyframes kg-cursor{50%{opacity:0}}.ft-legal{margin:auto 0 0;padding-top:28px;font:500 12px/1 var(--kg-font-mono);letter-spacing:.08em;text-transform:uppercase}.ft-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;padding-top:4px}.ft-col{display:flex;flex-direction:column;gap:10px;min-width:0}.ft-h{margin-bottom:6px;font:500 12px/1.4 var(--kg-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--kg-text)}.ft-h:before{content:"[";content:"[" / ""}.ft-h:after{content:"]";content:"]" / ""}@media(max-width:960px){.ft-top{grid-template-columns:minmax(0,1fr);gap:48px}.ft-card{min-height:0}}@media(max-width:520px){footer{padding-top:120px}.ft-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}.doc-head{padding-block:56px 8px}.doc-head h1{font-size:clamp(2rem,3.2vw,2.8rem)}.doc-head .updated{margin:10px 0 0;color:var(--kg-text-2)}.doc{padding-block:24px 72px}.doc .wrap>*{max-width:72ch}.doc section+section{margin-top:28px}.doc h2{font-size:1.35rem;font-weight:700;margin-bottom:8px}.doc p,.doc li{color:var(--kg-text-2)}.doc p{margin:0 0 12px}.doc ul{margin:0 0 12px;padding-left:1.2em}.doc li+li{margin-top:6px}.doc strong{color:var(--kg-text);font-weight:600}.doc:is(.legal,.article){padding-top:56px}main>section.doc:is(.legal,.article)>.wrap>h2+*{margin-top:0}.doc:is(.legal,.article) h1{font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.08;margin-bottom:8px}.doc.legal h1+p em{font-style:normal;color:var(--kg-text-2)}.doc:is(.legal,.article) h2{margin-top:36px}.doc:is(.legal,.article) h3{font-size:1.1rem;margin:24px 0 6px}.doc:is(.legal,.article) table{border-collapse:collapse;width:100%;max-width:72ch;margin:4px 0 16px;font-size:15px}.doc:is(.legal,.article) th{text-align:left;font-weight:600;color:var(--kg-text);border-bottom:1px solid var(--kg-line);padding:8px 12px 8px 0;vertical-align:bottom}.doc:is(.legal,.article) td{color:var(--kg-text-2);border-bottom:1px solid var(--kg-rule);padding:8px 12px 8px 0;vertical-align:top}.doc:is(.legal,.article) code{font-size:.88em;overflow-wrap:anywhere}@media(max-width:560px){.doc:is(.legal,.article) table{display:block;overflow-x:auto}}.doc .article-list{list-style:none;padding-left:0}.doc .article-list li+li{margin-top:36px}.article-meta{font-size:14.5px}.doc .article-meta{margin:0 0 12px}.doc.article .article-meta{margin-bottom:28px}.doc.article ol{margin:0 0 12px;padding-left:1.4em}.doc.article blockquote{margin:4px 0 16px;padding:2px 0 2px 16px;border-left:3px solid var(--kg-line)}.doc.article blockquote p:last-child{margin-bottom:0}.doc.article hr{border:0;border-top:1px solid var(--kg-rule);margin:36px 0 20px}.doc.article .how-written{font-size:15px}.doc.article .article-author{margin-top:36px;padding-top:20px;border-top:1px solid var(--kg-rule);font-size:15px}.doc.article .article-author p{margin:0 0 4px}.doc.article .article-author-name{color:var(--kg-text);font-weight:600}
