.kb-doc{--kb-canvas:#f8f9fb;--kb-surface:#fff;--kb-paper:#fbfaf9;--kb-cream:#f6f1ea;--kb-code-bg:#f3f4f7;--kb-navy:#08142f;--kb-navy-from:#0c1c40;--kb-navy-to:#08142f;--kb-ink-invert:#f8f9fb;--kb-ink-hairline:#f8f9fb29;--kb-ink-well:#f8f9fb14;--kb-gold:#bd9444;--kb-gold-deep:#856426;--kb-gold-on-dark:#c9a765;--kb-body:#5b6270;--kb-quiet:#636874;--kb-line:#e5e6eb;--kb-line-strong:#d8dae0;--kb-ease:cubic-bezier(.22, .68, .35, 1);--kb-shell:min(1140px, calc(100% - 32px));--kb-mono:var(--k-font-family-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--kb-canvas);min-height:100dvh;color:var(--kb-navy);font-family:var(--font-outfit), system-ui, -apple-system, "Segoe UI", sans-serif;text-rendering:geometricprecision;flex-direction:column;font-weight:400;display:flex;overflow-x:clip}.kb-doc *,.kb-doc :before,.kb-doc :after{box-sizing:border-box}.kb-doc :where(p,h1,h2,h3,h4,dl,dd,dt,pre){margin:0}.kb-doc :where(ul,ol){margin:0;padding:0;list-style:none}.kb-doc :where(svg){display:block}.kb-doc a:focus-visible{outline:3px solid var(--kb-navy);outline-offset:2px;border-radius:4px}.kb-masthead a:focus-visible{outline-color:var(--kb-gold-on-dark)}.kb-shell{width:var(--kb-shell);margin:0 auto}.kb-masthead{background:linear-gradient(160deg, var(--kb-navy-from) 0%, var(--kb-navy-to) 100%);color:var(--kb-ink-invert);padding:36px 0 40px}.kb-masthead a{color:var(--kb-ink-invert);text-underline-offset:.18em;text-decoration-thickness:1px}.kb-eyebrow{letter-spacing:.19em;text-transform:uppercase;color:var(--kb-gold-on-dark);font-size:12px;font-weight:700;line-height:1.2}.kb-title{letter-spacing:-.034em;color:var(--kb-ink-invert);text-wrap:balance;margin-top:14px;font-size:clamp(34px,8.4vw,52px);font-weight:600;line-height:1.04}.kb-lede{max-width:62ch;color:var(--kb-ink-invert);text-wrap:pretty;margin-top:16px;font-size:clamp(16px,4vw,19px);line-height:1.55}.kb-record{border-top:1px solid var(--kb-ink-hairline);margin-top:30px;padding-top:26px}.kb-record-title{letter-spacing:.19em;text-transform:uppercase;color:var(--kb-gold-on-dark);font-size:12px;font-weight:700;line-height:1.2}.kb-record-list{gap:0;margin-top:4px;display:grid}.kb-record-slim .kb-record-list{margin-top:0}.kb-record-row{border-bottom:1px solid var(--kb-ink-hairline);gap:6px;padding:16px 0;display:grid}.kb-record-row dt{letter-spacing:.14em;text-transform:uppercase;color:var(--kb-gold-on-dark);font-size:11.5px;font-weight:600;line-height:1.2}.kb-record-row dd{color:var(--kb-ink-invert);overflow-wrap:anywhere;font-size:15.5px;line-height:1.5}.kb-record-aside{color:var(--kb-gold-on-dark);margin-top:3px;font-size:13.5px;display:block}.kb-masthead code{font-family:var(--kb-mono);color:var(--kb-ink-invert);background:var(--kb-ink-well);border:1px solid var(--kb-ink-hairline);overflow-wrap:anywhere;border-radius:5px;padding:1px 5px;font-size:.9em}.kb-masthead .kb-ua{border-radius:8px;padding:11px 13px;font-size:14px;line-height:1.5;display:block}.kb-record-links{gap:2px;margin-top:6px;display:grid}.kb-record-links a{border-bottom:1px solid var(--kb-ink-hairline);letter-spacing:-.008em;color:var(--kb-ink-invert);gap:3px;padding:13px 0;font-size:15.5px;font-weight:600;text-decoration:none;display:grid}.kb-record-links a span{letter-spacing:0;color:var(--kb-gold-on-dark);overflow-wrap:anywhere;text-underline-offset:.18em;font-size:13.5px;font-weight:400;text-decoration:underline;text-decoration-thickness:1px}.kb-body{flex:1 0 auto;padding:8px 0 24px}.kb-layout{gap:0;display:grid}.kb-contents{padding:22px 0 6px}.kb-contents-title{letter-spacing:.16em;text-transform:uppercase;color:var(--kb-gold-deep);font-size:11.5px;font-weight:700;line-height:1.2}.kb-contents ul{border-top:1px solid var(--kb-line);margin-top:10px}.kb-contents a{border-bottom:1px solid var(--kb-line);color:var(--kb-navy);transition:color .14s var(--kb-ease);grid-template-columns:2.4em minmax(0,1fr);gap:4px;padding:10px 0;font-size:15px;line-height:1.4;text-decoration:none;display:grid}.kb-contents-index{font-family:var(--kb-mono);letter-spacing:.06em;color:var(--kb-quiet);font-size:12px}.kb-section{border-top:1px solid var(--kb-line);padding:34px 0}.kb-main>.kb-section:first-child{border-top:0;padding-top:26px}.kb-section-index{font-family:var(--kb-mono);letter-spacing:.18em;color:var(--kb-gold-deep);font-size:12px;font-weight:500;line-height:1}.kb-section-title{letter-spacing:-.024em;max-width:30ch;color:var(--kb-navy);text-wrap:balance;margin-top:12px;font-size:clamp(22px,5.4vw,28px);font-weight:600;line-height:1.2}.kb-sub{letter-spacing:-.014em;color:var(--kb-navy);margin-top:32px;font-size:18px;font-weight:600;line-height:1.3}.kb-body-copy{max-width:68ch;color:var(--kb-body);text-wrap:pretty;margin-top:16px;font-size:16px;line-height:1.65}.kb-body-copy b{color:var(--kb-navy);font-weight:600}.kb-body-quiet{color:var(--kb-quiet);font-size:15px}.kb-body a,.kb-colophon a{color:var(--kb-navy);text-underline-offset:.18em;font-weight:500;text-decoration-thickness:1px}.kb-body code,.kb-colophon code{font-family:var(--kb-mono);color:var(--kb-navy);background:var(--kb-code-bg);border:1px solid var(--kb-line);overflow-wrap:anywhere;border-radius:5px;padding:1px 5px;font-size:.88em}.kb-body a code{color:inherit}.kb-code{background:var(--kb-code-bg);border:1px solid var(--kb-line);border-radius:10px;max-width:68ch;margin-top:12px;padding:14px 16px;overflow-x:auto}.kb-code code{font-family:var(--kb-mono);white-space:pre;overflow-wrap:normal;color:var(--kb-navy);background:0 0;border:0;border-radius:0;padding:0;font-size:13.5px;line-height:1.7;display:block}.kb-code-comment{color:var(--kb-body)}.kb-facts{border-top:1px solid var(--kb-line);max-width:68ch;margin-top:18px}.kb-facts>li{border-bottom:1px solid var(--kb-line);color:var(--kb-body);text-wrap:pretty;padding:13px 0;font-size:15.5px;line-height:1.6}.kb-facts>li b{color:var(--kb-navy);font-weight:600}.kb-note{background:var(--kb-cream);border:1px solid var(--kb-line-strong);border-radius:12px;max-width:68ch;margin-top:22px;padding:18px 20px 20px}.kb-note:before{content:"";background:var(--kb-gold);border-radius:2px;width:28px;height:3px;margin-bottom:14px;display:block}.kb-note p{color:var(--kb-body);text-wrap:pretty;font-size:15.5px;line-height:1.62}.kb-note code{border-color:var(--kb-line-strong);background:#ffffffb8}.kb-purposes{gap:14px;margin-top:20px;display:grid}.kb-purposes>li{background:var(--kb-paper);border:1px solid var(--kb-line);border-radius:12px;padding:20px 22px 22px}.kb-purposes h3{letter-spacing:-.012em;color:var(--kb-navy);font-size:17px;font-weight:600;line-height:1.3}.kb-purposes p{color:var(--kb-body);text-wrap:pretty;margin-top:10px;font-size:15.5px;line-height:1.6}.kb-token{color:var(--kb-quiet);font-size:14px}.kb-split{gap:14px;margin-top:20px;display:grid}.kb-plate{background:var(--kb-surface);border:1px solid var(--kb-line);border-radius:12px;padding:20px 22px 8px}.kb-plate h3{letter-spacing:.01em;color:var(--kb-navy);font-size:15px;font-weight:600;line-height:1.3}.kb-plate .kb-facts{border-top:0;margin-top:12px}.kb-plate .kb-facts>li:last-child{border-bottom:0}.kb-examples{gap:18px;margin-top:20px;display:grid}.kb-examples h4{letter-spacing:-.008em;color:var(--kb-navy);font-size:15px;font-weight:600;line-height:1.3}.kb-examples .kb-code{margin-top:8px}.kb-routes{border-top:1px solid var(--kb-line);max-width:68ch;margin-top:20px}.kb-routes>div{border-bottom:1px solid var(--kb-line);gap:5px;padding:14px 0;display:grid}.kb-routes dt{letter-spacing:-.008em;color:var(--kb-navy);font-size:15px;font-weight:600;line-height:1.35}.kb-routes dd{color:var(--kb-body);text-wrap:pretty;font-size:15px;line-height:1.6}.kb-log{gap:16px;max-width:68ch;margin-top:20px;display:grid}.kb-log>li{background:var(--kb-paper);border:1px solid var(--kb-line);border-radius:12px;padding:16px 18px 18px}.kb-log-date{font-family:var(--kb-mono);letter-spacing:.04em;color:var(--kb-navy);font-size:13px;font-weight:500}.kb-log p+p{color:var(--kb-body);text-wrap:pretty;margin-top:8px;font-size:15.5px;line-height:1.6}.kb-path{flex-wrap:wrap;align-items:center;gap:6px 4px;margin-top:18px;display:flex}.kb-path>li{font-family:var(--kb-mono);color:var(--kb-navy);align-items:center;gap:8px;font-size:13px;line-height:1.5;display:flex}.kb-path>li:after{content:"›";color:var(--kb-quiet);font-size:15px}.kb-path>li:last-child:after{content:none}.kb-links{flex-wrap:wrap;gap:10px 24px;margin-top:18px;display:flex}.kb-link{color:var(--kb-navy);text-underline-offset:.18em;align-items:baseline;gap:9px;font-size:15px;font-weight:500;line-height:1.45;text-decoration-thickness:1px;display:inline-flex}.kb-arrow{fill:none;width:16px;height:11px;stroke:var(--kb-gold-deep);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--kb-ease);flex:none}.kb-colophon{border-top:1px solid var(--kb-line);background:var(--kb-canvas);padding:28px 0 44px}.kb-colophon p{max-width:74ch;color:var(--kb-body);text-wrap:pretty;font-size:15px;line-height:1.6}.kb-colophon-links{flex-wrap:wrap;gap:10px 24px;margin-top:16px;display:flex}@media (min-width:700px){.kb-doc{--kb-shell:min(1140px, calc(100% - 48px))}.kb-masthead{padding:52px 0 56px}.kb-record-row{grid-template-columns:200px minmax(0,1fr);align-items:baseline;gap:20px}.kb-record-row-wide{grid-template-columns:minmax(0,1fr);gap:8px}.kb-section{padding:44px 0}.kb-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kb-examples{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1080px){.kb-masthead{padding:72px 0 68px}.kb-record-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;margin-top:10px}.kb-record-slim .kb-record-links{grid-template-columns:minmax(0,1fr)}.kb-layout{grid-template-columns:236px minmax(0,1fr);align-items:start;gap:64px}.kb-contents{padding:44px 0 0;position:sticky;top:28px}.kb-section{padding:52px 0}.kb-main>.kb-section:first-child{padding-top:44px}.kb-colophon{padding:36px 0 64px}}@media (hover:hover){.kb-contents a:hover{color:var(--kb-gold-deep)}.kb-link:hover .kb-arrow{transform:translate(3px)}}@media (prefers-reduced-motion:reduce){.kb-doc,.kb-doc *,.kb-doc :before,.kb-doc :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.kb-link:hover .kb-arrow{transform:none}}
