/* ========== index-plots.css ========== */
/* 情节管理页面（plots）的CSS样式 */
/* 从 public/index.php $page==='plots' 区域提取 */

/* ========== 项目选择列表 ========== */
.plots-project-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.plots-project-card {
    text-decoration: none;
    display: block;
    background: #f8fafc;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    padding: 20px;
    transition: all 0.2s;
}

.plots-project-card-title {
    color: #333;
    margin-bottom: 8px;
}

.plots-project-card-meta {
    color: #666;
    font-size: 13px;
}

/* ========== 页面头部 ========== */
.plots-header-row {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.plots-header-title {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
}

.plots-header-stats {
    display: flex;
    gap: 12px;
    font-size: 13px;
    color: #666;
}

.plots-header-desc {
    color: #666;
    margin: 8px 0 0;
    font-size: 14px;
}

/* ========== 搜索和操作栏 ========== */
.plots-toolbar {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.plots-search-wrap {
    flex: 1;
    min-width: 280px;
    max-width: 550px;
    position: relative;
}

.plots-search-input {
    width: 100%;
    padding: 10px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
}

.plots-search-count {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: #888;
}

.plots-btn-group {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.plots-action-btn {
    padding: 8px 14px;
    font-size: 13px;
}

.plots-sync-btn-green {
    border: 1px solid #10b981;
    border-radius: 6px;
    background: #ecfdf5;
    color: #10b981;
    cursor: pointer;
    font-weight: 500;
}

.plots-sync-btn-amber {
    border: 1px solid #f59e0b;
    border-radius: 6px;
    background: #fffbeb;
    color: #f59e0b;
    cursor: pointer;
    font-weight: 500;
}

/* ========== 筛选栏 ========== */
.plots-filter-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.plots-filter-label {
    font-size: 13px;
    color: #666;
    font-weight: 500;
}

.plots-filter-icon {
    font-size: 12px;
    color: #888;
    transition: transform 0.2s;
}

.plots-filter-count {
    font-size: 12px;
    color: #4f46e5;
}

.plots-filter-row {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.plots-filter-select {
    padding: 6px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 13px;
    min-width: 120px;
}

.plots-filter-select-sm {
    min-width: 100px;
}

.plots-filter-reset-btn {
    padding: 6px 12px;
    background: #f3f4f6;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 13px;
    cursor: pointer;
    color: #666;
}

.plots-filter-result-count {
    font-size: 13px;
    color: #888;
    margin-left: auto;
}

/* ========== 批量操作栏 ========== */
.plots-batch-bar {
    padding: 12px 16px;
    background: #fef3c7;
    border-radius: 8px;
    border: 1px solid #fcd34d;
}

.plots-batch-row {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.plots-batch-select-all-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.plots-batch-select-all-cb {
    width: 18px;
    height: 18px;
}

.plots-batch-select-all-text {
    font-size: 14px;
    color: #92400e;
}

.plots-batch-selected-count {
    font-size: 14px;
    color: #92400e;
}

/* ========== 分组卡片 ========== */
.plots-group-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.plots-group-header-left {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
}

.plots-group-name {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    color: #333;
}

.plots-group-event-count {
    font-size: 12px;
    color: #888;
}

.plots-group-desc {
    color: #666;
    font-size: 13px;
    margin: 6px 0 0;
    line-height: 1.5;
}

.plots-group-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.plots-group-btn {
    background: #fff;
    border: 1px solid #e2e8f0;
    padding: 6px 12px;
    cursor: pointer;
    font-size: 12px;
    border-radius: 6px;
}

.plots-group-checkbox-wrap {
    display: none;
}

.plots-group-checkbox {
    width: 20px;
    height: 20px;
    cursor: pointer;
}

/* ========== 事件卡片网格 ========== */
.plots-events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}

.plots-event-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 14px;
    position: relative;
    transition: box-shadow 0.2s;
}

.plots-event-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* 事件标题和标签 */
.plots-event-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.plots-event-title {
    font-weight: 600;
    font-size: 15px;
    color: #333;
}

.plots-event-type-tag {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 500;
}

.plots-event-desc {
    color: #666;
    font-size: 13px;
    margin: 0;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.plots-event-importance {
    font-size: 12px;
    color: #888;
    margin-bottom: 8px;
}

/* 角色和要素标签 */
.plots-event-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 8px;
}

.plots-event-char-tag {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    background: #dbeafe;
    color: #1d4ed8;
}

.plots-event-elem-tag {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    background: #fef3c7;
    color: #92400e;
}

.plots-event-more-tag {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    background: #f1f5f9;
    color: #666;
}

/* 事件操作按钮 */
.plots-event-footer {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}

.plots-event-btn-purple {
    background: #faf5ff;
    border: 1px solid #e9d5ff;
    padding: 5px 10px;
    cursor: pointer;
    font-size: 12px;
    color: #7c3aed;
    border-radius: 6px;
}

.plots-event-btn-blue {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    padding: 5px 10px;
    cursor: pointer;
    font-size: 12px;
    color: #1d4ed8;
    border-radius: 6px;
}

.plots-event-btn-default {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 5px 10px;
    cursor: pointer;
    font-size: 12px;
    color: #666;
    border-radius: 6px;
}

/* 事件批量选择 */
.plots-event-checkbox-wrap {
    display: none;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 10;
}

.plots-event-checkbox {
    width: 20px;
    height: 20px;
    cursor: pointer;
}

/* ========== 剧情演绎工作台 ========== */
.plots-workbench-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1001;
}

.plots-workbench-content {
    background: #fff;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* 工作台顶部 */
.plots-workbench-header {
    padding: 12px 24px;
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f8fafc;
}

.plots-workbench-header-left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.plots-workbench-title {
    margin: 0;
    font-size: 18px;
    color: #333;
}

.plots-workbench-mode-row {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #666;
}

.plots-workbench-mode-hint {
    color: #888;
    font-size: 11px;
    margin-left: 4px;
}

.plots-workbench-header-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.plots-workbench-help-btn {
    padding: 6px 12px;
    background: #eef2ff;
    border: 1px solid #c7d2fe;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
    color: #4f46e5;
}

.plots-workbench-close-btn {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #666;
}

/* 工作台主体 */
.plots-workbench-body {
    flex: 1;
    display: flex;
    overflow: hidden;
}

/* 左侧实体面板 */
.plots-workbench-entities {
    width: 180px;
    border-right: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    background: #fafafa;
}

.plots-workbench-entity-search {
    padding: 12px;
    border-bottom: 1px solid #e2e8f0;
}

.plots-workbench-entity-search-input {
    width: 100%;
    padding: 6px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 12px;
}

.plots-workbench-entity-list {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
}

.plots-workbench-entity-section {
    margin-bottom: 16px;
}

.plots-workbench-entity-title {
    margin: 0 0 8px;
    font-size: 13px;
    color: #333;
    display: flex;
    align-items: center;
    gap: 4px;
}

.plots-workbench-entity-title-muted {
    color: #888;
}

.plots-workbench-entity-items {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.plots-workbench-entity-empty {
    color: #aaa;
    font-size: 11px;
    padding: 4px;
}

/* 中间编辑区 */
.plots-workbench-editor {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* 回忆模式 */
.plots-workbench-recall {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 16px;
}

.plots-workbench-recall-header {
    margin-bottom: 10px;
}

.plots-workbench-recall-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.plots-workbench-recall-label {
    font-weight: 600;
    color: #333;
}

.plots-workbench-recall-hint {
    font-size: 11px;
    color: #888;
}

.plots-workbench-ai-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 10px 12px;
}

.plots-workbench-ai-desc {
    font-size: 11px;
    color: #666;
    margin: 0 0 8px;
    line-height: 1.4;
}

.plots-workbench-ai-controls {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.plots-workbench-ai-control-group {
    display: flex;
    align-items: center;
    gap: 4px;
}

.plots-workbench-ai-control-label {
    font-size: 11px;
    color: #666;
    white-space: nowrap;
}

.plots-workbench-ai-select {
    padding: 4px 8px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    font-size: 11px;
}

.plots-workbench-ai-estimate-label {
    font-size: 11px;
    color: #666;
}

.plots-workbench-ai-estimate-value {
    font-size: 12px;
    font-weight: 600;
    color: #166534;
}

.plots-workbench-ai-debug-btn {
    padding: 5px 10px;
    background: #f3f4f6;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    font-size: 10px;
    color: #666;
    cursor: pointer;
}

.plots-workbench-textarea {
    flex: 1;
    padding: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    line-height: 2;
    resize: none;
    background: #fff;
}

.plots-workbench-recall-actions {
    margin-top: 12px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.plots-workbench-recall-hint-right {
    margin-left: auto;
    font-size: 11px;
    color: #888;
}

/* 梳理模式 */
.plots-workbench-organize {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 16px;
    overflow: hidden;
}

.plots-workbench-organize-header {
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.plots-workbench-organize-label {
    display: flex;
    align-items: center;
    gap: 8px;
}

.plots-workbench-organize-label-text {
    font-weight: 600;
    color: #333;
}

.plots-workbench-node-filter {
    padding: 4px 8px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    font-size: 12px;
}

.plots-workbench-nodes-container {
    flex: 1;
    overflow-y: auto;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fafafa;
}

.plots-workbench-nodes-empty {
    text-align: center;
    color: #888;
    padding: 40px;
    font-size: 13px;
}

/* 右侧时间线 */
.plots-workbench-timeline {
    width: 240px;
    border-left: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    background: #fafafa;
}

.plots-workbench-timeline-header {
    padding: 12px 16px;
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.plots-workbench-timeline-title {
    margin: 0;
    font-size: 13px;
    color: #333;
}

.plots-workbench-timeline-count {
    font-size: 11px;
    color: #888;
}

.plots-workbench-timeline-event {
    padding: 8px 12px;
    border-bottom: 1px solid #e2e8f0;
    font-size: 12px;
    color: #666;
}

.plots-workbench-timeline-event-title {
    color: #4f46e5;
}

.plots-workbench-timeline-list {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
}

.plots-workbench-timeline-empty {
    text-align: center;
    color: #888;
    padding: 20px;
    font-size: 12px;
}

/* ========== 引用统计弹窗 ========== */
.plots-stats-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    align-items: center;
    justify-content: center;
}

/* ========== 新建分组/事件弹窗 ========== */
.plots-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    align-items: center;
    justify-content: center;
}

.plots-modal-content {
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    max-width: 500px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
}

.plots-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.plots-modal-title {
    margin: 0;
}

.plots-modal-close-btn {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #666;
}

/* ========== 删除表单内联 ========== */
.plots-delete-form-inline {
    display: inline;
}

/* ========== 工作台模式切换按钮（JS动态样式） ========== */
.plots-workbench-mode-btn {
    padding: 5px 14px;
    font-size: 12px;
}

.plots-workbench-mode-btn-inactive {
    padding: 5px 14px;
    font-size: 12px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    cursor: pointer;
}

/* ========== 深色模式适配 ========== */
body.dark-mode .plots-project-card { background: #1a1a3e; border-color: #2a2a4a; }
body.dark-mode .plots-project-card-title { color: #e0e0e0; }
body.dark-mode .plots-project-card-meta { color: #aaa; }

body.dark-mode .plots-header-title { color: #e0e0e0; }
body.dark-mode .plots-header-stats { color: #aaa; }
body.dark-mode .plots-header-desc { color: #aaa; }

body.dark-mode .plots-search-input { background: #0f3460; color: #e0e0e0; border-color: #2a2a4a; }
body.dark-mode .plots-search-count { color: #888; }
body.dark-mode .plots-filter-label { color: #aaa; }
body.dark-mode .plots-filter-select { background: #0f3460; color: #e0e0e0; border-color: #2a2a4a; }
body.dark-mode .plots-filter-reset-btn { background: #1a1a3e; border-color: #2a2a4a; color: #aaa; }
body.dark-mode .plots-filter-result-count { color: #888; }

body.dark-mode .plots-sync-btn-green { background: #0a2e1a; border-color: #166534; color: #6ee7b7; }
body.dark-mode .plots-sync-btn-amber { background: #2e1a0a; border-color: #854d0e; color: #fcd34d; }

body.dark-mode .plots-batch-bar { background: #2e1a0a; border-color: #854d0e; }
body.dark-mode .plots-batch-select-all-text { color: #fcd34d; }
body.dark-mode .plots-batch-selected-count { color: #fcd34d; }

body.dark-mode .plots-group-name { color: #e0e0e0; }
body.dark-mode .plots-group-event-count { color: #888; }
body.dark-mode .plots-group-desc { color: #aaa; }
body.dark-mode .plots-group-btn { background: #1a1a3e; border-color: #2a2a4a; color: #ccc; }

body.dark-mode .plots-event-card { background: #16213e; border-color: #2a2a4a; }
body.dark-mode .plots-event-title { color: #e0e0e0; }
body.dark-mode .plots-event-desc { color: #aaa; }
body.dark-mode .plots-event-importance { color: #888; }
body.dark-mode .plots-event-char-tag { background: #0a1a2e; color: #93c5fd; }
body.dark-mode .plots-event-elem-tag { background: #2e1a0a; color: #fcd34d; }
body.dark-mode .plots-event-more-tag { background: #1a1a3e; color: #aaa; }
body.dark-mode .plots-event-footer { border-top-color: #2a2a4a; }
body.dark-mode .plots-event-btn-purple { background: #1a0a2e; border-color: #4c1d95; color: #c4b5fd; }
body.dark-mode .plots-event-btn-blue { background: #0a1a2e; border-color: #1e40af; color: #93c5fd; }
body.dark-mode .plots-event-btn-default { background: #1a1a3e; border-color: #2a2a4a; color: #aaa; }

body.dark-mode .plots-workbench-content { background: #1a1a2e; }
body.dark-mode .plots-workbench-header { background: #16213e; border-bottom-color: #2a2a4a; }
body.dark-mode .plots-workbench-title { color: #e0e0e0; }
body.dark-mode .plots-workbench-mode-row { color: #aaa; }
body.dark-mode .plots-workbench-help-btn { background: #0a1a2e; border-color: #1e40af; color: #93c5fd; }
body.dark-mode .plots-workbench-close-btn { color: #aaa; }
body.dark-mode .plots-workbench-entities { background: #16213e; border-right-color: #2a2a4a; }
body.dark-mode .plots-workbench-entity-search { border-bottom-color: #2a2a4a; }
body.dark-mode .plots-workbench-entity-search-input { background: #0f3460; color: #e0e0e0; border-color: #2a2a4a; }
body.dark-mode .plots-workbench-entity-title { color: #e0e0e0; }
body.dark-mode .plots-workbench-entity-empty { color: #888; }
body.dark-mode .plots-workbench-textarea { background: #0f3460; color: #e0e0e0; border-color: #2a2a4a; }
body.dark-mode .plots-workbench-recall-label { color: #e0e0e0; }
body.dark-mode .plots-workbench-ai-box { background: #1a1a3e; border-color: #2a2a4a; }
body.dark-mode .plots-workbench-ai-desc { color: #aaa; }
body.dark-mode .plots-workbench-ai-control-label { color: #aaa; }
body.dark-mode .plots-workbench-ai-select { background: #0f3460; color: #e0e0e0; border-color: #2a2a4a; }
body.dark-mode .plots-workbench-organize-label-text { color: #e0e0e0; }
body.dark-mode .plots-workbench-node-filter { background: #0f3460; color: #e0e0e0; border-color: #2a2a4a; }
body.dark-mode .plots-workbench-nodes-container { background: #16213e; border-color: #2a2a4a; }
body.dark-mode .plots-workbench-nodes-empty { color: #888; }
body.dark-mode .plots-workbench-timeline { background: #16213e; border-left-color: #2a2a4a; }
body.dark-mode .plots-workbench-timeline-header { border-bottom-color: #2a2a4a; }
body.dark-mode .plots-workbench-timeline-title { color: #e0e0e0; }
body.dark-mode .plots-workbench-timeline-event { border-bottom-color: #2a2a4a; color: #aaa; }
body.dark-mode .plots-workbench-timeline-empty { color: #888; }
body.dark-mode .plots-workbench-mode-btn-inactive { background: #1a1a3e; border-color: #2a2a4a; color: #aaa; }

body.dark-mode .plots-modal-content { background: #16213e; }
body.dark-mode .plots-modal-title { color: #e0e0e0; }
body.dark-mode .plots-modal-close-btn { color: #aaa; }

/* ========== 深色模式 - 情节管理深度修复（8.1.9） ========== */

/* 分组卡片（内联背景色覆盖） */
body.dark-mode .plot-group-card {
    background: #16213e !important;
}
body.dark-mode .plot-group-card[style*="background:#faf5ff"] {
    background: #1a0a2e !important;
}
body.dark-mode .plot-group-card[style*="background:#ecfeff"] {
    background: #0a1a2e !important;
}

/* 事件卡片 */
body.dark-mode .plot-event-card {
    background: #16213e !important;
    border-color: #2a2a4a !important;
}

/* 事件卡片标题 */
body.dark-mode .plot-event-card span[style*="color:#333"] {
    color: #e0e0e0 !important;
}

/* 事件卡片描述 */
body.dark-mode .plot-event-card p[style*="color:#666"] {
    color: #aaa !important;
}

/* 事件卡片重要性 */
body.dark-mode .plot-event-card div[style*="color:#888"] {
    color: #aaa !important;
}

/* 事件类型标签 - 保留原色背景但适配深色 */
body.dark-mode .plot-event-card span[style*="background:#fef2f2"] {
    background: #2e0a0a !important;
}
body.dark-mode .plot-event-card span[style*="background:#faf5ff"] {
    background: #1a0a2e !important;
}
body.dark-mode .plot-event-card span[style*="background:#f0fdf4"] {
    background: #0a2e1a !important;
}
body.dark-mode .plot-event-card span[style*="background:#eff6ff"] {
    background: #0a1a2e !important;
}
body.dark-mode .plot-event-card span[style*="background:#fef3c7"] {
    background: #2e1a0a !important;
}
body.dark-mode .plot-event-card span[style*="background:#fefce8"] {
    background: #2e1a0a !important;
}

/* 角色标签 */
body.dark-mode .plot-event-card span[style*="background:#e0f2fe"] {
    background: #0a1a2e !important;
}

/* 操作按钮区域分隔线 */
body.dark-mode .plot-event-card div[style*="border-top:1px solid #f0f0f0"] {
    border-top-color: #2a2a4a !important;
}

/* 操作按钮 */
body.dark-mode .plot-event-card .btn-sm[style*="background:#faf5ff"] {
    background: #1a0a2e !important;
    border-color: #7c3aed !important;
}
body.dark-mode .plot-event-card .btn-sm[style*="background:#eff6ff"] {
    background: #0a1a2e !important;
    border-color: #1e40af !important;
}
body.dark-mode .plot-event-card .btn-sm[style*="background:#f8fafc"] {
    background: #1a1a3e !important;
    border-color: #2a2a4a !important;
    color: #aaa !important;
}
body.dark-mode .plot-event-card .btn-sm[style*="background:#fef2f2"] {
    background: #2e0a0a !important;
    border-color: #991b1b !important;
}

/* 空事件提示 */
body.dark-mode .plot-group-card div[style*="background:#fff"][style*="color:#888"] {
    background: #1a1a3e !important;
}
