/* Champagne & Ink light palette; P3 Graphite & Copper dark palette. */
html { color-scheme: light; }
body.journal-body .journal-color-mode-toggle {
  display: inline-grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #c9baa0;
  border-radius: 5px;
  background: transparent;
  color: #102131;
  cursor: pointer;
}
body.journal-body .journal-color-mode-toggle[hidden] { display: none !important; }
body.journal-body .journal-color-mode-toggle:hover { background: #e9dfcb; }
body.journal-body .journal-color-mode-toggle:focus-visible { outline: 3px solid #927333; outline-offset: 3px; }
.journal-color-mode-toggle svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.journal-color-mode-toggle .journal-mode-moon { display: none; }
html[data-journal-color-mode="dark"] .journal-color-mode-toggle .journal-mode-sun { display: none; }
html[data-journal-color-mode="dark"] .journal-color-mode-toggle .journal-mode-moon { display: block; }

html[data-journal-color-mode="dark"] {
  color-scheme: dark;
  --color-primary: #e0a881;
  --color-primary-700: #efc5a7;
  --color-primary-900: #f6ede0;
  --color-secondary: #e0a881;
  --color-secondary-300: #efc5a7;
  --color-secondary-500: #e0a881;
  --color-secondary-600: #c79370;
  --color-secondary-700: #e0a881;
  --color-neutral: #f6ede0;
  --color-background: #252a2c;
  --color-linen: #2c3234;
  --color-paper: #353c3d;
  --color-ink-soft: #c3c3bb;
  --wp--preset--color--primary: #e0a881;
  --wp--preset--color--neutral: #f6ede0;
  --wp--preset--color--background: #252a2c;
  --wp--preset--color--linen: #2c3234;
  --wp--preset--color--paper: #353c3d;
  --wp--preset--color--ink-soft: #c3c3bb;
  --wp--preset--color--secondary: #e0a881;
  --journal-ink: #f6ede0;
  --journal-navy: #303638;
  --journal-brass: #e0a881;
  --journal-gold: #efc5a7;
  --journal-champagne: #353c3d;
  --journal-mode-bg: #252a2c;
  --journal-mode-surface: #2c3234;
  --journal-mode-raised: #353c3d;
  --journal-mode-text: #f6ede0;
  --journal-mode-heading: #f6ede0;
  --journal-mode-muted: #c3c3bb;
  --journal-mode-link: #e0a881;
  --journal-mode-rule: #535b5b;
  --ls-ui-rule: #535b5b;
}
html[data-journal-color-mode="dark"] body.journal-body,
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-main, .journal-home-shell) { background: var(--journal-mode-bg); color: var(--journal-mode-text); }
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-site-header, .journal-site-footer, .journal-nav-wrap, .journal-category-panel) { background: var(--journal-mode-surface); border-color: var(--journal-mode-rule); }
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-menu a, .journal-dropdown-label, .journal-search-link, .journal-account-link, .journal-footer-brand, .journal-footer-links a) { color: var(--journal-mode-heading); }
html[data-journal-color-mode="dark"] body.journal-body .journal-search-link svg { stroke: currentColor; }
html[data-journal-color-mode="dark"] body.journal-body .journal-brand-copy small { color: var(--journal-mode-link); }
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-account-link, .journal-search-link, .journal-color-mode-toggle) { border-color: var(--journal-mode-rule); }
html[data-journal-color-mode="dark"] body.journal-body .journal-account-link:hover { background: var(--journal-mode-raised); }
html[data-journal-color-mode="dark"] body.journal-body .journal-color-mode-toggle { color: var(--journal-mode-link); }
html[data-journal-color-mode="dark"] body.journal-body .journal-color-mode-toggle:hover { background: var(--journal-mode-raised); }
html[data-journal-color-mode="dark"] body.journal-body .journal-color-mode-toggle:focus-visible { outline-color: var(--journal-mode-link); }
html[data-journal-color-mode="dark"] body.journal-body .journal-menu-toggle > span:not(.screen-reader-text) { background: var(--journal-mode-heading); }
html[data-journal-color-mode="dark"] body.journal-body .journal-category-panel a:hover { background: var(--journal-mode-raised); color: var(--journal-mode-link); }
/* Paired artwork retains its two colors and changes with the saved preference. */
.journal-logo-modes { display: block; }
body.journal-body .journal-logo-modes .journal-logo-mode-dark { display: none; }
html[data-journal-color-mode="dark"] body.journal-body .journal-logo-modes .journal-logo-mode-light { display: none; }
html[data-journal-color-mode="dark"] body.journal-body .journal-logo-modes .journal-logo-mode-dark { display: block; }
html[data-journal-color-mode="dark"] body.journal-body .journal-home-sidebar { background: #303638; color: #f6ede0; }
html[data-journal-color-mode="dark"] body.journal-body .journal-home-topic-list a > svg { stroke: #efc5a7; stroke-width: 1.6; }
html[data-journal-color-mode="dark"] body.journal-body .journal-home-content .journal-contours { opacity: .65; background: repeating-radial-gradient(ellipse at 95% 100%, transparent 0 25px, #e0a88140 26px 27px, transparent 28px 42px); }
html[data-journal-color-mode="dark"] body.journal-body .journal-home-content .journal-hero { background: var(--journal-mode-raised); border-color: var(--journal-mode-rule); }
html[data-journal-color-mode="dark"] body.journal-body .journal-home-content .journal-hero-media { background: var(--journal-mode-raised); }
html[data-journal-color-mode="dark"] body.journal-body .journal-home-content .journal-hero-placeholder { background: repeating-radial-gradient(ellipse at 80% 50%, transparent 0 25px, #e0a88130 26px 27px, transparent 28px 42px), var(--journal-mode-raised); }
html[data-journal-color-mode="dark"] body.journal-body .journal-home-content .journal-latest-image { background: var(--journal-mode-raised); }
html[data-journal-color-mode="dark"] body.journal-body .journal-home-content :is(.journal-hero h1, .journal-section-heading h2, .journal-latest-copy h3, .journal-button) { color: var(--journal-mode-heading); }
html[data-journal-color-mode="dark"] body.journal-body .journal-home-content :is(.journal-eyebrow, .journal-card-label, .journal-section-heading > a) { color: var(--journal-mode-link); }
html[data-journal-color-mode="dark"] body.journal-body .journal-home-content :is(.journal-hero-deck, .journal-latest-copy > p:not(.journal-card-label), .journal-latest-copy time) { color: var(--journal-mode-muted); }
html[data-journal-color-mode="dark"] body.journal-body .journal-home-content .journal-button { border-color: var(--journal-mode-link); background: transparent; }
html[data-journal-color-mode="dark"] body.journal-body .journal-home-content .journal-button:hover { color: var(--journal-mode-link); }
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-footer-copyright, .journal-footer-inner > p) { color: var(--journal-mode-muted); }

/* Reading, category, search and discussion templates contain a few legacy literal colors. */
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-prose, .journal-reader-name, .journal-reader-text, .journal-field-details li, .journal-field-toc a, .journal-article-toc a) { color: var(--journal-mode-text); }
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-prose blockquote, .journal-prose figcaption, .journal-article-meta, .journal-post-card-copy time, .journal-related-card > div, .journal-related-card small, .journal-field-collection > div, .journal-category-directory-meta, .journal-category-feature-meta, .journal-category-story-copy time, .journal-discussion-count, .journal-discussion-intro, .journal-reference-intro, .journal-reader-date, .journal-comment-edit, .journal-reference-meta, .journal-reference-excerpt, .journal-discussion-closed) { color: var(--journal-mode-muted); }
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-prose a, .journal-reader-text a, .journal-reader-actions a, .journal-reference-title, .journal-reference-title a, .journal-post-nav a) { color: var(--journal-mode-link); text-decoration-color: currentColor; }
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-field-toc li:first-child a, .journal-field-toc a:hover, .journal-article-toc a:hover) { color: var(--journal-mode-link); border-color: var(--journal-mode-link); }
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-field-left, .journal-field-right, .journal-field-toc a, .journal-article-toc, .journal-article-meta, .journal-prose h2, .journal-related-card, .journal-post-nav, .journal-related-strip, .journal-category-index, .journal-category-index-list a, .journal-category-directory-card, .journal-category-story, .journal-reader-entry, .journal-reference, .journal-comment-respond, .journal-pagination, .journal-pagination a, .journal-category-content .page-numbers) { border-color: var(--journal-mode-rule); }
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-reader-initials, .journal-author-badge, .journal-reference-panel, .journal-mobile-toc) { background: var(--journal-mode-raised); color: var(--journal-mode-link); border-color: var(--journal-mode-rule); }
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-mobile-toc summary, .journal-mobile-toc a, .journal-related-all, .journal-moderation-note) { color: var(--journal-mode-link); }
html[data-journal-color-mode="dark"] body.journal-body .journal-comments #comments.journal-discussion { color: var(--journal-mode-text); border-color: var(--journal-mode-rule); background: transparent; }
html[data-journal-color-mode="dark"] body.journal-body .journal-discussion :is(#journal-discussion-title, #journal-references-title, .comment-reply-title) { color: var(--journal-mode-heading); }
html[data-journal-color-mode="dark"] body.journal-body .journal-discussion label { color: var(--journal-mode-text); }
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-pagination .current, .journal-category-content .page-numbers.current, .journal-skip-link) { background: var(--journal-mode-link); color: var(--journal-mode-bg); }
html[data-journal-color-mode="dark"] body.journal-body :is(.journal-button, .journal-search-form button) { background: #e0a881; color: #252a2c; border-color: #e0a881; }
html[data-journal-color-mode="dark"] body.journal-body .journal-search-form input { background: var(--journal-mode-surface); color: var(--journal-mode-text); border-color: var(--journal-mode-rule); }
html[data-journal-color-mode="dark"] body.journal-body .journal-prose :is(th, td) { border-color: var(--journal-mode-rule); }
html[data-journal-color-mode="dark"] body.journal-body .journal-prose :is(pre, code) { background: var(--journal-mode-raised); color: var(--journal-mode-text); }
html[data-journal-color-mode="dark"] body.journal-body .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--journal-mode-raised); }

