/* Shared theme for every page. Page styles load first; these rules resolve
   the older pages that still contain fixed light or dark colors. */
html:has(body.dark-mode) {
    background: #0d1420 !important;
    color-scheme: dark;
}

body.dark-mode {
    --suki-ink: #edf3fc;
    --suki-muted: #aebdd1;
    --suki-panel: #192536;
    --panel-bg: #192536;
    --panel-border: 1px solid #34445a;
    --panel-shadow: 0 16px 36px rgba(0, 0, 0, .22);
    --text-body: #d4e0ef;
    --text-muted: #adbed2;
    --text-heading: #f2f6fd;
    --input-bg: #111d2d;
    --input-border: 1px solid #43536a;
    --input-color: #f1f6fd;
    color: #e5edf8;
    background: radial-gradient(circle at 75% 12%, #192c43, transparent 35%), #0d1420 !important;
    color-scheme: dark;
}

body.dark-mode .site-header,
body.dark-mode .site-footer,
body.dark-mode .footer-panel-topbar {
    color: #edf3fc;
    background: rgba(17, 28, 43, .96);
    border-color: #34445a;
}

body.dark-mode .footer-panel-shell { background: #0d1420; color: #e5edf8; }
body.dark-mode .logo,
body.dark-mode .footer-brand,
body.dark-mode .footer-panel-title { color: #f2f6fd; }
body.dark-mode .footer-link-btn,
body.dark-mode .footer-panel-close { color: #c0cee0; }
body.dark-mode .header-menu-dropdown,
body.dark-mode .header-notification-dropdown,
body.dark-mode .header-language-dropdown,
body.dark-mode .header-search-popover {
    color: #edf3fc;
    background: #172437;
    border-color: #3a4b61;
}
body.dark-mode .header-menu-dropdown::before { background: #172437; border-color: #3a4b61; }
body.dark-mode .header-menu-summary,
body.dark-mode .header-icon-btn,
body.dark-mode .header-notification-summary,
body.dark-mode .header-menu-link,
body.dark-mode .header-menu-button {
    color: #edf3fc;
    background: #223147;
    border-color: #40516a;
}
body.dark-mode .header-menu-link:hover,
body.dark-mode .header-menu-button:hover,
body.dark-mode .header-icon-btn:hover,
body.dark-mode .header-menu-summary:hover { background: #30435d; color: #fff; }
body.dark-mode .header-actions > .header-icon-btn:first-child::before { color: #bcc9d9; }
body.dark-mode :is(.notification-dropdown-head, .notification-dropdown-item,
    .notification-dropdown-empty, .header-language-native) { color: #e5edf8; }
body.dark-mode :is(.notification-dropdown-item, .notification-dropdown-empty) {
    background: #223147;
    border-color: #40516a;
}
body.dark-mode .notification-dropdown-item small { color: #b5c5d8; }
body.dark-mode .header-menu-link.is-primary,
body.dark-mode .header-menu-button.is-primary { color: #fff; background: #ff4d4d; border-color: #ff4d4d; box-shadow: none; }
body.dark-mode :is(.footer-panel-container h2, .footer-contact-card h3) { color: #f2f6fd; }
body.dark-mode :is(.footer-panel-container p, .footer-contact-card p) { color: #c0cee0; }
body.dark-mode .footer-contact-card { background: #192536; border-color: #34445a; }
body.dark-mode .footer-panel-kicker,
body.dark-mode .footer-link-btn:hover { color: #8bd4ff; }
body.dark-mode .footer-legal-item,
body.dark-mode .footer-objective-card,
body.dark-mode .footer-objective-card--next {
    background: #192536;
    border-color: #40536a;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
}
body.dark-mode .footer-objective-card--current {
    background: linear-gradient(135deg, #1b3b51, #192536 65%);
    border-color: #3a829d;
}
body.dark-mode .footer-legal-label { color: #f2f6fd; }
body.dark-mode .footer-panel-container .footer-legal-item p,
body.dark-mode .footer-panel-container .footer-objective-card p { color: #c0cee0; }
body.dark-mode .footer-objective-card strong {
    background: #294961;
    color: #e5f4ff;
}
body.dark-mode .footer-objective-card--current strong {
    background: #8bd4ff;
    color: #10213d;
}
body.dark-mode .footer-objective-status {
    background: #30435b;
    color: #e5edf8;
}
body.dark-mode .footer-objective-card--current .footer-objective-status {
    background: #284f60;
    color: #c5f1ff;
}
body.dark-mode .footer-legal-contact-btn {
    background: #8bd4ff;
    color: #10213d;
}
body.dark-mode .footer-legal-contact-btn:hover { background: #b7e7ff; }
body.dark-mode .alternate-title-remove:hover {
    border-color: #ff9da5;
    color: #ff9da5;
}
body.dark-mode .footer-panel-close-btn {
    background: #39232e;
    border-color: #a64b57;
    color: #ff9da5;
}
body.dark-mode .footer-panel-close-btn:hover {
    background: #b92e32;
    border-color: #b92e32;
    color: #fff;
}
body.dark-mode .footer-link-btn:focus-visible,
body.dark-mode .footer-panel-close-btn:focus-visible,
body.dark-mode .footer-contact-card--link:focus-visible,
body.dark-mode .footer-legal-contact-btn:focus-visible { outline-color: #8bd4ff; }
body.dark-mode .catalog-chat-panel { background: #192536; border-color: #34445a; }
body.dark-mode :is(.catalog-chat-head h2, .catalog-chat-panel h3) { color: #f2f6fd; }
body.dark-mode :is(.catalog-chat-notice, .catalog-chat-feedback,
    .catalog-chat-messages, .catalog-chat-resize-handle) {
    color: #d5e1ef;
    background: #111d2d;
    border-color: #34445a;
}
body.dark-mode :is(.catalog-chat-window-btn, .catalog-chat-panel input,
    .catalog-chat-panel textarea, .catalog-chat-panel select) {
    color: #edf3fc;
    background: #111d2d;
    border-color: #43536a;
}

/* Form controls and shared cards. */
body.dark-mode :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
    color: #f0f5fc;
    background-color: #111d2d;
    border-color: #43536a;
}
body.dark-mode :is(input, textarea)::placeholder { color: #aab9cb; opacity: 1; }
body.dark-mode :is(.panel, .notification-page-item, .page-header) {
    color: #e5edf8;
    background: #192536;
    border-color: #34445a;
}
body.dark-mode .notifications-page h1,
body.dark-mode .notification-page-item strong { color: #f2f6fd; }
body.dark-mode .notification-page-item span,
body.dark-mode .notification-page-item small,
body.dark-mode .notification-empty-page { color: #b5c5d8; }

/* Light theme for the older dark-only pages. */
body:not(.dark-mode) :is(.auth-card, .project-create-group-card, .project-create-main-card,
    .project-create-sidebar-card, .project-create-page-card, .author-card,
    .admin-reports-header, .admin-report-filters, .admin-report-card, .admin-report-empty,
    .comments-shell, .comment-modal, .comment-thread-modal,
    .publication-show-main, .publication-show-hero, .publication-show-panel) {
    color: #182a43;
    background: #fff;
    border: 1px solid #dce5ef;
    box-shadow: 0 12px 32px rgba(39, 67, 104, .09);
}
body:not(.dark-mode) :is(.project-create-fixed-source, .additional-author-row,
    .additional-author-card, .additional-author-mode-card, .author-mini-card,
    .author-claim-card, .author-note, .publication-show-info-card,
    .publication-show-credit-card, .publication-show-list-box,
    .publication-show-chapter-link, .publication-show-meta-grid,
    .publication-show-language-tab, .publication-show-genre-chip,
    .admin-moderation-user-list a, .admin-report-text, .comment-card,
    .comment-reply-card, .comment-form, .comment-login-box, .comment-edit-form,
    .comment-deleted-box, .comment-thread-head, .comment-thread-loading,
    .chapter-preview-card, .chapter-upload-box, .chapter-preview-wrap) {
    color: #233954;
    background: #f5f8fc;
    border-color: #dce5ef;
}
body:not(.dark-mode) :is(.project-create-field input, .project-create-field select,
    .project-create-page-position input, .author-field input, .author-field select,
    .author-field textarea, .author-admin-actions textarea, .auth-card .form-group input,
    .admin-report-filters input, .admin-report-filters select,
    .admin-report-review select, .admin-report-review textarea,
    .comment-form textarea, .comment-reply-form textarea,
    .comment-select-label select, .comment-modal-reason textarea,
    .comment-edit-inline textarea, .publication-show-list-select) {
    color: #182a43;
    background: #fff;
    border-color: #c8d5e5;
}
body:not(.dark-mode) :is(.project-create-secondary-btn, .project-create-link-btn,
    .project-create-page-index, .project-create-page-position button,
    .author-secondary-btn, .publication-show-start-btn,
    .publication-show-link-row a, .publication-show-list-remove-btn,
    .comment-vote, .comment-mini-btn, .comment-modal-cancel,
    .comment-reply-toggle summary) {
    color: #233954;
    background: #eaf0f7;
    border-color: #cedae9;
}
body:not(.dark-mode) :is(.auth-card h1, .auth-card h2,
    .project-create-main-card h1, .project-create-main-card h2,
    .project-create-main-card h3, .project-create-sidebar-card h2,
    .project-create-group-card strong, .author-header h1,
    .author-card h2, .author-mini-card h3, .author-claim-card h3,
    .publication-show-title, .publication-show-section h2,
    .publication-show-credit-name, .publication-show-social-title,
    .comments-head h2, .comment-author, .admin-reports-header h1,
    .admin-report-card h2) { color: #14263f; }
body:not(.dark-mode) :is(.auth-card p, .auth-card label,
    .project-create-group-label, .project-create-description,
    .project-create-main-card p, .project-create-sidebar-card p,
    .project-create-field label, .author-header p, .author-mini-card p,
    .author-claim-card p, .author-empty, .author-field label,
    .publication-show-subtitle, .publication-show-synopsis,
    .publication-show-credit-role, .publication-show-credit-bio,
    .publication-show-source-line, .publication-show-empty,
    .publication-show-section-head span, .comments-count,
    .comment-login-box, .admin-reports-header p,
    .admin-reports-header span, .admin-report-grid dt,
    .admin-report-text span, .admin-report-actions span) { color: #52647d; }
body:not(.dark-mode) .publication-show-meta-grid { color: #233954; }
body:not(.dark-mode) .publication-show-chapter-link { color: #233954; }

body:not(.dark-mode) .publication-show-chapter-main strong {
    color: #14263f;
}
body:not(.dark-mode) .publication-show-chapter-main small {
    color: #52647d;
}
body:not(.dark-mode) .chapter-unread-label {
    color: #233954;
    background: #eaf0f7;
    border-color: #cedae9;
}
body:not(.dark-mode) .chapter-read-label {
    color: #52647d;
    background: #eaf0f7;
}

/* Dark mode chapter read/unread labels - better contrast */
body.dark-mode .chapter-unread-label {
    color: #e5edf8;
    background: rgba(255, 255, 255, 0.1);
}
body.dark-mode .chapter-read-label {
    color: #c5c8cf;
    background: rgba(255, 255, 255, 0.12);
}

body:not(.dark-mode) .publication-show-credit-status {
    color: #233954;
    background: #eaf0f7;
    border-color: #cedae9;
}
body:not(.dark-mode) .publication-show-credit-status.is-verified {
    color: #157347;
    background: #d9f2e9;
    border-color: #a8e6c9;
}

body:not(.dark-mode) .publication-show-list-box strong {
    color: #14263f;
}
body:not(.dark-mode) .publication-show-list-box p {
    color: #52647d;
}
body:not(.dark-mode) .publication-show-list-select {
    color: #182a43;
    background: #fff;
    border-color: #c8d5e5;
}
body:not(.dark-mode) .publication-show-list-favorite-btn {
    color: #a8323b;
    background: #fff;
    border-color: #dce5ef;
}
body:not(.dark-mode) .publication-show-list-favorite-btn:hover {
    background: #fceced;
    border-color: #f5b7b7;
}
body:not(.dark-mode) .publication-show-list-favorite-btn.is-active {
    color: #b8860b;
    background: #fffbe6;
    border-color: #ffe066;
}

body:not(.dark-mode) .author-status { background: #eaf0f7; color: #233954; }
body:not(.dark-mode) .project-create-alert.error,
body:not(.dark-mode) .author-alert.error,
body:not(.dark-mode) .comment-error-box,
body:not(.dark-mode) .admin-report-alert-error { color: #9b2633; }
body:not(.dark-mode) .author-alert.warning { color: #805b11; }
body:not(.dark-mode) .admin-report-alert { color: #126040; }
body:not(.dark-mode) .comment-modal-backdrop { background: rgba(16, 31, 50, .62); }
body:not(.dark-mode) .comments-kicker { color: #a8323b; }
body:not(.dark-mode) .comments-count { color: #52647d; }
body:not(.dark-mode) .comment-topline strong { color: #14263f; }
body:not(.dark-mode) .comment-topline span { color: #52647d; }
body:not(.dark-mode) .comment-body,
body:not(.dark-mode) .comment-spoiler p { color: #233954; }
body:not(.dark-mode) .comment-spoiler { background: #f5f8fc; border-color: #dce5ef; }
body:not(.dark-mode) .comment-spoiler summary { color: #a8323b; }
body:not(.dark-mode) .comment-select-label { color: #52647d; }
body:not(.dark-mode) .comment-select-label select { color: #182a43; background: #fff; border-color: #c8d5e5; }
body:not(.dark-mode) .comment-check { color: #52647d; }
body:not(.dark-mode) .comment-vote { color: #233954; background: #eaf0f7; border-color: #cedae9; }
body:not(.dark-mode) .comment-vote:hover,
body:not(.dark-mode) .comment-vote.is-active { background: #dceaf6; border-color: #a8c8e8; color: #14263f; }
body:not(.dark-mode) .comment-vote-down.is-active { background: #e5e5e5; border-color: #d0d0d0; color: #333; }
body:not(.dark-mode) .comment-reply-toggle summary { color: #233954; background: #eaf0f7; border-color: #cedae9; }
body:not(.dark-mode) .comment-reply-toggle summary:hover { background: #dceaf6; }
body:not(.dark-mode) .comment-mini-btn { color: #233954; background: #eaf0f7; border-color: #cedae9; }
body:not(.dark-mode) .comment-mini-btn:hover { background: #dceaf6; border-color: #a8c8e8; }
body:not(.dark-mode) .comment-mini-btn.danger { color: #a8323b; border-color: #f5b7b7; background: #fff; }
body:not(.dark-mode) .comment-mini-btn.danger:hover { background: #fceced; border-color: #f5b7b7; }
body:not(.dark-mode) .comment-deleted-box { background: #f5f8fc; border-color: #dce5ef; color: #52647d; }
body:not(.dark-mode) .comment-deleted-box span { color: #8a9bb8; }
body:not(.dark-mode) .comments-empty { background: #f5f8fc; border-color: #dce5ef; color: #52647d; }
body:not(.dark-mode) .comment-thread-head { background: #f5f8fc; border-color: #dce5ef; }
body:not(.dark-mode) .comment-thread-subtitle { color: #52647d; }
body:not(.dark-mode) .comment-thread-loading { background: #f5f8fc; border-color: #dce5ef; color: #52647d; }
body:not(.dark-mode) .comment-thread-close { background: #eaf0f7; border-color: #cedae9; color: #233954; }
body:not(.dark-mode) .comment-thread-close:hover { background: #dceaf6; }
body:not(.dark-mode) .comment-replies { border-color: #dce5ef; }
body:not(.dark-mode) .comment-edit-inline textarea { color: #182a43; background: #fff; border-color: #c8d5e5; }

body:not(.dark-mode) .auth-links a:hover { color: #a8323b; }
body:not(.dark-mode) .auth-note { color: #52647d; }
body:not(.dark-mode) .auth-error { color: #a22e3d; }
body:not(.dark-mode) .auth-status { color: #126040; }
body:not(.dark-mode) .report-inline-box summary {
    color: #a22e3d;
    background: #fff;
    border-color: #d7a8ad;
}
body:not(.dark-mode) .report-inline-form {
    color: #233954;
    background: #fff;
    border-color: #dce5ef;
}
body:not(.dark-mode) :is(.report-inline-form label, .catalog-chat-report-card label) {
    color: #52647d;
}
body:not(.dark-mode) .popular-section h2,
body:not(.dark-mode) .latest-section h2 { color: #14263f; }
body:not(.dark-mode) .publication-card { color: #233954; background: #fff; }
body:not(.dark-mode) .publication-card h3 { color: #14263f; }
body:not(.dark-mode) .sm-error-card {
    color: #233954;
    background: #fff;
    border-color: #dce5ef;
    box-shadow: 0 12px 32px rgba(39, 67, 104, .09);
}
body:not(.dark-mode) .sm-error-title { color: #14263f; }
body:not(.dark-mode) .sm-error-message { color: #52647d; }

body:not(.dark-mode) :is(.admin-featured-page, .admin-title-edit-page) { background: transparent; }
body:not(.dark-mode) :is(.admin-featured-head, .admin-featured-card,
    .admin-featured-item, .admin-title-edit-card) {
    color: #233954;
    background: #fff;
    border-color: #dce5ef;
    box-shadow: 0 12px 32px rgba(39, 67, 104, .09);
}
body:not(.dark-mode) :is(.admin-featured-shell,
    .admin-featured-head h1, .admin-featured-card h2,
    .admin-title-edit-header h1, .admin-title-edit-card h2) { color: #14263f; }
body:not(.dark-mode) :is(.admin-featured-head p,
    .admin-featured-card-title p, .admin-featured-field small,
    .admin-title-edit-header p, .admin-title-edit-section-header p) { color: #52647d; }
body:not(.dark-mode) :is(.admin-featured-source-row,
    .admin-featured-manual-create, .admin-featured-order-li,
    .admin-title-edit-cover-drop-zone, .admin-title-edit-radio-card,
    .admin-title-edit-check, .admin-title-edit-genre-check,
    .admin-additional-author-card, .admin-title-edit-cover-preview,
    .admin-title-edit-cover, .admin-featured-dropzone) {
    color: #233954;
    background: #f5f8fc;
    border-color: #dce5ef;
}
body:not(.dark-mode) .admin-title-edit-card :is(input, select, textarea),
body:not(.dark-mode) .admin-featured-card :is(input, select, textarea) {
    color: #182a43;
    background: #fff;
    border-color: #c8d5e5;
}
body:not(.dark-mode) .admin-title-edit-secondary {
    color: #233954;
    background: #eaf0f7;
    border-color: #dce5ef;
}
body:not(.dark-mode) .admin-title-edit-sidebar-card {
    color: #233954;
    background: #fff;
    border-color: #dce5ef;
}
body:not(.dark-mode) .admin-title-edit-genre-check:has(input:checked),
body:not(.dark-mode) .admin-title-edit-radio-card:has(input:checked) {
    background: #fceced;
    border-color: #b8323a;
}

/* Catalog and pages originally designed for a pale background. */
body.dark-mode :is(.catalog-panel, .suki-card, .catalog-discovery-author,
    .catalog-latest-filter-tab, .catalog-latest-filter-chip,
    .catalog-latest-filter-reset, .catalog-updates-back,
    .catalog-updates-pagination a, .catalog-updates-pagination span,
    .catalog-empty-state, .catalog-action-button,
    .suki-card-placeholder .suki-card-body, .suki-card-read) {
    color: #e5edf8;
    background: #192536;
    border-color: #34445a;
}
body.dark-mode :is(.catalog-panel h1, .catalog-panel h2, .catalog-panel h3,
    .suki-card h2, .suki-card h3, .catalog-updates-page h1) { color: #f2f6fd; }
body.dark-mode :is(.catalog-panel p, .catalog-panel small,
    .suki-card p, .suki-card small) { color: #b5c5d8; }
body.dark-mode :is(.catalog-latest-filter-tab.is-active,
    .catalog-latest-filter-chip.is-selected,
    .catalog-latest-filter-reset.is-selected) {
    color: #fff;
    background: rgba(255, 77, 77, .14);
    border-color: #ff4d4d;
}
body.dark-mode .suki-card-cover::after { background: linear-gradient(transparent, rgba(0,0,0,.72)); }
body.dark-mode .catalog-side-note,
body.dark-mode .catalog-anime-title .dark {
    color: #f2f6fd;
    -webkit-text-stroke-color: #f2f6fd;
}
body.catalog-page.dark-mode .catalog-hex-field {
    opacity: .58;
}
body.catalog-page.dark-mode .catalog-hex-field span {
    background: rgba(158, 195, 230, .14);
    filter: drop-shadow(0 0 1px rgba(184, 217, 246, .24));
    opacity: .55;
}
body.catalog-page.dark-mode .catalog-hex-field span::after {
    background: rgba(13, 25, 42, .28);
}
body.catalog-page.dark-mode .catalog-romcom-subtitle {
    color: #e7eef9;
    font-weight: 700;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .3);
}
body.catalog-page.dark-mode .catalog-romcom-subtitle-accent {
    color: #ff79ad;
}
body.catalog-page.dark-mode .catalog-update-icon {
    color: #ff79ad;
    background: #26374c;
    border-color: rgba(255, 255, 255, .82);
}
body.catalog-page.dark-mode .catalog-update-icon::before {
    color: inherit;
}
body.dark-mode .suki-card-cover,
body.dark-mode .suki-card-placeholder .suki-card-cover-empty { background: #25374d; }
body.dark-mode :is(.recent-activity-page .recent-activity-back,
    .recent-activity-page .recent-activity-panel,
    .recent-activity-page .recent-activity-item,
    .recent-activity-page .recent-activity-empty,
    .recent-activity-page .recent-activity-pagination a,
    .recent-activity-page .recent-activity-pagination span) {
    color: #e5edf8;
    background: #192536;
    border-color: #34445a;
}
body.dark-mode :is(.recent-activity-page h1, .recent-activity-page h2,
    .recent-activity-page .recent-activity-item strong) { color: #f2f6fd; }
body.dark-mode .recent-activity-page .recent-activity-meta { color: #b5c5d8; }

/* Dark mode for compact activity feed in catalog panel (home page) */
body.dark-mode .catalog-activity-panel .recent-activity-feed--compact {
    border-color: rgba(255, 255, 255, 0.08);
}
body.dark-mode .catalog-activity-panel .recent-activity-item {
    border-color: rgba(255, 255, 255, 0.06);
}
body.dark-mode .catalog-activity-panel .recent-activity-avatar {
    border-color: rgba(255, 77, 125, 0.25);
    background: rgba(255, 77, 125, 0.12);
    color: #ff79ad;
}
body.dark-mode .catalog-activity-panel .recent-activity-main {
    color: #e5edf8;
}
body.dark-mode .catalog-activity-panel .recent-activity-main strong {
    color: #f2f6fd;
}
body.dark-mode .catalog-activity-panel .recent-activity-credit {
    color: #9aa3b2;
}
body.dark-mode .catalog-activity-panel .recent-activity-meta {
    color: #9aa3b2;
}
body.dark-mode .catalog-activity-panel .recent-activity-meta a {
    color: #ff79ad;
}
body.dark-mode .catalog-activity-panel .recent-activity-empty {
    color: #9aa3b2;
}

body.dark-mode :is(.publication-create-page, .project-create-page,
    .author-page, .notifications-page) { color: #e5edf8; }
body.dark-mode :is(.publication-create-page h1, .publication-create-page h2,
    .publication-create-page h3, .project-create-header h1,
    .author-header h1) { color: #f2f6fd; }
body.dark-mode :is(.publication-create-page p, .project-create-description,
    .author-header p) { color: #b5c5d8; }
body.dark-mode :is(.publication-create-page .author-mode-option,
    .publication-create-page .genre-checkbox-item,
    .publication-create-page .cover-drop-zone) {
    color: #e5edf8;
    background: #111d2d;
    border-color: #43536a;
}
body.dark-mode :is(.publication-create-page .genre-checkbox-item:hover,
    .publication-create-page .cover-drop-zone:hover) { background: #263850; }

/* Reader controls and supporting cards match the selected mode. */
body:not(.dark-mode) :is(.reader-header, .reader-page-strip,
    .advanced-reader) {
    color: #182a43;
    background: #fff;
    border-color: #dce5ef;
}
body:not(.dark-mode) :is(.reader-nav-button,
    .advanced-reader__status,
    .advanced-reader__toggle, .advanced-reader__actions button) {
    color: #233954;
    background: #eaf0f7;
    border-color: #cedae9;
}
body:not(.dark-mode) .reader-title { color: #182a43; }
body:not(.dark-mode) .reader-chapter-name,
body:not(.dark-mode) .reader-progress-summary { color: #52647d; }
body:not(.dark-mode) .reader-nav-button:not(:disabled):hover {
    color: #182a43;
    background: #dce9f4;
    border-color: #a8c8e8;
}
body:not(.dark-mode) .reader-nav-button:disabled {
    color: #8190a3;
    background: #f1f4f8;
    opacity: .7;
}
body:not(.dark-mode) :is(.advanced-reader__field select,
    .advanced-reader__input-wrap) {
    color: #182a43;
    background: #fff;
    border-color: #c8d5e5;
}
body:not(.dark-mode) .advanced-reader[data-position="side"][data-collapsed="true"] {
    color: #182a43;
    background: rgba(255, 255, 255, .96);
    border-color: #c8d5e5;
    box-shadow: 0 8px 20px rgba(24, 42, 67, .16);
}
body:not(.dark-mode) .advanced-reader__title svg,
body:not(.dark-mode) .advanced-reader__toggle-title svg { color: #187b68; }
body:not(.dark-mode) .advanced-reader__reveal {
    color: #233954;
    background: #eaf0f7;
    border-color: #c8d5e5;
}
body:not(.dark-mode) .advanced-reader__reveal:hover,
body:not(.dark-mode) .advanced-reader__reveal:focus-visible {
    background: #d9f2e9;
    outline-color: #187b68;
}
body:not(.dark-mode) .advanced-reader[data-active="true"] .advanced-reader__status { color: #176b59; }
body:not(.dark-mode) .advanced-reader__toggle-copy small,
body:not(.dark-mode) .advanced-reader__input-wrap small,
body:not(.dark-mode) .advanced-reader__hint { color: #52677e; }
body:not(.dark-mode) .advanced-reader__group-title { color: #4d6077; }
body:not(.dark-mode) .advanced-reader__field-title { color: #253a52; }
body:not(.dark-mode) .advanced-reader__field-title svg { color: #587087; }
body:not(.dark-mode) .advanced-reader__field select { color-scheme: light; accent-color: #187b68; }
body:not(.dark-mode) .advanced-reader__field select option { color: #182a43; background: #fff; }
body:not(.dark-mode) .advanced-reader__input-wrap input { color: #182a43; }
body:not(.dark-mode) .advanced-reader__input-wrap:focus-within,
body:not(.dark-mode) .advanced-reader__field select:focus-visible,
body:not(.dark-mode) .advanced-reader__actions button:focus-visible,
body:not(.dark-mode) .advanced-reader__toggle:has(input:focus-visible) { outline-color: #187b68; }
body:not(.dark-mode) .advanced-reader__actions { border-top-color: #d3dfeb; }
body:not(.dark-mode) .advanced-reader__actions button:hover { background: #dce9f4; }
@supports (appearance: base-select) {
    body:not(.dark-mode) .advanced-reader__field select::picker(select) {
        color: #182a43;
        background: #fff;
        border-color: #c8d5e5;
        box-shadow: 0 14px 28px rgba(24, 42, 67, .18);
    }
    body:not(.dark-mode) .advanced-reader__field select option { color: #182a43; }
    body:not(.dark-mode) .advanced-reader__field select option:hover,
    body:not(.dark-mode) .advanced-reader__field select option:focus-visible { background: #eaf0f7; }
    body:not(.dark-mode) .advanced-reader__field select option:checked { background: #d9f2e9; }
    body:not(.dark-mode) .advanced-reader__field select option::checkmark,
    body:not(.dark-mode) .advanced-reader__field select::picker-icon { color: #187b68; }
}

/* Form pages use the old dark palette in CSS loaded after app.css. */
body.dark-mode :is(.auth-card, .project-create-group-card,
    .project-create-main-card, .project-create-sidebar-card,
    .author-card, .admin-reports-header, .admin-report-filters,
    .admin-report-card, .comments-shell, .comment-modal,
    .comment-thread-modal) { border-color: #3a4b61; }
body.dark-mode :is(.project-create-header h1, .author-header h1) { color: #f2f6fd; }
body.dark-mode :is(.project-create-description, .author-header p) { color: #b5c5d8; }
body.user-panel-page.dark-mode .panel-header h1 { color: #f2f6fd; }
body.user-panel-page.dark-mode .panel-header p { color: #b5c5d8; }
body.dark-mode .admin-title-edit-header h1 { color: #f2f6fd; }
body.dark-mode .admin-title-edit-header p { color: #b5c5d8; }

@media (prefers-reduced-motion: reduce) {
    body.dark-mode *, body:not(.dark-mode) * { scroll-behavior: auto; }
}

/* Preserve solid navigation buttons; give selected filters a soft red tint. */
body.dark-mode :is(.header-menu-link.is-primary, .header-menu-button.is-primary):is(:hover, :focus-visible) {
    background: #ff3939;
    border-color: #ff3939;
}
body.dark-mode :is(.catalog-latest-filter-tab.is-active,
    .catalog-latest-filter-chip.is-selected,
    .catalog-latest-filter-reset.is-selected) {
    box-shadow: inset 0 0 0 1px rgba(255, 77, 77, .12);
}
body.dark-mode :is(.catalog-latest-filter-tab.is-active,
    .catalog-latest-filter-chip.is-selected,
    .catalog-latest-filter-reset.is-selected):is(:hover, :focus-visible) {
    background: rgba(255, 77, 77, .24);
    border-color: #ff4d4d;
}
body.dark-mode :is(.catalog-latest-filter-tab,
    .catalog-latest-filter-chip, .catalog-latest-filter-reset):focus-visible {
    outline: 2px solid #ff4d4d;
    outline-offset: 3px;
}
