/* ============================================================
   美丽新世界 · 聊天界面自定义样式（与开始界面同风格·死亡级美化）
   配色：紫(#9b6dd8) / 酒红(#a8325a) / 金(#d4af6a) / 暗夜底(#07050e)
   ============================================================ */

:root{
  --mx-purple:#9b6dd8;--mx-purple-deep:#6b3fa0;--mx-purple-light:#c4a6f0;
  --mx-wine:#a8325a;--mx-wine-deep:#7a1f42;--mx-wine-light:#d4567e;
  --mx-gold:#d4af6a;--mx-gold-light:#ecd9a8;--mx-gold-deep:#a0823f;
  --mx-bg:#07050e;--mx-bg2:#0e0a1c;--mx-bg3:#15102a;
  --mx-glass:rgba(22,16,42,0.72);--mx-glass-border:rgba(155,109,216,0.22);
  --mx-text:#ece6f5;--mx-text-sub:#a89cc0;--mx-text-dim:#6e6488;
  --mx-grad-main:linear-gradient(135deg,#9b6dd8 0%,#a8325a 50%,#d4af6a 100%);
  --mx-grad-purple:linear-gradient(135deg,#9b6dd8,#6b3fa0);
  --mx-grad-gold:linear-gradient(135deg,#d4af6a,#a0823f);
  --mx-grad-wine:linear-gradient(135deg,#a8325a,#7a1f42);
  --mx-serif:'Noto Serif SC','Source Han Serif SC','Songti SC',serif;
  --mx-sans:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;
}

/* ===== 消息容器 ===== */
.message{
  background:var(--mx-glass)!important;
  border:1px solid var(--mx-glass-border)!important;
  border-radius:16px!important;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 6px 32px rgba(0,0,0,0.45)!important;
  position:relative;overflow:hidden;
}
.message::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--mx-purple),var(--mx-gold),var(--mx-wine),transparent);
  opacity:0.6;border-radius:16px 16px 0 0;
}

/* ===== 正文叙事 ===== */
.message .narrative,.message .story-text,.message p{
  color:var(--mx-text-sub)!important;line-height:2!important;
  font-family:var(--mx-sans)!important;font-size:0.92rem;
}
.message strong,.message b{
  color:var(--mx-gold-light)!important;font-weight:700;
  text-shadow:0 0 10px rgba(212,175,106,0.25);
}
.message em,.message i{
  color:var(--mx-purple-light)!important;font-style:normal;
  border-bottom:1px dashed rgba(155,109,216,0.4);padding-bottom:1px;
}

/* ===== 韩语原词 ===== */
.message .kr,.message .korean,.message kbd{
  color:var(--mx-gold)!important;font-size:0.85em;
  background:rgba(212,175,106,0.08);padding:1px 7px;border-radius:5px;
  border:1px solid rgba(212,175,106,0.2);font-family:sans-serif;
}

/* ===== 对话 ===== */
.message .dialogue,.message .speech{
  border-left:3px solid var(--mx-purple);
  padding:8px 16px;margin:10px 0;
  background:rgba(155,109,216,0.06);border-radius:0 10px 10px 0;
  color:var(--mx-text)!important;
}
.message .dialogue:hover{border-left-color:var(--mx-gold);background:rgba(212,175,106,0.05)}

/* ===== 思维链 ===== */
.message .thought,.message .thinking,.message .chain-of-thought{
  background:rgba(255,255,255,0.02)!important;
  border:1px dashed rgba(155,109,216,0.2)!important;
  border-radius:10px!important;padding:12px 16px!important;
  color:var(--mx-text-dim)!important;font-size:0.8rem!important;
  margin-bottom:14px;
}
.message .thought::before{
  content:'◆ 思维链';display:block;color:var(--mx-purple);
  font-size:0.72rem;letter-spacing:0.1em;margin-bottom:6px;font-weight:700;
}

/* ===== 游戏状态模块通用 ===== */
.message .game-panel,.message .status-panel,.message .module,
.message [class*="panel"],.message [class*="module"]{
  background:rgba(255,255,255,0.025)!important;
  border:1px solid rgba(155,109,216,0.15)!important;
  border-radius:12px!important;padding:14px 16px!important;
  margin:10px 0;backdrop-filter:blur(8px);
  transition:border-color 0.3s,box-shadow 0.3s;
}
.message .game-panel:hover,.message .status-panel:hover{
  border-color:rgba(212,175,106,0.35)!important;
  box-shadow:0 4px 20px rgba(155,109,216,0.1);
}

/* ===== 模块标题 ===== */
.message .panel-title,.message .module-title,.message [class*="panel-title"]{
  font-family:var(--mx-serif)!important;
  color:var(--mx-gold-light)!important;font-weight:700!important;
  font-size:0.88rem!important;letter-spacing:0.08em;
  padding-bottom:8px;margin-bottom:10px;
  border-bottom:1px solid rgba(155,109,216,0.15);
  display:flex;align-items:center;gap:8px;
}
.message .panel-title::before,.message .module-title::before{
  content:'';display:inline-block;width:4px;height:16px;
  background:var(--mx-grad-gold);border-radius:2px;
  box-shadow:0 0 8px rgba(212,175,106,0.5);
}

/* ===== 玩家面板 ===== */
.message .player-panel,.message #playerPanel{
  background:linear-gradient(135deg,rgba(107,63,160,0.12),rgba(168,50,90,0.08))!important;
  border-color:rgba(155,109,216,0.3)!important;
}
.message .player-name{
  font-family:var(--mx-serif)!important;font-size:1.05rem!important;
  background:var(--mx-grad-main);-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;background-clip:text;
  font-weight:900;
}
.message .stat-row{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0}
.message .stat-item{
  background:rgba(255,255,255,0.03);border:1px solid rgba(155,109,216,0.12);
  border-radius:8px;padding:5px 12px;font-size:0.78rem;color:var(--mx-text-sub);
}
.message .stat-item strong{color:var(--mx-text)!important;font-size:0.82rem}

