.knowledge-portal{--kb-surface:#fff;--kb-ink:#172f43;--kb-muted:#526579;--kb-line:#d9e3eb;background:#f4f7fa;color:var(--kb-ink)}.kb-header{padding:26px max(24px,calc((100vw - 1180px)/2));background:var(--kb-surface);border-bottom:1px solid var(--kb-line);display:flex;gap:24px;align-items:center;justify-content:space-between}.kb-header a{text-decoration:none;color:inherit}.kb-header strong{letter-spacing:.1em;font-size:18px}.kb-header small{display:block;margin-top:5px;color:var(--kb-muted)}.kb-header nav{display:flex;align-items:center;gap:12px}.kb-main{max-width:1180px;padding:0 24px;margin:auto;min-height:60vh}.kb-hero{padding:64px 0 28px}.kb-kicker{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--kb-muted);font-weight:700}.kb-hero h1,.kb-article h1{font-family:NganggungEditorial,Georgia,serif;font-weight:400;font-size:clamp(34px,4.5vw,56px);line-height:1.15;margin:20px 0;color:var(--kb-ink)}.kb-hero>p{color:var(--kb-muted)}.kb-search{padding:24px;border:1px solid var(--kb-line);border-radius:16px;background:var(--kb-surface);display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin-top:28px;box-shadow:0 12px 40px #122f4708}.kb-query{flex:1;min-width:220px}.kb-search label{font-size:12px;font-weight:650;display:block}.kb-search input,.kb-search select{display:block;width:100%;padding:12px;border:1px solid var(--kb-line);margin-top:6px;background:var(--kb-surface);color:var(--kb-ink);font:inherit;min-height:45px}.kb-search input[type=search]{font-size:17px}.kb-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;padding-top:12px;border-top:1px solid var(--kb-line)}.kb-topics{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 36px}.kb-topics a{padding:7px 13px;border:1px solid var(--kb-line);background:var(--kb-surface);border-radius:24px;text-decoration:none;color:var(--kb-ink);font-size:12px}.kb-results-heading{display:flex;justify-content:space-between;align-items:center}.kb-results-heading h2{font-size:25px}.kb-results-heading span{font-size:13px;color:var(--kb-muted)}.kb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:20px 0}.kb-card,.kb-panel{background:var(--kb-surface);border:1px solid var(--kb-line);border-radius:14px;overflow:hidden}.kb-card>img{width:100%;height:180px;object-fit:cover}.kb-card-body{padding:23px}.kb-card h2{font-size:21px;line-height:1.4}.kb-card h2 a{color:var(--kb-ink);text-decoration:none}.kb-card p:not(.kb-kicker),.kb-card small{color:var(--kb-muted);line-height:1.7}.kb-card p{font-size:14px}.kb-pagination{display:flex;gap:16px;justify-content:center;align-items:center;margin:40px 0}.kb-empty{text-align:center;background:var(--kb-surface);border:1px dashed var(--kb-line);padding:48px 20px;border-radius:14px}.kb-empty p{color:var(--kb-muted)}.kb-article{max-width:850px;margin:40px auto}.kb-article>a{color:var(--kb-ink)}.kb-summary{font-size:21px;line-height:1.7;color:var(--kb-muted)}.kb-feature{width:100%;max-height:480px;object-fit:contain;border-radius:12px;margin:24px 0}.kb-prose{font-size:18px;line-height:1.95;overflow-wrap:anywhere;margin:32px 0}.kb-panel{padding:24px;margin-top:24px}.kb-material{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-top:1px solid var(--kb-line)}.kb-material small{display:block;color:var(--kb-muted);margin-top:5px}.kb-header .ui-button,.kb-material .ui-button,.kb-search .ui-button{white-space:nowrap;text-decoration:none;border:0;cursor:pointer}.kb-search .ui-button{min-height:47px}.knowledge-portal .ui-button{display:inline-block;text-decoration:none}
html[data-ui-theme=dark] .knowledge-portal{--kb-surface:#1e293b;--kb-ink:#f1f5f9;--kb-muted:#cbd5e1;--kb-line:#475569;background:#0f172a;color:var(--kb-ink)}
@media(max-width:800px){.kb-header{flex-wrap:wrap;padding:20px}.kb-hero{padding-top:30px}.kb-filters{grid-template-columns:1fr 1fr}.kb-grid{grid-template-columns:1fr 1fr}.kb-main{padding:0 18px}}
@media(max-width:520px){.kb-grid,.kb-filters{grid-template-columns:1fr}.kb-search{padding:18px}.kb-search>.ui-button{width:100%}.kb-header strong{font-size:16px}.kb-material{align-items:flex-start;flex-direction:column}}
