/* ============================================================
  触手与妹妹 · 异世界紫黑治愈系美化 V18（通用 Mod 终极适配版）
  正文背景：柔和米白 #f5efe8
  正文文字：深色 #2a2420
  更新：建立通用黑/白盒逻辑，彻底解决任意自建 Mod / 额外内容的排版兼容
============================================================ */

/* ---- 1. 全局背景与文字基础 ---- */
.mes_text,
.markdown-body,
.message-content,
.text-base,
.prose,
.message {
    background-color: #241c1e !important;
    color: #f4ebd0 !important;
    padding: 10px !important;
    border-radius: 12px !important;
}

.mes_text p,
.markdown-body p,
.message-content p,
.prose p {
    color: #f4ebd0 !important;
    line-height: 1.8 !important;
}

/* ---- 2. 顶部状态行 ---- */
status-top {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    gap: 0px !important;
    background: #1e1718 !important;
    border: 2px solid #5a3a4a !important;
    border-radius: 16px !important;
    padding: 10px 18px !important;
    margin-bottom: 12px !important;
    font-family: 'Courier New', monospace !important;
    font-size: 13px !important;
    color: #f4ebd0 !important;
}

status-top span {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    line-height: 1.6 !important;
}

status-top .time { color: #ffb8d0 !important; font-weight: 600 !important; }
status-top .weather { color: #d4c8b8 !important; }
status-top .location { color: #f4ebd0 !important; font-weight: 500 !important; }
status-top .status { color: #d4a8e8 !important; font-weight: 500 !important; }

/* ---- 3. 正文（强力接管，划定白盒区域） ---- */
story-text,
story_text,
storytext,
.story-text {
    display: block !important;
    background: #f5efe8 !important;
    border-radius: 16px !important;
    padding: 16px 20px !important;
    margin: 10px 0 !important;
    border: 2px solid #d4c8b8 !important;
    color: #2a2420 !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
    font-family: 'Courier New', monospace !important;
}

/* 无视平台类名强行接管气泡框 */
*:has(> status-top) {
    background: #f5efe8 !important;
    border: 2px solid #d4c8b8 !important;
    border-radius: 16px !important;
    padding: 16px 20px !important;
}

/* 白盒区域内：所有正文段落强制深色 */
*:has(> status-top) > p,
status-top ~ p,
status-top ~ div:not([class]) {
    color: #2a2420 !important;
    background: transparent !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
    font-family: 'Courier New', monospace !important;
    margin-bottom: 12px !important;
}

/* ---- 4. 选项区 ---- */
command-deck {
    display: block !important;
    background: #1e1718 !important;
    border-radius: 16px !important;
    padding: 12px 16px !important;
    margin: 10px 0 !important;
    border: 2px solid #4a3a3a !important;
}

command-deck::before {
    content: "💡 你想做什么？" !important;
    display: block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #ffb8d0 !important;
    margin-bottom: 8px !important;
    letter-spacing: 0.5px !important;
    font-family: 'Courier New', monospace !important;
}

command-copy {
    display: block !important;
    font-size: 13px !important;
    color: #f4ebd0 !important;
    padding: 4px 0 !important;
    line-height: 1.7 !important;
    font-family: 'Courier New', monospace !important;
    border-bottom: 1px solid #2f2528 !important;
}

command-copy:last-child {
    border-bottom: none !important;
}

/* ---- 5. 折叠面板 (Mod最常用容器：划定黑盒区域) ---- */
details {
    background: #2a2224 !important; /* 深色黑盒 */
    border: 2px solid #4a3a3a !important;
    border-radius: 16px !important;
    padding: 6px 12px 10px 12px !important;
    margin-top: 10px !important;
    transition: border-color 0.2s !important;
    color: #f4ebd0 !important; /* 给盒子定下浅色基调 */
}

details:hover {
    border-color: #6a4a5a !important;
}

/* 核心通用兼容：强制 details 内部的常规排版标签使用浅色，防止被外部正文污染 */
details p, 
details div, 
details span:not([class]), 
details blockquote, 
details ul, 
details li {
    color: #f4ebd0 !important;
    line-height: 1.7 !important;
}

/* 保护 Mod 正常的段落排版空间，防止图文糊在一起 */
details p {
    display: block !important;
    margin: 8px 0 !important;
}

details summary {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #ffb8d0 !important;
    cursor: pointer !important;
    padding: 4px 0 !important;
    letter-spacing: 1px !important;
    list-style: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: 'Courier New', monospace !important;
    user-select: none !important;
}

details summary:hover {
    color: #ffffff !important;
}

details summary::-webkit-details-marker { display: none !important; }
details summary::marker { display: none !important; }

details summary::before {
    content: "▶" !important;
    font-size: 11px !important;
    color: #c87a9a !important;
    transition: transform 0.25s ease !important;
    display: inline-block !important;
    margin-right: 2px !important;
}

details[open] summary::before {
    transform: rotate(90deg) !important;
}

/* ---- 6. 状态条目 & 精准间距修复 ---- */
status-item {
    display: block !important;
    font-size: 13px !important;
    color: #f4ebd0 !important;
    line-height: 1.8 !important;
    padding: 2px 0 !important;
    margin: 0 !important;
    font-family: 'Courier New', monospace !important;
}

/* 核心修复：精准打击！仅当 p 标签紧挨着或包裹着 status-item 时，才消除间距。绝不误伤 Mod */
details p:has(> status-item),
status-item p,
status-item br {
    margin: 0 !important;
    padding: 0 !important;
    display: inline !important;
}

details status-item {
    display: block !important;
}

status-item .label {
    color: #ffb8d0 !important;
    font-weight: 600 !important;
    display: inline-block !important;
    min-width: 72px !important;
}

status-item .value {
    color: #f4ebd0 !important;
    font-weight: 400 !important;
}

/* ---- 7. 角色卡片 ---- */
char-block {
    display: block !important;
    background: #2f2528 !important;
    border: 1px solid #4a3a3a !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    margin: 6px 0 !important;
    font-family: 'Courier New', monospace !important;
}

char-name {
    font-weight: 700 !important;
    color: #ffb8d0 !important;
    font-size: 14px !important;
}

char-meta {
    color: #d4c8b8 !important;
    font-size: 12px !important;
}

field-label {
    color: #ffb8d0 !important;
    font-weight: 600 !important;
    font-size: 12px !important;
}

field-value {
    color: #f4ebd0 !important;
    font-size: 13px !important;
}

inner-thought {
    color: #d4a8e8 !important;
    font-style: italic !important;
    font-size: 13px !important;
}

/* ---- 8. 角色关系总览表 ---- */
char-table {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
}

char-table table,
details table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: #1e1718 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin-top: 8px !important;
    font-size: 13px !important;
    font-family: 'Courier New', monospace !important;
}

char-table th,
details th {
    background: #2f2528 !important;
    color: #ffb8d0 !important;
    font-weight: 700 !important;
    padding: 8px 6px !important;
    text-align: center !important;
    border-bottom: 2px solid #4a3a3a !important;
}

char-table th *,
details th * {
    color: #ffb8d0 !important;
}

char-table td,
details td {
    padding: 8px 6px !important;
    border-bottom: 1px solid #3d322a !important;
    color: #f4ebd0 !important;
    background: #1e1718 !important;
    text-align: center !important;
    vertical-align: middle !important;
    line-height: 1.4 !important;
}

char-table td *,
details td * {
    color: #f4ebd0 !important;
}

char-table th:nth-child(1), char-table td:nth-child(1),
char-table th:nth-child(2), char-table td:nth-child(2),
char-table th:nth-child(4), char-table td:nth-child(4) {
    white-space: nowrap !important;
}

char-table tr:last-child td,
details tr:last-child td {
    border-bottom: none !important;
}

char-table tr:hover td,
details tr:hover td {
    background: #2f2528 !important;
}

/* ---- 9. 世界状态 ---- */
.world-state,
.world-state-item,
.world-state .label,
.world-state .value,
status-item .label,
status-item .value {
    color: #f4ebd0 !important;
    line-height: 1.6 !important;
}

/* ---- 10. 记忆区 ---- */
memory-area {
    display: block !important;
    font-size: 13px !important;
    color: #f4ebd0 !important;
    line-height: 1.8 !important;
    padding: 4px 0 !important;
    font-family: 'Courier New', monospace !important;
}

/* ---- 11. 通用 Mod 专属排版美化 (额外兜底) ---- */
/* 防止 Mod 使用引用框 (blockquote) 时看不清 */
.mes_text blockquote, 
details blockquote {
    border-left: 4px solid #c87a9a !important;
    background: #2f2528 !important;
    padding: 10px 14px !important;
    margin: 10px 0 !important;
    border-radius: 0 8px 8px 0 !important;
    color: #f4ebd0 !important;
}

/* 让 Mod 里的强调加粗文字拥有主题色 */
details strong, 
details b { 
    color: #ffb8d0 !important; 
}
details em, 
details i { 
    color: #d4a8e8 !important; 
    font-style: normal !important; 
    font-weight: 500 !important;
}

/* ---- 12. 移动端适配 ---- */
@media (max-width: 500px) {
    status-top { font-size: 12px !important; padding: 8px 12px !important; }
    story-text,
    story_text,
    storytext,
    .story-text,
    *:has(> status-top) {
        font-size: 13px !important;
        padding: 12px 14px !important;
    }
    details summary { font-size: 12px !important; }
    status-item { font-size: 12px !important; }
    command-deck::before { font-size: 12px !important; }
    command-copy { font-size: 12px !important; }
    char-table table,
    details table { font-size: 12px !important; }
    char-table th, char-table td,
    details th, details td { padding: 4px 6px !important; }
}