/* ===== 状态条 ===== */
.message .bar,.message .progress-bar,.message .meter{
  height:8px;background:rgba(255,255,255,0.06);border-radius:4px;
  overflow:hidden;margin:6px 0;position:relative;
}
.message .bar-fill,.message .progress-fill,.message .meter-fill{
  height:100%;border-radius:4px;transition:width 0.6s ease;
  background:var(--mx-grad-main);
  box-shadow:0 0 10px rgba(155,109,216,0.4);
}
.message .bar-fill.hp,.message .hp .bar-fill{background:linear-gradient(90deg,#a8325a,#d4567e)}
.message .bar-fill.mp,.message .mp .bar-fill{background:linear-gradient(90deg,#6b3fa0,#9b6dd8)}
.message .bar-label{font-size:0.7rem;color:var(--mx-text-dim);display:flex;justify-content:space-between}

/* ===== 关系网络 ===== */
.message .relation-panel .relation-item{
  display:flex;align-items:center;gap:10px;padding:6px 0;
  border-bottom:1px dashed rgba(155,109,216,0.1);
}
.message .relation-item:last-child{border-bottom:none}
.message .relation-name{color:var(--mx-text);font-weight:600;min-width:70px;font-size:0.82rem}
.message .relation-type{
  font-size:0.68rem;padding:2px 10px;border-radius:20px;
  background:rgba(155,109,216,0.15);color:var(--mx-purple-light);
  border:1px solid rgba(155,109,216,0.25);
}
.message .relation-type.hostile{background:rgba(168,50,90,0.15);color:var(--mx-wine-light);border-color:rgba(168,50,90,0.3)}
.message .relation-type.lover{background:rgba(212,175,106,0.12);color:var(--mx-gold-light);border-color:rgba(212,175,106,0.3)}
.message .relation-affinity{
  flex:1;height:5px;background:rgba(255,255,255,0.06);border-radius:3px;overflow:hidden;
}
.message .relation-affinity-fill{height:100%;background:var(--mx-grad-purple);border-radius:3px}

/* ===== 经济系统 ===== */
.message .economy-panel .money{
  font-family:var(--mx-serif);font-size:1.1rem;color:var(--mx-gold-light);
  text-shadow:0 0 12px rgba(212,175,106,0.3);
}
.message .money::before{content:'₩';color:var(--mx-gold);margin-right:4px}

/* ===== 信息与新闻 ===== */
.message .news-panel .news-item{
  padding:8px 12px;margin:6px 0;border-left:2px solid var(--mx-purple);
  background:rgba(155,109,216,0.04);border-radius:0 8px 8px 0;
  font-size:0.8rem;color:var(--mx-text-sub);
}
.message .news-item.urgent{border-left-color:var(--mx-wine);background:rgba(168,50,90,0.05)}
.message .news-source{font-size:0.68rem;color:var(--mx-text-dim);margin-top:3px}

/* ===== 当前交互角色 ===== */
.message .char-panel{
  background:linear-gradient(135deg,rgba(155,109,216,0.08),rgba(168,50,90,0.05))!important;
  border-color:rgba(155,109,216,0.25)!important;
}
.message .char-panel-name{
  font-family:var(--mx-serif);font-size:1rem;font-weight:700;
  color:var(--mx-purple-light);
}
.message .char-panel-mood{
  display:inline-block;font-size:0.68rem;padding:2px 10px;border-radius:20px;
  background:rgba(212,175,106,0.1);color:var(--mx-gold-light);
  border:1px solid rgba(212,175,106,0.25);margin-left:8px;
}

/* ===== 记忆区 ===== */
.message .memory-panel .memory-item{
  font-size:0.78rem;color:var(--mx-text-dim);padding:4px 0;
  border-bottom:1px dotted rgba(155,109,216,0.08);
}
.message .memory-item::before{content:'◇';color:var(--mx-purple);margin-right:6px;font-size:0.7rem}

/* ===== 离场角色 ===== */
.message .offscreen-panel .offscreen-item{
  font-size:0.78rem;color:var(--mx-text-dim);padding:4px 0;
}
.message .offscreen-item .offscreen-name{color:var(--mx-text-sub);font-weight:600}
.message .offscreen-item .offscreen-action{color:var(--mx-text-dim);font-style:italic}

/* ===== 系统设置 ===== */
.message .settings-panel{
  background:rgba(255,255,255,0.015)!important;
}
.message .settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.message .setting-item{
  font-size:0.74rem;color:var(--mx-text-dim);
  background:rgba(255,255,255,0.02);border-radius:6px;padding:5px 10px;
}
.message .setting-item strong{color:var(--mx-text-sub);font-size:0.78rem}

/* ===== 分隔线 ===== */
.message hr,.message .divider{
  border:none;height:1px;margin:16px 0;
  background:linear-gradient(90deg,transparent,var(--mx-purple),var(--mx-gold),transparent);
  opacity:0.4;
}

/* ===== 标签/徽章 ===== */
.message .tag,.message .badge{
  display:inline-block;font-size:0.66rem;padding:2px 10px;border-radius:20px;
  background:rgba(155,109,216,0.12);color:var(--mx-purple-light);
  border:1px solid rgba(155,109,216,0.2);margin:2px;
}
.message .tag.gold,.message .badge.gold{
  background:rgba(212,175,106,0.1);color:var(--mx-gold-light);border-color:rgba(212,175,106,0.25);
}
.message .tag.wine,.message .badge.wine{
  background:rgba(168,50,90,0.1);color:var(--mx-wine-light);border-color:rgba(168,50,90,0.25);
}

/* ===== 章节标题 ===== */
.message .chapter-title,.message .scene-title{
  font-family:var(--mx-serif)!important;font-size:1.15rem!important;
  text-align:center;letter-spacing:0.15em;margin:18px 0 14px;
  background:var(--mx-grad-main);-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;background-clip:text;
  font-weight:900;
}
.message .chapter-title::before,.message .chapter-title::after{
  content:'❖';color:var(--mx-gold);font-size:0.7rem;margin:0 12px;
  -webkit-text-fill-color:var(--mx-gold);
}

/* ===== 引用块 ===== */
.message blockquote{
  border-left:3px solid var(--mx-gold)!important;
  background:rgba(212,175,106,0.05)!important;
  padding:10px 18px!important;margin:12px 0!important;
  border-radius:0 10px 10px 0!important;
  color:var(--mx-text-sub)!important;font-style:italic;
}

/* ===== 代码块（用于数据展示） ===== */
.message code{
  background:rgba(155,109,216,0.1)!important;
  color:var(--mx-purple-light)!important;
  padding:2px 7px;border-radius:5px;font-size:0.85em;
  border:1px solid rgba(155,109,216,0.15);
}
.message pre{
  background:rgba(7,5,14,0.6)!important;
  border:1px solid rgba(155,109,216,0.15)!important;
  border-radius:10px!important;padding:14px!important;
  overflow-x:auto;
}
.message pre code{background:none;border:none;padding:0}

/* ===== 表格 ===== */
.message table{
  width:100%;border-collapse:collapse;margin:12px 0;
  font-size:0.8rem;
}
.message th{
  background:var(--mx-grad-purple)!important;color:#fff!important;
  padding:8px 12px;text-align:left;font-weight:600;
}
.message th:first-child{border-radius:8px 0 0 0}
.message th:last-child{border-radius:0 8px 0 0}
.message td{
  padding:7px 12px;border-bottom:1px solid rgba(155,109,216,0.1);
  color:var(--mx-text-sub);
}
.message tr:hover td{background:rgba(155,109,216,0.04)}

/* ===== 列表 ===== */
.message ul,.message ol{padding-left:20px}
.message li{color:var(--mx-text-sub);margin:4px 0;line-height:1.8}
.message li::marker{color:var(--mx-purple)}

/* ===== 链接 ===== */
.message a{
  color:var(--mx-purple-light)!important;text-decoration:none;
  border-bottom:1px solid rgba(155,109,216,0.3);transition:all 0.3s;
}
.message a:hover{color:var(--mx-gold-light)!important;border-bottom-color:var(--mx-gold)}

/* ===== 选择/选项 ===== */
.message .choice,.message .option{
  display:block;padding:10px 16px;margin:8px 0;
  border:1px solid rgba(155,109,216,0.15);border-radius:10px;
  background:rgba(255,255,255,0.02);cursor:pointer;
  color:var(--mx-text-sub);transition:all 0.3s;
}
.message .choice:hover,.message .option:hover{
  border-color:var(--mx-gold);background:rgba(212,175,106,0.05);
  transform:translateX(6px);color:var(--mx-text);
}

/* ===== 警告/提示框 ===== */
.message .alert,.message .warning{
  padding:10px 16px;border-radius:10px;margin:10px 0;font-size:0.82rem;
  border:1px solid rgba(168,50,90,0.3);background:rgba(168,50,90,0.08);
  color:var(--mx-wine-light);
}
.message .alert::before{content:'⚠ ';}
.message .info{
  padding:10px 16px;border-radius:10px;margin:10px 0;font-size:0.82rem;
  border:1px solid rgba(155,109,216,0.3);background:rgba(155,109,216,0.08);
  color:var(--mx-purple-light);
}
.message .info::before{content:'◆ ';}

/* ===== 时间/地点标记 ===== */
.message .time-marker,.message .location-marker{
  display:inline-block;font-size:0.7rem;padding:3px 12px;border-radius:6px;
  background:rgba(212,175,106,0.08);color:var(--mx-gold);
  border:1px solid rgba(212,175,106,0.2);margin:4px 6px 4px 0;
  letter-spacing:0.05em;
}

/* ===== 自定义滚动条 ===== */
.message ::-webkit-scrollbar{width:6px;height:6px}
.message ::-webkit-scrollbar-track{background:rgba(0,0,0,0.2)}
.message ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--mx-purple-deep),var(--mx-wine-deep));border-radius:3px}

/* ===== 入场动画 ===== */
.message{animation:mxMessageIn 0.5s ease}
@keyframes mxMessageIn{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}

/* ===== 响应式 ===== */
@media(max-width:680px){
  .message{border-radius:12px!important;padding:14px!important}
  .message .settings-grid{grid-template-columns:1fr 1fr}
  .message .stat-row{flex-direction:column;gap:6px}
}