/* Pharos Archive — dark mode component overrides */

[data-theme="dark"] .arc-body {
    background:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(124, 108, 240, 0.14), transparent),
        radial-gradient(ellipse 60% 40% at 100% 0%, rgba(240, 180, 41, 0.08), transparent),
        var(--aexp-bg-tertiary);
}

[data-theme="dark"] .arc-app {
    background: var(--aexp-bg-tertiary);
}

[data-theme="dark"] .arc-bg-echo {
    opacity: 0.45;
}

[data-theme="dark"] .arc-login-container .arc-bg-echo {
    opacity: 0.62;
}

[data-theme="dark"] .arc-stats-banner {
    background: var(--arc-surface);
    border-color: var(--arc-border);
    color: var(--aexp-text-primary);
}

[data-theme="dark"] .arc-page-title,
[data-theme="dark"] .arc-panel-title,
[data-theme="dark"] .arc-action-title {
    color: var(--arc-heading);
}

[data-theme="dark"] .arc-feature-list,
[data-theme="dark"] .arc-filter-row label {
    color: var(--arc-body-text);
}

[data-theme="dark"] .arc-panel,
[data-theme="dark"] .arc-action-card {
    background: var(--arc-surface);
    border-color: var(--arc-border);
    box-shadow: var(--arc-elevation-1);
}

[data-theme="dark"] .arc-action-card:hover {
    border-color: rgba(156, 184, 232, 0.4);
    box-shadow: var(--arc-elevation-2);
}

[data-theme="dark"] .arc-pagination {
    border-bottom-color: var(--arc-border);
}

[data-theme="dark"] .arc-pagination a {
    background: var(--arc-surface-muted);
    border-color: var(--arc-border);
    color: var(--aexp-primary);
}

[data-theme="dark"] .arc-pagination a:hover {
    background: var(--arc-surface-hover);
}

[data-theme="dark"] .arc-footer {
    background: var(--arc-footer-bg);
    border-top-color: var(--arc-border);
    box-shadow: 0 -4px 20px var(--arc-shadow-color);
}

[data-theme="dark"] .arc-lang-btn {
    background: var(--arc-surface);
    border-color: var(--arc-border);
}

[data-theme="dark"] .arc-lang-btn:hover {
    border-color: var(--aexp-primary);
}

[data-theme="dark"] .arc-lang-btn.active {
    background: var(--arc-surface-hover);
    border-color: var(--aexp-primary);
}

/* Search */
[data-theme="dark"] .arc-search-input,
[data-theme="dark"] .arc-search-select,
[data-theme="dark"] .arc-search-field .select2-container--default .select2-selection--single,
[data-theme="dark"] .arc-search-field .select2-container--default .select2-selection--multiple {
    background: var(--arc-input-bg);
    border-color: var(--arc-input-border);
    color: var(--aexp-text-primary);
}

[data-theme="dark"] .arc-search-label,
[data-theme="dark"] .arc-search-results-meta,
[data-theme="dark"] .arc-search-results-meta-note {
    color: var(--aexp-text-secondary);
}

[data-theme="dark"] .arc-search-advanced {
    background: var(--arc-surface-muted);
    border-color: var(--arc-border);
}

[data-theme="dark"] .arc-search-section + .arc-search-section {
    border-top-color: var(--arc-border);
}

[data-theme="dark"] .arc-btn--secondary,
[data-theme="dark"] .arc-btn-secondary {
    background: var(--arc-surface-muted);
    color: var(--arc-body-text);
    border-color: var(--arc-border-strong);
}

[data-theme="dark"] .arc-btn--secondary:hover,
[data-theme="dark"] .arc-btn-secondary:hover {
    background: var(--arc-surface-hover);
    color: var(--arc-heading);
}

[data-theme="dark"] .arc-btn--primary:hover,
[data-theme="dark"] .arc-btn-primary:hover {
    background: var(--aexp-primary-light);
}

[data-theme="dark"] .arc-btn--danger,
[data-theme="dark"] .arc-btn-danger {
    background: #e35d4a;
    color: #fff;
}

