/* ============================================================
   魔都精兵的奴隶 · 全端统一主题（粉紫暗夜魔法风格）
   适配：桌面端 .classUI-chat-container / APP端 .viewer-built-in-content
   ============================================================ */

/* ===== 0. CSS变量定义（新增，修复缺失） ===== */
:root {
    --bg: #0b0710;
    --bg-card: #14101f;
    --bg-card-hover: #1f1a30;
    --border: #2d2440;
    --gold: #d4a84b;
    --gold-glow: #d4a84b55;
    --purple: #7b4b9e;
    --pink: #d96c8a;
    --text: #ece4f0;
    --text-dim: #a094b0;
    --font: 'Segoe UI', system-ui, -apple-system, sans-serif;
    --radius: 14px;
    --shadow: 0 8px 32px rgba(0, 0, 0, .6);
}

/* ===== 1. 桌面端容器 ===== */
.classUI-chat-container {
    max-width: 1152px;
    width: 100%;
    margin: 0 auto;
    padding: 2.6rem;
    box-sizing: border-box;
    overflow-x: hidden;
    background: linear-gradient(165deg, #0c0508 0%, #1a0d1a 35%, #2a1230 70%, #15081a 100%);
    border: 2px solid #ff7eb3;
    border-radius: 18px;
    box-shadow: 0 0 30px rgba(255, 126, 179, 0.35), 0 0 60px rgba(155, 92, 208, 0.25), 0 15px 40px rgba(0, 0, 0, 0.6);
    position: relative;
    isolation: isolate;
}
.classUI-chat-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 2rem;
    right: 2rem;
    height: 2px;
    background: linear-gradient(90deg, transparent, #ff5d9e, #a86cd9, transparent);
    z-index: 2;
}
.classUI-chat-container::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 20%;
    right: 20%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 126, 179, 0.6), transparent);
    z-index: 2;
}

