/* 基础平台兼容性CSS */
.css-6usgop, .w-2 { display: none !important; }
.border-\[\#F1CBCB\] { border-color: rgba(0,0,0,0) !important; }
.text-gray-100\/90 { color: rgba(0,0,0,0) !important; }

/* 主回复框样式 */
.bg-gray-100\/90:not(.chat-answer-container .bg-gray-100\/90) {
    background: rgba(220, 235, 255, 0.75); /* 淡蓝色半透明背景 */
    border: 2px solid #aed6f1;
    border-radius: 12px;
    padding: 15px;
    color: #000000; /* 黑色字体 */
    font-family: 'Georgia', 'Times New Roman', serif;
    backdrop-filter: blur(4px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}
.markdown-body { color: #000000; background-color: transparent; }
.py-3, .px-4 { padding: 0 !important; }
.justify-start { margin-bottom: 15px; }

/* 各模块容器样式 */
.overlord-container, .narrative-section, .player-choices-container, .memory-log-container {
    background: rgba(240, 248, 255, 0.6); /* 更亮的爱丽丝蓝半透明背景 */
    border: 1px solid #cce3f5;
    border-radius: 8px;
    margin-bottom: 15px;
    padding: 15px;
}

/* 标题横幅 */
.header-banner { text-align: center; margin-bottom: 15px; }
.title-text {
    font-size: 2.5em;
    color: #2c3e50; /* 深蓝灰色 */
    font-family: 'Cinzel', serif; /* 类似Overlord Logo的字体 */
    font-weight: 700;
    text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.5);
}

/* 状态显示 */
.status-display {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 0.9em;
    color: #34495e; /* 较深的蓝灰色 */
}
.status-item .icon { margin-right: 8px; color: #3498db; } /* 亮蓝色图标 */

/* 内容/选项/记忆区 头部 */
.narrative-header, .choices-header, .memory-log-container summary {
    font-size: 1.4em;
    color: #2980b9; /* 较深的蓝色 */
    padding-bottom: 8px;
    margin-bottom: 12px;
    border-bottom: 2px solid #aed6f1;
    font-weight: bold;
    text-align: center;
}
.memory-log-container summary { cursor: pointer; }
.narrative-content { line-height: 1.7; font-size: 1.05em; }

/* 选项列表 */
.choices-list { display: flex; flex-direction: column; gap: 8px; }
.choice-item {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    background-color: rgba(255, 255, 255, 0.5);
    border-left: 4px solid #3498db;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.choice-item:hover { background-color: #ffffff; transform: translateX(5px); }
.choice-letter { font-weight: bold; color: #2980b9; margin-right: 12px; }

/* 记忆区 */
.memory-content { padding-top: 10px; }
.memory-subsection { margin-bottom: 10px; }
.memory-subsection h4 { color: #34495e; margin-bottom: 8px; font-size: 1.1em; }
.memory-entry { font-size: 0.9em; }
.memory-timestamp, .relation-status { color: #5dade2; }

/* --- 侧边栏 --- */
.sidebar-container { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 1000; }
.sidebar-button {
    width: 45px; height: 45px;
    background: #2c3e50;
    color: #eaf2f8;
    font-size: 24px;
    border-radius: 25px 0 0 25px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    border: 2px solid #aed6f1;
    border-right: none;
    box-shadow: -3px 0px 10px rgba(0,0,0,0.2);
}
.sidebar-panel {
    position: absolute;
    right: -320px; /* Initially hidden */
    top: -200px; /* Adjust vertical position */
    width: 300px;
    max-height: 600px;
    background: rgba(240, 248, 255, 0.95);
    border-radius: 8px 0 0 8px;
    box-shadow: -5px 0px 20px rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease-in-out;
    border: 1px solid #aed6f1;
    backdrop-filter: blur(5px);
}
.sidebar-container:hover .sidebar-panel { right: 45px; opacity: 1; visibility: visible; }
.sidebar-content { padding: 15px; max-height: 600px; overflow-y: auto; }
.sidebar-content::-webkit-scrollbar { width: 5px; }
.sidebar-content::-webkit-scrollbar-track { background: #d6eaf8; }
.sidebar-content::-webkit-scrollbar-thumb { background: #85c1e9; border-radius: 3px; }

.char-section { margin-bottom: 15px; }
.char-section h2, .char-section h3 {
    color: #2c3e50;
    margin-bottom: 8px;
    border-bottom: 1px solid #d6eaf8;
    padding-bottom: 4px;
}
.char-desc, .char-appearance { font-size: 0.9em; color: #34495e; margin-bottom: 5px; }
ul.job-list, ul.equip-list, ul.inventory-list { list-style: none; padding-left: 10px; }
li { margin-bottom: 4px; font-size: 0.9em; }
.world-item { font-weight: bold; color: #e67e22; } /* Orange for world items */
.currency-display p { margin: 2px 0; }

/* 等级条 */
.level-bar-container { margin-bottom: 10px; }
.level-bar-bg { height: 12px; background: #d6eaf8; border-radius: 6px; overflow: hidden; }
.level-bar-fill { height: 100%; background: linear-gradient(to right, #5dade2, #85c1e9); border-radius: 6px; }

/* 正义值条 */
.justice-bar-container { margin-bottom: 10px; }
.justice-bar-bg {
    height: 12px;
    background: linear-gradient(to right, #e74c3c, #ecf0f1, #3498db); /* Red -> Grey -> Blue */
    border-radius: 6px;
    position: relative;
}
.justice-bar-fill {
    height: 100%;
    width: 4px; /* Width of the indicator */
    background: #2c3e50;
    border-radius: 2px;
    position: absolute;
    top: -2px;
    height: 16px;
    border: 1px solid white;
}