/* === 全局基础样式：崭新的新闻纸 === */
body,{
    background-color: #FFFFFF; /* 纯白背景，如同崭新的纸张 */
    color: #222222; /* 深黑灰色文字，模仿油墨，对比清晰 */
    font-family: 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif; /* 正文使用清晰的无衬线体 */
    line-height: 1.8; /* 更大的行高，提升长文阅读的舒适感 */
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* === 统一区块间距与重置 === */
.location-time, .dialogue, .decree, .technique, details {
    margin-bottom: 28px;
    border: none;
    box-shadow: none;
    border-radius: 0; /* 报纸风格，使用直角 */
}

/* --- 1. 时空坐标 (Location & Time) --- */
.location-time {
    background-color: transparent;
    border-top: 2px solid #111111;
    border-bottom: 1px solid #AAAAAA;
    padding: 12px 0;
    font-size: 0.85em;
    color: #555555;
    text-align: center;
    font-family: 'Courier New', monospace;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 10px 0 30px 0;
}

/* --- 2. 通讯链接 (Dialogue) --- */
.dialogue {
    background-color: transparent;
    padding: 15px 20px;
    border-left: 3px solid #333333;
    position: relative;
    color: #444444;
}
.dialogue::before {
    content: '“';
    font-family: Georgia, serif;
    font-size: 2.5em;
    color: #DDDDDD;
    position: absolute;
    line-height: 1;
    top: 5px;
    left: -5px;
}
.dialogue strong {
    display: block;
    margin-bottom: 5px;
    font-size: 1em;
    font-style: normal;
    font-weight: 700;
    color: #111111;
    font-family: Georgia, 'Times New Roman', serif;
}
.dlg-box {
    padding: 5px 10px; /* 内边距已缩减 */
    margin: 10px; /* 外边距已缩减 */
    border-radius: 10px;
    max-width: 600px;
    font-family: 'Microsoft YaHei', '微软雅黑', sans-serif;
    position: relative;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.dlg-box::before {
    content: '';
    font-weight: bold;
    display: block;
    margin-bottom: 8px; /* 标题与内容间距已缩减 */
    font-size: 1em; /* 标题字号已调整 */
}

/* 人格化界面一：【摇篮】 */
.dlg-cradle {
    background-color: #fce4ec;
    color: #880e4f;
    border: 2px dashed #f48fb1;
    font-family: 'KaiTi', '楷体', serif;
}

.dlg-cradle::before {
    content: '摇篮 ♪';
    color: #c2185b;
}

/* 人格化界面二：【天秤】 */
.dlg-libra {
    background: linear-gradient(135deg, #A2F3FF, #7AC7E0);
    color: #00000;
    border: 1px solid #c5b358;
    border-radius: 4px;
}

.dlg-libra::before {
    content: '【天秤】裁决：';
    color: #8000FF;
    font-family: 'SimSun', '宋体', serif;
}

/* 人格化界面三：【织梦】 */
.dlg-dream {
    background-color: #fdf5e6;
    color: #5d4037;
    border: 1px solid #d2b48c;
    font-family: 'FangSong', '仿宋', serif;
}

.dlg-dream::before {
    content: '【织梦】轻语';
    color: #8d6e63;
}
/* --- 3. 系统通告 (System Decree) --- */
.decree {
    background-color: #F8F8F8;
    padding: 25px;
    border: 1px solid #BBBBBB;
}
.decree .title {
    display: block;
    font-weight: 900;
    font-size: 1.4em;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 2px solid #000000;
    font-family: Georgia, 'Times New Roman', serif;
    text-align: center;
}
.decree .title::before { content: ''; margin-right: 0; }

/* --- 4. 行动结算 (Action Technique) --- */
.technique {
    background-color: transparent;
    border: 1px dashed #AAAAAA;
    padding: 20px;
    font-family: 'SF Mono', 'Consolas', 'Menlo', 'Courier New', monospace;
}
.technique .title {
    color: #111111;
    font-weight: 700;
    text-transform: uppercase;
}
.technique p {
    margin-top: 10px;
    color: #333333;
    font-family: 'Helvetica Neue', sans-serif; /* 内容使用非等宽字体 */
}
.technique .reward {
    background-color: transparent;
    color: #000000;
    margin-top: 20px;
    padding: 10px 0;
    border-top: 1px solid #CCCCCC;
    border-left: none;
    font-weight: bold;
}

/* --- 5. 信息面板 (Collapsible Panel) --- */
details {
    background-color: #FAFAFA;
    border-top: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    padding: 0 20px;
}
summary {
    cursor: pointer;
    font-weight: bold;
    font-size: 1.1em;
    padding: 15px 0;
    color: #222222;
    position: relative;
    list-style: none;
    outline: none;
    font-family: Georgia, 'Times New Roman', serif;
    transition: color 0.2s ease;
}
summary:hover { color: #555555; }
summary::-webkit-details-marker { display: none; }
summary::before {
    content: '[ + ]';
    font-family: 'Courier New', monospace;
    font-weight: bold;
    font-size: 0.9em;
    margin-right: 15px;
    display: inline-block;
    color: #333333;
    transition: transform 0.2s ease-in-out;
}
details[open] > summary::before { content: '[ − ]'; }
details > div {
    padding: 15px 0 20px 0;
    margin-left: 38px;
    border-top: 1px dashed #CCCCCC;
    color: #333333;
}

/* === UI 界面元素重构：报纸风格 === */

/* --- 顶部导航栏 / 底部操作栏 --- */
.sticky.w-full.top-0.h-16,
.sticky.w-full.flex.items-center.text-base,
.sticky.w-full.top-0.flex.items-center.px-2.h-16,
.bg-gradient-to-t.from-white, .absolute.w-full.bottom-0.left-0.right-0 {
  background: #FFFFFF !important; /* 纯白背景 */
  background-image: none !important;
  border-color: #000000 !important; /* 黑色边框线 */
  box-shadow: none !important; /* 去除阴影 */
  backdrop-filter: none !important; /* 去除模糊效果 */
  border-radius: 0 !important;
}
.sticky.w-full.top-0.h-16, .sticky.w-full.flex.items-center.text-base, .sticky.w-full.top-0.flex.items-center.px-2.h-16 {
    border-bottom-width: 1px !important; border-top: none !important;
}
.bg-gradient-to-t.from-white, .absolute.w-full.bottom-0.left-0.right-0 {
    border-top-width: 1px !important; border-bottom: none !important; padding: 4px 8px !important;
}
.sticky.w-full.top-0.h-16 *, .sticky.w-full.flex.items-center * {
    color: #222222 !important; /* 统一为深色文字 */
}

/* --- AI模型选择器 / 按钮 --- */
#ai-model-selector[data-state="closed"] .group,
.group.flex.items-center.px-2.h-8.rounded-lg.bg-gray-100 {
  background: transparent !important;
  color: #222222 !important;
  border: 1px solid #333333 !important; /* 黑色细边框 */
  box-shadow: none !important;
  border-radius: 0 !important;
}
#ai-model-selector[data-state="closed"] .group:hover,
.group.flex.items-center.px-2.h-8.rounded-lg.bg-gray-100:hover {
  background: #F0F0F0 !important; /* 悬浮时有极浅灰色背景 */
  border-color: #000000 !important;
}
.flex.items-center.gap-2.pb-2 button { /* "新话题" 等按钮 */
  background: transparent !important;
  color: #222222 !important;
  border: 1px solid #333333 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 4px 10px !important;
}
.flex.items-center.gap-2.pb-2 button:hover {
  background: #F0F0F0 !important;
  border-color: #000000 !important;
}

/* --- 聊天气泡：AI回复 & 用户提问 --- */
.shrink-0 { display: none !important; } /* 隐藏默认头像 */
.ml-4, .mr-2 { margin: 0 !important; }

/* AI回复：像报纸上的一个专栏文章块 */
.chat-answer-container .bg-gray-100\/90 {
  background-color: #F8F8F8 !important; /* 极浅灰色背景块 */
  background-image: none !important;
  border: 1px solid #DDDDDD !important; /* 细灰色边框 */
  border-radius: 0 !important;
  padding: 20px !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
.chat-answer-container .bg-gray-100\/90 * {
  color: #222222 !important; 
}
/* 用户提问：像读者来信的引述 */
.inline-block.bg-gray-100\/90:not(.chat-answer-container .bg-gray-100\/90) {
  background-color: transparent !important;
  border: none !important;
  border-left: 2px solid #555555 !important; /* 左侧加一道竖线作为引用标记 */
  padding: 12px 15px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-left: auto !important;
  max-width: 100%;
}
.inline-block.bg-gray-100\/90:not(.chat-answer-container .bg-gray-100\/90) * {
    color: #333333 !important;
}

/* --- 输入框 --- */
.p-\[5\.5px\].max-h-\[150px\], .border-\[1\.5px\] {
  background: #FFFFFF !important;
  border: 1px solid #BBBBBB !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-bottom: 2px !important;
  padding: 2px !important;
}
textarea {
  background-color: transparent !important;
  color: #222222 !important;
  padding: 4px 8px !important;
}
textarea::placeholder {
    color: #AAAAAA !important; /* 占位文字为浅灰色 */
    opacity: 1;
    font-style: italic;
}

/* --- 滚动条 --- */
::-webkit-scrollbar { width: 10px !important; }
::-webkit-scrollbar-track { background: #F5F5F5 !important; }
::-webkit-scrollbar-thumb {
  background: #BBBBBB !important; /* 中灰色滑块 */
  border-radius: 0 !important;
  border: none;
}

/* --- 分页器 --- */
.py-0.w-full.flex.justify-center.items-center { padding: 15px 0 !important; }
.MuiPaginationItem-root, .MuiButtonBase-root.MuiPaginationItem-root {
  background: transparent !important;
  color: #333333 !important;
  border: 1px solid #AAAAAA !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  min-width: 32px !important; height: 32px !important;
  font-size: 14px !important; margin: 0 4px !important;
  font-family: 'Helvetica Neue', sans-serif !important;
}
.MuiPaginationItem-root:hover, .MuiButtonBase-root.MuiPaginationItem-root:hover {
  background: #F0F0F0 !important;
  border-color: #333333 !important;
}
.MuiPaginationItem-root.Mui-selected {
  background: #222222 !important; /* 选中时黑底白字 */
  color: #FFFFFF !important;
  border-color: #000000 !important;
}

/* --- 加载动画 --- */
 .style_dot-flashing__8L91Q {
  display: none !important;
}
 div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq) {
  width: 100% !important;
  height: auto !important;
  min-height: 20px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
 div:has(> .style_dot-flashing__8L91Q.style_text__zGhNq)::after {
   content: '记忆请调整为2-3，内容正在加载...';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 16px;
    font-weight: 600;
    color: #4299E1;
    letter-spacing: 3px;
    text-shadow: 0 0 5px rgba(66, 153, 225, 0.5), 0 0 15px rgba(66, 153, 225, 0.3);
    animation: text-flicker 2.5s linear infinite;
    z-index: 11;
    display: block !important;
}
@keyframes rift-pulse {
    0% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.7; }
    50% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
    100% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.7; }
}
/* 文字闪烁/不稳定动画 */
@keyframes text-flicker {
    0%, 100% { opacity: 1; filter: blur(0); }
    20% { opacity: 0.8; filter: blur(0.5px); }
    40% { opacity: 1; }
    60% { opacity: 0.6; text-shadow: 0 0 10px rgba(255, 255, 255, 0.8), 0 0 20px #4299E1; }
    80% { opacity: 1; filter: blur(0); }
}
@keyframes contentFadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}