/* ========== 魔都浮生录 · 沉浸式状态栏系统 v2.0 ========== */
.bg-gradient-to-t {
    pointer-events: auto !important; 
    background: linear-gradient(to top, rgba(15, 23, 42, 0.98) 0%, rgba(15, 23, 42, 0.6) 80%, transparent 100%) !important;
}
/* 顶部栏 - 毛玻璃效果 */
.sticky.w-full.top-0.flex.items-center {
    background: rgba(15, 23, 42, 0.75) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    border-bottom: 1px solid rgba(139, 92, 246, 0.2) !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2) !important;
}
/* 顶部栏 - 模型选择器 */
#ai-model-selector .group.flex.items-center {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    padding: 4px 14px !important;
}
#ai-model-selector .truncate.text-\[13px\] {
    color: #f1f5f9 !important;
    text-shadow: 0 0 5px rgba(139, 92, 246, 0.5) !important;
}
/* 顶部栏 - 设置按钮 */
#header-setting-button {
    color: #cbd5e1 !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border-radius: 50% !important;
    transition: all 0.4s ease !important;
}
#header-setting-button:hover {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.4), rgba(79, 70, 229, 0.4)) !important;
    transform: rotate(180deg) !important;
    box-shadow: 0 0 12px rgba(167, 139, 250, 0.6) !important;
}
/* 开场白栏 */
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"] {
    background: rgba(30, 41, 59, 0.5) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #e2e8f0 !important;
}
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"]:hover {
    background: linear-gradient(90deg, rgba(76, 29, 149, 0.7), rgba(30, 58, 138, 0.7)) !important;
    border-color: #a78bfa !important;
}
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="SlidersH"],
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="ChevronDown"] {
    color: #c4b5fd !important;
}
/* 按钮栏 */
#ai-mod-button2 {
    background: transparent !important;
    padding: 8px 0 !important;
    gap: 8px !important;
}
#ai-mod-button2 button.MuiButton-root {
    background: linear-gradient(135deg, rgba(76, 29, 149, 0.8) 0%, rgba(30, 58, 138, 0.8) 100%) !important;
    backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(167, 139, 250, 0.3) !important;
    color: #e2e8f0 !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    transition: all 0.2s ease !important;
}
#ai-mod-button2 button.MuiButton-root:hover {
    background: linear-gradient(135deg, rgba(109, 40, 217, 1) 0%, rgba(37, 99, 235, 1) 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 0 15px rgba(124, 58, 237, 0.4) !important;
}
#ai-mod-button2 button.MuiButton-root svg {
    filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.5)) !important;
}
/* --- 底部输入区域 (核心修改处) --- */
/* 输入框容器 */
#ai-chat-bottom-input {
    /* [关键修改] 改为不透明背景，确保任何模式下文字都清晰可见 */
    background: #1e293b !important; 
    /* backdrop-filter 已移除，因为它在不透明背景下无效 */
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3) !important;
    /* [关键保留] 保留您原有的层级和指针事件设置，确保可点击 */
    position: relative !important;
    z-index: 50 !important;
    pointer-events: auto !important;
}
/* 输入框聚焦时效果 */
#ai-chat-bottom-input:focus-within {
    /* [关键修改] 同样使用不透明背景 */
    background: #334155 !important;
    border-color: rgba(167, 139, 250, 0.6) !important;
    box-shadow: 0 0 25px rgba(139, 92, 246, 0.25) !important;
}
/* 输入框本身 */
#ai-chat-input {
    background-color: #1e293b !important; /* 直接应用深色背景 */
    color: #f8fafc !important;
    padding: 10px !important; /* 增加内边距防止文字贴边 */
    border-radius: 12px !important; /* 添加圆角使其美观 */
}
/* 当父容器聚焦时，输入框也改变颜色 */
#ai-chat-bottom-input:focus-within #ai-chat-input {
    background-color: #334155 !important;
}
/* [关键保留] 保留对发送按钮等元素的交互修复 */
#ai-chat-bottom-input button,
#ai-chat-bottom-input svg,
#ai-chat-bottom-input [role="button"] {
    pointer-events: auto !important;
    cursor: pointer !important;
    z-index: 51 !important;
}
/* --- 评论区 --- */
div[class*="w-full"][class*="bg-white"][class*="bottom-0"] {
    background-color: #0f172a !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}
div.text-lg.font-bold {
    color: #e2e8f0 !important;
}
div.flex.flex-col.border-gray-200 {
    background: rgba(30, 41, 59, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
textarea.rc-textarea {
    color: #f1f5f9 !important;
}
div.cursor-pointer.group.flex.items-center.justify-center {
    background: linear-gradient(45deg, #7c3aed, #db2777) !important;
}
div.text-sm.text-grey-600 span.font-bold {
    color: #e2e8f0 !important;
}
div.break-all {
    color: #cbd5e1 !important;
}
/* 排序与分页 */
button.MuiButton-containedPrimary {
    background: linear-gradient(90deg, #6d28d9, #4f46e5) !important;
}
button.MuiButton-outlinedPrimary {
    color: #c4b5fd !important;
    border-color: rgba(139, 92, 246, 0.5) !important;
}
.MuiPaginationItem-root {
    color: #94a3b8 !important;
}
.MuiPaginationItem-root.Mui-selected {
    background: rgba(139, 92, 246, 0.3) !important;
    color: #fff !important;
    border: 1px solid rgba(139, 92, 246, 0.6) !important;
}
.MuiInputBase-input {
    background: rgba(255, 255, 255, 0.05) !important;
    color: white !important;
}
/* ===== 隐藏顶部装饰条 ===== */
[class*="bg-[#F1CBCB]"],
[class*="bg-[#c9e1e9]"] {
    display: none !important;
}
/* ===== 聊天框覆盖样式 ===== */
.bg-gray-100\/90.relative.inline-block {
    background: linear-gradient(160deg, #0c0c18 0%, #1a1028 40%, #0f0a1a 100%) !important;
    border: 1px solid rgba(255, 100, 150, 0.35) !important;
    border-radius: 12px !important;
    box-shadow:
        0 0 35px rgba(255, 100, 150, 0.12),
        0 0 60px rgba(138, 43, 226, 0.08),
        0 4px 25px rgba(0, 0, 0, 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
    padding: 10px 12px !important;
    margin: 5px 0 !important;
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
}
/* 城市光斑背景 */
.bg-gray-100\/90.relative.inline-block::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Ccircle cx='30' cy='40' r='1.5' fill='%23ff6496' opacity='0.3'%3E%3Canimate attributeName='opacity' values='0.3;0.6;0.3' dur='4s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='90' cy='25' r='1' fill='%23a855f7' opacity='0.25'%3E%3Canimate attributeName='opacity' values='0.25;0.5;0.25' dur='3s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='160' cy='50' r='1.2' fill='%2300d4ff' opacity='0.35'%3E%3Canimate attributeName='opacity' values='0.35;0.7;0.35' dur='5s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='50' cy='120' r='0.8' fill='%23ff6496' opacity='0.3'%3E%3Canimate attributeName='opacity' values='0.3;0.55;0.3' dur='3.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='140' cy='140' r='1.3' fill='%23ffd700' opacity='0.2'%3E%3Canimate attributeName='opacity' values='0.2;0.45;0.2' dur='4.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='180' cy='90' r='0.9' fill='%23a855f7' opacity='0.28'%3E%3Canimate attributeName='opacity' values='0.28;0.55;0.28' dur='3.2s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='20' cy='170' r='1.1' fill='%2300d4ff' opacity='0.22'%3E%3Canimate attributeName='opacity' values='0.22;0.48;0.22' dur='4.2s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='110' cy='85' r='0.7' fill='%23ff6496' opacity='0.25'%3E%3Canimate attributeName='opacity' values='0.25;0.5;0.25' dur='2.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") !important;
    background-size: 200px 200px !important;
    opacity: 0.6 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}
/* 霓虹扫描线 */
.bg-gray-100\/90.relative.inline-block::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent 0%, rgba(255,100,150,0.8) 30%, rgba(138,43,226,0.8) 70%, transparent 100%) !important;
    z-index: 0 !important;
    pointer-events: none !important;
    animation: neonScan 5s linear infinite !important;
}
@keyframes neonScan {
    0% { transform: translateX(-100%); opacity: 0; }
    15% { opacity: 1; }
    85% { opacity: 1; }
    100% { transform: translateX(100%); opacity: 0; }
}
/* ===== 主文本样式 ===== */
.markdown-body {
    color: #e0dce8 !important;
    background: transparent !important;
    position: relative !important;
    z-index: 1 !important;
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif !important;
}
/* ===== 校园主题加载动画 ===== */
.style_dot-flashing__8L91Q.style_text__zGhNq {
    display: none !important;
}
.flex.items-center.justify-center.w-6.h-5 {
    position: relative !important;
    width: 120px !important;
    height: 80px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}
/* 樱花飘落动画 */
.flex.items-center.justify-center.w-6.h-5::before {
    content: '' !important;
    position: absolute !important;
    width: 50px !important;
    height: 50px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cg%3E%3Cpath d='M25 15 L27 20 L32 20 L28 23 L30 28 L25 25 L20 28 L22 23 L18 20 L23 20 Z' fill='%23ff8ac4' opacity='0.8'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='3s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0.4;0.8;0.4' dur='2s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M25 10 L26 13 L29 13 L27 15 L28 18 L25 16 L22 18 L23 15 L21 13 L24 13 Z' fill='%23ffc0e0' opacity='0.6'%3E%3CanimateTransform attributeName='transform' type='translate' values='0,0; 2,-15; 0,0' dur='4s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0.3;0.7;0.3' dur='4s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M25 35 L26 38 L29 38 L27 40 L28 43 L25 41 L22 43 L23 40 L21 38 L24 38 Z' fill='%23ffc0e0' opacity='0.5'%3E%3CanimateTransform attributeName='transform' type='translate' values='0,0; -3,15; 0,0' dur='5s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='0.2;0.6;0.2' dur='5s' repeatCount='indefinite'/%3E%3C/path%3E%3C/g%3E%3Ccircle cx='25' cy='25' r='18' fill='none' stroke='%23ff8ac4' stroke-width='1.5' stroke-dasharray='4 4' opacity='0.3'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    z-index: 2 !important;
}
/* 加载文字 */
.flex.items-center.justify-center.w-6.h-5::after {
    content: '青春故事编织中...' !important;
    position: relative !important;
    color: #ff8ac4 !important;
    font-size: 0.75em !important;
    font-weight: 600 !important;
    text-shadow: 0 0 8px rgba(255, 138, 196, 0.4) !important;
    z-index: 3 !important;
    animation: textFade 2s ease-in-out infinite !important;
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif !important;
}
@keyframes textFade {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}
/* ===== 容器样式 ===== */
.modu-container {
    position: relative !important;
    z-index: 1 !important;
}
/* ===== 时间地点栏 ===== */
.time-location-bar {
    background: linear-gradient(135deg, #12081a 0%, #1e1030 50%, #180c22 100%) !important;
    border: 1px solid rgba(255, 100, 150, 0.4) !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    margin-bottom: 10px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    box-shadow:
        0 0 25px rgba(255, 100, 150, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
    position: relative !important;
    overflow: hidden !important;
}
.time-location-bar::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 2px !important;
    background: linear-gradient(90deg, transparent, #ff6496, #a855f7, transparent) !important;
    animation: neonLine 4s linear infinite !important;
}
@keyframes neonLine {
    0% { left: -100%; }
    100% { left: 100%; }
}
.info-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 !important;
    min-width: 170px !important;
}
.info-icon {
    font-size: 1.1em !important;
    filter: drop-shadow(0 0 4px currentColor) !important;
}
.info-label {
    color: #9a8aaa !important;
    font-size: 0.85em !important;
    font-weight: 500 !important;
}
.info-value {
    color: #f0e8f8 !important;
    font-weight: 600 !important;
    font-family: 'Courier New', monospace !important;
    text-shadow: 0 0 8px rgba(255, 100, 150, 0.3) !important;
}
/* ===== 正文区域 ===== */
.main-story-content {
    background: linear-gradient(180deg, #0e0815 0%, #16102a 100%) !important;
    border: 1px solid #3a2848 !important;
    border-radius: 10px !important;
    padding: 20px 22px !important;
    margin-bottom: 10px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45) !important;
    position: relative !important;
}
.main-story-content::before,
.main-story-content::after {
    content: '' !important;
    position: absolute !important;
    width: 22px !important;
    height: 22px !important;
    border: 2px solid #ff6496 !important;
    opacity: 0.45 !important;
}
.main-story-content::before {
    top: 8px !important;
    left: 8px !important;
    border-right: none !important;
    border-bottom: none !important;
}
.main-story-content::after {
    bottom: 8px !important;
    right: 8px !important;
    border-left: none !important;
    border-top: none !important;
}
.main-story-content text {
    display: block !important;
}
.main-story-content p {
    color: #dcd5e8 !important;
    font-size: 1em !important;
    line-height: 1.85 !important;
    margin-bottom: 1em !important;
    text-align: justify !important;
    text-indent: 2em !important;
}
.main-story-content p:last-child {
    margin-bottom: 0 !important;
}
/* ===== 对话变色系统 ===== */
.dialogue-player {
    color: #64b5f6 !important;
}
.dialogue-heroine {
    color: #ff8ac4 !important;
}
.dialogue-linhaoran {
    color: #ffb74d !important;
}
.dialogue-guchengxuan {
    color: #81c784 !important;
}
.dialogue-zhangguodong {
    color: #e57373 !important;
}
.dialogue-marcus {
    color: #ba68c8 !important;
}
.dialogue-chenrui {
    color: #4dd0e1 !important;
}
.dialogue-jiangfeng {
    color: #aed581 !important;
}
/* ===== 额外视角区域 ===== */
.extra-perspective-area {
    background: linear-gradient(180deg, #1a0c22 0%, #0e0815 100%) !important;
    border: 1px solid #4a2858 !important;
    border-left: 3px solid #a855f7 !important;
    border-radius: 10px !important;
    padding: 0 !important;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    box-shadow: 
        0 4px 20px rgba(168, 85, 247, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
    overflow: hidden !important;
    position: relative !important;
}
.extra-perspective-area::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg, transparent 0%, #a855f7 50%, transparent 100%) !important;
    opacity: 0.6 !important;
}
.perspective-label {
    background: linear-gradient(135deg, #2a1545 0%, #1a0c28 100%) !important;
    color: #c084fc !important;
    font-weight: 700 !important;
    font-size: 0.95em !important;
    padding: 10px 16px !important;
    border-bottom: 1px solid #3a2858 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-shadow: 0 0 10px rgba(168, 85, 247, 0.4) !important;
}
.perspective-label::before {
    content: '◆' !important;
    color: #a855f7 !important;
    font-size: 1.1em !important;
    animation: labelPulse 2s ease-in-out infinite !important;
}
@keyframes labelPulse {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.1); }
}
.story-content.side-story {
    padding: 18px 20px !important;
    background: transparent !important;
    border: none !important;
}
.story-content.side-story::before,
.story-content.side-story::after {
    display: none !important;
}
.story-content.side-story text {
    display: block !important;
}
.story-content.side-story p {
    color: #d0c5e0 !important;
    font-size: 0.98em !important;
    line-height: 1.8 !important;
    margin-bottom: 1em !important;
    text-align: justify !important;
    text-indent: 2em !important;
    position: relative !important;
}
.story-content.side-story p:last-child {
    margin-bottom: 0 !important;
}
/* 额外视角特殊标记 */
.extra-perspective-area[data-type="hidden-rape"] {
    border-left-color: #e74c3c !important;
}
.extra-perspective-area[data-type="hidden-rape"] .perspective-label {
    background: linear-gradient(135deg, #3a1520 0%, #1a0c15 100%) !important;
    color: #ff6b9d !important;
}
.extra-perspective-area[data-type="hidden-rape"] .perspective-label::before {
    color: #e74c3c !important;
}
.extra-perspective-area[data-type="cognition"] {
    border-left-color: #ff8ac4 !important;
}
.extra-perspective-area[data-type="cognition"] .perspective-label {
    background: linear-gradient(135deg, #2a1530 0%, #1a0c20 100%) !important;
    color: #ff8ac4 !important;
}
.extra-perspective-area[data-type="cognition"] .perspective-label::before {
    color: #ff8ac4 !important;
}
.extra-perspective-area[data-type="memory"] {
    border-left-color: #ffd700 !important;
}
.extra-perspective-area[data-type="memory"] .perspective-label {
    background: linear-gradient(135deg, #2a2515 0%, #1a180c 100%) !important;
    color: #ffd700 !important;
}
.extra-perspective-area[data-type="memory"] .perspective-label::before {
    color: #ffd700 !important;
}
/* ===== 状态面板容器 ===== */
.status-panel {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
/* ===== 通用状态section ===== */
.status-section {
    background: linear-gradient(180deg, #100818 0%, #1a1028 100%) !important;
    border: 1px solid #3a2850 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
    transition: all 0.3s ease !important;
}
.status-section:hover {
    border-color: #5a3870 !important;
}
.status-section[open] {
    border-color: #ff6496 !important;
    box-shadow: 0 0 20px rgba(255, 100, 150, 0.15) !important;
}
.section-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 16px !important;
    background: linear-gradient(90deg, #1a0c28 0%, #281540 100%) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    list-style: none !important;
}
.section-header::-webkit-details-marker {
    display: none !important;
}
.section-header::after {
    content: '▼' !important;
    margin-left: auto !important;
    color: #6a5a7a !important;
    font-size: 0.7em !important;
    transition: transform 0.3s ease !important;
}
.status-section[open] .section-header::after {
    transform: rotate(180deg) !important;
    color: #ff6496 !important;
}
.section-header:hover {
    background: linear-gradient(90deg, #281540 0%, #351a55 100%) !important;
}
.header-icon {
    font-size: 1.25em !important;
}
.header-title {
    color: #f0e0f8 !important;
    font-weight: 700 !important;
    font-size: 1em !important;
}
.header-status {
    color: #9a8aaa !important;
    font-size: 0.82em !important;
    margin-left: auto !important;
    margin-right: 16px !important;
    font-family: 'Courier New', monospace !important;
}
.section-body {
    padding: 16px !important;
    animation: fadeSlide 0.3s ease !important;
}
@keyframes fadeSlide {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}
/* ===== 玩家信息区 ===== */
.player-section {
    border-color: #4a90a8 !important;
}
.player-section[open] {
    border-color: #5ab8d8 !important;
    box-shadow: 0 0 18px rgba(90, 184, 216, 0.18) !important;
}
.player-section .section-header {
    background: linear-gradient(90deg, #0a1a22 0%, #152838 100%) !important;
}
.player-section .section-header:hover {
    background: linear-gradient(90deg, #152838 0%, #1a3548 100%) !important;
}
.basic-info-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
}
.info-item {
    background: rgba(90, 184, 216, 0.05) !important;
    border: 1px solid #2a4858 !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
.info-item.full-width {
    grid-column: 1 / -1 !important;
}
.item-label {
    color: #6a9aaa !important;
    font-size: 0.78em !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.item-value {
    color: #c8e8f8 !important;
    font-weight: 600 !important;
}
.player-status {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}
.player-status .status-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    background: rgba(90, 184, 216, 0.05) !important;
    border: 1px solid #2a4858 !important;
    border-radius: 8px !important;
}
.player-status .status-label {
    color: #6a9aaa !important;
    font-size: 0.85em !important;
    min-width: 70px !important;
}
.player-status .status-value {
    color: #a8d8e8 !important;
}
.player-unified-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; 
    gap: 8px !important; /* 格子之间的间距 */
    width: 100% !important;
    box-sizing: border-box !important;
}
.player-unified-grid .info-item {
    background: rgba(90, 184, 216, 0.05) !important;
    border: 1px solid #2a4858 !important;
    border-radius: 6px !important;
    padding: 8px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
}
.player-unified-grid .info-item.full-span {
    grid-column: 1 / -1 !important;
}
.player-unified-grid .info-item.status-highlight {
    background: rgba(90, 184, 216, 0.1) !important;
    border-color: #4a90a8 !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
}
.player-unified-grid .item-label {
    color: #6a9aaa !important;
    font-size: 0.75em !important;
    margin-bottom: 2px !important;
    white-space: nowrap !important;
}
.player-unified-grid .item-value {
    color: #c8e8f8 !important;
    font-weight: 600 !important;
    font-size: 0.9em !important;
    line-height: 1.4 !important;
}
@media (max-width: 360px) {
    .player-unified-grid {
        grid-template-columns: 1fr !important;
    }
}
/* ===== 女主信息区 ===== */
.heroine-section {
    border-color: #a855f7 !important;
}
.heroine-section[open] {
    border-color: #c084fc !important;
    box-shadow: 0 0 22px rgba(168, 85, 247, 0.2) !important;
}
.heroine-section .section-header {
    background: linear-gradient(90deg, #180a28 0%, #2a1545 100%) !important;
}
.heroine-section .section-header:hover {
    background: linear-gradient(90deg, #2a1545 0%, #3a2060 100%) !important;
}
.heroine-basic {
    background: rgba(168, 85, 247, 0.05) !important;
    border: 1px solid #3a2858 !important;
    border-radius: 8px !important;
    padding: 12px !important;
    margin-bottom: 14px !important;
}
.basic-row {
    display: flex !important;
    align-items: flex-start !important;
    padding: 7px 0 !important;
    border-bottom: 1px dashed #3a2858 !important;
}
.basic-row:last-child {
    border-bottom: none !important;
}
.row-label {
    color: #9a78bb !important;
    width: 80px !important;
    flex-shrink: 0 !important;
    font-size: 0.88em !important;
}
.row-value {
    color: #e0d0f0 !important;
    flex: 1 !important;
}
.heart-voice .row-value {
    color: #ff8ac4 !important;
    font-style: italic !important;
}
/* ===== 关系数值条 ===== */
.relationship-metrics {
    margin-bottom: 14px !important;
}
.metrics-title {
    color: #c084fc !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    font-size: 0.92em !important;
}
.metrics-bars {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
.metric-bar {
    background: rgba(0, 0, 0, 0.2) !important;
    border: 1px solid #3a2858 !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
}
.bar-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 6px !important;
}
.metric-label {
    color: #c0b0d8 !important;
    font-weight: 500 !important;
}
.metric-value {
    color: #e0d0f0 !important;
    font-family: 'Courier New', monospace !important;
    font-weight: 700 !important;
    font-size: 0.9em !important;
}
.bar-container {
    height: 10px !important;
    background: #1a1028 !important;
    border-radius: 5px !important;
    overflow: hidden !important;
    border: 1px solid #3a3858 !important;
    margin-bottom: 5px !important;
}
.bar-fill {
    height: 100% !important;
    border-radius: 4px !important;
    transition: width 0.5s ease !important;
    position: relative !important;
}
.bar-fill::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 50% !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.25) 0%, transparent 100%) !important;
    border-radius: 4px 4px 0 0 !important;
}
.bar-favor {
    background: linear-gradient(90deg, #ff6b9d 0%, #ff8fab 100%) !important;
    box-shadow: 0 0 10px rgba(255, 107, 157, 0.45) !important;
}
.bar-corrupt {
    background: linear-gradient(90deg, #9b59b6 0%, #8e44ad 100%) !important;
    box-shadow: 0 0 10px rgba(155, 89, 182, 0.45) !important;
}
.bar-excite {
    background: linear-gradient(90deg, #e74c3c 0%, #ff6b6b 100%) !important;
    box-shadow: 0 0 10px rgba(231, 76, 60, 0.45) !important;
}
.bar-change {
    font-size: 0.78em !important;
}
.change-text {
    color: #8a7a9a !important;
}
/* ===== 身体状态区 ===== */
.body-status-panel {
    background: rgba(255, 100, 150, 0.05) !important;
    border: 1px solid #4a2848 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}
.body-status-panel {
    background: rgba(255, 100, 150, 0.05) !important;
    border: 1px solid #4a2848 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}
.body-title {
    display: flex !important;
    align-items: center !important;
    padding: 10px 12px !important;
    color: #ff6496 !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    list-style: none !important;
    background: rgba(255, 100, 150, 0.08) !important;
}
.body-title::-webkit-details-marker {
    display: none !important;
}
.body-title::after {
    content: '▼' !important;
    margin-left: auto !important;
    font-size: 0.7em !important;
    color: #8a5a6a !important;
    transition: transform 0.3s ease !important;
}
.body-status-panel[open] .body-title::after {
    transform: rotate(180deg) !important;
    color: #ff6496 !important;
}
.body-content {
    padding: 12px !important;
    animation: fadeSlide 0.3s ease !important;
}
.body-content {
    padding: 12px !important;
}
.body-info-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}
.body-item {
    background: rgba(0, 0, 0, 0.2) !important;
    border: 1px solid #3a2838 !important;
    border-radius: 6px !important;
    padding: 8px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}
.body-label {
    color: #9a6888 !important;
    font-size: 0.78em !important;
}
.body-value {
    color: #e8a8c0 !important;
    font-weight: 600 !important;
    font-size: 0.9em !important;
}
.organ-status-panel {
    background: rgba(255, 100, 150, 0.05) !important;
    border: 1px solid #4a2848 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin-top: 10px !important;
}
.organ-panel-title {
    display: flex !important;
    align-items: center !important;
    padding: 10px 12px !important;
    color: #ff6496 !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    list-style: none !important;
    background: rgba(255, 100, 150, 0.08) !important;
}
.organ-panel-title::-webkit-details-marker {
    display: none !important;
}
.organ-panel-title::after {
    content: '▼' !important;
    margin-left: auto !important;
    font-size: 0.7em !important;
    color: #8a5a6a !important;
    transition: transform 0.3s ease !important;
}
.organ-status-panel[open] .organ-panel-title::after {
    transform: rotate(180deg) !important;
}
.organ-panel-content {
    padding: 12px !important;
}
.organ-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)) !important;
    gap: 6px !important;
}
.organ-item {
    background: rgba(0, 0, 0, 0.15) !important;
    border: 1px solid #3a2838 !important;
    border-radius: 5px !important;
    padding: 6px 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 0.82em !important;
}
.organ-name {
    color: #e898b0 !important;
    font-weight: 600 !important;
}
.organ-state {
    color: #b878a0 !important;
}
.organ-count {
    color: #8a5878 !important;
    font-size: 0.9em !important;
    margin-left: auto !important;
}
/* ===== 记忆档案区 ===== */
.memory-section {
    border-color: #daa520 !important;
}
.memory-section[open] {
    border-color: #ffd700 !important;
    box-shadow: 0 0 18px rgba(255, 215, 0, 0.12) !important;
}
.memory-section .section-header {
    background: linear-gradient(90deg, #1a180a 0%, #2a2815 100%) !important;
}
.memory-section .section-header:hover {
    background: linear-gradient(90deg, #2a2815 0%, #3a3820 100%) !important;
}
.memory-area {
    background: rgba(0, 0, 0, 0.2) !important;
    border: 1px solid #3a3828 !important;
    border-radius: 8px !important;
    padding: 12px !important;
    margin-bottom: 10px !important;
}
.memory-area:last-child {
    margin-bottom: 0 !important;
}
.memory-title {
    color: #ffd700 !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    font-size: 0.9em !important;
}
.memory-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    max-height: 180px !important;
    overflow-y: auto !important;
}
.memory-list::-webkit-scrollbar {
    width: 4px !important;
}
.memory-list::-webkit-scrollbar-track {
    background: #1a1810 !important;
    border-radius: 2px !important;
}
.memory-list::-webkit-scrollbar-thumb {
    background: #4a4830 !important;
    border-radius: 2px !important;
}
.memory-item {
    color: #c0c0a0 !important;
    font-size: 0.85em !important;
    padding: 7px 10px !important;
    background: rgba(255, 215, 0, 0.03) !important;
    border-radius: 5px !important;
    border-left: 2px solid #4a4830 !important;
}
.memory-item.important {
    border-left-color: #ffd700 !important;
    background: rgba(255, 215, 0, 0.08) !important;
}
.memory-item.snapshot {
    border-left-color: #c084fc !important;
    background: rgba(192, 132, 252, 0.05) !important;
}
/* ===== 行动选择区 ===== */
.action-section {
    border-color: #00d4ff !important;
}
.action-section[open] {
    border-color: #40e0ff !important;
    box-shadow: 0 0 22px rgba(0, 212, 255, 0.18) !important;
}
.action-section .section-header {
    background: linear-gradient(90deg, #0a1820 0%, #152535 100%) !important;
}
.action-section .section-header:hover {
    background: linear-gradient(90deg, #152535 0%, #1a3048 100%) !important;
}
.action-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
.action-option {
    counter-increment: action-counter !important;
    background: linear-gradient(135deg, rgba(0, 212, 255, 0.05) 0%, rgba(0, 212, 255, 0.02) 100%) !important;
    border: 1px solid #2a4858 !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    padding-left: 44px !important;
}
.action-option::before {
    content: counter(action-counter) !important;
    position: absolute !important;
    left: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: linear-gradient(135deg, #00d4ff 0%, #0099cc 100%) !important;
    color: white !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
    font-size: 0.82em !important;
    box-shadow: 0 2px 8px rgba(0, 212, 255, 0.35) !important;
}
.action-option::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    height: 100% !important;
    width: 3px !important;
    background: linear-gradient(180deg, #00d4ff 0%, #0099cc 100%) !important;
    opacity: 0 !important;
    border-radius: 8px 0 0 8px !important;
    transition: opacity 0.3s ease !important;
}
.action-option:hover {
    background: linear-gradient(135deg, rgba(0, 212, 255, 0.12) 0%, rgba(0, 212, 255, 0.05) 100%) !important;
    border-color: #00d4ff !important;
    transform: translateX(4px) !important;
    box-shadow: 0 4px 18px rgba(0, 212, 255, 0.18) !important;
}
.action-option:hover::after {
    opacity: 1 !important;
}
.option-type {
    color: #80e8ff !important;
    font-weight: 600 !important;
    font-size: 0.95em !important;
}
.option-desc {
    color: #8ab8c8 !important;
    font-size: 0.88em !important;
    line-height: 1.45 !important;
}
/* 选项类型变体 */
.action-option[data-type="gentle"] {
    border-color: #3a5848 !important;
}
.action-option[data-type="gentle"]::before {
    background: linear-gradient(135deg, #2ed573 0%, #1abc54 100%) !important;
}
.action-option[data-type="gentle"]::after {
    background: linear-gradient(180deg, #2ed573 0%, #1abc54 100%) !important;
}
.action-option[data-type="gentle"]:hover {
    border-color: #2ed573 !important;
    box-shadow: 0 4px 18px rgba(46, 213, 115, 0.18) !important;
}
.action-option[data-type="gentle"] .option-type {
    color: #5aff9a !important;
}
.action-option[data-type="intimate"] {
    border-color: #5a3848 !important;
}
.action-option[data-type="intimate"]::before {
    background: linear-gradient(135deg, #ff6496 0%, #ff4777 100%) !important;
}
.action-option[data-type="intimate"]::after {
    background: linear-gradient(180deg, #ff6496 0%, #ff4777 100%) !important;
}
.action-option[data-type="intimate"]:hover {
    border-color: #ff6496 !important;
    box-shadow: 0 4px 18px rgba(255, 100, 150, 0.18) !important;
}
.action-option[data-type="intimate"] .option-type {
    color: #ff8fab !important;
}
.action-option[data-type="protect"] {
    border-color: #5a4828 !important;
}
.action-option[data-type="protect"]::before {
    background: linear-gradient(135deg, #ffa502 0%, #ff7f00 100%) !important;
}
.action-option[data-type="protect"]::after {
    background: linear-gradient(180deg, #ffa502 0%, #ff7f00 100%) !important;
}
.action-option[data-type="protect"]:hover {
    border-color: #ffa502 !important;
    box-shadow: 0 4px 18px rgba(255, 165, 2, 0.18) !important;
}
.action-option[data-type="protect"] .option-type {
    color: #ffc048 !important;
}
.action-option[data-type="custom"] {
    border-color: #4a4858 !important;
}
.action-option[data-type="custom"]::before {
    background: linear-gradient(135deg, #8a8aa8 0%, #6a6a88 100%) !important;
}
.action-option[data-type="custom"]::after {
    background: linear-gradient(180deg, #8a8aa8 0%, #6a6a88 100%) !important;
}
.action-option[data-type="custom"]:hover {
    border-color: #a0a0c0 !important;
    box-shadow: 0 4px 18px rgba(160, 160, 192, 0.12) !important;
}
.action-option[data-type="custom"] .option-type {
    color: #c0c0d8 !important;
}
/* ===== 行动选择区域特殊样式调整 ===== */
.action-section .section-header {
    cursor: default !important;
}
.action-section .section-header::after {
    display: none !important;
}
/* 确保行动选择区域始终显示边框高亮 */
.action-section {
    border-color: #00d4ff !important;
    box-shadow: 0 0 22px rgba(0, 212, 255, 0.18) !important;
}
.action-section .section-header {
    background: linear-gradient(90deg, #0a1820 0%, #152535 100%) !important;
}
.action-section .section-header:hover {
    background: linear-gradient(90deg, #152535 0%, #1a3048 100%) !important;
}
/* ===== 移动端适配 ===== */
@media (max-width: 768px) {
    .bg-gray-100\/90.relative.inline-block {
        padding: 8px 10px !important;
    }
    .time-location-bar {
        flex-direction: column !important;
        padding: 10px 12px !important;
        gap: 8px !important;
    }
    .info-row {
        min-width: auto !important;
    }
    .main-story-content {
        padding: 14px 16px !important;
    }
    .main-story-content p {
        font-size: 0.94em !important;
    }
    .section-body {
        padding: 12px !important;
    }
    .basic-info-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .body-info-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .organ-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .header-status {
        display: none !important;
    }
    .action-option {
        padding-left: 40px !important;
    }
    .action-option::before {
        width: 20px !important;
        height: 20px !important;
        font-size: 0.78em !important;
    }
}
@media (max-width: 480px) {
    .bg-gray-100\/90.relative.inline-block {
        padding: 6px 8px !important;
        border-radius: 10px !important;
    }
    .basic-info-grid {
        grid-template-columns: 1fr !important;
    }
    .body-info-grid {
        grid-template-columns: 1fr !important;
    }
    .organ-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .bar-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 3px !important;
    }
    .main-story-content::before,
    .main-story-content::after {
        display: none !important;
    }
    .row-label {
        width: 70px !important;
    }
}
/* ===== 低动效模式 ===== */
@media (prefers-reduced-motion: reduce) {
    .bg-gray-100\/90.relative.inline-block::after {
        animation-duration: 12s !important;
    }
    .time-location-bar::before {
        animation-duration: 8s !important;
    }
    .action-option {
        transition: none !important;
    }
    .action-option:hover {
        transform: none !important;
    }
}