/* LUMARION Media v2.9.33 — Dark contrast audit.
 * Theme-owned public interfaces only. Scope every rule to the theme's explicit
 * dark state. Do not alter authentication, editorial data, or 3rd-party widgets.
 * Colors checked against WCAG AA contrast for normal-size text where practical.
 */
body.lum-app-theme-dark {
  --ink:#f2f6fc;
  --muted:#b7c6d8;
  --line:#3f4d60;
  --paper:#222b38;
  --blue:#9dcaff;
  --lm-surface:#222b38;
  --lm-surface-raised:#2b3645;
  --lm-text:#f2f6fc;
  --lm-text-secondary:#b7c6d8;
  --lm-border:#3f4d60;
  --lm-link:#a8d1ff;
  --lm-control-bg:#222b38;
  --lm-control-text:#f2f6fc;
  --lm-placeholder:#b4c3d4;
  --lum-ui-bg:#171b22;
  --lum-ui-ink:#f2f6fc;
  --lum-ui-sub:#b7c6d8;
  --lum-ui-rule:#3f4d60;
  --lum-ui-accent:#a8d1ff;
  --lum-ui-card:#222b38;
  --lum-ui-chip:#314257;
  color-scheme:dark;
  background:#171b22!important;
  color:#f2f6fc!important;
  min-height:100vh;
}
/* On desktop, earlier versions restricted the dark body/background to mobile
 * media queries. Apply it on ALL viewports, including the new PC app layout. */
body.lum-app-theme-dark :is(.site-main,.site-footer){
  background:#171b22!important;color:var(--lm-text)!important;
  border-color:var(--lm-border)!important;
}
body.lum-app-theme-dark :is(.lum-desktop-rail,.lum-desktop-context){
  background:var(--lm-surface)!important;border-color:var(--lm-border)!important;
  color:var(--lm-text)!important;
}
body.lum-app-theme-dark :is(.lum-desktop-rail,.lum-desktop-context) :is(h2,p,strong,a,button){
  color:var(--lm-text)!important;
}
body.lum-app-theme-dark :is(.lum-desktop-rail,.lum-desktop-context) :is(a,button):hover,
body.lum-app-theme-dark .lum-desktop-rail nav a[aria-current="page"]{
  background:var(--lm-surface-raised)!important;color:var(--lm-link)!important;
}
body.lum-app-theme-dark .site-header,
body.lum-app-theme-dark .site-header .primary-nav.is-open{
  background:var(--lm-surface)!important;border-color:var(--lm-border)!important;
  color:var(--lm-text)!important;
}
body.lum-app-theme-dark :is(.site-header,.site-footer) :is(.site-brand,.primary-nav a,.header-actions a){
  color:var(--lm-text)!important;
}
body.lum-app-theme-dark .site-footer a{color:var(--lm-link)!important}
/* A neutral surface is applied only to known theme components. This avoids
 * applying a global 'color:white' to links in an independently white plugin. */
body.lum-app-theme-dark :is(
  .article-toc,.article-sources,.comments-area,.comment-respond,
  .search-panel,.search-suggestions,.category-tiles>a,
  .lum-present-card,.lum-creator-grid article,
  .lum-creator-card,.lum-editor-side>details,.lum-dashboard-notifications,
  .lum-stat,.lum-profile-photo,.lum-share-panel,
  .author-header,.author-header--public,.author-articles,
  .lum-member-gate
){
  background:var(--lm-surface)!important;
  border-color:var(--lm-border)!important;
  color:var(--lm-text)!important;
}
body.lum-app-theme-dark :is(
  .article-toc,.article-sources,.comments-area,.comment-respond,
  .search-panel,.lum-present-card,.lum-creator-grid article,
  .lum-creator-card,.lum-dashboard-notifications,.lum-stat,
  .author-header,.author-articles,.lum-member-gate
) :is(h1,h2,h3,h4,h5,h6,strong,label){
  color:var(--lm-text)!important;
  -webkit-text-fill-color:var(--lm-text)!important;
}
body.lum-app-theme-dark :is(
  .article-toc,.article-sources,.comments-area,.comment-respond,
  .lum-present-card,.lum-creator-grid article,.lum-creator-card,
  .lum-dashboard-notifications,.lum-stat,.author-header,.author-articles,.lum-member-gate
) :is(p,li,small,span){
  color:inherit;
}
body.lum-app-theme-dark :is(.article-toc,.article-sources,.comments-area,.comment-respond,.author-header,.author-articles,.lum-creator-grid,.lum-present-card) a:not(.button):not(.wp-block-button__link){
  color:var(--lm-link)!important;
  -webkit-text-fill-color:var(--lm-link)!important;
}
body.lum-app-theme-dark :is(.article-toc,.article-sources,.comments-area,.author-header,.author-articles) :is(a,button):focus-visible{
  outline:2px solid var(--lm-link);outline-offset:3px;
}
/* Article section labels and discovery card titles are not inside .article__body;
 * they were left dark against dark backgrounds in the previous release. */