[data-theme="dark"] .arc-btn--danger:hover,
[data-theme="dark"] .arc-btn-danger:hover {
    background: #f07160;
}

[data-theme="dark"] .arc-search-alert {
    background: var(--arc-surface-subtle);
    color: var(--arc-body-text);
}

[data-theme="dark"] .arc-search-alert--error {
    background: rgba(248, 113, 113, 0.12);
    color: #fca5a5;
    border-color: rgba(248, 113, 113, 0.35);
}

[data-theme="dark"] .arc-search-result {
    background: var(--arc-surface);
    border-color: var(--arc-border);
}

[data-theme="dark"] .arc-search-result-subtitle,
[data-theme="dark"] .arc-search-result-meta,
[data-theme="dark"] .arc-search-result-rubric,
[data-theme="dark"] .arc-search-result-preview,
[data-theme="dark"] .arc-search-result-duplicate-meta {
    color: var(--aexp-text-secondary);
}

[data-theme="dark"] .arc-search-result-duplicates {
    border-color: var(--arc-border);
    background: var(--arc-surface-muted);
}

[data-theme="dark"] .arc-badge {
    background: rgba(94, 179, 232, 0.15);
    color: #9dd4f5;
}

[data-theme="dark"] .arc-badge--muted {
    background: var(--arc-surface-subtle);
    color: var(--aexp-text-secondary);
}

[data-theme="dark"] .arc-search-result-subtitle {
    color: var(--aexp-text-secondary);
}

[data-theme="dark"] .arc-search-operator-btn {
    background: var(--arc-surface-muted);
    border-color: var(--arc-border-strong);
    color: var(--aexp-text-secondary);
}

[data-theme="dark"] .arc-search-operator-btn:hover,
[data-theme="dark"] .arc-search-operator-btn.active {
    background: var(--arc-surface-hover);
    color: var(--arc-heading);
}

[data-theme="dark"] .select2-container--default .select2-results__option {
    background: var(--arc-surface);
    color: var(--aexp-text-primary);
}

[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--aexp-primary-light);
    color: #fff;
}

[data-theme="dark"] .select2-dropdown {
    background: var(--arc-surface);
    border-color: var(--arc-border);
}

[data-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--arc-input-bg);
    border-color: var(--arc-input-border);
    color: var(--aexp-text-primary);
}

/* Edition browser */
[data-theme="dark"] .arc-browser-workspace .browserContainer,
[data-theme="dark"] .arc-browser-workspace .browserWrapper {
    color: var(--aexp-text-primary);
}

[data-theme="dark"] .arc-browser-workspace .browserContainer {
    background: var(--arc-surface);
    border-color: var(--arc-border);
}

[data-theme="dark"] .arc-browser-workspace .browserSidebar {
    background: var(--arc-surface-muted);
    border-right-color: var(--arc-border);
}

[data-theme="dark"] .arc-browser-workspace .browserMain {
    background: var(--arc-surface);
}

[data-theme="dark"] .selectorLabel,
[data-theme="dark"] .calendarLabel {
    color: var(--arc-heading);
}

[data-theme="dark"] .selectorBox,
[data-theme="dark"] .calendarMonthYearSelect,
[data-theme="dark"] #pageSelector,
[data-theme="dark"] .pageSelector {
    background: var(--arc-input-bg) !important;
    border-color: var(--arc-input-border) !important;
    color: var(--aexp-text-primary) !important;
}

[data-theme="dark"] .selectorBox:hover,
[data-theme="dark"] .selectorBox:focus,
[data-theme="dark"] .calendarMonthYearSelect:hover,
[data-theme="dark"] .calendarMonthYearSelect:focus {
    border-color: var(--aexp-primary);
    box-shadow: 0 0 0 3px rgba(156, 184, 232, 0.18);
}

[data-theme="dark"] .calendarContainer {
    background: var(--arc-surface);
    border-color: var(--arc-border);
}

[data-theme="dark"] .calendarMonth {
    color: var(--aexp-primary);
}

[data-theme="dark"] .calendarWeekday {
    color: var(--aexp-text-secondary);
}

[data-theme="dark"] .calendarDay {
    background: var(--arc-surface-subtle);
    color: var(--aexp-text-muted);
}

