@font-face{font-family:Kosche Grotesk;src:url(/fonts/kosche-grotesk-latin.woff2)format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:Kosche Sans;src:url(/fonts/kosche-sans-latin.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Kosche Mono;src:url(/fonts/kosche-mono-latin.woff2)format("woff2");font-weight:100 800;font-display:swap}.kl{--kl-canvas:#0d0c0a;--kl-ink:#f5f1ea;--kl-text:#d9d4cb;--kl-muted:#b4aea4;--kl-rule:#38352f;--kl-rule-soft:#24221e;--kl-sans:var(--font-sans,"Kosche Sans", ui-sans-serif, system-ui, sans-serif);--kl-display:var(--font-display,"Kosche Grotesk"), var(--kl-sans);--kl-mono:var(--font-geist-mono,"Kosche Mono"), ui-monospace, "SF Mono", Menlo, monospace;--kl-wrap:min(1120px, 100% - 48px);--kosche-signal:var(--kl-ink);z-index:0;background:var(--kl-canvas);min-height:100dvh;color:var(--kl-ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:400 16px/1.6 var(--kl-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;margin:0;display:flex;position:relative}.kl *,.kl :before,.kl :after{box-sizing:border-box}.kl a{color:inherit}.kl :focus-visible{outline:2px solid var(--kl-ink);outline-offset:4px}.kl h1,.kl h2,.kl h3{text-shadow:none}.kl-wrap{width:var(--kl-wrap);margin-inline:auto}.kl-skip{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.kl-skip:focus{z-index:10;clip-path:none;background:var(--kl-ink);width:auto;height:auto;color:var(--kl-canvas);padding:10px 14px;position:fixed;top:12px;left:12px}.kl-head{border-bottom:1px solid var(--kl-rule)}.kl-head-row{justify-content:space-between;align-items:center;gap:20px;min-height:64px;display:flex}.kl-mark{color:var(--kl-ink);flex:none;line-height:0;display:block}.kl-mark svg{width:auto;height:20px;display:block}.kl-nav{font:500 11px/1 var(--kl-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:22px;display:flex}.kl-nav a{color:var(--kl-muted);border-bottom:1px solid #0000;padding:10px 0;text-decoration:none;transition:color .15s}.kl-nav a:hover{color:var(--kl-ink)}.kl-nav a[aria-current=page]{color:var(--kl-ink);border-bottom-color:var(--kl-ink)}.kl-nav .kl-lang{border-left:1px solid var(--kl-rule);border-bottom:0;margin-left:4px;padding-left:22px}.kl-main{flex:1 0 auto}.kl-article{padding:clamp(48px,8vw,96px) 0 clamp(64px,9vw,112px)}.kl-title{max-width:46rem}.kl-kicker{font:500 11px/1 var(--kl-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--kl-muted);margin:0}.kl h1{font:700 clamp(38px, 6vw, 64px) / 1.02 var(--kl-display);letter-spacing:-.025em;color:var(--kl-ink);-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;margin:18px 0 0}.kl-lede{color:var(--kl-text);text-wrap:pretty;margin-top:24px;font-size:clamp(17px,1.6vw,19px);line-height:1.6}.kl-lede p{margin:0}.kl-binding{border:1px solid var(--kl-rule);color:var(--kl-muted);margin:20px 0 0;padding:12px 16px;font-size:15px;line-height:1.55}.kl-updated{font:500 11px/1.4 var(--kl-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--kl-muted);margin:20px 0 0}.kl-body{border-top:1px solid var(--kl-rule);grid-template-columns:minmax(0,1fr);gap:40px;margin-top:clamp(40px,6vw,72px);padding-top:clamp(32px,4vw,48px);display:grid}@media (min-width:960px){.kl-body{grid-template-columns:228px minmax(0,46rem);gap:72px}.kl-toc{align-self:start;max-height:calc(100dvh - 64px);position:sticky;top:32px;overflow:auto}}.kl-toc-title{font:500 11px/1 var(--kl-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--kl-muted);margin:0 0 14px}.kl-toc ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.kl-toc a{color:var(--kl-muted);align-items:baseline;gap:12px;padding:5px 0;font-size:14px;line-height:1.4;text-decoration:none;transition:color .15s;display:flex}.kl-toc a:hover{color:var(--kl-ink)}.kl-no{min-width:2ch;font:500 12px/1 var(--kl-mono);letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--kl-muted);flex:none}@media (max-width:959px){.kl-toc ol{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));column-gap:24px}}.kl-section{padding-bottom:40px;scroll-margin-top:24px}.kl-section+.kl-section{border-top:1px solid var(--kl-rule-soft);padding-top:36px}.kl h2{font:700 clamp(21px, 2.2vw, 25px) / 1.2 var(--kl-display);letter-spacing:-.012em;color:var(--kl-ink);align-items:baseline;gap:14px;margin:0 0 18px;display:flex}.kl h2 .kl-no{font-size:13px;transform:translateY(-2px)}.kl-part{border-top:1px solid var(--kl-rule-soft);margin-top:28px;padding:22px 0 0;scroll-margin-top:24px}.kl h3{font:500 15px/1.3 var(--kl-mono);letter-spacing:.01em;color:var(--kl-ink);margin:0 0 12px}.kl-sections p,.kl-sections ul,.kl-sections dl{margin:0 0 14px}.kl-sections p,.kl-sections li,.kl-sections dd{color:var(--kl-text);overflow-wrap:break-word;text-wrap:pretty;font-size:16.5px;line-height:1.7}.kl-sections strong{color:var(--kl-ink);font-weight:600}.kl code{border:1px solid var(--kl-rule);font:400 .86em/1 var(--kl-mono);color:var(--kl-ink);overflow-wrap:anywhere;border-radius:3px;padding:1px 5px}.kl-sections a,.kl-lede a,.kl-binding a{color:var(--kl-ink);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklch, var(--kl-ink) 35%, transparent);text-decoration-color:color-mix(in oklch, var(--kl-ink) 35%, transparent);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s}.kl-sections a:hover,.kl-lede a:hover,.kl-binding a:hover{-webkit-text-decoration-color:var(--kl-ink);text-decoration-color:var(--kl-ink)}.kl-sections ul{gap:8px;padding:0;list-style:none;display:grid}.kl-sections li{padding-left:20px;position:relative}.kl-sections li:before{content:"";background:var(--kl-muted);width:5px;height:5px;position:absolute;top:.72em;left:2px}.kl-lines{font-style:normal}.kl-note{border-left:2px solid var(--kl-rule);color:var(--kl-muted);padding-left:14px}.kl-terms{border-top:1px solid var(--kl-rule);display:grid}.kl-terms>div{border-bottom:1px solid var(--kl-rule);grid-template-columns:9.5rem minmax(0,1fr);gap:4px 20px;padding:12px 0;display:grid}.kl-terms dt{font:500 11px/1.4 var(--kl-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--kl-muted);padding-top:4px}.kl-terms dd{margin:0}@media (max-width:560px){.kl-terms>div{grid-template-columns:minmax(0,1fr)}}.kl-house{flex:none}.kl-house-band{border-top:1px solid var(--kl-rule);padding:16px 0 40px}.kl-foot{border-top:1px solid var(--kl-rule)}.kl-foot-row{min-height:64px;font:500 11px/1.4 var(--kl-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--kl-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding:12px 0;display:flex}.kl-foot-links{gap:22px;display:flex}.kl-foot-links a{padding:8px 0;text-decoration:none}.kl-foot-links a:hover{color:var(--kl-ink)}@media (max-width:520px){.kl{--kl-wrap:min(1120px, 100% - 40px)}.kl-nav{letter-spacing:.08em;gap:16px}.kl-nav .kl-lang{margin-left:0;padding-left:16px}.kl-mark svg{height:17px}}@media (prefers-reduced-motion:reduce){.kl *{transition:none!important}}@media print{.kl{--kl-canvas:#fff;--kl-ink:#000;--kl-text:#111;--kl-muted:#444;--kl-rule:#bbb;--kl-rule-soft:#ddd;min-height:0}.kl-head,.kl-toc,.kl-house,.kl-foot{display:none}.kl-body{display:block}.kl-article{padding:0}}.kl-form{gap:6px;max-width:560px;margin:20px 0 0;display:grid}.kl-form label{color:var(--kl-ink);margin-top:12px;font-weight:600}.kl-form input,.kl-form textarea{width:100%;font:inherit;color:var(--kl-ink);border:1px solid var(--kl-rule);background:#171613;border-radius:0;padding:10px 12px}.kl-form textarea{resize:vertical;min-height:180px}.kl-form input:focus-visible,.kl-form textarea:focus-visible,.kl-form button:focus-visible{outline:2px solid var(--kl-ink);outline-offset:2px}.kl-form-note{color:var(--kl-muted);margin:0;font-size:.875em}.kl-form button{min-height:44px;font:inherit;color:var(--kl-canvas);background:var(--kl-ink);border:1px solid var(--kl-ink);cursor:pointer;justify-self:start;margin-top:14px;padding:10px 20px;font-weight:600}.kl-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}
