:root {
    --color-mode-focus: var(--primary, #0071e3);
}
.color-mode-choices {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    padding: .3rem;
    border-radius: .9rem;
    background: var(--fill, rgba(118, 118, 128, .1));
}
.color-mode-choice {
    flex: 1 1 5rem;
    min-height: 2.75rem;
    padding: .55rem .7rem;
    border: 1px solid transparent;
    border-radius: .7rem;
    font: inherit;
    font-size: .85rem;
    color: var(--text-sub, #636366);
    background: transparent;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform .16s ease, background .16s ease;
}
.color-mode-choice[aria-pressed="true"] {
    color: var(--primary, #0071e3);
    background: var(--card-bg, #fff);
    border-color: currentColor;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}
.color-mode-choice:active { transform: scale(.97); }
.color-mode-choice:focus-visible { outline: 2px solid var(--color-mode-focus); outline-offset: 2px; }
:root[data-color-mode="dark"] {
    color-scheme: dark;
    --cm-bg: var(--mode-bg, #11151b);
    --cm-surface: var(--mode-surface, #1c222b);
    --cm-elevated: color-mix(in srgb, var(--mode-surface, #1c222b) 86%, white);
    --cm-text: var(--mode-text, #f2f3f5);
    --cm-muted: var(--mode-muted, #b1b6c1);
    --cm-border: var(--mode-border, rgba(220,225,240,.16));
    --cm-accent: var(--mode-accent, #68adff);
    --cm-on-accent: var(--mode-on-accent, #11151b);
    --page-bg: var(--mode-bg, #11151b) !important;
    --bg: var(--mode-bg, #11151b) !important;
    --bg-page: var(--mode-bg, #11151b) !important;
    --card-bg: var(--mode-surface, #1c222b) !important;
    --card: var(--mode-surface, #1c222b) !important;
    --surface: var(--mode-surface, #1c222b) !important;
    --bg-card: var(--mode-surface, #1c222b) !important;
    --primary: var(--mode-accent, #68adff) !important;
    --accent: var(--mode-accent, #68adff) !important;
    --primary-light: color-mix(in srgb, var(--mode-accent) 14%, transparent) !important;
    --text-main: var(--mode-text, #f2f3f5) !important;
    --text: var(--mode-text, #f2f3f5) !important;
    --ink: var(--mode-text, #f2f3f5) !important;
    --text-primary: var(--mode-text, #f2f3f5) !important;
    --text-sub: var(--mode-muted, #b1b6c1) !important;
    --muted: var(--mode-muted, #b1b6c1) !important;
    --text-secondary: var(--mode-muted, #b1b6c1) !important;
    --secondary-text: var(--mode-muted, #b1b6c1) !important;
    --border: var(--mode-border, rgba(220,225,240,.16)) !important;
    --line: var(--mode-border, rgba(220,225,240,.16)) !important;
    --border-color: var(--mode-border, rgba(220,225,240,.16)) !important;
    --fill: var(--mode-field, rgba(200,210,235,.08)) !important;
    --input-bg: var(--mode-field, rgba(200,210,235,.08)) !important;
    --tab-slider: var(--mode-field, rgba(200,210,235,.08)) !important;
    --shadow: var(--mode-shadow, 0 12px 32px rgba(0,0,0,.28)) !important;
    --color-mode-focus: var(--mode-accent, #68adff);
    background: var(--mode-bg, #11151b);
}
html[data-color-mode="dark"] body {
    color: var(--mode-text);
    background-color: var(--mode-bg) !important;
}
html[data-color-mode="dark"]:is([data-theme="cyan2"], [data-theme="pink2"], [data-theme="kitty"], [data-theme="lulu"],
    [data-page-theme="cyan2"], [data-page-theme="pink2"], [data-page-theme="kitty"], [data-page-theme="lulu"]) body {
    background-color: transparent !important;
}
html[data-color-mode="dark"] body:not(.has-custom-bg):not(.has-wallpaper) {
    background-image: none !important;
}
html[data-color-mode="dark"] :is(.splash-view, .iframe-page, .iframe-header, .schedule-wrapper, .sch-wrap, .page-header, .site-header) {
    color: var(--mode-text) !important;
    background: var(--mode-bg) !important;
    border-color: var(--mode-border) !important;
}
html[data-color-mode="dark"] :is(.glass, .modal-content, .modal-card, .modal-sheet, .sheet, .card, .panel, .popover,
    .dialog, .dialog-card, .dialog-content, .popup, .popup-card, .popup-content, .confirm-box, .toast,
    .tab-bar, .bottom-nav, .top-bar, .header-bar, .settings-card, .settings-group, .settings-section,
    .schedule-settings-sheet, .schedule-first-use-sheet, .schedule-import-diff-sheet,
    .week-picker-content, .period-picker-content, .theme-picker-sheet, .theme-picker-modal,
    .profile-card, .profile-menu, .profile-menu-card, .auth-card, .login-card,
    .checkin-popup, .checkin-double-card, .course-detail-card, .note-bubble-panel, .note-bubble-dot,
    .privacy-modal-card, .notice-modal-content, .avatar-use-card, .class-admin-modal-content) {
    color: var(--mode-text) !important;
    background: var(--mode-surface) !important;
    border-color: var(--mode-border) !important;
    box-shadow: var(--mode-shadow) !important;
}
html[data-color-mode="dark"]:not([data-theme]) #page-home .brand-header,
html[data-color-mode="dark"]:is([data-theme="pink"], [data-theme="green"], [data-theme="orange"], [data-theme="purple"], [data-theme="cyan"],
    [data-theme="xai"], [data-theme="mobile-ocean"], [data-theme="editorial"], [data-theme="honor"], [data-theme="neo"]) #page-home .brand-header {
    background: var(--mode-surface) !important;
    border-color: var(--mode-border) !important;
}
/* 侧边菜单开关：主题把图标文字写成墨色，深色下会整块消失 */
html[data-color-mode="dark"] :is(.sm-toggle-text-line, .sm-toggle-icon, #smTextInner) {
    color: var(--mode-text) !important;
}
/* 品牌头标题与角标：xai / mobile-ocean 等主题写死墨色，压在深色卡片上等于没字 */
html[data-color-mode="dark"] #page-home .brand-header h1 {
    color: var(--mode-text) !important;
}
html[data-color-mode="dark"] #page-home .brand-header :is(.version-tag, .login-status-tag) {
    color: var(--mode-muted) !important;
    background: var(--mode-field) !important;
    border-color: var(--mode-border) !important;
}
html[data-color-mode="dark"] #page-home .brand-header .menu-guide-copy strong {
    color: var(--mode-text) !important;
}
html[data-color-mode="dark"] :is(.modal-overlay, .forum-sheet-overlay, .img-preview-modal, .schedule-settings-overlay,
    .captcha-modal-overlay, .class-admin-modal, .bulletin-overlay, .schedule-first-use-guide) {
    background-color: rgba(0, 0, 0, .62) !important;
}
html[data-color-mode="dark"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]), textarea, select) {
    color: var(--mode-text) !important;
    background-color: var(--mode-field) !important;
    border-color: var(--mode-border) !important;
    caret-color: var(--mode-accent);
}
html[data-color-mode="dark"] :is(input, textarea)::placeholder { color: var(--mode-muted) !important; opacity: .85; }
html[data-color-mode="dark"] select option { color: var(--mode-text); background: var(--mode-surface); }
html[data-color-mode="dark"] :is(.divider, hr, .menu-item, .settings-row, .setting-row, .profile-menu-item, .schedule-settings-row) {
    border-color: var(--mode-border) !important;
}
html[data-color-mode="dark"] :is(.menu-title, .setting-title, .settings-title, .settings-row-label, .schedule-settings-row-label,
    .modal-title, .sheet-title, .card-title, .profile-name, .page-title, .section-title, .course-title,
    .notice-title, .notice-content, #guest-gate-title,
    #home-schedule-section > h2, .preview-section-title, #clock.slot-text) { color: var(--mode-text) !important; }
html[data-color-mode="dark"]:is([data-theme="neo"], [data-theme="codex"]) .brand-header h1 { color: var(--mode-text) !important; }
html[data-color-mode="dark"] :is(.subtitle, .hint, .description, .meta, .empty-state, .empty-text, .settings-desc,
    .setting-desc, .settings-hint, .section-label, .schedule-settings-section-label) { color: var(--mode-muted) !important; }
html[data-color-mode="dark"] :is(.modal-close-btn, .close-btn, .icon-btn, .btn-secondary, .secondary-btn,
    .note-field textarea, .note-scope-group, .note-week-chip, .course-manager-item, .schedule-settings-group) {
    color: var(--mode-text) !important;
    background-color: var(--mode-field) !important;
    border-color: var(--mode-border) !important;
}
html[data-color-mode="dark"] :is(.btn-primary, .primary-btn, .auth-btn, .submit-btn, .schedule-settings-confirm-btn) {
    color: var(--mode-on-accent) !important;
    background: var(--mode-accent) !important;
}
html[data-color-mode="dark"] :is([style*="background:#fff"], [style*="background: #fff"],
    [style*="background:#FFF"], [style*="background: #FFF"], [style*="background: white"],
    [style*="background-color:#fff"], [style*="background-color: #fff"],
    [style*="background:rgba(255,255,255"], [style*="background: rgba(255,255,255"]) {
    background-color: var(--mode-surface) !important;
    background-image: none !important;
    border-color: var(--mode-border) !important;
}
html[data-color-mode="dark"] :is([style*="color:#333"], [style*="color: #333"], [style*="color:#1d1d1f"],
    [style*="color: #1d1d1f"], [style*="color:#1c1c1e"], [style*="color: #1c1c1e"], [style*="color:#000"], [style*="color: #000"]) {
    color: var(--mode-text) !important;
}
html[data-color-mode="dark"] :is([style*="color:#666"], [style*="color: #666"], [style*="color:#888"], [style*="color: #888"],
    [style*="color:#999"], [style*="color: #999"]) { color: var(--mode-muted) !important; }
html[data-color-mode="dark"] .sch-cell.sch-course {
    color: var(--mode-text) !important;
    background-image: linear-gradient(rgba(8,12,18,.72), rgba(8,12,18,.72)) !important;
    border-color: var(--mode-border) !important;
}
html[data-color-mode="dark"] .sch-cell.sch-course :is(.sch-name, .sch-room, .sch-teacher, .sch-course-name, .sch-course-room) { color: inherit !important; }
html[data-color-mode="dark"] .schedule-course-card {
    background: color-mix(in srgb, var(--course-bg, #e3f4e5) 18%, var(--mode-surface)) !important;
    color: var(--mode-text) !important;
    border-color: var(--mode-border) !important;
}
html[data-color-mode="dark"] .schedule-app :is(.header, .calendar-strip, .schedule-grid) {
    background: var(--mode-bg) !important;
    border-color: var(--mode-border) !important;
}
html[data-color-mode="dark"] .schedule-app { background: var(--mode-bg) !important; }
html[data-color-mode="dark"] .schedule-app :is(.date-title, .period-num, .day-name, .day-num, .icon-btn-text) { color: var(--mode-text) !important; }
html[data-color-mode="dark"] .schedule-app :is(.week-subtitle, .month-col, .time-slot, .schedule-empty) { color: var(--mode-muted) !important; }
html[data-color-mode="dark"] .schedule-app .day-col.active .day-name { color: var(--mode-accent) !important; }
html[data-color-mode="dark"] .schedule-app .day-col.active .day-num { background: var(--mode-accent) !important; color: var(--mode-on-accent) !important; }
html[data-color-mode="dark"] .schedule-app .course-card {
    color: var(--mode-text) !important;
    background: color-mix(in srgb, var(--mode-course, var(--mode-accent)) 16%, var(--mode-surface)) !important;
    border-color: var(--mode-border) !important;
    box-shadow: none !important;
}
html[data-color-mode="dark"] .schedule-app .course-card :is(.course-title, .course-teacher, .course-location, .off-week-tag) { color: inherit !important; }
html[data-color-mode="dark"] .schedule-app .card-green { --mode-course: #34c759; }
html[data-color-mode="dark"] .schedule-app .card-purple { --mode-course: #af52de; }
html[data-color-mode="dark"] .schedule-app .card-red { --mode-course: #ff3b30; }
html[data-color-mode="dark"] .schedule-app .card-orange { --mode-course: #ff9500; }
html[data-color-mode="dark"] .schedule-app .card-yellow { --mode-course: #ffcc00; }
html[data-color-mode="dark"] .schedule-app .card-teal { --mode-course: #30b0c7; }
html[data-color-mode="dark"] .schedule-app .card-blue { --mode-course: #007aff; }
html[data-color-mode="dark"] .schedule-app .card-indigo { --mode-course: #5856d6; }
html[data-color-mode="dark"] .schedule-app .card-rose { --mode-course: #ec4899; }
html[data-color-mode="dark"] .schedule-app .card-slate { --mode-course: #64748b; }
html[data-color-mode="dark"] .schedule-app .card-lime { --mode-course: #84cc16; }
html[data-color-mode="dark"] .schedule-app .card-coral { --mode-course: #ff6b5f; }
html[data-color-mode="dark"]:is([data-theme="cyan2"], [data-theme="pink2"], [data-theme="kitty"], [data-theme="lulu"],
    [data-page-theme="cyan2"], [data-page-theme="pink2"], [data-page-theme="kitty"], [data-page-theme="lulu"]) body::before {
    background-color: rgba(8, 10, 14, .4) !important;
    background-blend-mode: multiply;
}
html[data-color-mode="dark"] :is(
    #mobile-block-overlay, #page-schedule, #iframe-page-loader, #market-page-loader, #page-skeleton-loader, .account-ban-page,
    .page-data-loading, .bottom-sheet, .sheet-header, .schedule-settings-header, .bulletin-footer
) { background: var(--mode-bg) !important; color: var(--mode-text) !important; }
html[data-color-mode="dark"] :is(
    .forum-confirm-box, .sm-panel, .beta-tip, .nav-tag, .auth-school-trigger, .auth-school-menu, .captcha-modal-content,
    .offline-gate-card, .calendar-anim-stage, .calendar-app-card, .calendar-flying-file, .bulletin-card, .notice-oimg-wrap.is-error,
    .penalty-ticket, .schedule-main-back-current-week, .sheet-tabs, .search-input-box, .schedule-settings-row,
    .schedule-settings-preview, .schedule-settings-preview-back, .schedule-settings-minisheet, .schedule-guide-bubble,
    .detail-bottom-bar, .detail-input-pill, .packet-content, .forum-myposts-tabs, .avatar-use-skip,
    .class-admin-entry-btn, .info-back-top, .market-loader-card, .iframe-back-btn, .iframe-pass-leaderboard-btn,
    .pass-leaderboard-card, .account-ban-steps, .account-ban-appeal, .sn-code, .calendar-export-warning
) { background: var(--mode-surface) !important; color: var(--mode-text) !important; border-color: var(--mode-border) !important; box-shadow: none !important; }
html[data-color-mode="dark"] :is(
    .notice-image-retry, .calendar-export-close, .calendar-step-number, .calendar-export-button, .sheet-close-btn,
    .back-current-week-btn, .search-clear-btn, .keyboard-btn, .schedule-settings-close,
    .schedule-conflict-confirm, .offline-gate-btn-secondary, .tab-btn.active, .forum-myposts-tab.active, .tab-slider
) { background: var(--mode-border) !important; color: var(--mode-text) !important; border-color: var(--mode-border) !important; }
html[data-color-mode="dark"] :is(.bar-track, .offline-gate-progress-track, .sheet-handle, .forum-sheet-handle, .privacy-slider, .schedule-settings-switch) { background: var(--mode-border) !important; }
html[data-color-mode="dark"] :is(.privacy-toggle input:checked + .privacy-slider, .schedule-settings-toggle input:checked + .schedule-settings-switch) { background: var(--mode-accent) !important; }
html[data-color-mode="dark"] :is(.schedule-settings-preview-card, .hold-delete-hold) { background: var(--mode-border) !important; color: var(--mode-text) !important; }
html[data-color-mode="dark"] :is(.bulletin-card, .penalty-ticket, .offline-gate-card, .schedule-bottom-sheet, .schedule-settings-sheet) :is(h1, h2, h3, p, li, label, strong, .bulletin-body, .bulletin-window-title) { color: var(--mode-text) !important; }
html[data-color-mode="dark"] .bulletin-body :is(div, span, b) { color: var(--mode-text) !important; }
html[data-color-mode="dark"] .bulletin-titlebar { background: var(--mode-surface) !important; border-color: var(--mode-border) !important; }
html[data-color-mode="dark"] :is(.bulletin-btn, .bulletin-version) { background: var(--mode-accent) !important; color: var(--mode-on-accent) !important; }
html[data-color-mode="dark"] :is(.sm-item, .nav-tag span, .penalty-title-cn, .schedule-settings-pick-label,
    .schedule-settings-preview-month, .schedule-settings-preview-period, #schedule-dayadjust-location-cancel,
    #forum-redpacket-total, #forum-redpacket-count, #forum-redpacket-remaining, .forum-sheet-close,
    [data-timetable-mode]) { color: var(--mode-text) !important; }
html[data-color-mode="dark"] .color-mode-choice[aria-pressed="true"] {
    color: var(--mode-accent);
    background: var(--mode-field);
}
html[data-color-mode="dark"] ::selection { color: var(--mode-text); background: rgba(125,155,220,.35); }
/* 主色按钮/徽章：深色下 accent 是浅色调，文字必须用 on-accent，不能继续压白字 */
html[data-color-mode="dark"] :is(#ca-submit-btn, .forum-submit-btn, #forum-red-packet-settings-confirm, #note-save,
    #week-badge, .profile-checkin-btn, .forum-myposts-tab.active) {
    background: var(--mode-accent) !important;
    color: var(--mode-on-accent) !important;
    border-color: transparent !important;
}
html[data-color-mode="dark"] #forum-myposts-sheet .forum-myposts-tab.active {
    background: var(--mode-accent) !important;
    color: var(--mode-on-accent) !important;
}
html[data-color-mode="dark"] :is(.forum-myposts-tab, #forum-myposts-sheet .forum-myposts-tab, .forum-myposts-stat .label) { color: var(--mode-muted) !important; }
/* 树叶绿 / 语义红在深底上要提亮一档，否则深绿压深绿 */
html[data-color-mode="dark"] :is(.profile-leaf-pill, .avatar-shop-balance) {
    color: color-mix(in srgb, #34c759 72%, white) !important;
    background: rgba(52,199,89,.18) !important;
}
html[data-color-mode="dark"] :is(.sn-section-title, .profile-section-title) { color: var(--mode-muted) !important; }
html[data-color-mode="dark"] :is(.sn-badge, .sn-case-label) {
    color: color-mix(in srgb, #ff3b30 55%, white) !important;
    background: rgba(255,59,48,.16) !important;
}
html[data-color-mode="dark"] #security-notice-confirm { color: var(--mode-text) !important; }
html[data-color-mode="dark"] #siteIcpFooter .icp-footer-inner > span { color: color-mix(in srgb, var(--mode-muted) 78%, var(--mode-text)) !important; }
/* 子页面里把浅色模式的灰字写死的正文/说明（实测 2.3–3.1 一类），深色下统一提到可读的次文字色 */
html[data-color-mode="dark"] :is(.explanation, .faq-answer, .tutorial-content, .page-subtitle, .tutorial-num,
    .eyebrow, .news-empty, p.muted, .muted-text, .form-hint, .login-hint) { color: var(--mode-muted) !important; }
/* 论坛「今日速览」新闻卡：浅色渐变底 + 深蓝标题是写死的，深色下必须整组改色 */
html[data-color-mode="dark"] .forum-news-card {
    background: var(--mode-surface) !important;
    border-color: var(--mode-border) !important;
    box-shadow: none !important;
}
html[data-color-mode="dark"] .forum-news-card::before { background: none !important; }
html[data-color-mode="dark"] .forum-news-card .forum-news-glow {
    border-color: var(--mode-border) !important;
    box-shadow: none !important;
}
html[data-color-mode="dark"] .forum-news-title { color: var(--mode-text) !important; }
html[data-color-mode="dark"] .forum-news-copy { color: var(--mode-muted) !important; }
html[data-color-mode="dark"] .forum-news-footer { color: var(--mode-muted) !important; }
html[data-color-mode="dark"] .forum-news-footer i { background: var(--mode-accent) !important; box-shadow: none !important; }
html[data-color-mode="dark"] .forum-news-footer strong { color: var(--mode-accent) !important; }
html[data-color-mode="dark"] .forum-news-badge {
    color: var(--mode-accent) !important;
    background: var(--mode-field) !important;
}
/* 版本更新记录：neo 等主题是白底胶囊 + 墨色字，深色下要整体重做 */
html[data-color-mode="dark"] .update-history-section { color: var(--mode-text) !important; }
html[data-color-mode="dark"] .update-history-title { color: var(--mode-text) !important; }
html[data-color-mode="dark"] .update-history-item {
    background: var(--mode-field) !important;
    border-color: var(--mode-border) !important;
    color: var(--mode-text) !important;
}
html[data-color-mode="dark"] .update-history-item:active { background: var(--mode-border) !important; }
html[data-color-mode="dark"] .update-history-version { color: var(--mode-accent) !important; }
html[data-color-mode="dark"] :is(.update-history-date, .update-history-arrow) { color: var(--mode-muted) !important; }
html[data-color-mode="dark"] .update-history-toggle { color: var(--mode-accent) !important; }
/* 作业提醒条目：主题写死白底，深色下改浮起层 */
html[data-color-mode="dark"] .homework-item {
    background: var(--mode-field) !important;
    border-color: var(--mode-border) !important;
    color: var(--mode-text) !important;
}
html[data-color-mode="dark"] .homework-complete-toggle {
    background: var(--mode-field) !important;
    border-color: var(--mode-border) !important;
    color: var(--mode-muted) !important;
    box-shadow: none !important;
}
/* 作业剩余天数的小药丸：浅色奶油/薄荷底在深色下太跳，改成半透明语义色 */
html[data-color-mode="dark"] .homework-remain {
    background: rgba(255, 214, 102, .16) !important;
    border-color: rgba(255, 214, 102, .28) !important;
    color: color-mix(in srgb, #ffd666 78%, white) !important;
}
html[data-color-mode="dark"] .homework-remain.today {
    background: rgba(255, 107, 74, .18) !important;
    border-color: rgba(255, 107, 74, .32) !important;
    color: color-mix(in srgb, #ff7a5c 62%, white) !important;
}
html[data-color-mode="dark"] .homework-remain.tomorrow {
    background: rgba(255, 149, 0, .18) !important;
    border-color: rgba(255, 149, 0, .3) !important;
    color: color-mix(in srgb, #ff9500 62%, white) !important;
}
html[data-color-mode="dark"] .homework-remain.future {
    background: rgba(120, 160, 255, .16) !important;
    border-color: rgba(120, 160, 255, .28) !important;
    color: color-mix(in srgb, #8fb4ff 78%, white) !important;
}
html[data-color-mode="dark"] .homework-remain.after-tomorrow {
    background: rgba(76, 224, 114, .16) !important;
    border-color: rgba(76, 224, 114, .3) !important;
    color: color-mix(in srgb, #4ce072 62%, white) !important;
}
html[data-color-mode="dark"] .homework-remain.past {
    background: var(--mode-field) !important;
    border-color: var(--mode-border) !important;
    color: var(--mode-muted) !important;
}
/* 首页课表日列：neo 的日列白底、日表头奶油底，深色下跟随浮起层 */
html[data-color-mode="dark"] .day-column {
    background: var(--mode-surface) !important;
    border-color: var(--mode-border) !important;
}
html[data-color-mode="dark"] .day-header {
    background: var(--mode-elevated) !important;
    color: var(--mode-text) !important;
    border-color: var(--mode-border) !important;
}
html[data-color-mode="dark"] .day-header .day-date { color: var(--mode-muted) !important; }
/* 首页快捷胶囊：主题把文字压成墨色，深色下要和底分离 */
html[data-color-mode="dark"] .nav-tag { color: var(--mode-text) !important; }
html[data-color-mode="dark"] .nav-tag svg { stroke: var(--mode-accent) !important; }
/* 论坛帖子卡片：主题把卡片底色与标题写死（neo 白卡墨字、cyan2 奶白、xai 纯白），深色必须整块压平 */
html[data-color-mode="dark"] .forum-post-card,
html[data-color-mode="dark"] #page-square .forum-post-card,
html[data-color-mode="dark"] #page-square .forum-surface {
    background: var(--mode-surface) !important;
    border-color: var(--mode-border) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
html[data-color-mode="dark"] #page-square .forum-post-card:active { background: var(--mode-field) !important; }
html[data-color-mode="dark"] .forum-post-title,
html[data-color-mode="dark"] #page-square .forum-post-title {
    color: var(--mode-text) !important;
}
html[data-color-mode="dark"] .forum-post-content,
html[data-color-mode="dark"] .forum-post-preview,
html[data-color-mode="dark"] #page-square .forum-post-preview {
    color: var(--mode-text) !important;
}
html[data-color-mode="dark"] :is(.forum-post-meta-line, .forum-post-card-time, .forum-post-footer, .forum-post-footer span, .forum-like-stat, .forum-comment-stat) {
    color: var(--mode-muted) !important;
}
html[data-color-mode="dark"] .forum-post-author-name { color: var(--mode-text) !important; }
/* 论坛搜索框与「最新/最热/刷新」药丸：主题是白底墨字，深色下改成输入槽/浮起层 */
html[data-color-mode="dark"] .forum-search {
    background: var(--mode-field) !important;
    border-color: var(--mode-border) !important;
}
/* 输入框通用规则的特异度很高（4 个 :not），这里必须同等特异度才能把搜索框的输入区背景清掉 */
html[data-color-mode="dark"] .forum-search input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]) {
    color: var(--mode-text) !important;
    background: transparent !important;
    border: 0 !important;
}
html[data-color-mode="dark"] .forum-search input::placeholder { color: var(--mode-muted) !important; }
html[data-color-mode="dark"] .forum-search svg { color: var(--mode-muted) !important; }
html[data-color-mode="dark"] .forum-search-clear {
    background: var(--mode-border) !important;
    color: var(--mode-text) !important;
}
html[data-color-mode="dark"] .forum-sort-btn {
    background: var(--mode-field) !important;
    border-color: var(--mode-border) !important;
    color: var(--mode-muted) !important;
}
html[data-color-mode="dark"] .forum-sort-btn.active {
    background: var(--mode-accent) !important;
    border-color: var(--mode-accent) !important;
    color: var(--mode-on-accent) !important;
}
@media (prefers-reduced-motion: reduce) {
    .color-mode-choice { transition: none; }
}
