.portal37 .kn313-theme{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:36px;padding:6px 9px;border:1px solid #ddd;border-radius:4px;background:white;color:#242424;font:600 13px/1.2 Arial,sans-serif;cursor:pointer;flex:0 0 auto}
.portal37 .kn313-theme:hover,.portal37 .kn313-theme:focus-visible{background:#c4161c;color:#fff;border-color:#c4161c}
html[data-kn313-theme=dark]{--kn313-bg:#10151c;--kn313-surface:#10151c;--kn313-line:#3b4759;--kn313-text:#edf1f7;--kn313-muted:#bac6d6}
html[data-kn313-theme=dark] .portal37{background:var(--kn313-bg)!important;color:var(--kn313-text)!important;--ink:#edf1f7;--muted:#bac6d6;--bg:#10151c;--card:#10151c;--line:#3b4759}
html[data-kn313-theme=dark] .portal37 :is(.p37-header,.p37-footer,.p37-sub,.p37-mega,.p37-filters,.p37-card,.p37-live,.p37-wiki,.p37-custom,.p37-noimage,.p37-urgent,.p37-news,.p37-table-scroll,.p37-ranking table,.p37-ranking td,.p37-ranking th,.wk40-card,.wk40-category,.wk40-search,.wk40-search input,.wk40-sort,.wk40-sort select,.wk40-category-menu nav>a,.wk40-related,.kn33-related,.km-stat,.km-box,.km-search,.km-search input,.km-table-scroll,.km-table,.km-table td,.ka42-card,.ka42-category,.ka42-search,.ka42-search input,.ka421-categories nav>a,.ka-card,.ka-placeholder,.ka-chart,.p392-glossary,.p392-related){background:var(--kn313-surface)!important;color:var(--kn313-text)!important;border-color:var(--kn313-line)!important}
html[data-kn313-theme=dark] .portal37 :is(h1,h2,h3,h4,label,dt,dd,.p37-nav a,.p37-nav summary,.p37-logo,.p37-card p,.p37-news h3,.p37-footer a,.p371-morelink,.p37-allnews,.wk40-card h3,.wk40-card p,.wk40-entry-body,.wk40-subtitle,.wk40-entry .lead,.wk40-entry h1,.wk40-entry-body h2,.wk40-alphabet a,.wk40-pages a,.wk40-side-panel h2,.wk40-category-menu h2,.km-stat strong,.km-stat h2,.km-box h2,.km-box dt,.km-table a,.ka42-card h3,.ka42-card p,.ka42-header h1,.ka42-header>p,.ka421-content,.ka421-content h2,.ka421-categories h2,.ka421-related h2,.post-content,.p392-body,.p392-lead){color:var(--kn313-text)!important}
html[data-kn313-theme=dark] .portal37 :is(.byline,.km-muted,.km-stat small,.km-publications small,.wk40-disclosure,.wk40-entry .byline,.wk40-result-count,.ka421-related p,.ka421-heading>p,.p37-legal,.p37-news span,.p37-card small,.p392-meta,.p392-disclosure){color:var(--kn313-muted)!important}
html[data-kn313-theme=dark] .portal37 :is(.wk40-toc,.km-note,.km-table th,.ka421-intro,.ka421-toc,.ka-note,.ka-reading aside nav,.km412-intro,.km412-toc,.p392-note,.kn33-glossary){background:var(--kn313-bg)!important;color:var(--kn313-text)!important;border-color:var(--kn313-line)!important}
html[data-kn313-theme=dark] .portal37 :is(.km412-article .km-box,.wk40-related){background:var(--kn313-bg)!important}
html[data-kn313-theme=dark] .portal37 :is(.wk40-entry a,.ka421-content a,.ka421-toc a,.km-page a,.km412-toc a){color:#ff9ca2}
html[data-kn313-theme=dark] .portal37 :is(.p37-section-head,.p37-footer-links,.p37-footer-categories,.p37-legal,.p37-news,.wk40-category-menu>h2,.wk40-side-panel>h2,.km411-side,.ka421-categories>h2,.ka421-related>h2){border-color:var(--kn313-line)!important}
html[data-kn313-theme=dark] .portal37 :is(.p371-controls button,.p371-filter-shell>button,.kn313-theme){background:var(--kn313-surface);color:#ff9ca2;border-color:var(--kn313-line)}
html[data-kn313-theme=dark] .portal37 :is(.wk40-alphabet a,.wk40-category,.wk40-card,.wk40-category-menu nav>a,.ka42-category,.ka42-card,.ka421-categories nav>a,.km-stat):is(:hover,:focus-visible),html[data-kn313-theme=dark] .portal37 :is(.p37-nav a,.p37-nav summary,.p37-sub a):hover,html[data-kn313-theme=dark] .portal37 :is(.wk40-category-menu nav>a,.ka421-categories nav>a)[aria-current]{background:#c4161c!important;color:#fff!important;border-color:#c4161c!important}
html[data-kn313-theme=dark] .portal37 :is(.wk40-card,.ka42-card,.km-stat):is(:hover,:focus-visible) *,html[data-kn313-theme=dark] .portal37 .km-stat:hover strong{color:white!important}
html[data-kn313-theme=dark] .portal37 .p37-news time{color:#ff9ca2}
html[data-kn313-theme=dark] .portal37 .km-up{color:#7de5b3}html[data-kn313-theme=dark] .portal37 :is(.km-down,.p37-down){color:#ff9ca2}
html[data-kn313-theme=dark] .portal37 input::placeholder{color:#aebbd0}
html[data-kn313-theme=dark] .portal37 .km-table tbody tr:hover{background:var(--kn313-bg)!important}
/* External charts/images keep their own palette; switching never reloads widgets. */
html[data-kn313-theme=dark] .portal37 :is(.p392-post,.p392-post .story,.p392-post .lead,.p392-post .story-body,.p392-post .kn33-glossary p,.p392-post .kn33-related a){color:var(--kn313-text)!important}
html[data-kn313-theme=dark] .portal37 :is(.p392-post .story-body blockquote,.p392-post .story-body pre,.p392-post .story-body code,.p392-post .kn33-glossary li a){background:var(--kn313-bg)!important;color:var(--kn313-text)!important;border-color:var(--kn313-line)!important}
html[data-kn313-theme=dark] .portal37 :is(.p392-post .source,.p392-post .story-body figcaption){color:var(--kn313-muted)!important}
html[data-kn313-theme=dark] .portal37 :is(.p392-post .story-body a,.p392-post .source a){color:#ff9ca2!important}

/* Final public palette: one background for page and panels; admin palette is separate. */
html[data-kn313-theme=dark] .portal37{--kn313-red:#ff3b46;--kn313-pink:#ff9ca2}
html[data-kn313-theme=dark] .portal37 :is(.p37-ranking a,.p373-description,.p371-counter,.p38-archive p,.p38-archive time,.wk40-side-panel p,.km411-side p){color:var(--kn313-text)!important}
html[data-kn313-theme=dark] .portal37 .p37-card-meta{color:var(--kn313-muted)!important}
html[data-kn313-theme=dark] .portal37 :is(.p371-controls button,.p371-filter-shell>button){background:transparent!important;border:0!important;box-shadow:none;color:var(--kn313-red)!important}
html[data-kn313-theme=dark] .portal37 :is(.p371-controls button,.p371-filter-shell>button):disabled{color:var(--kn313-pink)!important;opacity:1}
html[data-kn313-theme=dark] .portal37 :is(.p371-controls button,.p371-filter-shell>button):hover:not(:disabled){background:#c4161c!important;color:#fff!important}
html[data-kn313-theme=dark] .portal37 :is(.p37-filters [aria-current=true],.p37-news time,.p371-morelink>span){color:var(--kn313-red)!important}
html[data-kn313-theme=dark] .portal37 .p37-filters [aria-current=true]{border-bottom-color:var(--kn313-red)!important}
html[data-kn313-theme=dark] .portal37 :is(.p371-morelink,.p37-allnews,.p373-description,.p37-ranking a):is(:hover,:focus-visible){color:var(--kn313-red)!important}
html[data-kn313-theme=dark] .portal37 .p37-news time small{color:var(--kn313-muted)!important}

html[data-kn313-theme=dark] .portal37 :is(.wk40,.km-page,.ka){color:var(--kn313-text);--card:var(--kn313-bg);--km-bg:var(--kn313-bg)}
html[data-kn313-theme=dark] .portal37 :is(.km-tape,.km-placeholder,.ka-search,.ka-search input,.ka-search select){background:var(--kn313-bg)!important;color:var(--kn313-text)!important;border-color:var(--kn313-line)!important}

html[data-kn313-theme=dark] .portal37 :is(.p37-wiki p,.p37-ranking p,.p37-ranking small){color:var(--kn313-muted)!important}
html[data-kn313-theme=dark] .portal37 .p37-card img{background:var(--kn313-bg)}

/* Project sidebar follows publication panels; shared TOCs use the same red accent. */
html[data-kn313-theme=dark] .portal37 .km411-side a{color:var(--kn313-text)!important}
html[data-kn313-theme=dark] .portal37 .km411-side a:is(:hover,:focus-visible){color:var(--kn313-red)!important;text-decoration:underline}
html[data-kn313-theme=dark] body.portal37 nav:is(.km412-toc,.wk40-toc,.ka421-toc){border-left-color:var(--kn313-red)!important}
html[data-kn313-theme=dark] body.portal37 nav:is(.km412-toc,.wk40-toc,.ka421-toc) a{color:var(--kn313-red)!important;text-underline-offset:3px}
html[data-kn313-theme=dark] body.portal37 nav:is(.km412-toc,.wk40-toc,.ka421-toc) a:is(:hover,:focus-visible){text-decoration:underline}