[data-theme="dark"] .calendarDay.available {
    background: rgba(94, 179, 232, 0.14);
    color: var(--aexp-primary);
}

[data-theme="dark"] .calendarDay.available:hover {
    background: rgba(240, 180, 41, 0.22);
    color: var(--aexp-accent-light);
}

[data-theme="dark"] .calendarDay.selected {
    background: var(--aexp-primary-light);
    color: #fff;
}

[data-theme="dark"] .calendarDay.today {
    border-color: var(--aexp-accent);
}

[data-theme="dark"] .calendarNav {
    background: var(--aexp-primary-light);
}

[data-theme="dark"] .calendarNav:hover {
    background: var(--aexp-secondary);
}

[data-theme="dark"] .pageViewer {
    background: var(--arc-surface-subtle);
    border-color: var(--arc-border);
}

[data-theme="dark"] .pageArticlesBelow {
    background: var(--arc-surface);
    border-color: var(--arc-border);
}

[data-theme="dark"] .pageArticlesBelow h3 {
    color: var(--aexp-primary);
}

[data-theme="dark"] .pageArticlesBelow li {
    border-top-color: var(--arc-border);
}

[data-theme="dark"] .pageArticlesBelow button.pageArticleLink {
    color: var(--aexp-primary);
}

[data-theme="dark"] .pageArticlesBelow button.pageArticleLink:hover,
[data-theme="dark"] .pageArticlesBelow button.pageArticleLink:focus {
    color: var(--aexp-primary-dark);
}

[data-theme="dark"] .pageArticlesBelow button.pageArticleLink.is-hovered {
    background: rgba(240, 180, 41, 0.14);
}

[data-theme="dark"] .pageNumber,
[data-theme="dark"] .loadingSpinner {
    color: var(--aexp-primary);
}

[data-theme="dark"] .loadingSpinner.editionLoadingOverlay {
    background: rgba(10, 14, 21, 0.92);
}

[data-theme="dark"] .pageBtn {
    background: var(--aexp-primary-light);
}

[data-theme="dark"] .pageBtn:hover {
    background: var(--aexp-secondary);
}

[data-theme="dark"] .pageBtn:disabled {
    background: var(--arc-border-strong);
    color: var(--aexp-text-muted);
}

[data-theme="dark"] .pageViewer.is-page-loading::before {
    border-color: var(--arc-border-strong);
    border-top-color: var(--aexp-primary);
}

[data-theme="dark"] .arc-edition-info {
    background: rgba(94, 179, 232, 0.1);
    border-color: rgba(94, 179, 232, 0.25);
    color: var(--aexp-text-primary);
}

[data-theme="dark"] .articleModalContent {
    background: var(--arc-surface);
    border-color: var(--arc-border);
    box-shadow: var(--arc-elevation-3);
}

[data-theme="dark"] .articleViewTabs {
    background: var(--arc-surface-muted);
    border-bottom-color: var(--arc-border);
}

[data-theme="dark"] .articleTab {
    background: var(--arc-surface);
    border-color: var(--arc-border-strong);
    color: var(--arc-body-text);
}

[data-theme="dark"] .articleTab:hover {
    background: var(--arc-surface-hover);
    border-color: var(--aexp-primary);
    color: var(--arc-heading);
}

[data-theme="dark"] .articleTab.active {
    background: var(--aexp-primary-light);
    border-color: var(--aexp-primary-light);
    color: #fff;
}

[data-theme="dark"] .articleViewPane {
    border-right-color: var(--arc-border);
}

/* Text view — dark surface with light gray typography */
[data-theme="dark"] #xmlViewPane {
    background: var(--arc-surface-muted);
}

[data-theme="dark"] .xmlViewer {
    background: var(--arc-surface);
    color: #c5cedd;
}