/* ===== 2. APP端容器 ===== */
.viewer-built-in-content {
    max-width: 880px;
    width: 100%;
    margin: 0 auto;
    padding: 2.2rem;
    box-sizing: border-box;
    overflow-x: hidden;
    background: linear-gradient(165deg, #0c0508 0%, #1a0d1a 35%, #2a1230 70%, #15081a 100%);
    border: 2px solid #ff7eb3;
    border-radius: 18px;
    box-shadow: 0 0 30px rgba(255, 126, 179, 0.35), 0 0 60px rgba(155, 92, 208, 0.25), 0 15px 40px rgba(0, 0, 0, 0.6);
    position: relative;
    isolation: isolate;
}

/* ===== 3. 全局字体与颜色 ===== */
.classUI-chat-container,
.classUI-chat-container *,
.viewer-built-in-content,
.viewer-built-in-content * {
    color: #fde6f0;
    font-family: 'Georgia', 'Times New Roman', 'Noto Serif SC', 'KaiTi', serif;
    line-height: 1.75;
}

/* ===== 4. 时间地点行 ===== */
.time-location-bar {
    text-align: center;
    padding: 0.7rem 1rem;
    margin-bottom: 1.5rem;
    border-top: 2px solid #ff5d9e;
    border-bottom: 2px solid #a86cd9;
    background: #1f0a1a;
    border-radius: 8px;
    color: #e0c8d8;
    font-style: italic;
    font-size: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    justify-content: center;
}
.time-date { font-weight: 700; color: #ffb0d0; }
.location-name { color: #c8a0e0; }
.weather-note { color: #d0a8b8; }
.last-turn { color: #a08090; font-size: 0.85em; font-style: italic; width: 100%; text-align: center; }

/* ===== 5. 开局引导 ===== */
.intro-guide {
    background: #250e22;
    border: 2px solid #ff7eb3;
    border-radius: 14px;
    padding: 1.5rem;
    margin-bottom: 1.3rem;
}
.intro-title { font-weight: 700; color: #ffc0d8; font-size: 1.2em; }
.intro-item { padding: 6px 0; color: #fde6f0; font-size: 0.95em; }

/* ===== 6. 正文叙事 ===== */
.narrative-body {
    background: rgba(15, 5, 12, 0.7);
    border: 1px solid rgba(255, 126, 179, 0.3);
    border-radius: 14px;
    padding: 26px 24px;
    margin-bottom: 1.3rem;
    color: #fde6f0;
    line-height: 1.95;
    font-size: 1.25em;
    text-align: justify;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
}
.narrative-body p { text-indent: 2em; margin: 0 0 0.85em 0; }
.narrative-body p:first-child { text-indent: 0; }

/* ===== 7. 高亮标记 ===== */
.highlight-gold, .hl-skill { color: #ffd700; font-weight: 700; }
.highlight-red, .hl-danger { color: #ff5060; font-weight: 700; }
.highlight-blue, .hl-dialogue { color: #80c0ff; font-style: italic; }
.highlight-pink { color: #ff5d9e; font-weight: 700; }
.highlight-purple { color: #c060ff; font-weight: 700; }
.highlight-cyan { color: #00e5ff; font-weight: 700; }
.hl-npc { color: #ffb0d0; font-weight: 700; }
.hl-location { color: #a0d0ff; }
.hl-item { color: #f0b0e0; }
.hl-good { color: #90e0b0; }

/* ===== 8. 折叠面板 ===== */
details,
.thought-chain,
.objectives-panel,
.status-panel,
.battle-panel,
.profile-panel,
.relation-panel,
.asset-panel,
.memory-panel,
.options-area,
.forum-panel {
    background: #180a18;
    border: 1px solid #c8589e;
    border-radius: 12px;
    padding: 12px 20px;
    margin-bottom: 0.9rem;
    color: #fde6f0;
    border-bottom: 1px dashed rgba(255, 126, 179, 0.3);
    overflow: hidden;
}
details[open] { background: #220a22; border-color: #ff7eb3; }
summary {
    font-weight: 700;
    font-size: 1.05em;
    color: #ffa0c8;
    cursor: pointer;
    list-style: none;
    padding: 12px 0;
}
summary::-webkit-details-marker { display: none; }
summary::before {
    content: '▸ ';
    color: #ff5d9e;
    margin-right: 10px;
    display: inline-block;
    transition: transform 0.2s;
}
details[open] summary::before { transform: rotate(90deg); color: #ffc0d8; }
.details-content {
    border-top: 1px solid rgba(255, 126, 179, 0.3);
    margin-top: 12px;
    padding: 14px 4px;
    font-size: 1em;
    overflow-x: auto;
}

/* ===== 9. 表格（修复：table-layout: fixed + 移除 nowrap） ===== */
.data-table,
.memory-table {
    width: 100%;
    border-collapse: collapse;
    margin: 14px 0;
    font-size: 0.95em;
    background: rgba(0, 0, 0, 0.2);
    table-layout: fixed; /* 新增：防止溢出 */
}
.data-table th,
.memory-table th {
    background: rgba(80, 30, 60, 0.5);
    color: #ffb0d0;
    padding: 12px 16px;
    text-align: left;
    border-bottom: 2px solid #ff5d9e;
    word-break: break-word; /* 新增 */
}
.data-table td,
.memory-table td {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(255, 126, 179, 0.2);
    color: #fde6f0;
    word-break: break-word; /* 新增：替换原来的 white-space: nowrap */
    overflow-wrap: break-word;
}

/* ===== 10. 左侧彩色标识 ===== */
.thought-chain { border-left: 4px solid #a86cd9; }
.objectives-panel { border-left: 4px solid #ffd700; }
.status-panel { border-left: 4px solid #ff5d9e; }
.battle-panel, .strategy-panel { border-left: 4px solid #ff3050; }
.profile-panel { border-left: 4px solid #ff7eb3; }
.relation-panel { border-left: 4px solid #ff5d9e; }
.asset-panel { border-left: 4px solid #c060ff; }
.memory-panel { border-left: 4px solid #80a8e0; }
.forum-panel { border-left: 4px solid #ffd700; }

/* ===== 11. 状态简报 ===== */
.status-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem 1.8rem; }
.status-row { display: contents; }
.status-item { display: flex; justify-content: space-between; padding: 0.6rem 0.7rem; border-bottom: 1px dotted #c8589e; }
.status-label { font-weight: 700; color: #ffa0c8; font-size: 0.9rem; }
.status-value { color: #fde6f0; font-size: 0.9rem; }

/* ===== 12. 当前目标 ===== */
.obj-item { padding: 10px 14px; margin: 7px 0; border-radius: 8px; background: rgba(255,255,255,0.02); }
.obj-urgent { color: #ffb0c0; border-left: 4px solid #ff5060; }
.obj-optional { color: #d0b8e8; border-left: 4px solid #a090d0; }

/* ===== 13. 选项区 ===== */
.options-area {
    background: #1a0a1e;
    border: 2px solid #ff7eb3;
    border-radius: 16px;
    padding: 26px;
    margin-top: 1.5rem;
}
.option-btn {
    display: block;
    width: 100%;
    background: #2a0f2a;
    border: 2px solid #c8589e;
    color: #fde6f0;
    padding: 1rem 1.5rem;
    margin: 9px 0;
    border-radius: 12px;
    font-size: 1.1em;
    cursor: pointer;
    transition: all 0.3s;
    text-align: left;
}
.option-btn:hover { background: #4a1860; border-color: #ff5d9e; color: #fff; }
.option-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ff5d9e;
    color: #fff;
    margin-right: 14px;
    font-weight: 700;
    flex-shrink: 0;
}
.option-preview {
    display: block;
    font-size: 0.88em;
    color: #c8a0d8;
    margin-top: 5px;
    padding-left: 46px;
    font-style: italic;
}
.option-hint {
    display: block;
    font-size: 0.82em;
    color: #a090c0;
    margin-top: 5px;
    padding-left: 46px;
    font-style: italic;
}
.option-free { border-left: 3px solid #80c0e0; }
.option-main {
    border-left: 4px solid #ffd700 !important;
    background: rgba(60, 40, 10, 0.4) !important;
}
.option-main:hover { background: rgba(80, 60, 20, 0.6) !important; border-color: #ffd700 !important; }
.option-main .option-number { background: linear-gradient(135deg, #ffaa00, #ffd700) !important; }

/* ===== 14. 思维链 ===== */
.thought-chain .details-content {
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
    color: #c0a0e0;
    background: rgba(0, 0, 0, 0.25);
    border-radius: 8px;
    padding: 14px;
}

/* ===== 15. 标签/分隔 ===== */
.info-tag {
    background: #3c1535;
    border: 1px solid #ff5d9e;
    color: #fff0f8;
    font-weight: 600;
    padding: 3px 12px;
    border-radius: 20px;
    font-size: 0.9em;
    display: inline-block;
    margin: 3px 5px;
}
.divider { border-top: 1px solid #c8589e; margin: 16px 0; }
.subsection-title {
    font-weight: 700;
    color: #ffa0c8;
    border-left: 3px solid #ff5d9e;
    padding-left: 10px;
    margin: 16px 0 10px;
}
.alert-box {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid #c8589e;
    border-radius: 10px;
    padding: 14px 18px;
    color: #fff0f8;
    font-size: 0.95em;
    margin: 10px 0;
}
.alert-box strong { color: #ffc0d8; }

/* ===== 16. 记忆区 ===== */
.memory-subheading {
    font-weight: 700;
    color: #ffa0c8;
    margin: 16px 0 10px;
    border-left: 4px solid #ff5d9e;
    padding-left: 12px;
}
.engraved-list { margin-top: 10px; }
.engraved-entry {
    background: rgba(60, 30, 10, 0.5);
    border: 1px solid rgba(255, 215, 0, 0.4);
    border-left: 4px solid #ffd700;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 12px;
}
.engraved-empty { color: #908090; font-style: italic; font-size: 0.95em; padding: 8px 0; }
.engraved-table td {
    color: #ffe0a0;
    border-bottom: 1px dashed rgba(255, 215, 0, 0.2);
    padding: 8px 0;
    font-size: 0.95em;
    word-break: break-word;
}
.engraved-label {
    color: #c09030;
    font-weight: 700;
    width: 30%;
    white-space: nowrap;
}

/* ===== 17. 论坛 ===== */
.forum-panel { background: #180a18 !important; }
.forum-panel summary { color: #ffd700; }
.forum-post { padding: 5px 0; }
.forum-post-title { font-weight: 700; color: #ffd700; font-size: 1.25em; margin-bottom: 6px; }
.forum-post-author { color: #c8a0d8; font-size: 0.9em; margin-bottom: 10px; }
.forum-post-body { color: #f0e0e8; font-size: 1.15em; line-height: 1.65; margin-bottom: 12px; }
.forum-reply { padding: 6px 0; border-top: 1px dashed rgba(255, 126, 179, 0.2); font-size: 1.1em; color: #e0c8e0; }
.forum-reply-author { color: #ff5d9e; font-weight: 600; }

/* ===== 18. 滚动条 ===== */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: rgba(20, 5, 15, 0.5); border-radius: 3px; }
::-webkit-scrollbar-thumb { background: #ff5d9e; border-radius: 3px; }

/* ============================================================
   输入框美化：粉紫边框 · 白底 · 深色字体（保留原功能，一条不删）
   适配桌面端 .classUI-chat-container 和 APP端 .viewer-built-in-content
   ============================================================ */
.classUI-chat-container input[type="text"],
.classUI-chat-container input[type="number"],
.classUI-chat-container textarea,
.classUI-chat-container select,
.viewer-built-in-content input[type="text"],
.viewer-built-in-content input[type="number"],
.viewer-built-in-content textarea,
.viewer-built-in-content select {
    background: #ffffff !important;
    border: 2px solid rgba(255, 93, 158, 0.7) !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    color: #1a0a14 !important;
    font-family: 'Georgia', 'KaiTi', serif !important;
    font-size: 0.95em !important;
    outline: none !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
    caret-color: #ff5d9e !important;
}
.classUI-chat-container input[type="text"]:focus,
.classUI-chat-container input[type="number"]:focus,
.classUI-chat-container textarea:focus,
.classUI-chat-container select:focus,
.viewer-built-in-content input[type="text"]:focus,
.viewer-built-in-content input[type="number"]:focus,
.viewer-built-in-content textarea:focus,
.viewer-built-in-content select:focus {
    border-color: #b080d0 !important;
    box-shadow: 0 0 20px rgba(255, 93, 158, 0.5), 0 0 40px rgba(168, 108, 217, 0.2) !important;
    color: #0d0d1a !important;
}
.classUI-chat-container input::placeholder,
.classUI-chat-container textarea::placeholder,
.viewer-built-in-content input::placeholder,
.viewer-built-in-content textarea::placeholder {
    color: rgba(120, 70, 100, 0.6) !important;
    font-style: italic !important;
}

/* ===== 19. APP端内容容器 ===== */
.viewer-rich-content,
.viewer-markdown-content {
    background: rgba(15, 5, 12, 0.7);
    border: 1px solid rgba(255, 126, 179, 0.3);
    border-radius: 14px;
    padding: 24px 22px;
    margin-bottom: 1.2rem;
    color: #fde6f0;
    line-height: 1.9;
    font-size: 1.15em;
    text-align: justify;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
}
.viewer-plain-content {
    background: #180a18;
    border: 1px solid #c8589e;
    border-radius: 12px;
    padding: 10px 18px;
    margin-bottom: 0.8rem;
    color: #fde6f0;
    border-bottom: 1px dashed rgba(255, 126, 179, 0.35);
}
.viewer-rich-content-no-panel {
    background: #180a18;
    border: 1px solid #c8589e;
    border-radius: 12px;
    padding: 10px 18px;
    margin-bottom: 0.8rem;
    color: #fde6f0;
}
.viewer-generation-failed-card {
    background: rgba(10, 5, 10, 0.95);
    border: 1px solid #ff7eb3;
    border-radius: 12px;
    padding: 20px;
    color: #fde6f0;
}
.viewer-generation-failed-title { color: #ff5060; font-weight: 700; }
.viewer-generation-failed-desc { color: #e0c0d0; }
.viewer-generation-failed-btn { background: #2a0f2a; border: 1px solid #c8589e; color: #fde6f0; border-radius: 8px; padding: 8px 16px; }
.viewer-generation-failed-btn-primary { background: #4a1860; border-color: #ff5d9e; color: #fff; }

/* App端隐藏选项预览 */
.viewer-built-in-content .options-area .option-preview,
.viewer-built-in-content .options-area .option-hint {
    display: none !important;
}

/* ===== 20. 桌面端气泡宽度 + 段间距修复（合并，修复重复定义） ===== */
.classUI-chat-container .el-bubble-content {
    max-width: 75% !important;
    width: auto !important;
}
.classUI-chat-container .el-bubble-start .el-bubble-content {
    margin-right: auto !important;
    margin-left: 0 !important;
}
.classUI-chat-container .el-bubble-end .el-bubble-content {
    margin-left: auto !important;
    margin-right: 0 !important;
}
.classUI-chat-container .narrative-body p {
    margin-bottom: 0.85em !important;
    text-indent: 2em !important;
}
.classUI-chat-container .narrative-body p:first-child {
    text-indent: 0 !important;
}

/* ===== 21. 全局字号放大 ===== */
.classUI-chat-container { font-size: 17px !important; }
.viewer-built-in-content { font-size: 17px !important; }

.classUI-chat-container .narrative-body {
    font-size: 1.35em !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    line-height: 2.0 !important;
}
.viewer-built-in-content .viewer-rich-content,
.viewer-built-in-content .viewer-markdown-content {
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    line-height: 2.0 !important;
}

.classUI-chat-container .details-content { font-size: 1.05em !important; }
.viewer-built-in-content .details-content { font-size: 1.05rem !important; }

.classUI-chat-container .option-btn {
    font-size: 1.15em !important;
    font-weight: 600 !important;
}
.viewer-built-in-content .option-btn {
    font-size: 1.05rem !important;
    font-weight: 600 !important;
}

.data-table,
.memory-table {
    font-size: 1.0em !important;
}

/* ===== 22. 精兵档案卡片（修复：强制换行，防止横向滚动） ===== */
.profile-card {
    background: var(--bg, #0b0710);
    border-radius: var(--radius, 14px);
    border: 1px solid var(--border, #2d2440);
    padding: 20px 18px;
    margin: 8px 0 4px;
    font-size: 14px;
    line-height: 1.7;
    user-select: text;
    -webkit-user-select: text;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
    max-width: 100%;
    box-sizing: border-box;
}
.profile-card * {
    max-width: 100%;
    box-sizing: border-box;
    word-break: break-word;
    overflow-wrap: break-word;
}
.profile-card .data-table,
.profile-card .memory-table {
    table-layout: fixed;
    width: 100%;
    white-space: normal !important;
}
.profile-card .data-table td,
.profile-card .data-table th,
.profile-card .memory-table td,
.profile-card .memory-table th {
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: break-word;
    padding: 8px 12px;
}
.profile-card .p-row {
    display: flex;
    gap: 6px 18px;
    flex-wrap: wrap;
    padding: 4px 0;
    max-width: 100%;
}
.profile-card .p-row .p-label {
    color: var(--text-dim, #a094b0);
    min-width: 70px;
    flex-shrink: 0;
}
.profile-card .p-row .p-value {
    font-weight: 500;
    word-break: break-word;
    flex: 1;
    min-width: 100px;
}
.profile-card .p-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}
.profile-card .p-tags span {
    background: var(--bg-card-hover, #1f1a30);
    padding: 2px 12px;
    border-radius: 30px;
    font-size: 12px;
    border: 1px solid var(--border, #2d2440);
    white-space: nowrap;
}

/* ============================================================
   输入框强制覆盖补丁（原功能，完整保留）
   针对超神学院 .input-field / .select-field 类名
   ============================================================ */
.ai-chat-container .input-field,
.ai-chat-container .select-field,
.ai-chat-container input[type="text"],
.ai-chat-container input[type="number"],
.ai-chat-container textarea {
    background: #ffffff !important;
    border: 2px solid rgba(255, 93, 158, 0.7) !important;
    color: #1a0a14 !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-size: 0.95em !important;
    outline: none !important;
    caret-color: #ff5d9e !important;
}
.ai-chat-container .input-field:focus,
.ai-chat-container .select-field:focus,
.ai-chat-container input[type="text"]:focus,
.ai-chat-container input[type="number"]:focus,
.ai-chat-container textarea:focus {
    border-color: #b080d0 !important;
    box-shadow: 0 0 20px rgba(255, 93, 158, 0.5), 0 0 40px rgba(168, 108, 217, 0.2) !important;
}
.ai-chat-container .input-field::placeholder,
.ai-chat-container .select-field::placeholder,
.ai-chat-container input::placeholder,
.ai-chat-container textarea::placeholder {
    color: rgba(120, 70, 100, 0.6) !important;
    font-style: italic !important;
}

#viewer.built-in-css-active .input-field,
#viewer.built-in-css-active .select-field,
#viewer.built-in-css-active input[type="text"],
#viewer.built-in-css-active input[type="number"],
#viewer.built-in-css-active textarea {
    background: #ffffff !important;
    border: 2px solid rgba(255, 93, 158, 0.7) !important;
    color: #1a0a14 !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-size: 0.95em !important;
    outline: none !important;
    caret-color: #ff5d9e !important;
}
#viewer.built-in-css-active .input-field:focus,
#viewer.built-in-css-active .select-field:focus,
#viewer.built-in-css-active input[type="text"]:focus,
#viewer.built-in-css-active input[type="number"]:focus,
#viewer.built-in-css-active textarea:focus {
    border-color: #b080d0 !important;
    box-shadow: 0 0 20px rgba(255, 93, 158, 0.5), 0 0 40px rgba(168, 108, 217, 0.2) !important;
}
#viewer.built-in-css-active .input-field::placeholder,
#viewer.built-in-css-active .select-field::placeholder,
#viewer.built-in-css-active input::placeholder,
#viewer.built-in-css-active textarea::placeholder {
    color: rgba(120, 70, 100, 0.6) !important;
    font-style: italic !important;
}

/* ============================================================
   移动端适配
   ============================================================ */
@media (max-width: 640px) {
    .classUI-chat-container {
        padding: 0.8rem;
        font-size: 16px !important;
    }
    .classUI-chat-container .narrative-body {
        font-size: 1.2rem !important;
        padding: 14px 12px !important;
    }
    .classUI-chat-container .option-btn {
        font-size: 1.0rem !important;
    }
    .classUI-chat-container details,
    .classUI-chat-container .thought-chain,
    .classUI-chat-container .objectives-panel,
    .classUI-chat-container .status-panel,
    .classUI-chat-container .strategy-panel,
    .classUI-chat-container .profile-panel,
    .classUI-chat-container .relation-panel,
    .classUI-chat-container .asset-panel,
    .classUI-chat-container .memory-panel,
    .classUI-chat-container .options-area,
    .classUI-chat-container .forum-panel {
        padding: 6px 10px;
        margin-bottom: 0.5rem;
        border-radius: 8px;
    }
    .classUI-chat-container summary {
        padding: 6px 0;
        font-size: 0.9em;
    }
    .classUI-chat-container .details-content {
        margin-top: 6px;
        padding: 8px 2px;
        font-size: 0.85em;
    }
    .classUI-chat-container .time-location-bar {
        padding: 0.4rem 0.6rem;
        margin-bottom: 0.8rem;
        gap: 10px;
        font-size: 0.78rem;
    }
    .classUI-chat-container .status-grid {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }
    .classUI-chat-container .status-item {
        padding: 0.3rem 0.4rem;
    }
    .classUI-chat-container .options-area {
        padding: 14px 10px;
        margin-top: 0.8rem;
    }
    .classUI-chat-container .option-btn {
        font-size: 0.85rem;
        padding: 0.6rem 1rem;
        margin: 5px 0;
    }
    .classUI-chat-container .forum-post-body {
        font-size: 0.9rem;
        line-height: 1.6;
    }
    .classUI-chat-container .forum-reply {
        font-size: 0.85rem;
        padding: 5px 0;
    }
    .classUI-chat-container .forum-post-title {
        font-size: 1em;
    }
    .classUI-chat-container .forum-post-author {
        font-size: 0.8rem;
    }
    .classUI-chat-container .data-table th,
    .classUI-chat-container .memory-table th,
    .classUI-chat-container .data-table td,
    .classUI-chat-container .memory-table td {
        padding: 6px 8px;
        font-size: 0.78em;
        word-break: break-word;
    }
    .classUI-chat-container .profile-basic p {
        font-size: 0.82em;
        line-height: 1.5;
    }
    .classUI-chat-container .engraved-entry {
        padding: 8px 10px;
    }
    .classUI-chat-container .engraved-table td {
        font-size: 0.8em;
        padding: 4px 0;
    }
    .classUI-chat-container .memory-panel .memory-table,
    .classUI-chat-container .memory-panel .data-table {
        white-space: normal;
        font-size: 0.75em;
        table-layout: fixed;
    }
    .classUI-chat-container .memory-panel .memory-table th,
    .classUI-chat-container .memory-panel .memory-table td {
        padding: 5px 6px;
        word-break: break-word;
    }

    .viewer-built-in-content {
        padding: 0.6rem;
        font-size: 16px !important;
    }
    .viewer-built-in-content .viewer-rich-content,
    .viewer-built-in-content .viewer-markdown-content {
        font-size: 1.05rem !important;
        padding: 10px 8px;
        line-height: 1.7;
        margin-bottom: 0.6rem;
    }
    .viewer-built-in-content .viewer-plain-content,
    .viewer-built-in-content .viewer-rich-content-no-panel {
        padding: 8px 10px;
        margin-bottom: 0.5rem;
        border-radius: 8px;
    }
    .viewer-built-in-content .option-btn {
        font-size: 1.0rem !important;
        padding: 0.5rem 0.8rem !important;
        line-height: 1.4 !important;
    }
    .viewer-built-in-content .details-content {
        font-size: 0.9rem !important;
    }
    .viewer-built-in-content .data-table,
    .viewer-built-in-content .memory-table {
        font-size: 0.75rem !important;
        table-layout: fixed;
    }
    .viewer-built-in-content .data-table th,
    .viewer-built-in-content .data-table td,
    .viewer-built-in-content .memory-table th,
    .viewer-built-in-content .memory-table td {
        padding: 4px 6px;
        word-break: break-word;
        font-size: 0.7rem;
    }

    /* 输入框移动端适配（保留） */
    .classUI-chat-container input,
    .classUI-chat-container textarea,
    .classUI-chat-container select,
    .viewer-built-in-content input,
    .viewer-built-in-content textarea,
    .viewer-built-in-content select {
        padding: 10px 12px !important;
        font-size: 0.9em !important;
    }

    /* 档案卡片移动端修复 */
    .profile-card {
        padding: 12px 10px !important;
        font-size: 13px !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }
    .profile-card .p-row {
        flex-direction: column;
        gap: 2px 0;
        padding: 3px 0;
    }
    .profile-card .p-row .p-label {
        min-width: auto;
        font-size: 0.85em;
    }
    .profile-card .p-row .p-value {
        min-width: auto;
        font-size: 0.95em;
        padding-left: 4px;
    }
    .profile-card .p-tags span {
        font-size: 10px;
        padding: 1px 8px;
        white-space: normal !important;
    }
    .profile-card .data-table td,
    .profile-card .data-table th,
    .profile-card .memory-table td,
    .profile-card .memory-table th {
        padding: 4px 6px;
        font-size: 0.7rem;
        word-break: break-word;
    }

    .engraved-label {
        white-space: normal !important;
        width: auto !important;
    }
}

/* ============================================================
   超小屏设备 (380px以下)
   ============================================================ */
@media (max-width: 380px) {
    .classUI-chat-container {
        padding: 0.4rem;
    }
    .classUI-chat-container .narrative-body {
        font-size: 1.0rem !important;
        padding: 10px 8px !important;
    }
    .classUI-chat-container .option-btn {
        font-size: 0.8rem !important;
        padding: 0.4rem 0.6rem !important;
    }
    .viewer-built-in-content {
        padding: 0.3rem;
    }
    .viewer-built-in-content .viewer-rich-content,
    .viewer-built-in-content .viewer-markdown-content {
        font-size: 0.95rem !important;
        padding: 8px 6px !important;
    }
    .viewer-built-in-content .option-btn {
        font-size: 0.85rem !important;
        padding: 0.4rem 0.6rem !important;
    }
    .profile-card {
        padding: 8px 6px !important;
        font-size: 11px !important;
    }
    .profile-card .p-row .p-label {
        font-size: 0.75em;
    }
    .profile-card .p-row .p-value {
        font-size: 0.85em;
    }
}