/* Knowledge pages reuse Numbrite's light/dark semantic tokens. */
.kl-page { line-height:1.8; }
.kl-heading { max-width:850px;margin-bottom:24px; }
.kl-heading h1 { font-size:clamp(1.85rem,3.5vw,2.75rem);line-height:1.25;letter-spacing:-.025em; }
.kl-intro { color:var(--text-2);font-size:1.1rem;margin-top:16px; }
.kl-byline,.kl-source { color:var(--text-2);font-size:.9rem; }
.kl-layout { display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:start;margin-top:24px; }
.kl-toc { border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:20px; }
.kl-toc h2 { font-size:1rem; }
.kl-toc ol { padding-left:20px; }
.kl-toc li { margin:12px 0; }
.kl-article { max-width:74ch;min-width:0; }
.kl-article section { margin-top:32px; }
.kl-article h2 { font-size:1.35rem;line-height:1.4;scroll-margin-top:90px;margin-bottom:12px; }
.kl-article p { margin:12px 0; }
.kl-takeaway { border-left:4px solid var(--brand);background:var(--surface-2);padding:20px 24px;border-radius:0 12px 12px 0; }
.kl-table { overflow-x:auto;margin:24px 0;border:1px solid var(--border);border-radius:12px; }
.kl-table table { border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums; }
.kl-table caption { text-align:left;padding:12px 16px;background:var(--surface);font-weight:600; }
.kl-table th,.kl-table td { padding:12px 16px;text-align:left;border-top:1px solid var(--border);min-width:130px; }
.kl-table thead { background:var(--surface-2); }
.kl-action { background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin:32px 0; }
.kl-action h2 { margin-top:0; }
.kl-action .btn { margin-top:12px;white-space:normal; }
.kl-filters { display:flex;gap:16px;align-items:end;flex-wrap:wrap;background:var(--surface);padding:20px;border:1px solid var(--border);border-radius:var(--radius); }
.kl-filters>div:first-child { flex:2 1 260px; }
.kl-filters>div:nth-child(2) { flex:1 1 200px; }
.kl-filters label { display:block;font-weight:600;margin-bottom:6px; }
.kl-filters .input { width:100%; }
.kl-page .btn,.kl-page .input { min-height:44px; }
.kl-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px; }
.kl-card { padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface); }
.kl-card h2 { font-size:1.25rem;line-height:1.5;margin:12px 0; }
.kl-card p { color:var(--text-2);margin:0; }
.kl-category { color:var(--text-2);font-size:.85rem;font-weight:600; }
.kl-page a:not(.btn) { text-decoration:underline;text-underline-offset:3px; }
.kl-page :focus-visible { outline:3px solid var(--brand);outline-offset:4px; }
.kl-page [hidden] { display:none!important; }
@media(max-width:850px){.kl-layout{grid-template-columns:1fr;gap:24px}.kl-toc ol{display:flex;flex-wrap:wrap;gap:8px 28px}.kl-toc li{margin:0}.kl-grid{grid-template-columns:1fr}}
@media(max-width:480px){.kl-filters{padding:16px}.kl-card,.kl-action{padding:20px}.kl-filters .btn{width:100%}.kl-action .btn{display:flex;width:100%}}
