            :root { 
                --bg-color: #f1eff4; 
                --header-bg: #213568; 
                --card-bg: #ffffff;
                --card-hover-bg: #f8fafc;
                --border-color: #dfdbe2; 
                --border-subtle: #f1f5f9;
                --text-primary: #111827;
                --text-secondary: #4b5563;
                --text-muted: #6b7280;
                --theme-source-bg: #f1f5f9;
                --theme-card-bg: var(--card-bg);
                --theme-border: var(--border-color);
                --theme-heading: var(--text-primary);
                --theme-muted: var(--text-muted);
                --accent: #213568;
                --accent-bg: #213568;
                --accent-fg: #ffffff;
                --accent-soft: #eef1f7;
                --accent-line: #c3cddf;
                --surface-2: #f4f5f8;
                --surface-3: #ffffff;
                --hover-bg: #f1f3f7;
                --track: rgba(15, 23, 42, 0.10);
                --veil: rgba(241, 239, 244, 0.95);
                --alert-bg: #182235;
                --alert-line: #2b3648;
                --font-scale: 1.0;
                --reading-font-size: 18px;
            }
            
            /* 豆沙护眼绿全局主题 */
            [data-reader-theme="green"] {
                --bg-color: #e2ede2;
                --header-bg: #1e382b;
                --card-bg: #edf5ed;
                --card-hover-bg: #e4efe4;
                --border-color: #c4d6c4;
                --border-subtle: #dbeedd;
                --text-primary: #122818;
                --text-secondary: #2d4a34;
                --text-muted: #4e6b54;
                --theme-source-bg: #dbeedd;
                --accent: #1e382b;
                --accent-bg: #1e382b;
                --accent-fg: #ffffff;
                --accent-soft: #dbeedd;
                --accent-line: #b8ccb8;
                --surface-2: #e4efe4;
                --surface-3: #edf5ed;
                --hover-bg: #dbeedd;
                --track: #c4d6c4;
                --veil: rgba(226, 237, 226, 0.95);
                --alert-bg: #122818;
                --alert-line: #1e382b;
            }

            /* 羊皮纸暖黄全局主题 */
            [data-reader-theme="parchment"] {
                --bg-color: #f0e6d2;
                --header-bg: #3d2e22;
                --card-bg: #faf4e6;
                --card-hover-bg: #f2e8d4;
                --border-color: #ded0b4;
                --border-subtle: #ece0c6;
                --text-primary: #2d2215;
                --text-secondary: #544432;
                --text-muted: #73614d;
                --theme-source-bg: #ece0c6;
                --accent: #3d2e22;
                --accent-bg: #3d2e22;
                --accent-fg: #ffffff;
                --accent-soft: #ece0c6;
                --accent-line: #d4c4a6;
                --surface-2: #f2e8d4;
                --surface-3: #faf4e6;
                --hover-bg: #ece0c6;
                --track: #ded0b4;
                --veil: rgba(240, 230, 210, 0.95);
                --alert-bg: #2d2215;
                --alert-line: #3d2e22;
            }

            /* 雅致夜间深色全局主题 */
            [data-reader-theme="dark"] {
                --bg-color: #121417;
                --header-bg: #181b22;
                --card-bg: #1c2026;
                --card-hover-bg: #232830;
                --border-color: #2f3642;
                --border-subtle: #252b35;
                --text-primary: #e2e8f0;
                --text-secondary: #94a3b8;
                --text-muted: #64748b;
                --theme-source-bg: #282e37;
                --accent: #8ab4f8;
                --accent-bg: #2b3548;
                --accent-fg: #ffffff;
                --accent-soft: #232c3a;
                --accent-line: #3b4252;
                --surface-2: #232830;
                --surface-3: #16191f;
                --hover-bg: #282e38;
                --track: rgba(255, 255, 255, 0.12);
                --veil: rgba(18, 20, 23, 0.95);
                --alert-bg: #16191f;
                --alert-line: #2f3642;
            }

            body { 
                background-color: var(--bg-color) !important; 
                color: var(--text-primary) !important; 
                font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif; 
                overflow: hidden; 
                -webkit-text-size-adjust: 100%;
                text-rendering: optimizeLegibility;
                -webkit-tap-highlight-color: transparent;
                transition: background-color 0.25s ease, color 0.25s ease;
            }
            
            @media (max-width: 1023px) {
                body {
                    overflow-y: auto;
                    -webkit-overflow-scrolling: touch;
                }
            }
            
            .font-serif { 
                font-family: "Noto Serif CJK SC", "Songti SC", "SimSun", serif; 
            }
            
            .custom-scrollbar::-webkit-scrollbar { width: 6px; }
            .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
            .custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
            .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

            .no-scrollbar::-webkit-scrollbar { display: none; }
            .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
            
            /* 核心护眼全局卡片、背景与文字适配 */
            .bg-white, .bg-white\/95, .bg-white\/90 {
                background-color: var(--card-bg) !important;
                color: var(--text-primary) !important;
                transition: background-color 0.25s ease;
            }

            .bg-gray-50, .bg-gray-50\/70, .bg-slate-50 {
                background-color: var(--border-subtle) !important;
            }

            .bg-gray-100, .bg-gray-100\/80, .bg-gray-100\/90 {
                background-color: var(--theme-source-bg) !important;
            }

            .text-\[\#111\], .text-black, .text-gray-900 {
                color: var(--text-primary) !important;
            }

            .text-gray-600, .text-gray-700, .text-gray-800, .text-slate-600, .text-slate-700 {
                color: var(--text-secondary) !important;
            }

            .text-gray-300, .text-gray-400, .text-gray-500, .text-slate-400, .text-slate-500 {
                color: var(--text-muted) !important;
            }

            .border-\[\#dfdbe2\], .border-gray-100, .border-gray-200, .border-gray-300 {
                border-color: var(--border-color) !important;
            }

            .divide-gray-100 > :not([hidden]) ~ :not([hidden]),
            .divide-\[\#dfdbe2\] > :not([hidden]) ~ :not([hidden]) {
                border-color: var(--border-color) !important;
            }

            header {
                background-color: var(--header-bg) !important;
                transition: background-color 0.25s ease;
                overflow: visible;
            }

            /* 侧边栏与简讯护眼主题全局适配 */
            #mobile-scroll-wrapper, #main-scroll, #aside-scroll {
                background-color: var(--bg-color) !important;
                transition: background-color 0.25s ease, color 0.25s ease;
            }

            .flash-card-title, #sidebar-latest h4 {
                color: var(--text-primary) !important;
                font-size: calc(14px * var(--font-scale, 1.0)) !important;
                line-height: 1.4 !important;
                transition: color 0.25s ease;
            }

            #aside-flash-wrapper span {
                color: var(--text-primary) !important;
            }

            #sidebar-latest .text-gray-400 {
                color: var(--text-muted) !important;
            }

            #sidebar-latest .border-\[\#dfdbe2\], #sidebar-latest .border-b {
                border-color: var(--border-color) !important;
            }

            /* 悬停强调：全站只用品牌强调色，不再按主题各写一套 */
            .group:hover .feed-card-title,
            .group:hover .flash-card-title,
            .group:hover .trend-card-title,
            #sidebar-latest .group:hover h4 {
                color: var(--accent) !important;
            }
            .feed-card:hover { border-color: var(--accent) !important; }

            /* ── 主题化组件层：一套规则 + 令牌取值，取代此前四套重复覆盖 ── */
            :where([data-reader-theme="green"], [data-reader-theme="parchment"], [data-reader-theme="dark"])
            :is(#trend-modal, #article-modal, #scatter-modal, #storyline-modal,
                #events-feed-modal, #bursts-modal, #dossier-modal, #storylines-modal) {
                background-color: var(--veil) !important;
            }

            #events-feed-modal-box, #bursts-modal-box, #dossier-modal-box, #storylines-modal-box,
            #storyline-modal-box, #entity-graph-dialog, .dossier-theme-card, .events-chart-card,
            .events-feed-card, .storyline-milestone-card, .burst-item-card, .storylines-detail-container {
                background-color: var(--card-bg) !important;
                color: var(--text-primary) !important;
                border-color: var(--border-color) !important;
            }

            #events-chart-dashboard, .dossier-theme-subcard, .events-feed-subcard,
            .burst-item-header, .storyline-theme-card, #storyline-detail-header,
            .storylines-nav-container, .events-pill-container {
                background-color: var(--surface-2) !important;
                border-color: var(--border-color) !important;
                color: var(--text-primary) !important;
            }

            #intelligence-control-bar, #mobile-view-tabs {
                background-color: var(--surface-3) !important;
                border-color: var(--border-color) !important;
            }

            .dossier-theme-tag, .events-actor-badge, .storyline-theme-tag {
                background-color: var(--surface-2) !important;
                border-color: var(--border-color) !important;
                color: var(--text-secondary) !important;
            }

            .dossier-bar-track, .events-bar-track { background-color: var(--track) !important; }
            .burst-item-row:hover, .storyline-theme-card:hover { background-color: var(--hover-bg) !important; }

            .storylines-nav-header { background-color: var(--accent-bg) !important; color: var(--accent-fg) !important; }
            .events-pill-active { background-color: var(--accent-bg) !important; color: var(--accent-fg) !important; }
            .events-pill-inactive { color: var(--text-secondary) !important; }
            .events-pill-inactive:hover { color: var(--text-primary) !important; background-color: var(--hover-bg) !important; }

            .storyline-nav-card-active {
                background-color: var(--accent-soft) !important;
                border-color: var(--accent) !important;
                color: var(--text-primary) !important;
            }
            .storyline-nav-card-inactive {
                background-color: var(--card-bg) !important;
                border-color: var(--border-color) !important;
                color: var(--text-secondary) !important;
            }
            .storyline-nav-card-inactive:hover {
                border-color: var(--accent) !important;
                background-color: var(--hover-bg) !important;
            }

            .dossier-heading, .events-heading, .storyline-heading { color: var(--text-primary) !important; }
            .dossier-muted, .events-muted, .storyline-muted { color: var(--text-muted) !important; }
            #burst-alert-bar { background-color: var(--alert-bg) !important; border-bottom-color: var(--alert-line) !important; }


            /* 核心护眼排版 */
            .prose { 
                font-size: calc(17px * var(--font-scale, 1.0)); 
                line-height: 1.85 !important; 
                color: var(--text-secondary, #2d3748) !important; 
                word-break: break-word;
                letter-spacing: 0.02em;
                text-align: justify;
            }
            .prose p { margin-bottom: 1.25rem !important; margin-top: 0 !important; }
            .prose strong { font-weight: 700 !important; color: var(--text-primary, #0f172a) !important; }
            .prose ul { margin-top: 0.5rem !important; margin-bottom: 1.5rem !important; padding-left: 1.25rem !important; list-style-type: disc !important; }
            .prose a { color: #2563eb; text-decoration: none; }
            .prose a:hover { text-decoration: underline; }

            /* 全局字号缩放微调 */
            .feed-card-title {
                font-size: calc(16.5px * var(--font-scale, 1.0)) !important;
                line-height: 1.4 !important;
            }
            .feed-card-summary {
                font-size: calc(13.5px * var(--font-scale, 1.0)) !important;
                line-height: 1.65 !important;
            }
            .flash-card-title {
                font-size: calc(14px * var(--font-scale, 1.0)) !important;
                line-height: 1.4 !important;
            }
            .trend-card-title {
                font-size: calc(13.5px * var(--font-scale, 1.0)) !important;
                line-height: 1.4 !important;
            }

            .reader-box {
                background-color: var(--card-bg, #ffffff) !important;
                border-color: var(--border-color, #e2e8f0) !important;
                color: var(--text-secondary, #2d3748) !important;
                transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
            }
            .reader-container {
                background-color: var(--bg-color, #f1eff4) !important;
                transition: background-color 0.25s ease;
            }
            .reader-heading {
                color: var(--text-primary, #1a202c) !important;
            }

            @media (max-width: 640px) {
                .prose { 
                    font-size: calc(16px * var(--font-scale, 1.0)); 
                    line-height: 1.8 !important; 
                }
                .prose p { margin-bottom: 1.1rem !important; }
            }

            .timeline-section {
                margin-top: 30px;
                padding: 20px;
                background-color: var(--border-subtle, #f8f9fa);
                border-radius: 8px;
            }

            .timeline-header {
                display: flex;
                justify-content: space-between;
                align-items: center;
                margin-bottom: 20px;
            }

            .btn-timeline {
                padding: 8px 16px;
                background-color: #007bff;
                color: white;
                border: none;
                border-radius: 4px;
                cursor: pointer;
                font-size: 14px;
                transition: background-color 0.2s;
            }

            .btn-timeline:hover {
                background-color: #0056b3;
            }

            /* 核心时间线样式 */
            .timeline-container {
                position: relative;
                padding-left: 20px;
                border-left: 2px solid #dee2e6;
                margin-left: 10px;
            }

            .timeline-item {
                position: relative;
                margin-bottom: 25px;
            }

            .timeline-item:last-child {
                margin-bottom: 0;
            }

            .timeline-item::before {
                content: '';
                position: absolute;
                left: -26px;
                top: 5px;
                width: 10px;
                height: 10px;
                border-radius: 50%;
                background-color: #adb5bd;
                border: 2px solid white;
            }

            .timeline-item.current-node::before {
                background-color: #ff3b30;
                box-shadow: 0 0 0 3px rgba(255, 59, 48, 0.2);
            }

            .timeline-date {
                font-size: 12px;
                color: var(--text-muted, #6c757d);
                margin-bottom: 4px;
            }

            .timeline-title {
                font-size: 15px;
                margin: 0;
                line-height: 1.4;
            }

            .timeline-title a {
                color: var(--text-primary, #212529);
                text-decoration: none;
            }

            .timeline-title a:hover {
                color: #007bff;
                text-decoration: underline;
            }

            .timeline-item.current-node .timeline-title {
                font-weight: bold;
                color: #ff3b30;
            }

            @keyframes fadeInUp {
                from { opacity: 0; transform: translateY(16px); }
                to { opacity: 1; transform: translateY(0); }
            }
            .animate-fade-in-up {
                animation: fadeInUp 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            }
            /* 首屏加载遮罩：跟随主题令牌，无需逐主题复写 */
            #global-page-loader {
                background-color: var(--veil);
                backdrop-filter: blur(12px);
                -webkit-backdrop-filter: blur(12px);
                transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s ease-out;
            }
            #global-page-loader.page-loader-hidden {
                opacity: 0 !important;
                transform: scale(1.02);
                pointer-events: none !important;
            }
            #global-page-loader .page-loader-spinner {
                border: 3px solid var(--border-color);
                border-top-color: var(--accent);
            }
            #global-page-loader .page-loader-text { color: var(--text-muted); }
            #global-page-loader .page-loader-brand { color: var(--accent); }
            #loader-progress-bar { background-color: var(--accent); }

            #article-modal, #trend-modal { transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); }
        
        .hide-read-items .feed-card.opacity-60 { display: none !important; }

        /* 可视化多条件搜索 */
        #visual-search-wrap { position: relative; z-index: 70; overflow: visible; }
        .search-chip {
            display: inline-flex;
            align-items: center;
            gap: 3px;
            padding: 1px 7px 1px 8px;
            border-radius: 999px;
            font-size: 10px;
            font-weight: 700;
            line-height: 1.55;
            white-space: nowrap;
            max-width: 14rem;
        }
        .search-chip > span { overflow: hidden; text-overflow: ellipsis; }
        .search-chip-x {
            flex: none;
            width: 14px;
            height: 14px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 11px;
            line-height: 1;
            opacity: 0.75;
            cursor: pointer;
        }
        .search-chip-x:hover { opacity: 1; background: rgba(0,0,0,0.18); }
        .search-chip-and { background: rgba(59,130,246,0.28); color: #dbeafe; border: 1px solid rgba(147,197,253,0.4); }
        .search-chip-or { background: rgba(168,85,247,0.28); color: #f3e8ff; border: 1px solid rgba(216,180,254,0.42); }
        .search-chip-not { background: rgba(244,63,94,0.28); color: #ffe4e6; border: 1px solid rgba(253,164,175,0.45); }
        .search-chip-source { background: rgba(245,158,11,0.28); color: #fde68a; border: 1px solid rgba(252,211,77,0.42); }
        .search-chip-title { background: rgba(20,184,166,0.28); color: #ccfbf1; border: 1px solid rgba(94,234,212,0.42); }
        .search-chip-date { background: rgba(148,163,184,0.28); color: #e2e8f0; border: 1px solid rgba(203,213,225,0.4); }
        #search-builder-panel {
            position: absolute;
            right: 0;
            top: calc(100% + 8px);
            z-index: 200;
            width: min(36rem, calc(100vw - 2rem));
            max-height: min(70vh, 34rem);
            overflow-y: auto;
        }
        @media (max-width: 767px) {
            #search-builder-panel { left: 0; right: 0; width: 100%; }
        }
        .vs-field-label {
            display: block;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            margin-bottom: 4px;
            color: var(--text-muted, #6b7280);
        }
        .vs-field-input {
            width: 100%;
            font-size: 12px;
            border-radius: 4px;
            border: 1px solid var(--border-color, #dfdbe2);
            background: var(--theme-source-bg, #f1f5f9);
            color: var(--text-primary, #111827);
            padding: 6px 8px;
            outline: none;
        }
        .vs-field-input:focus { border-color: #6366f1; box-shadow: 0 0 0 2px rgba(99,102,241,0.18); }
        .vs-add-btn {
            flex: none;
            font-size: 11px;
            font-weight: 800;
            padding: 6px 10px;
            border-radius: 4px;
            background: var(--header-bg, #213568);
            color: #fff;
            cursor: pointer;
        }
        .vs-add-btn:hover { filter: brightness(1.08); }
        #btn-toggle-search-builder.is-open {
            background: rgba(255,255,255,0.28);
        }
        #events-feed-scroll { min-height: 0; }
        /* ── 组件基元：标签 / 轻按钮 / 序号（替代满屏彩色胶囊）── */
        .tag {
            display: inline-flex; align-items: center;
            padding: 0 4px; border: 1px solid var(--border-color); border-radius: 2px;
            font-size: calc(10px * var(--font-scale, 1.0)); font-weight: 500; line-height: 1.5;
            color: var(--text-muted); background: transparent; white-space: nowrap;
        }
        .tag-src { background: var(--theme-source-bg); border-color: transparent; color: var(--text-secondary); font-weight: 600; }
        .tag-zone { color: #b3261e; border-color: #e0bcb8; }
        .tag-pay { color: #8a6100; border-color: #ded0ac; }
        .tag-block { color: #9f1239; border-color: #e2bfc6; }
        [data-reader-theme="dark"] .tag-zone { color: #f08a80; border-color: #5a3a37; }
        [data-reader-theme="dark"] .tag-pay { color: #d9b168; border-color: #544728; }
        [data-reader-theme="dark"] .tag-block { color: #f0879c; border-color: #5a3340; }
        .meta-row { display: flex; align-items: center; gap: 6px; font-size: calc(10px * var(--font-scale, 1.0)); line-height: 1.6; color: var(--text-muted); }
        .btn-quiet {
            background: none; padding: 0; cursor: pointer;
            font-size: calc(10px * var(--font-scale, 1.0)); font-weight: 600; color: var(--text-muted);
            border: 0; border-bottom: 1px solid transparent;
        }
        .btn-quiet:hover { color: var(--accent); border-bottom-color: var(--accent); }
        .rank-num {
            flex: none; width: 16px; text-align: right;
            font: 600 11px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;
            color: var(--text-muted);
        }
        .rank-num.is-top { color: var(--accent); }
        .dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; flex: none; }

        /* 强调色工具类：全站单一强调色，收敛历史遗留的靛蓝/紫色调 */
        .text-accent { color: var(--accent) !important; }
        .hover\:text-accent:hover { color: var(--accent) !important; }
        .group:hover .group-hover\:text-accent { color: var(--accent) !important; }
        .bg-accent { background-color: var(--accent-bg) !important; color: var(--accent-fg) !important; }
        .hover\:bg-accent:hover { background-color: var(--accent-bg) !important; color: var(--accent-fg) !important; }
        .bg-accent-soft { background-color: var(--accent-soft) !important; }
        .hover\:bg-accent-soft:hover { background-color: var(--accent-soft) !important; }
        .border-accent { border-color: var(--accent) !important; }
        .border-accent-line { border-color: var(--accent-line) !important; }
        .hover\:border-accent:hover { border-color: var(--accent) !important; }
        .ring-accent { --tw-ring-color: var(--accent) !important; }

        /* 视觉降噪：信息流里的小投影与超粗字重只会制造毛刺 */
        .shadow-2xs, .shadow-xs, .shadow-sm { box-shadow: none !important; }
        .font-black { font-weight: 700 !important; }

        /* ===== 译文 / 媒体原文对照（文章模态框） ===== */
        .bi-hint { font-size: 11px; color: var(--theme-muted, #718096); border-left: 2px solid var(--theme-border, #e2e8f0); padding: 2px 0 2px 9px; margin: 0 0 14px; }
        /* touch-action 关掉本元素的双击缩放，否则手机上双击段落只会放大页面 */
        .bi-p { position: relative; border-radius: 3px; margin-bottom: 1.15em; touch-action: manipulation; -webkit-tap-highlight-color: transparent; transition: background-color .15s ease, box-shadow .15s ease; }
        @media (hover: hover) and (pointer: fine) {
            .bi-p:hover { background-color: var(--card-hover-bg, #f8fafc); box-shadow: -8px 0 0 0 var(--card-hover-bg, #f8fafc), 8px 0 0 0 var(--card-hover-bg, #f8fafc); }
        }
        .bi-p:active { background-color: var(--card-hover-bg, #f8fafc); }
        .bi-p > .bi-zh > *:first-child, .bi-p > .bi-en > *:first-child { margin-top: 0; }
        .bi-p > .bi-zh > *:last-child, .bi-p > .bi-en > *:last-child { margin-bottom: 0; }
        .bi-zh { display: block; }
        .bi-en { display: none; font-family: Georgia, "Times New Roman", serif; color: var(--theme-muted, #4a5568); text-align: left; }
        .bi-p.is-flipped > .bi-zh { display: none; }
        .bi-p.is-flipped > .bi-en { display: block; }
        .has-bilingual.is-original .bi-p:not(.is-flipped) > .bi-zh { display: none; }
        .has-bilingual.is-original .bi-p:not(.is-flipped) > .bi-en { display: block; }
        /* 整页原文态下翻转某段 → 切回译文（缺这两条则翻转无视觉变化） */
        .has-bilingual.is-original .bi-p.is-flipped > .bi-zh { display: block; }
        .has-bilingual.is-original .bi-p.is-flipped > .bi-en { display: none; }
        .reader-heading > .bi-en { display: none; }
        .reader-heading.is-original > .bi-zh { display: none; }
        .reader-heading.is-original > .bi-en { display: block; font-family: Georgia, "Times New Roman", serif; }
