ai {
  --bg-main: #fff5f8;
  --bg-light: #ffffff;
  --bg-pink: #ffc8dd;
  --bg-purple: #e8d5e8;
  --text-dark: #2d1b3d;
  --text-purple: #5a2d5a;
  --text-gray: #666;
  --accent-gold: #ffd700;
  --accent-pink: #ff69b4;
  --accent-green: #4ade80;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.12);
  --shadow-lg: 0 8px 24px rgba(0,0,0,0.15);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  display: block;
  max-width: 100%;
  margin: 0 auto;
  padding: 12px;
  background: linear-gradient(135deg, var(--bg-main) 0%, var(--bg-purple) 100%);
  color: var(--text-dark);
  font-size: 14px;
  line-height: 1.6;
}
/* ==================== 基础重置 ==================== */
ai * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
ai p {
  margin: 8px 0;
}
ai hr {
  border: none;
  border-top: 1px dashed var(--bg-purple);
  margin: 12px 0;
}
/* ==================== 思维链隐藏 ==================== */
ai think {
  display: none;
}
/* ==================== 顶部状态栏 ==================== */
ai hd {
  display: block;
  background: var(--bg-light);
  padding: 10px 12px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  margin-bottom: 12px;
  font-size: 13px;
  line-height: 1.8;
  border-left: 3px solid var(--accent-pink);
}
/* ==================== 正文区 ==================== */
ai article {
  display: block;
  background: var(--bg-light);
  padding: 14px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  margin-bottom: 12px;
}
ai article p {
  text-indent: 2em;
  margin: 6px 0;
}
/* 特写镜头 */
ai cu {
  display: block;
  background: linear-gradient(135deg, #fff9e6 0%, #ffe4e1 100%);
  padding: 10px 12px;
  margin: 10px 0;
  border-radius: var(--radius-sm);
  border-left: 3px solid var(--accent-gold);
  font-style: italic;
  color: var(--text-purple);
  position: relative;
}
ai cu::before {
  content: '🎬';
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
}
/* 对话 */
ai q {
  color: var(--accent-pink);
  font-weight: 500;
}
/* 内心独白 */
ai t {
  color: var(--text-purple);
  font-style: italic;
  opacity: 0.85;
}
/* ==================== 推特模拟区 ==================== */
ai tw {
  display: block;
  background: var(--bg-light);
  padding: 14px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  margin-bottom: 12px;
}
ai twc {
  display: block;
  background: #f8f9fa;
  border-radius: var(--radius-md);
  padding: 12px;
  box-shadow: var(--shadow-sm);
}
ai twh {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
ai twa {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent-pink), var(--accent-gold));
  flex-shrink: 0;
}
ai twu {
  flex: 1;
}
ai twn {
  display: block;
  font-weight: 600;
  color: var(--text-dark);
  font-size: 14px;
}
ai twid {
  display: block;
  color: var(--text-gray);
  font-size: 12px;
}
ai twt {
  color: var(--text-gray);
  font-size: 12px;
  white-space: nowrap;
}
ai twb {
  display: block;
  margin: 10px 0;
  line-height: 1.6;
  color: var(--text-dark);
}
ai tws {
  display: flex;
  gap: 16px;
  padding-top: 8px;
  border-top: 1px solid #e0e0e0;
  font-size: 13px;
  color: var(--text-gray);
}
ai tws span {
  cursor: pointer;
  transition: color 0.2s;
}
ai tws span:hover {
  color: var(--accent-pink);
}
ai twcms {
  display: block;
  margin-top: 12px;
  max-height: 300px;
  overflow-y: auto;
}
ai twcm {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
  padding: 8px;
  background: var(--bg-light);
  border-radius: var(--radius-sm);
  transition: transform 0.2s;
}
ai twcm:hover {
  transform: translateX(2px);
}
ai ca {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  flex-shrink: 0;
}
ai cb {
  flex: 1;
}
ai cn {
  display: block;
  font-weight: 600;
  font-size: 13px;
  color: var(--text-dark);
  margin-bottom: 2px;
}
ai ct {
  display: block;
  font-size: 13px;
  color: var(--text-dark);
  line-height: 1.5;
}
/* ==================== 折叠面板通用样式 ==================== */
ai details {
  background: var(--bg-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  margin-bottom: 12px;
  overflow: hidden;
}
ai summary {
  padding: 12px 14px;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  color: var(--text-dark);
  background: linear-gradient(135deg, var(--bg-pink) 0%, var(--bg-purple) 100%);
  user-select: none;
  transition: all 0.3s;
  position: relative;
}
ai summary::after {
  content: '▼';
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0.3s;
  font-size: 12px;
}
ai details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}
ai summary:hover {
  background: linear-gradient(135deg, var(--accent-pink) 0%, var(--bg-pink) 100%);
  color: var(--bg-light);
}
ai details > *:not(summary) {
  padding: 14px;
}
/* ==================== 角色信息栏 (p1) ==================== */
ai .p1 summary {
  background: linear-gradient(135deg, #ffc8dd 0%, #ffb3d9 100%);
}
/* 状态网格 */
ai sg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
ai si {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(135deg, #fff5f8 0%, #ffe4e1 100%);
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
}
ai sl {
  font-size: 12px;
  color: var(--text-gray);
}
ai sv {
  font-weight: 600;
  color: var(--accent-pink);
  font-size: 14px;
}
/* 信息块 */
ai ib {
  display: block;
  margin-bottom: 10px;
  padding: 10px;
  background: #f8f9fa;
  border-radius: var(--radius-sm);
  border-left: 3px solid var(--accent-pink);
}
ai il {
  display: block;
  font-weight: 600;
  font-size: 13px;
  color: var(--text-purple);
  margin-bottom: 4px;
}
ai ix {
  display: block;
  font-size: 13px;
  color: var(--text-dark);
  line-height: 1.5;
}
ai ix.th {
  font-style: italic;
  color: var(--text-purple);
  background: linear-gradient(135deg, #fff9e6 0%, #ffe4e1 100%);
  padding: 6px 8px;
  border-radius: 4px;
  margin-top: 4px;
}
/* 分区标题 */
ai st {
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: var(--text-purple);
  margin: 14px 0 10px 0;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--bg-purple);
  position: relative;
}
ai st::before {
  content: '✨';
  margin-right: 6px;
}
/* 着装网格 */
ai og {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}
ai oi {
  display: block;
  background: linear-gradient(135deg, #fff5f8 0%, #ffe4e1 100%);
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  box-shadow: var(--shadow-sm);
}
ai ol {
  display: inline-block;
  font-weight: 600;
  color: var(--text-purple);
  margin-right: 6px;
  font-size: 12px;
}
/* 身体状态块 */
ai bb {
  display: block;
}
ai bi {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
  padding: 10px;
  background: linear-gradient(135deg, #fff9e6 0%, #ffe4e1 100%);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(10px);
  transition: all 0.3s;
}
ai bi:hover {
  backdrop-filter: blur(0px);
  box-shadow: var(--shadow-md);
}
ai ic {
  font-size: 24px;
  flex-shrink: 0;
  line-height: 1;
}
ai bc {
  flex: 1;
}
ai bl {
  display: block;
  font-weight: 600;
  font-size: 13px;
  color: var(--text-purple);
  margin-bottom: 4px;
}
ai bx {
  display: block;
  font-size: 13px;
  color: var(--text-dark);
  line-height: 1.5;
}
/* ==================== 创作进度栏 (p2) ==================== */
ai .p2 summary {
  background: linear-gradient(135deg, #e8d5e8 0%, #d4c5f9 100%);
}
ai .p2 > *:not(summary) {
  background: repeating-linear-gradient(
    transparent,
    transparent 24px,
    #e8d5e8 24px,
    #e8d5e8 25px
  );
  background-color: #fffef9;
}
/* 小说头部 */
ai nh {
  display: block;
  margin-bottom: 14px;
  padding: 12px;
  background: var(--bg-light);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
}
ai nt {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: var(--text-purple);
  margin-bottom: 6px;
  text-shadow: 2px 2px 0px rgba(255,200,221,0.3);
}
ai no {
  display: block;
  font-size: 13px;
  color: var(--text-gray);
  line-height: 1.5;
}
/* 信息行 */
ai ir {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  padding: 8px 10px;
  background: var(--bg-light);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
}
ai ir il {
  font-weight: 600;
  font-size: 13px;
  color: var(--text-purple);
  flex-shrink: 0;
  margin-right: 10px;
}
ai ir ix {
  flex: 1;
  font-size: 13px;
  color: var(--text-dark);
  line-height: 1.5;
}
ai ir iv {
  font-weight: 600;
  font-size: 14px;
  color: var(--accent-gold);
  flex-shrink: 0;
}
ai ir iv::before {
  content: '💰 ';
}
/* 进度盒 */
ai pb {
  display: block;
  margin-bottom: 12px;
  padding: 12px;
  background: var(--bg-light);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
}
ai ph {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
ai pn {
  font-weight: 600;
  font-size: 14px;
  color: var(--text-purple);
}
ai pv {
  font-weight: 700;
  font-size: 16px;
  color: var(--accent-pink);
}
ai pbar {
  display: block;
  width: 100%;
  height: 20px;
  background: #f0f0f0;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}
ai pf {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--accent-pink) 0%, var(--accent-gold) 100%);
  border-radius: 10px;
  transition: width 0.5s ease;
  position: relative;
  box-shadow: 0 0 10px rgba(255,105,180,0.5);
}
ai pf::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  animation: shimmer 2s infinite;
}
@keyframes shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
/* 任务列表 */
ai tl {
  display: block;
  margin-top: 10px;
}
ai ti {
  display: block;
  margin-bottom: 8px;
  padding: 10px 12px;
  background: #fff9c4;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
  font-size: 13px;
  color: var(--text-dark);
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%);
  transition: transform 0.2s;
}
ai ti:hover {
  transform: translateX(4px);
}
ai ti::before {
  content: '📌';
  position: absolute;
  top: -8px;
  right: 12px;
  font-size: 16px;
}
ai ti.dn {
  background: #c8e6c9;
  text-decoration: line-through;
  opacity: 0.7;
}
/* ==================== 社交账号栏 (p3) ==================== */
ai .p3 summary {
  background: linear-gradient(135deg, #a8dadc 0%, #457b9d 100%);
  color: var(--bg-light);
}
ai .p3 > *:not(summary) {
  background: linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(232,213,232,0.5) 100%);
  backdrop-filter: blur(10px);
}
/* 社交数据 */
ai ss {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}
ai sc {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px;
  background: var(--bg-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  transition: transform 0.3s;
}
ai sc:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}
ai sn {
  display: block;
  font-size: 24px;
  font-weight: 700;
  background: linear-gradient(135deg, var(--accent-pink), var(--accent-gold));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 4px;
}
ai sna {
  display: block;
  font-size: 12px;
  color: var(--text-gray);
}
/* 最近推文 */
ai rp {
  display: block;
  padding: 12px;
  background: var(--bg-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  margin-bottom: 12px;
  position: relative;
}
ai rp::before {
  content: '';
  position: absolute;
  left: 12px;
  bottom: -8px;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid var(--bg-light);
}
ai rpl {
  display: block;
  font-weight: 600;
  font-size: 12px;
  color: var(--text-purple);
  margin-bottom: 6px;
}
ai rpc {
  display: block;
  font-size: 13px;
  color: var(--text-dark);
  line-height: 1.6;
  margin-bottom: 6px;
}
ai rpt {
  display: block;
  font-size: 11px;
  color: var(--text-gray);
}
/* ==================== 玩家档案栏 (p4) ==================== */
ai .p4 summary {
  background: linear-gradient(135deg, #ffd89b 0%, #19547b 100%);
  color: var(--bg-light);
}
ai pc {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
ai pa {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent-gold), var(--accent-pink));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 700;
  color: var(--bg-light);
  flex-shrink: 0;
  box-shadow: var(--shadow-md);
}
ai pi {
  flex: 1;
}
ai pr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding: 8px 10px;
  background: linear-gradient(135deg, #fff5f8 0%, #ffe4e1 100%);
  border-radius: var(--radius-sm);
}
ai pl {
  font-weight: 600;
  font-size: 13px;
  color: var(--text-purple);
  flex-shrink: 0;
  margin-right: 10px;
}
ai pv {
  font-size: 13px;
  color: var(--text-dark);
  flex-shrink: 0;
}
ai px {
  flex: 1;
  font-size: 13px;
  color: var(--text-dark);
  line-height: 1.5;
}
/* ==================== 记忆区 (p5) ==================== */
ai .p5 summary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: var(--bg-light);
}
ai ms {
  display: block;
  margin-bottom: 12px;
}
ai mt {
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: var(--text-purple);
  margin-bottom: 8px;
  padding-bottom: 4px;
  border-bottom: 2px solid var(--bg-purple);
}
ai .mtb {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  background: var(--bg-light);
  border-radius: var(--radius-sm);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
ai .mtb th {
  background: linear-gradient(135deg, var(--bg-pink) 0%, var(--bg-purple) 100%);
  color: var(--text-dark);
  font-weight: 600;
  padding: 8px 6px;
  text-align: left;
  font-size: 12px;
}
ai .mtb td {
  padding: 8px 6px;
  border-bottom: 1px solid #f0f0f0;
  color: var(--text-dark);
  line-height: 1.5;
}
ai .mtb tr:last-child td {
  border-bottom: none;
}
ai .mtb tr:hover {
  background: #f8f9fa;
}
/* ==================== 移动端适配 ==================== */
@media (max-width: 600px) {
  ai {
    padding: 8px;
    font-size: 13px;
  }
  ai sg {
    grid-template-columns: 1fr;
  }
  ai og {
    grid-template-columns: 1fr;
  }
  ai ss {
    grid-template-columns: 1fr;
  }
  ai sn {
    font-size: 20px;
  }
  ai nt {
    font-size: 16px;
  }
}
/* ==================== 滚动条美化 ==================== */
ai twcms::-webkit-scrollbar {
  width: 6px;
}
ai twcms::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 3px;
}
ai twcms::-webkit-scrollbar-thumb {
  background: var(--accent-pink);
  border-radius: 3px;
}
ai twcms::-webkit-scrollbar-thumb:hover {
  background: var(--text-purple);
}