/* ============================================================ Halo Dark Mode — 第三方插件页面覆盖 针对用户服务器上已安装插件的内部 UI 残留。 ⚠️ 这些插件使用 Vue scoped 样式 ([data-v-xxx]), 需用 !important 才能稳定覆盖。 ============================================================ */ [data-halo-theme="dark"] { /* ===== 装备管理插件 (halo-plugin-equipments) ===== */ .equipments .group, .equipment-group .group, main .group { background-color: var(--halo-bg-card) !important; border-color: var(--halo-border-base) !important; color: var(--halo-text-primary) !important; } .equipment-card, .equipment-card__name, .equipment-card__desc, [class*="equipment"] { color: var(--halo-text-primary) !important; } /* ===== 日程日历插件 (plugin-calendar) ===== */ .week-picker { background-color: var(--halo-bg-card) !important; border-color: var(--halo-border-base) !important; } .week-picker select, .week-picker input, .week-picker button { background-color: var(--halo-bg-input) !important; color: var(--halo-text-primary) !important; border-color: var(--halo-border-input) !important; } .day-column__body { background-color: var(--halo-bg-content) !important; border-color: var(--halo-border-light) !important; } .day-column, .calendar-column, [class*="day-column"] { background-color: var(--halo-bg-card) !important; color: var(--halo-text-primary) !important; } [class*="calendar"] th, [class*="calendar"] td { color: var(--halo-text-primary) !important; border-color: var(--halo-border-base) !important; } /* ===== 心愿便签插件 (plugin-wishboard) ===== */ .ah-body { background-color: var(--halo-bg-card) !important; color: var(--halo-text-primary) !important; } .wb-s-card { background-color: var(--halo-bg-card) !important; color: var(--halo-text-primary) !important; border-color: var(--halo-border-base) !important; } .wb-s-card-title { color: var(--halo-text-primary) !important; } .wb-s-card-count { color: var(--halo-accent-primary) !important; } .wb-s-list, .wb-s-list-item, [class*="wb-s-"] { color: var(--halo-text-primary) !important; } /* ===== 瞬间插件 (plugin-moments) ===== */ .moment-editor, .editor-main, .moment-editor .card, .editor-main .card { background-color: var(--halo-bg-card) !important; color: var(--halo-text-primary) !important; border-color: var(--halo-border-base) !important; } .moments-content .card, .moments-content .preview, .moment-preview, .moment-card, [class*="moment-"] .card { background-color: var(--halo-bg-card) !important; color: var(--halo-text-primary) !important; } .moment-author-name, .moment-content, .moment-time, [class*="moment"] p, [class*="moment"] span, [class*="moment"] div { color: var(--halo-text-primary) !important; } .moment-editor input, .moment-editor textarea, .editor-main input, .editor-main textarea { background-color: var(--halo-bg-input) !important; color: var(--halo-text-primary) !important; border-color: var(--halo-border-input) !important; } /* ===== 抽奖插件 (plugin-lottery) ===== */ [class*="lottery"] { color: var(--halo-text-primary) !important; } /* ===== 存储工具箱 (plugin-storage-toolkit) ===== */ .toolkit-wrapper, .st-scope { background-color: var(--halo-bg-content) !important; color: var(--halo-text-primary) !important; } .st-pill-tabs, .stat-card.st-card, .panel-card.st-card, .st-card { background-color: var(--halo-bg-card) !important; color: var(--halo-text-primary) !important; border-color: var(--halo-border-base) !important; } .st-card h3, .st-card h4, .st-card p, .st-card span, .st-card li, [class*="st-"] .title, [class*="st-"] .name { color: var(--halo-text-primary) !important; } [class*="st-"] { color: var(--halo-text-primary) !important; } /* ===== 应用市场已安装 (Halo 内置 app-store) ===== */ .tabbar-wrapper, .tabbar-outline, [class*="tabbar"] { background-color: var(--halo-bg-hover) !important; color: var(--halo-text-primary) !important; border-color: var(--halo-border-base) !important; } .tabbar-item, [class*="tabbar"] a, [class*="tabbar"] span { color: var(--halo-text-primary) !important; } .tabbar-item:hover, [class*="tabbar"] a:hover { background-color: var(--halo-bg-active) !important; color: var(--halo-text-primary) !important; } /* 已安装应用页的筛选和卡片 */ .app-card, .app-card-header, .app-card-body, [class*="app-card"] { background-color: var(--halo-bg-card) !important; color: var(--halo-text-primary) !important; border-color: var(--halo-border-base) !important; } .app-card .title, .app-card .name, .app-card .desc, [class*="app-card"] h3, [class*="app-card"] p { color: var(--halo-text-primary) !important; } /* ===== 文档/示例页面 (docs__box) ===== */ .docs__box { background-color: var(--halo-bg-card) !important; color: var(--halo-text-primary) !important; border-color: var(--halo-border-base) !important; } .docs__box h3, .docs__box h4, .docs__box p, .docs__box li, .docs__box a { color: var(--halo-text-primary) !important; } .docs__box a:hover { color: var(--halo-text-link) !important; } /* ===== 通用:任何插件页面的亮色卡片兜底 ===== */ main .bg-gray-50, main .bg-gray-100, main .bg-gray-200 { background-color: var(--halo-bg-hover) !important; } main .bg-white { background-color: var(--halo-bg-card) !important; } /* ===== 应用卡片内筛选 tab(UnoCSS hash 类,用上下文定位) ===== */ .card-wrapper .card-header [class*="i-"], .card-header [class*="i-"], .card-wrapper .card-body [class*="i-"], .card-body [class*="i-"], [class*="app-card"] [class*="i-"] { background-color: var(--halo-bg-hover) !important; color: var(--halo-text-primary) !important; } .card-wrapper .card-header [class*="i-"]:hover, .card-header [class*="i-"]:hover, .card-wrapper .card-body [class*="i-"]:hover, .card-body [class*="i-"]:hover { background-color: var(--halo-bg-active) !important; color: var(--halo-text-primary) !important; } /* ===== 存储工具箱表格表头 (col-*) ===== */ .col-name, .col-count, .col-size, .col-percent, [class*="col-"] { background-color: var(--halo-table-header-bg) !important; color: var(--halo-text-secondary) !important; } /* ===== 侧边栏用户资料(Halo Pro 特有) ===== */ .sidebar__profile .user-profile { background-color: transparent !important; } .user-profile__name { color: var(--halo-text-primary) !important; } .user-profile__roles .tag-default, .user-profile__roles .tag-wrapper { background-color: var(--halo-bg-hover) !important; color: var(--halo-text-secondary) !important; } .user-profile__action-button { color: var(--halo-text-secondary) !important; background-color: transparent !important; } .user-profile__action-button:hover { background-color: var(--halo-bg-hover) !important; color: var(--halo-text-primary) !important; } } /* ===== AstraHub / 心愿便签(共用 ah-* UI) ===== */ html[data-halo-theme="dark"] .ah-card, html[data-halo-theme="dark"] .ah-topbar, html[data-halo-theme="dark"] .ah-topbar-search, html[data-halo-theme="dark"] .ah-float-nav { background-color: var(--halo-bg-card) !important; border-color: var(--halo-border-base) !important; color: var(--halo-text-primary) !important; } html[data-halo-theme="dark"] .ah-topbar-search { background-color: var(--halo-bg-input) !important; } html[data-halo-theme="dark"] .ah-topbar-brand, html[data-halo-theme="dark"] .planet-hero-title { color: var(--halo-text-primary) !important; } html[data-halo-theme="dark"] .ah-topbar-search input { background-color: transparent !important; color: var(--halo-text-primary) !important; } html[data-halo-theme="dark"] .planet-links-more { background-color: var(--halo-bg-card) !important; color: var(--halo-text-secondary) !important; } /* ===== RSS 订阅(links/rss) ===== */ html[data-halo-theme="dark"] .subscription-panel, html[data-halo-theme="dark"] .feed-main, html[data-halo-theme="dark"] .feed-toolbar, html[data-halo-theme="dark"] .feed-stream, html[data-halo-theme="dark"] .feed-stream__footer { background-color: var(--halo-bg-card) !important; border-color: var(--halo-border-base) !important; color: var(--halo-text-primary) !important; } html[data-halo-theme="dark"] .feed-status-tabs { background-color: var(--halo-bg-hover) !important; color: var(--halo-text-secondary) !important; } html[data-halo-theme="dark"] .feed-brief__title, html[data-halo-theme="dark"] .feed-stream p, html[data-halo-theme="dark"] .feed-stream a, html[data-halo-theme="dark"] .subscription-panel a, html[data-halo-theme="dark"] .subscription-panel span { color: var(--halo-text-primary) !important; } /* ===== 私密文章插件 ===== */ html[data-halo-theme="dark"] .focus-card, html[data-halo-theme="dark"] .overview-card, html[data-halo-theme="dark"] .list-card, html[data-halo-theme="dark"] .empty-state { background-color: var(--halo-bg-card) !important; border-color: var(--halo-border-base) !important; color: var(--halo-text-primary) !important; } html[data-halo-theme="dark"] .overview-card h2, html[data-halo-theme="dark"] .page-shell h2, html[data-halo-theme="dark"] .overview-stats dd, html[data-halo-theme="dark"] .overview-stats dt { color: var(--halo-text-primary) !important; } /* ===== AI 评论自动处理插件 ===== */ html[data-halo-theme="dark"] .settings-container, html[data-halo-theme="dark"] .setting-panel, html[data-halo-theme="dark"] .tabs-wrap, html[data-halo-theme="dark"] .sidebar-card, html[data-halo-theme="dark"] .list-empty, html[data-halo-theme="dark"] .reply-card { background-color: var(--halo-bg-card) !important; border-color: var(--halo-border-base) !important; color: var(--halo-text-primary) !important; } html[data-halo-theme="dark"] .form-row, html[data-halo-theme="dark"] .list-col, html[data-halo-theme="dark"] .panel-header, html[data-halo-theme="dark"] .card-footer { background-color: var(--halo-bg-hover) !important; color: var(--halo-text-primary) !important; } html[data-halo-theme="dark"] .section-header__text h3, html[data-halo-theme="dark"] .sidebar-header h4, html[data-halo-theme="dark"] .panel-header h3, html[data-halo-theme="dark"] .reply-card h3 { color: var(--halo-text-primary) !important; } html[data-halo-theme="dark"] .wake-word-tag { background-color: var(--halo-bg-hover) !important; color: var(--halo-text-secondary) !important; } /* ===== 数据工坊 / 代码注入器等工具页语义容器 ===== */ html[data-halo-theme="dark"] .data-studio-card-body, html[data-halo-theme="dark"] .injector-view-card-body, html[data-halo-theme="dark"] .injector-editor-container { background-color: var(--halo-bg-card) !important; border-color: var(--halo-border-base) !important; color: var(--halo-text-primary) !important; } /* ===== 示例插件页 ===== */ html[data-halo-theme="dark"] main section#plugin-starter { background-color: var(--halo-bg-body) !important; color: var(--halo-text-primary) !important; } /* ===== 友链卡片徽章 ===== */ html[data-halo-theme="dark"] .link-badge { background-color: var(--halo-bg-hover) !important; color: var(--halo-text-primary) !important; border-color: var(--halo-border-base) !important; } /* ===== 日程日历插件(time-column 布局) ===== */ html[data-halo-theme="dark"] .time-column__header, html[data-halo-theme="dark"] .time-column__body, html[data-halo-theme="dark"] [class*="time-column"] { background-color: var(--halo-bg-card) !important; color: var(--halo-text-primary) !important; border-color: var(--halo-border-base) !important; } html[data-halo-theme="dark"] .entry-card-header__title { color: var(--halo-text-primary) !important; } /* ===== 存储工具箱补充类 ===== */ html[data-halo-theme="dark"] .stat-value, html[data-halo-theme="dark"] .stat-card .card-title, html[data-halo-theme="dark"] .panel-card .card-title { color: var(--halo-text-primary) !important; } html[data-halo-theme="dark"] .bar-track { background-color: var(--halo-bg-disabled) !important; }