[data-theme="dark"] .xmlViewer .article-headline,
[data-theme="dark"] .xmlViewer .article-full-headline,
[data-theme="dark"] .xmlViewer h1,
[data-theme="dark"] .xmlViewer .article-full-subhead,
[data-theme="dark"] .xmlViewer .article-subhead,
[data-theme="dark"] .xmlViewer h2,
[data-theme="dark"] .xmlViewer h3,
[data-theme="dark"] .xmlViewer div.masthead-section {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .xmlViewer .article-full-byline,
[data-theme="dark"] .xmlViewer div.articleImageCredit,
[data-theme="dark"] .xmlViewer div.masthead {
    color: #a6b1c4 !important;
}

[data-theme="dark"] .xmlViewer p,
[data-theme="dark"] .xmlViewer li,
[data-theme="dark"] .xmlViewer .article-full-body,
[data-theme="dark"] .xmlViewer .article-full-lead,
[data-theme="dark"] .xmlViewer span,
[data-theme="dark"] .xmlViewer div {
    color: #c5cedd !important;
}

[data-theme="dark"] .xmlViewer a {
    color: var(--aexp-primary) !important;
}

[data-theme="dark"] .xmlViewer .article-callout,
[data-theme="dark"] .xmlViewer .article-boxout,
[data-theme="dark"] .xmlViewer .recipe {
    background-color: var(--arc-surface-subtle) !important;
    color: #c5cedd !important;
    border-left-color: var(--aexp-primary-light) !important;
    border-top-color: var(--aexp-primary-light) !important;
}

[data-theme="dark"] .xmlViewer strong,
[data-theme="dark"] .xmlViewer b,
[data-theme="dark"] .xmlViewer .ld_bold {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .articleModalClose {
    background: rgba(255, 255, 255, 0.94);
    border-color: transparent;
    color: var(--aexp-primary-dark, #111a30);
}

[data-theme="dark"] .articleModalClose:hover {
    background: #fff;
    border-color: transparent;
    color: var(--aexp-primary-dark, #111a30);
}

[data-theme="dark"] #pageViewPane {
    background: var(--arc-surface-subtle);
}

[data-theme="dark"] #pageThumbnailSidebar {
    background: var(--arc-surface-muted);
    border-right-color: var(--arc-border);
}

[data-theme="dark"] .pageThumbnail {
    background: var(--arc-surface);
}

[data-theme="dark"] .pageThumbnailLabel {
    color: var(--aexp-primary);
}

[data-theme="dark"] #kbTocTable.noteTable {
    background: var(--arc-surface) !important;
}

/* Modals */
[data-theme="dark"] .arc-modal-overlay {
    background: var(--arc-overlay);
}

[data-theme="dark"] .arc-modal {
    background: var(--arc-surface);
    box-shadow: 0 20px 40px var(--arc-shadow-color);
}

[data-theme="dark"] .arc-modal-body,
[data-theme="dark"] .arc-modal-footer {
    background: var(--arc-surface);
    color: var(--aexp-text-primary);
    border-color: var(--arc-border);
}

[data-theme="dark"] .arc-modal-footer {
    border-top: 1px solid var(--arc-border);
}

[data-theme="dark"] .arc-article-modal-meta,
[data-theme="dark"] .arc-article-modal-body {
    color: var(--aexp-text-primary);
}

[data-theme="dark"] .arc-article-modal-meta dt {
    color: var(--aexp-text-secondary);
}

/* Login */
[data-theme="dark"] .arc-login-box {
    background: rgba(23, 30, 43, 0.94);
    border-color: var(--arc-border);
    box-shadow: 0 24px 64px var(--arc-shadow-color);
}

[data-theme="dark"] .arc-login-title,
[data-theme="dark"] .arc-login-title .arc-brand-archive {
    color: var(--arc-heading);
    -webkit-text-fill-color: var(--arc-heading);
}

[data-theme="dark"] .arc-login-mark {
    color: var(--aexp-accent-light);
}

[data-theme="dark"] .arc-login-subtitle {
    color: var(--aexp-text-secondary);
}

[data-theme="dark"] .arc-login-form-label {
    color: var(--arc-body-text);
}

[data-theme="dark"] .arc-login-form-input {
    background: var(--arc-input-bg);
    border-color: var(--arc-input-border);
    color: var(--aexp-text-primary);
}

[data-theme="dark"] .arc-login-form-input:focus {
    border-color: var(--aexp-primary);
    box-shadow: 0 0 0 3px rgba(156, 184, 232, 0.2);
}

[data-theme="dark"] .arc-login-error {
    background: rgba(248, 113, 113, 0.12);
    color: #fca5a5;
    border-color: rgba(248, 113, 113, 0.35);
}

[data-theme="dark"] .arc-login-lang-bar {
    border-top-color: var(--arc-border);
}

/* Chat (Archie) */
[data-theme="dark"] .arc-chat-sidebar {
    border-right-color: var(--arc-border);
}

[data-theme="dark"] .arc-chat-sidebar-section + .arc-chat-sidebar-section {
    border-top-color: var(--arc-border);
}

[data-theme="dark"] .arc-chat-session-item {
    color: var(--aexp-text-primary);
}

[data-theme="dark"] .arc-chat-session-item:hover,
[data-theme="dark"] .arc-chat-session-item.active {
    background: rgba(124, 108, 240, 0.16);
}

[data-theme="dark"] .arc-chat-message--assistant {
    background: var(--arc-surface-muted);
    border-color: var(--arc-border);
}

[data-theme="dark"] .arc-chat-message--user {
    background: rgba(124, 108, 240, 0.2);
    border-color: rgba(124, 108, 240, 0.3);
}

[data-theme="dark"] .arc-chat-md-heading {
    color: var(--arc-heading);
}

[data-theme="dark"] .arc-chat-input {
    background: var(--arc-input-bg);
    border-color: var(--arc-input-border);
    color: var(--aexp-text-primary);
}

[data-theme="dark"] .arc-chat-preset-field select {
    background: var(--arc-input-bg);
    border-color: var(--arc-input-border);
    color: var(--aexp-text-primary);
}

[data-theme="dark"] .arc-chat-form {
    border-top-color: var(--arc-border);
}

[data-theme="dark"] .arc-chat-sources {
    border-top-color: var(--arc-border);
}

[data-theme="dark"] .arc-chat-status--warn {
    background: rgba(240, 180, 41, 0.1);
    border-color: rgba(240, 180, 41, 0.28);
}

[data-theme="dark"] .arc-data-table thead {
    background: var(--arc-surface-subtle);
}

[data-theme="dark"] .arc-data-table th {
    color: var(--aexp-text-secondary);
    border-bottom-color: var(--arc-border);
}

[data-theme="dark"] .arc-data-table td {
    color: var(--aexp-text-primary);
    border-bottom-color: var(--arc-border);
}

[data-theme="dark"] .arc-data-table tbody tr:hover {
    background: var(--arc-surface-hover);
}

/* Help / misc panels */
[data-theme="dark"] .arc-help-nav-link {
    color: var(--aexp-text-secondary);
}

[data-theme="dark"] .arc-help-nav-link:hover,
[data-theme="dark"] .arc-help-nav-link.active {
    background: var(--arc-surface-hover);
    color: var(--arc-heading);
}

[data-theme="dark"] .arc-help-content code,
[data-theme="dark"] .arc-api-key-copy-row code {
    background: var(--arc-code-bg);
    border-color: var(--arc-border);
    color: var(--aexp-text-primary);
}

[data-theme="dark"] .arc-alert-warning {
    background: rgba(240, 180, 41, 0.1);
    border-color: rgba(240, 180, 41, 0.28);
    color: #fcd34d;
}

.arc-login-theme-toggle {
    position: fixed;
    top: 16px;
    right: 16px;
    z-index: 10;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
    color: var(--arc-header-link);
    cursor: pointer;
    backdrop-filter: blur(6px);
}

.arc-login-theme-toggle:hover {
    background: rgba(255, 255, 255, 0.18);
    color: var(--arc-header-link-hover);
}

.arc-login-theme-toggle .material-symbols-outlined,
.arc-login-theme-toggle .arc-theme-icon {
    color: currentColor;
}

[data-theme="dark"] .arc-login-theme-toggle {
    background: rgba(23, 30, 43, 0.75);
    border-color: var(--arc-border);
    color: var(--arc-header-link);
}

[data-theme="dark"] .arc-login-theme-toggle:hover {
    color: var(--arc-header-link-hover);
}
