/* Scoped to the Knowledge Hub and its five new article families. Brand tokens remain owned by styles.css. */
.kh-page { --kh-panel:#181b33; --kh-line:#2a2e48; --kh-text:#eef0f8; --kh-muted:#a3a8be; --kh-link:#9a86ff; --kh-accent:#3fb9c4; background:#0b0d1a; color:var(--kh-text); }
.kh-page [hidden] { display:none!important; }
.kh-page :is(button,a,input,pre,[tabindex]):focus-visible { outline:3px solid var(--kh-accent); outline-offset:5px; }
.kh-page :is(button,input[type="checkbox"]) { cursor:pointer; }
.kh-page button { min-height:44px; border:1px solid var(--kh-line); border-radius:12px; padding:10px 18px; font-family:inherit; font-size:15px; font-weight:600; line-height:1.5; color:var(--kh-text); background:var(--kh-panel); transition:background-color .16s ease; }
.kh-page button:hover { background:#242947; }
.kh-page button:disabled { opacity:.65; cursor:wait; }
.kh-page a { text-underline-offset:4px; }
.kh-page main :is(p,li,h1,h2,h3,a,span) { overflow-wrap:anywhere; }
.kh-page ::selection { background:var(--kh-link); color:#0b0f21; }
.kh-main { width:min(1248px,100%); max-width:1248px; padding:48px 24px 64px; }
.kh-intro { padding-block:0 32px; }
.kh-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 24px; margin-block-end:24px; color:var(--kh-link); font-size:14px; }
.kh-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; }
.kh-intro h1 { max-width:820px; margin:0; font-size:48px; font-weight:800; line-height:1.3; letter-spacing:0; text-wrap:balance; }
.kh-intro p { max-width:760px; color:var(--kh-muted); margin:20px 0 0; font-size:19px; line-height:1.8; white-space:pre-line; }
.kh-filters { display:flex; flex-wrap:wrap; gap:10px; margin-block:0 32px; }
.kh-filters button { border-radius:24px; color:var(--kh-muted); font-size:15px; font-weight:500; line-height:normal; }
.kh-filters button[aria-pressed="true"] { background:var(--kh-accent); border-color:var(--kh-accent); color:#0b0f21; }
.kh-feature { display:flex; flex-wrap:wrap; gap:32px; padding:36px; border:1px solid var(--kh-line); border-radius:20px; background:var(--kh-panel); margin-block:4px 48px; }
.kh-feature-story { display:flex; flex:999 1 480px; flex-direction:column; align-items:flex-start; gap:16px; min-width:0; }
.kh-feature-label { color:var(--kh-accent); font-size:14px; font-weight:700; }
.kh-feature h2 { margin:0; font-size:32px; line-height:1.4; font-weight:800; text-wrap:balance; }
.kh-feature h2 a { color:var(--kh-text); text-decoration:none; }
.kh-feature h2 a:hover { text-decoration:underline; }
.kh-feature p { max-width:60ch; color:var(--kh-muted); font-size:17px; line-height:1.8; margin:0; }
.kh-feature small { color:var(--kh-muted); font-size:13px; line-height:1.6; }
.kh-primary { display:inline-flex; gap:10px; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; margin-block-start:8px; border-radius:12px; background:#6246d9; color:#fff; font-size:16px; font-weight:700; text-decoration:none; }
.kh-primary:hover { background:#6e5bef; }
.kh-arrow { flex:0 0 auto; }
[dir="rtl"] .kh-arrow { transform:scaleX(-1); }
.kh-path { flex:1 1 300px; min-width:0; padding:24px; border:1px solid var(--kh-line); border-radius:16px; background:#0b0d1a; align-self:stretch; }
.kh-path h2 { margin:0 0 14px; color:var(--kh-link); font-size:13px; font-weight:700; line-height:1.6; }
.kh-path ol { margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.kh-path a { display:flex; gap:12px; align-items:center; min-height:48px; color:var(--kh-muted); font-size:15px; line-height:1.65; text-decoration:none; }
.kh-path a:hover { color:var(--kh-text); text-decoration:underline; }
.kh-path a span { width:28px; height:28px; flex-shrink:0; display:grid; place-items:center; border:1px solid #4a506d; border-radius:50%; color:var(--kh-text); font-size:13px; }
.kh-library-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-block-end:20px; }
.kh-library-heading h2 { margin:0; font-size:26px; font-weight:800; line-height:normal; }
.kh-library-heading output { flex-shrink:0; color:var(--kh-muted); font-size:14px; }
.kh-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.kh-card { min-width:0; display:flex; flex-direction:column; gap:14px; padding:28px; border:1px solid var(--kh-line); border-radius:18px; background:var(--kh-panel); }
.kh-category { align-self:flex-start; padding:4px 12px; border-radius:11px; background:#22263f; color:#c4c8da; font-size:13px; line-height:1.65; font-weight:400; }
.kh-card:hover { border-color:var(--kh-link); }
.kh-card h3 { font-size:20px; line-height:1.5; font-weight:700; margin:0; }
.kh-card h3 a { color:var(--kh-text); text-decoration:none; }
.kh-card h3 a:hover { text-decoration:underline; }
.kh-card p { color:var(--kh-muted); line-height:1.8; font-size:15px; margin:0; flex:1 1 auto; }
.kh-card-bottom { margin-block-start:auto; border-top:1px solid var(--kh-line); padding-block-start:14px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px; }
.kh-card small { color:var(--kh-muted); font-size:13px; line-height:1.6; }
.kh-read { min-height:44px; display:inline-flex; align-items:center; gap:8px; color:var(--kh-link); font-size:14px; font-weight:600; text-decoration:underline; }
.kh-read:hover { color:var(--kh-text); }
.kh-empty { padding:32px 0; min-height:150px; color:var(--kh-muted); }
.kh-next { border-top:1px solid var(--kh-line); margin-block-start:48px; padding-block-start:32px; }
.kh-next h2 { font-size:30px; font-weight:800; line-height:1.4; margin:0 0 12px; }
.kh-next p { max-width:70ch; color:var(--kh-muted); font-size:17px; line-height:1.8; }
.kh-next-links { display:flex; flex-wrap:wrap; gap:12px 32px; margin-block-start:20px; }
.kh-next-links a { min-height:44px; display:inline-flex; align-items:center; gap:10px; color:var(--kh-link); font-size:15px; text-decoration:underline; }
.kh-disclaimer { margin:32px 0 0; max-width:80ch; font-size:13px; line-height:1.85; color:var(--kh-muted); }
.kh-article-main { width:min(820px,calc(100% - 40px)); max-width:820px; padding-block:32px 64px; }
.kh-article-heading h1 { font-size:clamp(30px,4vw,48px); line-height:1.3; letter-spacing:-.02em; font-weight:700; text-wrap:balance; margin:0; }
.kh-article-intro { font-size:19px; line-height:1.85; color:var(--kh-muted); margin:24px 0; }
.kh-review-date { display:flex; flex-wrap:wrap; gap:4px 8px; align-items:baseline; color:var(--kh-muted); font-size:13px; line-height:1.8; }
.kh-review-date span { margin-inline-start:16px; }
.kh-tools { display:flex; flex-wrap:wrap; gap:10px; margin-block:20px 32px; }
.kh-article-section { padding-block:26px; border-top:1px solid var(--kh-line); scroll-margin-top:100px; }
.kh-article-section h2,.kh-checklist h2,.kh-template h2,.kh-sources h2,.kh-related h2 { font-size:25px; font-weight:600; line-height:1.5; margin:0 0 14px; text-wrap:balance; }
.kh-article-section :is(p,li),.kh-template p,.kh-closing { font-size:17px; line-height:1.9; color:#c6cada; max-width:72ch; }
.kh-article-section p { margin:0; }
.kh-article-section p+p { margin-block-start:16px; }
.kh-article-section ul { padding-inline-start:24px; margin-block:16px 0; }
.kh-article-section li+li { margin-block-start:10px; }
.kh-citation { display:inline; padding-inline:4px; color:var(--kh-link); font-size:13px; white-space:nowrap; text-decoration:underline; }
.kh-checklist,.kh-template { padding:28px; margin-block:20px 32px; border:1px solid var(--kh-line); border-radius:16px; background:var(--kh-panel); }
.kh-checklist-items { display:grid; gap:14px; margin-block:20px; }
.kh-checklist label { display:flex; align-items:flex-start; gap:12px; color:#c6cada; line-height:1.85; font-size:16px; cursor:pointer; }
.kh-checklist input { width:20px; height:20px; flex-shrink:0; margin-block-start:5px; accent-color:var(--kh-accent); }
.kh-checklist input:checked+span { color:var(--kh-accent); }
.kh-template pre { max-width:100%; padding:20px; border:1px solid var(--kh-line); border-radius:12px; white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:16px; line-height:1.9; color:var(--kh-text); background:#0b0f21; user-select:text; }
.kh-copy-status { min-height:1.9em; color:var(--kh-accent)!important; font-size:14px!important; margin:12px 0 0; }
.kh-copy-status.is-error { color:#f2c777!important; }
.kh-closing { margin-block:28px; }
.kh-table-wrap { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; border:1px solid var(--kh-line); border-radius:12px; scrollbar-color:#8e88ad #141831; scrollbar-width:thin; }
.kh-table-wrap::-webkit-scrollbar { height:10px; }
.kh-table-wrap::-webkit-scrollbar-thumb { background:#8e88ad; border-radius:6px; }
.kh-table-wrap::-webkit-scrollbar-track { background:#141831; }
.kh-table-wrap table { border-collapse:collapse; width:100%; min-width:620px; text-align:start; font-size:15px; line-height:1.85; }
.kh-table-wrap :is(th,td) { padding:16px; vertical-align:top; border-bottom:1px solid var(--kh-line); }
.kh-table-wrap th { color:var(--kh-text); background:var(--kh-panel); font-weight:600; }
.kh-table-wrap td { color:#c6cada; }
.kh-sources { padding-block-start:28px; border-top:1px solid var(--kh-line); }
.kh-sources ol { padding-inline-start:24px; color:var(--kh-muted); }
.kh-sources li { padding:8px 0; scroll-margin-top:100px; line-height:1.8; font-size:15px; }
.kh-sources li span { display:block; font-size:13px; }
.kh-sources a,.kh-related a { color:var(--kh-link); text-decoration:underline; }
.kh-related { padding-block-start:28px; margin-block-start:24px; border-top:1px solid var(--kh-line); }
.kh-related ul { list-style:none; display:grid; gap:8px; margin:0; padding:0; }
.kh-related a { display:inline-flex; min-height:44px; align-items:center; font-size:16px; line-height:1.8; }
[dir="rtl"] .kh-page :is(h1,h2,h3) { letter-spacing:0; }
[lang="ja"] .kh-page { font-family:"Noto Sans JP",Inter,sans-serif; line-break:strict; }
[lang="ja"] .kh-page :is(h1,h2,h3) { letter-spacing:0; line-height:1.65; word-break:normal; overflow-wrap:break-word; }
[lang="ja"] .kh-page :is(p,li) { line-height:1.95; }
[lang="ja"] .kh-intro h1 { max-width:30em; font-size:clamp(28px,3vw,42px); }
[lang="ur"] .kh-page :is(h1,h2,h3) { line-height:1.9; letter-spacing:0; }
[lang="ur"] .kh-page :is(p,li,label,button) { line-height:2.1; }
@media(max-width:1100px) { .kh-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .kh-feature { padding:28px; gap:24px; } .kh-path { flex-basis:100%; } .kh-intro h1 { max-width:100%; } .kh-grid { grid-template-columns:1fr; } .kh-review-date span { margin-inline-start:0; flex-basis:100%; } }
@media(max-width:480px) { .kh-main { width:100%; padding:32px 20px 64px; } .kh-article-main { width:calc(100% - 32px); padding-block-start:24px; } .kh-feature { padding:24px; margin-block-end:32px; } .kh-card { padding:28px; } .kh-filters { gap:8px; } .kh-filters button { padding-inline:14px; } .kh-checklist,.kh-template { padding:20px; } .kh-article-section :is(p,li),.kh-template p { font-size:16px; } .kh-article-section h2 { font-size:23px; } }
@media(prefers-reduced-motion:reduce) { .kh-page button { transition:none; } }
@media(forced-colors:active) { .kh-page :is(button,a,input):focus-visible { outline-color:Highlight; } .kh-filters button[aria-pressed="true"] { outline:2px solid Highlight; } }
@media print { .kh-page { background:#fff!important; color:#000!important; } .kh-page .trust-site-header,.kh-page .trust-footer,.kh-page .skip-link,.kh-page .kh-breadcrumb,.kh-page button,.kh-page .kh-tools,.kh-page .kh-copy-status,.kh-page .kh-related,.kh-page .ps-analytics-settings,.kh-page .ps-analytics-choice { display:none!important; } .kh-page main { width:100%!important; max-width:none!important; margin:0; padding:0; } .kh-page main :is(p,li,pre,label,span,h1,h2,h3,td,th,a) { color:#000!important; } .kh-page :is(.kh-checklist,.kh-template,pre) { border:1px solid #888; background:#fff!important; } .kh-page .kh-article-heading h1 { font-size:24px; } .kh-page h2 { font-size:20px; break-after:avoid; } .kh-page :is(li,label,tr) { break-inside:avoid; } .kh-table-wrap { overflow:visible; border:0; } .kh-table-wrap table { min-width:0; font-size:11px; } .kh-table-wrap :is(th,td) { padding:8px; } .kh-page .kh-sources a::after { content:" (" attr(href) ")"; font-size:10px; } .kh-print-checklist .kh-article-main article>:not(.kh-checklist) { display:none!important; } .kh-print-checklist .kh-checklist { border:0; padding:0; margin:0; } }
