.kb{--kb-bg:var(--color-surface);--kb-bg-alt:#efebe5;--kb-card:#fff;--kb-border:var(--color-bone-200);--kb-border-soft:var(--color-bone-100);--kb-text:var(--color-twilight);--kb-muted:var(--color-dusk);--kb-navy:var(--color-twilight);--kb-link:var(--color-twilight);--kb-link-hover:var(--color-twilight-800);--kb-on-navy:#f5f2ee;--kb-on-navy-link:#c7d6f0;--kb-font-body:var(--font-inter);--kb-font-display:var(--font-inter);--kb-font-mono:var(--font-jetbrains);background:var(--kb-bg);color:var(--kb-text);font-family:var(--kb-font-body)}.kb article a{color:var(--kb-link)}.kb article a:hover{color:var(--kb-link-hover)}.kb img,.kb video{max-width:100%}.kb :focus-visible{outline:2px solid var(--kb-link);outline-offset:2px}.kb .eyebrow{font-family:var(--kb-font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--kb-muted);margin-bottom:10px;font-size:11.5px}.kb .page-h1{font-family:var(--kb-font-display);letter-spacing:-.015em;color:var(--kb-text);margin:0 0 12px;font-size:34px;font-weight:700}.kb .h1big{font-family:var(--kb-font-display);letter-spacing:-.02em;color:var(--kb-text);text-wrap:balance;margin:0 0 16px;font-size:48px;font-weight:700;line-height:1.04}.kb .h2-md,.kb .h2-tight,.kb .h2-roomy,.kb .h2-md-top{font-family:var(--kb-font-display);letter-spacing:-.01em;color:var(--kb-text);font-size:22px;font-weight:600}.kb .h2-tight{margin:0 0 8px}.kb .h2-md{margin:0 0 10px}.kb .h2-roomy{margin:0 0 12px}.kb .h2-md-top{margin:36px 0 10px}.kb .lede{color:var(--kb-muted);text-wrap:pretty;max-width:64ch;margin:0 0 24px;font-size:17px;line-height:1.6}.kb .body,.kb .body-plain,.kb .body-top{color:var(--kb-text);text-wrap:pretty;margin:0 0 14px;font-size:16px;line-height:1.62}.kb .body-top{margin:24px 0 0}.kb .li-md{color:var(--kb-text);font-size:15.5px;line-height:1.6}.kb .li-lg{color:var(--kb-text);font-size:16px;line-height:1.6}.kb .muted{color:var(--kb-muted)}.kb .bright{color:var(--kb-on-navy)}.kb .bullets,.kb .bullets-mb{flex-direction:column;gap:6px;margin:0;padding-left:22px;display:flex}.kb .bullets-mb{margin:0 0 16px}.kb .stamp-inline{font-family:var(--kb-font-mono);letter-spacing:.04em;color:var(--kb-muted);font-size:11px}.kb .xref{color:var(--kb-link);text-underline-offset:3px;-webkit-text-decoration:underline #1e2d4f59;text-decoration:underline #1e2d4f59;text-decoration-thickness:1px}.kb .xref:hover{-webkit-text-decoration-color:var(--kb-link);text-decoration-color:var(--kb-link)}.kb .card{background:var(--kb-card);border:1px solid var(--kb-border);border-radius:12px;padding:16px 18px}.kb .card-sm{background:var(--kb-card);border:1px solid var(--kb-border);border-radius:12px;padding:14px 18px}.kb .card-title,.kb .card-title-sm{font-family:var(--kb-font-display);color:var(--kb-text);margin-bottom:4px;font-size:15.5px;font-weight:600}.kb .card-title-md{font-family:var(--kb-font-display);color:var(--kb-text);margin-bottom:5px;font-size:16.5px;font-weight:600}.kb .card-title-lg{font-family:var(--kb-font-display);color:var(--kb-text);margin-bottom:5px;font-size:17px;font-weight:600}.kb .card-body{color:var(--kb-muted);font-size:14px;line-height:1.55}.kb .card-body-sm{color:var(--kb-text);font-size:14px;line-height:1.55}.kb .card-desc{color:var(--kb-muted);font-size:13.5px;line-height:1.5}.kb .card-num{font-family:var(--kb-font-mono);color:var(--kb-muted);margin-bottom:10px;font-size:10.5px}.kb .navcard,.kb .navcard-sm{color:inherit;background:var(--kb-card);border:1px solid var(--kb-border);border-radius:14px;text-decoration:none;transition:all .15s;display:block}.kb .navcard{padding:20px 20px 18px}.kb .navcard-sm{padding:18px 20px}.kb .navcard:hover{border-color:var(--kb-link);transform:translateY(-2px);box-shadow:0 10px 26px #1e2d4f1a}.kb .trow{background:var(--kb-card);border:1px solid var(--kb-border);border-radius:12px;grid-template-columns:1fr 1.4fr;gap:4px 24px;padding:15px 18px;display:grid}.kb .trow-title{font-family:var(--kb-font-display);font-size:15.5px;font-weight:600}.kb .trow-body{color:var(--kb-text);font-size:14.5px;line-height:1.55}.kb .ladder-row{background:var(--kb-card);border:1px solid var(--kb-border);border-radius:11px;justify-content:space-between;align-items:baseline;gap:8px;padding:12px 16px;display:flex}.kb .ladder-plus{font-family:var(--kb-font-mono);color:#2e7d52;font-size:13px;font-weight:500}.kb .callout-dark{background:var(--kb-navy);color:var(--kb-on-navy);border-radius:14px;margin:0 0 24px;padding:18px 22px;font-size:15.5px;line-height:1.6}.kb .callout-dark a{color:var(--kb-on-navy-link)}.kb .callout-dark a:hover{color:#fff}.kb .callout-warn{color:#5a3a06;background:#fbebcf;border:1px solid #f1d9a6;border-radius:12px;margin:0 0 24px;padding:14px 18px;font-size:15.5px;line-height:1.6}.kb .try-box{background:var(--kb-bg-alt);border:1px solid var(--kb-border);border-radius:12px;margin:0 0 28px;padding:14px 18px}.kb .try-label{font-family:var(--kb-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--kb-muted);margin-bottom:8px;font-size:10.5px}.kb .pill-star,.kb .pill-lock,.kb .pill-note{font-family:var(--kb-font-mono);letter-spacing:.06em;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10px}.kb .pill-star{color:#2e7d52;background:#e4f2e9}.kb .pill-lock{color:#96590a;background:#fbebcf}.kb .pill-note{color:#28527a;vertical-align:middle;background:#e4edf7;margin-left:8px}.kb .th{text-align:left;font-family:var(--kb-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--kb-muted);border-bottom:1px solid var(--kb-border);padding:10px 16px;font-size:10.5px;font-weight:500}.kb .td,.kb .td-key{border-bottom:1px solid var(--kb-border-soft);vertical-align:top;color:var(--kb-text);padding:10px 16px}.kb .td-key{white-space:nowrap;font-weight:600}.kb .term{font-family:var(--kb-font-display);margin-bottom:3px;font-size:15.5px;font-weight:600}.kb .def{color:var(--kb-muted);margin:0;font-size:14.5px;line-height:1.55}.kb .faq-q{font-family:var(--kb-font-display);margin:0 0 4px;font-size:17px;font-weight:600}.kb .faq-qrow{flex-wrap:wrap;align-items:center;margin:0 0 4px;display:flex}.kb .faq-qrow .faq-q{margin:0}.kb .faq-a{color:var(--kb-text);margin:0;font-size:15.5px;line-height:1.6}.kb .acc{background:var(--kb-card);border:1px solid var(--kb-border);border-radius:12px;margin:0 0 10px}.kb .acc summary{cursor:pointer;font-family:var(--kb-font-display);padding:13px 18px;font-size:16px;font-weight:600;list-style-position:inside}.kb .acc summary:hover{color:var(--kb-link)}.kb .acc .accbody{padding:2px 18px 14px}.kb .acc .try-box{margin:10px 0}.kb .fig{margin:0 0 28px}.kb .fig-lg{margin:0 0 36px}.kb .fig-xl{margin:0 0 32px}.kb .shotwrap{display:block;position:relative}.kb .shot{border:1px solid var(--kb-border);background:var(--kb-card);border-radius:12px;width:100%;height:auto;display:block}.kb .figcap{color:var(--kb-muted);margin-top:8px;font-size:13.5px}.kb .anb{border:1.5px solid var(--kb-navy);pointer-events:none;z-index:2;border-radius:5px;position:absolute;box-shadow:0 0 0 3px #ffffffd9,0 2px 12px #1e2d4f29}.kb .ann{z-index:3;background:var(--kb-navy);color:#fff;width:22px;height:22px;font-family:var(--kb-font-mono);text-align:center;pointer-events:none;border-radius:999px;font-size:11.5px;font-style:normal;font-weight:500;line-height:22px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #ffffffe6,0 1px 4px #1e2d4f47}.kb .anlg{flex-direction:column;gap:5px;margin:10px 0 0;padding:0;list-style:none;display:flex}.kb .anlg li{color:var(--kb-text);align-items:baseline;gap:9px;font-size:14px;line-height:1.5;display:flex}.kb .anlg .k{font-family:var(--kb-font-mono);color:var(--kb-muted);flex:none;min-width:14px;font-size:11px;font-weight:500}.kb .chip{font-family:var(--kb-font-body);border:1px solid var(--kb-border);background:var(--kb-card);color:var(--kb-text);cursor:pointer;border-radius:999px;padding:6px 13px;font-size:13px}.kb .chip:hover{border-color:var(--kb-link);color:var(--kb-link)}.kb .chip.on{border-color:var(--kb-navy);background:var(--kb-navy);color:#fff;font-weight:600}.kb .pcard-box{background:var(--kb-card);border:1px solid var(--kb-border);border-radius:13px;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.kb .pcard-cat{font-family:var(--kb-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--kb-muted);font-size:10px}.kb .pcard-name{font-family:var(--kb-font-display);color:var(--kb-text);font-size:16.5px;font-weight:600}.kb .row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kb .cheat{background:var(--kb-navy);color:var(--kb-on-navy);border-radius:16px;padding:28px 32px}.kb .cheat a,.kb .cheat .xref{color:var(--kb-on-navy-link);text-decoration-color:#c7d6f099}.kb .cheat a:hover,.kb .cheat .xref:hover{color:#fff;text-decoration-color:#fff}.kb .cheat-row{gap:11px;display:flex}.kb .cheat-num{font-family:var(--kb-font-mono);color:#ffffff8c;padding-top:2px;font-size:12px}.kb .cheat-cols{grid-template-rows:repeat(7,auto);grid-template-columns:1fr 1fr;grid-auto-flow:column;gap:12px 28px;font-size:14.5px;line-height:1.55;display:grid}.kb .grid2,.kb .grid2w{grid-template-columns:1fr 1fr;gap:12px;display:grid}.kb .grid3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.kb .gap-10{gap:10px}.kb .gap-14{gap:14px}.kb .stack-24{grid-template-columns:1fr;gap:24px;display:grid}.kb .mb-10{margin-bottom:10px}.kb .mb-14{margin-bottom:14px}.kb .mb-18{margin-bottom:18px}.kb .mb-24{margin-bottom:24px}.kb .mb-36{margin-bottom:36px}.kb .mb-48{margin-bottom:48px}.kb .m0{margin:0}@media (max-width:1140px){.kb .grid3{grid-template-columns:1fr 1fr}}@media (max-width:820px){.kb .grid2,.kb .grid2w,.kb .grid3{grid-template-columns:1fr}.kb .cheat-cols{grid-template-rows:none;grid-template-columns:1fr;grid-auto-flow:row}.kb .trow{grid-template-columns:1fr}.kb .h1big{font-size:34px}.kb .cheat{padding:22px 20px}.kb .anb{border-width:1px;box-shadow:0 0 0 2px #ffffffd9}.kb .ann{width:18px;height:18px;font-size:10px;line-height:18px}.kb .anlg li{font-size:13px}.kb .conn-table thead{display:none}.kb .conn-table,.kb .conn-table tbody{display:block}.kb .conn-table tr{border-bottom:1px solid var(--kb-border-soft);padding:12px 16px 6px;display:block}.kb .conn-table tr:last-child{border-bottom:none}.kb .conn-table td,.kb .conn-table .td-key{white-space:normal;border-bottom:none;padding:0 0 10px;display:block}.kb .conn-table td:before{content:attr(data-label);font-family:var(--kb-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--kb-muted);margin-bottom:2px;font-size:10px;display:block}}@media print{.kb .print-hide,.kb .kb-sidebar,.kb .kb-prevnext,.kb .kb-search{display:none!important}.kb,.kb .cheat{color:#000!important;background:#fff!important}.kb *,.kb a{color:#000!important}.kb a,.kb .xref{text-decoration:underline;text-decoration-color:#000!important}.kb .cheat,.kb .callout-dark,.kb .callout-warn,.kb .card,.kb .card-sm,.kb .try-box,.kb .trow,.kb .pcard-box,.kb .navcard,.kb .navcard-sm,.kb .ladder-row,.kb .acc,.kb .chip{box-shadow:none!important;background:#fff!important;border:1px solid #000!important}.kb .ann{outline:1.5px solid #000;box-shadow:none!important;background:#fff!important}.kb .anb{box-shadow:none!important;border-color:#000!important}.kb .cheat-row,.kb .card,.kb .card-sm,.kb .trow,.kb figure{break-inside:avoid}@page{margin:16mm}}
