/* 异能都市 · 柔和紫灰叙事主题 */
ai{
  display:block;
  margin-bottom:20px;
  background:#35465a;
  border:1px solid #52657a;
  border-radius:25px;
  overflow:hidden;
  box-shadow:0 4px 18px rgba(60,72,88,0.18);
  font-family:"PingFang SC","Microsoft YaHei",sans-serif;

  --hd-bg:linear-gradient(90deg,#3f4f6b,#4a5c7a);
  --hd-text:#f0ecdf;
  --inner-bg:#faf7f2;
  --narr-bg:#ffffff;
  --narr-border:#e8e4dd;
  --narr-text:#333333;
  --sys-bg:#eef1f5;
  --sys-border:#b7c2ce;
  --sys-text:#5a6b7d;
  --mc-bg:#e3f2fd;
  --mc-border:#64b5f6;
  --mc-text:#0d47a1;
  --mc-th-bg:#f1f8fe;
  --mc-th-border:#1e88e5;
  --mc-th-text:#1565c0;
  --npc-bg:#fce4ec;
  --npc-border:#f06292;
  --npc-text:#880e4f;
  --npc-th-bg:#fdf2f7;
  --npc-th-border:#e53935;
  --npc-th-text:#ad1457;
}

/* 顶部时间/地点/天气栏 */
ai hd{
  display:block;
  background:var(--hd-bg);
  color:var(--hd-text);
  padding:12px 20px;
  font-size:1.05em;
  font-weight:bold;
  text-align:center;
  letter-spacing:0.3px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}

/* 正文内容区容器 */
ai .body{
  background:var(--inner-bg);
  padding:20px;
}

/* 默认旁白/动作卡片 */
ai p{
  margin:10px 0;
  padding:12px 15px;
  background:var(--narr-bg);
  border:1px solid var(--narr-border);
  border-radius:12px;
  color:var(--narr-text);
  line-height:1.75;
  box-shadow:0 1px 4px rgba(0,0,0,0.04);
}
ai .body p:first-of-type{
  margin-top:0;
}
ai .body p:last-of-type{
  margin-bottom:0;
}

/* 系统提示/手机消息 */
ai p.sys{
  background:var(--sys-bg);
  border:1px dashed var(--sys-border);
  color:var(--sys-text);
  font-size:0.9em;
  text-align:center;
  font-weight:bold;
  border-radius:10px;
  padding:10px 14px;
}

/* 主角说话 */
ai p.mc{
  background:var(--mc-bg);
  border-left:5px solid var(--mc-border);
  border-top:1px solid #cfdff0;
  border-right:1px solid #cfdff0;
  border-bottom:1px solid #cfdff0;
  border-radius:10px;
  color:var(--mc-text);
}
ai p.mc b{
  color:var(--mc-text);
}

/* 主角心理 */
ai p.mc-th{
  background:var(--mc-th-bg);
  border:1px solid var(--mc-th-border);
  border-radius:10px;
  color:var(--mc-th-text);
}
ai p.mc-th b{
  color:var(--mc-th-text);
}

/* NPC说话 */
ai p.npc{
  background:var(--npc-bg);
  border-left:5px solid var(--npc-border);
  border-top:1px solid #f2d7de;
  border-right:1px solid #f2d7de;
  border-bottom:1px solid #f2d7de;
  border-radius:10px;
  color:var(--npc-text);
}
ai p.npc b{
  color:var(--npc-text);
}

/* NPC心理 */
ai p.npc-th{
  background:var(--npc-th-bg);
  border:1px solid var(--npc-th-border);
  border-radius:10px;
  color:var(--npc-th-text);
}
ai p.npc-th b{
  color:var(--npc-th-text);
}

/* 记忆回廊 / 状态栏 */
details.memo{
  margin-top:12px;
  background:#f3efe8;
  border:1px solid #d9d2c7;
  border-radius:12px;
  padding:10px 14px;
  color:#5a4a3a;
}
details.memo summary{
  cursor:pointer;
  font-weight:bold;
  color:#5a4a3a;
}
details.memo table{
  width:100%;
  border-collapse:collapse;
  margin-top:8px;
  font-size:0.85em;
  color:#5a4a3a;
}
details.memo th,
details.memo td{
  border:1px solid #d9d2c7;
  padding:6px 8px;
  text-align:left;
  vertical-align:top;
}
details.memo th{
  background:#eae4dc;
  font-weight:bold;
}

/* 移动端适配 */
@media (max-width:600px){
  ai{
    border-radius:18px;
  }
  ai hd{
    font-size:0.95em;
    padding:10px 12px;
  }
  ai .body{
    padding:12px;
  }
  ai p{
    padding:10px 12px;
    margin:8px 0;
    line-height:1.65;
  }
  details.memo{
    padding:8px 10px;
  }
  details.memo th,
  details.memo td{
    padding:4px 6px;
    font-size:0.8em;
  }
}