body.lum-app-theme-dark .article :is(.lum-discovery__heading h2,.lum-news-panel .lum-discovery__heading h2,.related-posts h2,.latest-posts h2),
body.lum-app-theme-dark .site-main :is(.home-section>header h2,.home-section>header a,.lum-discovery__heading),
body.lum-app-theme-dark :is(.comments-area>h2,.comments-title,.comment-reply-title,.author-articles__heading h2),
body.lum-app-theme-dark .article .article__header h1{
  color:var(--lm-text)!important;
  -webkit-text-fill-color:var(--lm-text)!important;
}
body.lum-app-theme-dark .article :is(.lum-news-panel,.lum-discovery,.related-posts,.latest-posts){
  background:transparent!important;
  border-color:var(--lm-border)!important;
  color:var(--lm-text)!important;
}
body.lum-app-theme-dark .article :is(.lum299-link,.lum-news-teaser,.lum-discovery-card),
body.lum-app-theme-dark .article .related-posts .post-card{
  background:var(--lm-surface)!important;
  border-color:var(--lm-border)!important;
  color:var(--lm-text)!important;
}
body.lum-app-theme-dark .article .latest-posts :is(.lum299-link,.lum-news-teaser,.lum-discovery-card){
  background:transparent!important;
  border-bottom-color:var(--lm-border)!important;
}
body.lum-app-theme-dark .article :is(.lum299-title,.lum299-title a,.lum-news-teaser__title,.lum-news-teaser__title a,.lum-discovery-card h3,.lum-discovery-card h3 a){
  color:var(--lm-text)!important;
  -webkit-text-fill-color:var(--lm-text)!important;
}
body.lum-app-theme-dark .article :is(.lum299-meta,.lum-news-teaser__info,.lum-discovery-card__meta){color:var(--lm-text-secondary)!important}
body.lum-app-theme-dark .article :is(.lum299-category,.lum-news-teaser__category,.lum-discovery-card__category){color:var(--lm-link)!important}
body.lum-app-theme-dark .article :is(.lum-news-panel,.lum-discovery) a:hover{text-decoration:underline}
/* Article interaction module is printed as inline CSS by inc/reactions.php. The
 * explicit importance here is intentional to beat that late stylesheet. */
