/* 平台基础兼容性CSS */
.rounded-tr-2xl { padding: 15px !important; }
.text-gray-100\/90 { color: rgba(102, 96, 93, 0%); }
.css-6usgop, .w-2 { display: none !important; }
.border-\[\#F1CBCB\] { border-color: rgba(241, 203, 203, 0%); }
.bg-gray-100\/90:not(.chat-answer-container .bg-gray-100\/90) {
    color: #000;
    display: flex;
    flex-direction: column;
    padding: 1rem;
    background: rgba(225, 245, 254, 0.85); /* 淡蓝色半透明背景 */
    border: 2px solid #81D4FA; /* 亮蓝色边框 */
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(129, 212, 250, 0.4), inset 0 0 15px rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(8px);
    font-family: 'Microsoft YaHei', 'Segoe UI', sans-serif;
    margin-bottom: 25px;
}
.markdown-body { color: #000; background-color: transparent; }
.bg-gray-100\/90, .markdown-body { background-color: transparent; }
.py-3, .px-4 { padding: 0; }
.markdown-body details { margin: 0; }
.justify-start { margin-top: 10px; margin-bottom: 0px; }

/* 主题美化 */
.main-container {
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 15px;
    border: 1px solid #B3E5FC;
}
.header {
    text-align: center;
    margin-bottom: 10px;
}
.title {
    font-size: 2em;
    color: #0277BD;
    text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.8);
    font-weight: bold;
}
.info-bar {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    background-color: rgba(179, 229, 252, 0.7);
    padding: 8px;
    border-radius: 8px;
    font-size: 0.9em;
    color: #01579B;
}
.info-item {
    margin: 2px 10px;
}

.narrative-container {
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 15px;
    border: 1px solid #B3E5FC;
}
.narrative-header {
    font-size: 1.3em;
    color: #0288D1;
    border-bottom: 2px solid #81D4FA;
    padding-bottom: 5px;
    margin-bottom: 10px;
    font-weight: 600;
}
.narrative-content {
    line-height: 1.7;
    text-align: justify;
    color: #333;
}

.status-container, .memory-container {
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 10px;
    margin-bottom: 15px;
    border: 1px solid #B3E5FC;
}
.status-container summary, .memory-container summary {
    font-size: 1.2em;
    color: #0288D1;
    padding: 10px 15px;
    cursor: pointer;
    font-weight: 600;
    outline: none;
}
.status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 15px;
    padding: 15px;
}
.char-panel {
    background-color: rgba(207, 239, 255, 0.8);
    border-radius: 8px;
    padding: 12px;
    border: 1px solid #81D4FA;
    transition: box-shadow 0.3s;
}
.char-panel:hover {
    box-shadow: 0 2px 10px rgba(79, 195, 247, 0.5);
}
.char-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px dashed #4FC3F7;
    padding-bottom: 8px;
    margin-bottom: 8px;
}
.char-name {
    font-size: 1.1em;
    font-weight: bold;
    color: #01579B;
}
.char-gender {
    font-size: 0.9em;
    color: #0277BD;
    background-color: #E1F5FE;
    padding: 2px 6px;
    border-radius: 4px;
}
.char-body p {
    margin: 6px 0;
    font-size: 0.95em;
    color: #212121;
}
.char-body p strong {
    color: #0277BD;
    margin-right: 5px;
}
.memory-content {
    padding: 15px;
}
.memory-content h4 {
    color: #01579B;
    margin-top: 0;
    margin-bottom: 10px;
}
.memory-item {
    background-color: rgba(225, 245, 254, 0.8);
    padding: 8px;
    border-radius: 5px;
    margin-bottom: 8px;
    font-size: 0.9em;
    color: #37474F;
    border-left: 3px solid #4FC3F7;
}
.memory-id, .memory-date {
    font-weight: bold;
    color: #0288D1;
    margin-right: 8px;
}

.options-container {
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 10px;
    padding: 15px;
    border: 1px solid #B3E5FC;
}
.options-header {
    font-size: 1.2em;
    color: #0288D1;
    margin-bottom: 10px;
    font-weight: 600;
}
.options-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.option-item {
    background-color: #E1F5FE;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #81D4FA;
    cursor: pointer;
    transition: all 0.3s;
    color: #01579B;
}
.option-item:hover {
    background-color: #B3E5FC;
    color: #01579B;
    transform: translateX(5px);
}