/* Match the saved Contact/comment CSS, whose input colors intentionally use !important. */
html[data-journal-color-mode="dark"] body.journal-body .ls-contact-page :is(h1, h2) { color: var(--journal-mode-heading); }
html[data-journal-color-mode="dark"] body.journal-body .ls-contact-page :is(.ls-contact-form-panel, .ls-contact-category-nav, .ls-contact-categories li) { border-color: var(--journal-mode-rule); }
html[data-journal-color-mode="dark"] body.journal-body .ls-contact-page .ls-contact-preview-note { background: var(--journal-mode-raised); color: var(--journal-mode-text); }
html[data-journal-color-mode="dark"] body.journal-body :is(.comment-respond, .wp-block-post-comments-form, .ls-contact-page) :is(input[type="text"], input[type="email"], input[type="url"], input[type="search"], textarea, select, .forminator-input, .forminator-textarea) {
  background: var(--journal-mode-surface) !important;
  color: var(--journal-mode-text) !important;
  border-color: var(--journal-mode-rule) !important;
}
html[data-journal-color-mode="dark"] body.journal-body :is(.comment-respond, .ls-contact-page) :is(input, textarea)::placeholder { color: var(--journal-mode-muted); opacity: 1; }
html[data-journal-color-mode="dark"] body.journal-body :is(.comment-respond, .wp-block-post-comments-form, .ls-contact-page) :is(input[type="submit"], button[type="submit"], .submit, .forminator-button-submit) { background: #e0a881 !important; color: #252a2c !important; border-color: #e0a881 !important; }
html[data-journal-color-mode="dark"] body.journal-body :is(.comment-respond, .ls-contact-page) :is(input, textarea, button):focus-visible { outline-color: var(--journal-mode-link); }
html[data-journal-color-mode="dark"] body.journal-body .journal-discussion .journal-comment-respond :is(.comment-notes, .logged-in-as, .must-log-in, .comment-form-cookies-consent, .comment-form-cookies-consent label) { color: var(--journal-mode-muted); }

/* Public Tainacan blocks: only documented color tokens, never the document pixels or viewer controls. */
html[data-journal-color-mode="dark"] body.journal-body .wp-block-tainacan-faceted-search {
  --tainacan-background-color: #2c3234 !important;
  --tainacan-input-color: #f6ede0 !important;
  --tainacan-input-background-color: #252a2c !important;
  --tainacan-input-border-color: #535b5b !important;
  --tainacan-label-color: #c3c3bb !important;
  --tainacan-info-color: #c3c3bb !important;
  --tainacan-heading-color: #f6ede0 !important;
  --tainacan-skeleton-color: #353c3d !important;
  --tainacan-item-background-color: #2c3234 !important;
  --tainacan-item-hover-background-color: #353c3d !important;
  --tainacan-item-heading-hover-background-color: #353c3d !important;
  --tainacan-primary: #353c3d !important;
  --tainacan-secondary: #e0a881 !important;
  background: var(--journal-mode-surface);
  color: var(--journal-mode-text);
  border-color: var(--journal-mode-rule);
}
/* P3 sidebar details: retain the light palette outside this mode. */
html[data-journal-color-mode="dark"] body.journal-body .journal-home-topic-disclosure>summary{border-color:var(--journal-mode-link)}
html[data-journal-color-mode="dark"] body.journal-body .journal-home-topic-list li{border-color:var(--journal-mode-rule)}
html[data-journal-color-mode="dark"] body.journal-body .journal-home-topic-directory,
html[data-journal-color-mode="dark"] body.journal-body .journal-home-sidebar a:hover{color:var(--journal-mode-link)}
html[data-journal-color-mode="dark"] body.journal-body .journal-home-sidebar :is(a,summary):focus-visible{outline-color:var(--journal-mode-link)}
html[data-journal-color-mode="dark"] body.journal-body .journal-menu a[aria-current="page"]{border-color:var(--journal-mode-link)}
@media (max-width: 600px) {
  body.journal-body .journal-color-mode-toggle { width: 38px; height: 42px; flex-basis: 38px; }
}
/* Keep article text legible on paper and omit the interactive preference control. */
@media print {
  html[data-journal-color-mode="dark"] {
    color-scheme: light;
    --journal-mode-bg: #ffffff;
    --journal-mode-surface: #ffffff;
    --journal-mode-raised: #eeeeee;
    --journal-mode-text: #132a3b;
    --journal-mode-heading: #102131;
    --journal-mode-muted: #58646d;
    --journal-mode-link: #102f45;
    --journal-mode-rule: #89939b;
    --color-primary: #102f45;
    --color-primary-700: #102f45;
    --color-primary-900: #102131;
    --color-neutral: #132a3b;
    --color-background: #ffffff;
    --color-linen: #ffffff;
    --color-paper: #eeeeee;
    --color-ink-soft: #58646d;
  }
  html[data-journal-color-mode="dark"] body.journal-body .journal-logo-modes .journal-logo-mode-light { display: block; }
  html[data-journal-color-mode="dark"] body.journal-body .journal-logo-modes .journal-logo-mode-dark { display: none; }
  html[data-journal-color-mode] body.journal-body .journal-color-mode-toggle { display: none !important; }
}
