/**
 * dark.css — KBNX Dark Mode Token Overrides
 *
 * Activated via prefers-color-scheme: dark media query.
 * Overrides base.css token values for dark mode appearance.
 *
 * Two namespaces are mirrored here so the cascade lights up both surfaces:
 *   - Legacy bridge tokens (--kbnx-color-bg/fg/surface/border/muted/link*) used
 *     by the older partials in assets/src/public/styles/00-base-core.css and
 *     05-base-extensions.css.
 *   - Wave 2 semantic tokens (--kbnx-color-text-*, -surface-*, -accent-*,
 *     -border-*) used by the newer partials and any block consuming
 *     kbnx-tokens.css. PHASE-QA-T10 (QA-024 close): without these the dark
 *     mode produced a half-themed render where the doc-shell hero, breadcrumbs,
 *     KB grid, result cards, and popular-tags stayed light. The selector-level
 *     overrides for elements that hardcode colors live alongside the legacy
 *     ones in assets/src/public/styles/60-dark-overrides.css.
 */

@media (prefers-color-scheme: dark) {
    :root {
        /* === Global Overrides (legacy bridge namespace) === */
        --kbnx-color-bg: #1a1a1a;
        --kbnx-color-fg: #e0e0e0;
        --kbnx-color-surface: #2a2a2a;
        --kbnx-color-border: #444444;
        --kbnx-color-muted: #999999;
        --kbnx-color-link: #6fa8dc;
        --kbnx-color-link-hover: #8fc4f0;
        --kbnx-color-link-visited: #b39ddb;

        /* === Wave 2 semantic tokens (PHASE-QA-T10 / QA-024) === */
        --kbnx-color-text-primary: #e0e0e0;
        --kbnx-color-text-secondary: #c0c0c0;
        --kbnx-color-text-muted: #999999;
        --kbnx-color-text-inverse: #1a1a1a;
        --kbnx-color-text-link: #6fa8dc;
        --kbnx-color-text-link-hover: #8fc4f0;
        --kbnx-color-text-disabled: #666666;
        --kbnx-color-surface-alt: #242424;
        --kbnx-color-surface-raised: #2e2e2e;
        --kbnx-color-surface-sunken: #1f1f1f;
        --kbnx-color-surface-hover: #333333;
        --kbnx-color-surface-selected: #3a3a3a;
        --kbnx-color-accent: #6fa8dc;
        --kbnx-color-accent-hover: #8fc4f0;
        --kbnx-color-accent-soft: #1e3a4d;
        --kbnx-color-info: #6fa8dc;
        --kbnx-color-info-soft: #1e3a4d;
        --kbnx-color-border-subtle: #3a3a3a;
        --kbnx-color-border-default: #555555;
        --kbnx-color-border-strong: #6e6e6e;

        /* === FAQ Block Tokens === */
        --kbnx-faq-border: #444444;
        --kbnx-faq-bg-expanded: #2a2a2a;
        --kbnx-faq-icon-color: #bbbbbb;
        --kbnx-faq-question-color: #e0e0e0;
        --kbnx-faq-answer-color: #cccccc;

        /* === Code Snippet Block Tokens === */
        --kbnx-code-bg: #1e1e1e;
        --kbnx-code-fg: #d4d4d4;
        --kbnx-code-line-highlight: rgba(255, 255, 0, 0.05);
        --kbnx-code-border: #444444;
        --kbnx-code-header-bg: #2d2d2d;
        --kbnx-code-copy-bg: transparent;
        --kbnx-code-copy-hover: #444444;

        /* === Notice Block Tokens === */
        --kbnx-notice-info-bg: #0d2137;
        --kbnx-notice-info-border: #42a5f5;
        --kbnx-notice-info-icon: #64b5f6;
        --kbnx-notice-info-fg: #bbdefb;

        --kbnx-notice-warning-bg: #3e2723;
        --kbnx-notice-warning-border: #ffb74d;
        --kbnx-notice-warning-icon: #ffcc80;
        --kbnx-notice-warning-fg: #ffe0b2;

        --kbnx-notice-error-bg: #3e0000;
        --kbnx-notice-error-border: #ef5350;
        --kbnx-notice-error-icon: #ef9a9a;
        --kbnx-notice-error-fg: #ffcdd2;

        --kbnx-notice-success-bg: #0a290a;
        --kbnx-notice-success-border: #66bb6a;
        --kbnx-notice-success-icon: #81c784;
        --kbnx-notice-success-fg: #c8e6c9;

        /* === Social Share Block Tokens === */
        --kbnx-share-icon-color: #bbbbbb;
        --kbnx-share-icon-hover: #ffffff;

        /* === Reading Progress Block Tokens === */
        --kbnx-progress-bg: transparent;
    }
}