body.lum-app-theme-dark .article .lum-reaction-inline .lum-reaction,
body.lum-app-theme-dark .article .lum-reaction{
  background:var(--lm-surface)!important;
  border-color:var(--lm-border)!important;
  color:var(--lm-text)!important;
}
body.lum-app-theme-dark .article .lum-reaction .lum-reaction-head h3,
body.lum-app-theme-dark .article .lum-reaction .lum-reaction-copy strong,
body.lum-app-theme-dark .article .lum-reaction .lum-reaction-total strong{
  color:var(--lm-text)!important;
  -webkit-text-fill-color:var(--lm-text)!important;
}
body.lum-app-theme-dark .article .lum-reaction :is(.lum-reaction-eyebrow,.lum-reaction-footer,.lum-reaction-total span,.lum-reaction-copy small,.lum-reaction-head p,.lum-reaction-lock){
  color:var(--lm-text-secondary)!important;
  -webkit-text-fill-color:var(--lm-text-secondary)!important;
  opacity:1!important;
}
body.lum-app-theme-dark .article .lum-reaction .lum-reaction-total,
body.lum-app-theme-dark .article .lum-reaction .lum-reaction-button,
body.lum-app-theme-dark .article .lum-reaction .lum-reaction-icon{
  background:var(--lm-surface-raised)!important;
  border-color:var(--lm-border)!important;
  color:var(--lm-text)!important;
}
body.lum-app-theme-dark .article .lum-reaction .lum-reaction-button.is-active,
body.lum-app-theme-dark .article .lum-reaction .lum-reaction-button.is-active .lum-reaction-icon{
  background:#163e37!important;
  border-color:#57b7a1!important;
}
body.lum-app-theme-dark .article .lum-reaction .lum-reaction-button.is-active :is(.lum-reaction-copy strong,.lum-reaction-icon){color:#baf4e2!important;-webkit-text-fill-color:#baf4e2!important}
body.lum-app-theme-dark .article .lum-reaction .lum-reaction-button.is-active .lum-reaction-check{background:#2d947c!important;color:#fff!important}
/* Author manager output (lav2) is injected by a separate plugin, but these are
 * existing classes the theme already styles; only cosmetic rules are applied. */
body.lum-app-theme-dark .article :is(.lav2-profile-card,.lav2-author-card,.lav2-profile,.lav2-author-box),
body.lum-app-theme-dark .site-main :is(.lav2-profile-card,.lav2-author-card){
  background:var(--lm-surface)!important;
  border-color:var(--lm-border)!important;
  color:var(--lm-text)!important;
}
body.lum-app-theme-dark .article :is(.lav2-profile-card,.lav2-author-card,.lav2-profile,.lav2-author-box) :is(h1,h2,h3,h4,strong){
  color:var(--lm-text)!important;-webkit-text-fill-color:var(--lm-text)!important;
}
body.lum-app-theme-dark .article :is(.lav2-profile-card,.lav2-author-card,.lav2-profile,.lav2-author-box) :is(p,small,span){
  color:var(--lm-text-secondary)!important;-webkit-text-fill-color:var(--lm-text-secondary)!important;
}
body.lum-app-theme-dark .article :is(.lav2-profile-card,.lav2-author-card,.lav2-profile,.lav2-author-box) a{
  color:var(--lm-link)!important;-webkit-text-fill-color:var(--lm-link)!important;
}
/* Source attribution and distribution partner panels: best-effort compatibility
 * for semantic class names. Their inner data and markup remain plugin owned. */
body.lum-app-theme-dark .site-main :is(
  .media-profile,.media-profile-card,.partner-profile,.partner-card,
  .publisher-card,.distribution-card,.source-card,.article-provider,
  .media-partner-card,.provider-card,.media-info-card
){
  background:var(--lm-surface)!important;
  border-color:var(--lm-border)!important;
  color:var(--lm-text)!important;
}
body.lum-app-theme-dark .site-main :is(
  .media-profile,.media-profile-card,.partner-profile,.partner-card,
  .publisher-card,.distribution-card,.source-card,.article-provider,
  .media-partner-card,.provider-card,.media-info-card
) :is(h1,h2,h3,h4,strong){color:var(--lm-text)!important;-webkit-text-fill-color:var(--lm-text)!important}
body.lum-app-theme-dark .site-main :is(
  .media-profile,.media-profile-card,.partner-profile,.partner-card,
  .publisher-card,.distribution-card,.source-card,.article-provider,
  .media-partner-card,.provider-card,.media-info-card
) :is(p,span,small){color:var(--lm-text-secondary)!important;-webkit-text-fill-color:var(--lm-text-secondary)!important}
body.lum-app-theme-dark .site-main :is(
  .media-profile,.media-profile-card,.partner-profile,.partner-card,
  .publisher-card,.distribution-card,.source-card,.article-provider,
  .media-partner-card,.provider-card,.media-info-card
) a{color:var(--lm-link)!important;-webkit-text-fill-color:var(--lm-link)!important}
/* Archive, author, ranking, search, editor and forms. */
body.lum-app-theme-dark :is(.post-card,.editorial-item,.news-stream__item,.news-stream__body,.news-stream__body h3 a,.post-card h2 a){color:var(--lm-text)!important}
body.lum-app-theme-dark :is(.post-card__meta,.editorial-item__meta,.news-stream__meta,.eyebrow,.page-header>p:last-child,.author-description,.author-header .creator-title,.lum-kicker){color:var(--lm-text-secondary)!important}
body.lum-app-theme-dark :is(.editorial-pagination a,.editorial-pagination span,.page-numbers:not(.current),.wp-block-query-pagination a,.wp-block-query-pagination span){
  background:var(--lm-surface)!important;border-color:var(--lm-border)!important;
  color:var(--lm-text)!important;-webkit-text-fill-color:var(--lm-text)!important;
}
body.lum-app-theme-dark :is(.editorial-pagination .current,.page-numbers.current,.wp-block-query-pagination .current){
  background:#375d87!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
}
body.lum-app-theme-dark :is(.lum-creator-nav,.lum-editor-side summary,.lum-profile-photo,.lum-share-options .lum-share-choice,.lum-share-choice__icon,.lum-link-button){
  background:var(--lm-surface-raised)!important;border-color:var(--lm-border)!important;color:var(--lm-text)!important;
}
body.lum-app-theme-dark .lum-creator{--lum-creator-ink:var(--lm-text);--lum-creator-blue:var(--lm-link)}
body.lum-app-theme-dark .lum-creator :is(.lum-post-row,.lum-table td,.lum-table th){border-color:var(--lm-border)!important}
body.lum-app-theme-dark .lum-creator :is(.lum-post-row small,.lum-profile-photo p,.lum-form-grid label,.lum-stat small,.lum-stat span){color:var(--lm-text-secondary)!important}
body.lum-app-theme-dark .site-main :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
body.lum-app-theme-dark .search-panel :is(input,select,textarea){
  background:var(--lm-control-bg)!important;border-color:var(--lm-border)!important;
  color:var(--lm-control-text)!important;-webkit-text-fill-color:var(--lm-control-text)!important;
}
body.lum-app-theme-dark .site-main :is(input,textarea)::placeholder{color:var(--lm-placeholder)!important;opacity:1!important}
body.lum-app-theme-dark :is(.comment-list,.comment-body,.comment-form,.wp-block-table){color:var(--lm-text)!important}
body.lum-app-theme-dark .site-main :is(.comment-body,.comment-meta,.comment-respond,.comment-form) a{color:var(--lm-link)!important}
body.lum-app-theme-dark .article .article-actions :is(button,.article-action),
body.lum-app-theme-dark .article .lum-share-options :is(button,a){
  background:var(--lm-surface-raised)!important;border-color:var(--lm-border)!important;
  color:var(--lm-text)!important;-webkit-text-fill-color:var(--lm-text)!important;
}
body.lum-app-theme-dark .article .lum-share-panel :is(h2,h3,strong){color:var(--lm-text)!important}
body.lum-app-theme-dark .article .lum-share-panel :is(p,.lum-share-panel__note){color:var(--lm-text-secondary)!important}
body.lum-app-theme-dark :is(.comments-area,.article-sources,.article-toc,.related-posts,.latest-posts) :is(hr,.wp-block-separator){border-color:var(--lm-border)!important}
/* Respect explicit branded pills, tags and illustrations, do not globally
 * recolor all descendants or replace publisher assets. */
/* v2.9.34: actual white plugin media surfaces detected by the theme-side
   compatibility script. Keep plugin backgrounds unchanged for brand artwork. */
body.lum-app-theme-dark .site-main .lm-external-light-surface {
  color:#253247!important;
  color-scheme:light;
}
body.lum-app-theme-dark .site-main .lm-external-light-surface :is(h1,h2,h3,h4,h5,h6,p,small,strong,li,span) {
  color:#253247!important;
  -webkit-text-fill-color:#253247!important;
}
body.lum-app-theme-dark .site-main .lm-external-light-surface a:not(.button):not([role="button"]) {
  color:#174c83!important;
  -webkit-text-fill-color:#174c83!important;
}
